draft-ietf-i2rs-yang-l3-topology-01.txt | draft-ietf-i2rs-yang-l3-topology-02.txt | |||
---|---|---|---|---|
Network Working Group A. Clemm | Network Working Group A. Clemm | |||
Internet-Draft J. Medved | Internet-Draft J. Medved | |||
Intended status: Standards Track Cisco | Intended status: Standards Track Cisco | |||
Expires: June 13, 2016 R. Varga | Expires: December 14, 2016 R. Varga | |||
T. Tkacik | T. Tkacik | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
X. Liu | X. Liu | |||
Ericsson | Kuatro Technologies | |||
I. Bryskin | I. Bryskin | |||
Huawei | Huawei | |||
A. Guo | A. Guo | |||
Adva Optical | Adva Optical | |||
H. Ananthakrishnan | H. Ananthakrishnan | |||
Packet Design | Packet Design | |||
N. Bahadur | N. Bahadur | |||
Bracket Computing | Bracket Computing | |||
V. Beeram | V. Beeram | |||
Juniper Networks | Juniper Networks | |||
December 11, 2015 | June 12, 2016 | |||
A YANG Data Model for Layer 3 Topologies | A YANG Data Model for Layer 3 Topologies | |||
draft-ietf-i2rs-yang-l3-topology-01.txt | draft-ietf-i2rs-yang-l3-topology-02.txt | |||
Abstract | Abstract | |||
This document defines a YANG data model for layer 3 network | This document defines a YANG data model for layer 3 network | |||
topologies. | topologies. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 13, 2016. | This Internet-Draft will expire on December 14, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 3, line 8 ¶ | skipping to change at page 3, line 8 ¶ | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 31 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 32 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 32 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 33 | 10.2. Informative References . . . . . . . . . . . . . . . . . 33 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
1. Introduction | 1. Introduction | |||
This document introduces a YANG [RFC6020] [RFC6991] | This document introduces a YANG [RFC6020] [RFC6991] | |||
[I-D.draft-ietf-netmod-rfc6020bis-09] data model for Layer 3 network | [I-D.draft-ietf-netmod-rfc6020bis] data model for Layer 3 network | |||
topologies. The model allows an application to have a holistic view | topologies. The model allows an application to have a holistic view | |||
of the topology of a Layer 3 network, all contained in a single | of the topology of a Layer 3 network, all contained in a single | |||
conceptual YANG datastore. The data model builds on top of, and | conceptual YANG datastore. The data model builds on top of, and | |||
augments, the data model for network topologies defined in | augments, the data model for network topologies defined in | |||
[I-D.draft-ietf-i2rs-yang-network-topo]. An earlier revision of that | [I-D.draft-ietf-i2rs-yang-network-topo]. An earlier revision of that | |||
Internet Draft contained not just the general model for network | Internet Draft contained not just the general model for network | |||
topologies, but also the model for layer 3 network topologies that is | topologies, but also the model for layer 3 network topologies that is | |||
being specified here. However, we decided to "split" the earlier | being specified here. However, we decided to "split" the earlier | |||
draft to separate the truly general aspects of a topology data model, | draft to separate the truly general aspects of a topology data model, | |||
which apply to any type of topology, from the application of this | which apply to any type of topology, from the application of this | |||
skipping to change at page 10, line 21 ¶ | skipping to change at page 10, line 21 ¶ | |||
traffic engineering attributes. | traffic engineering attributes. | |||
o Links are augmented with multi-topology-id and traffic engineering | o Links are augmented with multi-topology-id and traffic engineering | |||
link attributes. | link attributes. | |||
In addition, the module augments IGP nodes and links with ISIS | In addition, the module augments IGP nodes and links with ISIS | |||
attributes. | attributes. | |||
4. Layer 3 Unicast IGP Topology YANG Module | 4. Layer 3 Unicast IGP Topology YANG Module | |||
<CODE BEGINS> file "ietf-l3-unicast-igp-topology@2015-12-11.yang" | <CODE BEGINS> file "ietf-l3-unicast-igp-topology@2016-06-12.yang" | |||
module ietf-l3-unicast-igp-topology { | module ietf-l3-unicast-igp-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-igp-topology"; | namespace | |||
prefix "l3t"; | "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-igp-topology"; | |||
import ietf-network { | prefix "l3t"; | |||
prefix "nw"; | import ietf-network { | |||
} | prefix "nw"; | |||
import ietf-network-topology { | } | |||
prefix "nt"; | import ietf-network-topology { | |||
} | prefix "nt"; | |||
import ietf-inet-types { | } | |||
prefix "inet"; | import ietf-inet-types { | |||
} | prefix "inet"; | |||
} | ||||
organization | organization | |||
"IETF I2RS (Interface to the Routing System) Working Group"; | "IETF I2RS (Interface to the Routing System) Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/i2rs/> | "WG Web: <http://tools.ietf.org/wg/i2rs/> | |||
WG List: <mailto:i2rs@ietf.org> | WG List: <mailto:i2rs@ietf.org> | |||
WG Chair: Susan Hares | WG Chair: Susan Hares | |||
<mailto:shares@ndzh.com> | <mailto:shares@ndzh.com> | |||
WG Chair: Jeffrey Haas | WG Chair: Russ White | |||
<mailto:jhaas@pfrc.org> | <mailto:russ@riw.us> | |||
Editor: Alexander Clemm | Editor: Alexander Clemm | |||
<mailto:alex@cisco.com> | <mailto:alex@cisco.com> | |||
Editor: Jan Medved | Editor: Jan Medved | |||
<mailto:jmedved@cisco.com> | <mailto:jmedved@cisco.com> | |||
Editor: Robert Varga | Editor: Robert Varga | |||
<mailto:rovarga@cisco.com> | <mailto:rovarga@cisco.com> | |||
Editor: Tony Tkacik | Editor: Tony Tkacik | |||
<mailto:ttkacik@cisco.com> | <mailto:ttkacik@cisco.com> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xufeng.liu@ericsson.com> | <mailto:xliu@kuatrotech.com> | |||
Editor: Igor Bryskin | Editor: Igor Bryskin | |||
<mailto:Igor.Bryskin@huawei.com> | <mailto:Igor.Bryskin@huawei.com> | |||
Editor: Aihua Guo | Editor: Aihua Guo | |||
<mailto:aguo@advaoptical.com> | <mailto:aguo@advaoptical.com> | |||
Editor: Nitin Bahadur | Editor: Nitin Bahadur | |||
<mailto:nitin_bahadur@yahoo.com> | <mailto:nitin_bahadur@yahoo.com> | |||
Editor: Hariharan Ananthakrishnan | Editor: Hariharan Ananthakrishnan | |||
<mailto:hari@packetdesign.com> | <mailto:hari@packetdesign.com> | |||
Editor: Vishnu Pavan Beeram | Editor: Vishnu Pavan Beeram | |||
<mailto:vbeeram@juniper.net>"; | <mailto:vbeeram@juniper.net>"; | |||
description | description | |||
"This module defines a model for Layer 3 Unicast IGP | "This module defines a model for Layer 3 Unicast IGP | |||
topologies. | topologies. | |||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2016 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of | This version of this YANG module is part of | |||
draft-ietf-i2rs-yang-network-topo-02; | draft-ietf-i2rs-yang-network-topo-02; | |||
see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
NOTE TO RFC EDITOR: Please replace above reference to | NOTE TO RFC EDITOR: Please replace above reference to | |||
draft-ietf-i2rs-yang-network-topo-02 with RFC | draft-ietf-i2rs-yang-network-topo-02 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2015-12-11" { | revision "2016-06-12" { | |||
description | description | |||
"Initial revision. | "Initial revision. | |||
NOTE TO RFC EDITOR: Please replace the following reference | NOTE TO RFC EDITOR: Please replace the following reference | |||
to draft-ietf-i2rs-yang-l3-topology-01 with | to draft-ietf-i2rs-yang-l3-topology-01 with | |||
RFC number when published (i.e. RFC xxxx)."; | RFC number when published (i.e. RFC xxxx)."; | |||
reference | reference | |||
"draft-ietf-i2rs-yang-l3-topology-01"; | "draft-ietf-i2rs-yang-l3-topology-02"; | |||
} | } | |||
typedef igp-event-type { | typedef igp-event-type { | |||
type enumeration { | type enumeration { | |||
enum "add" { | enum "add" { | |||
value 0; | value 0; | |||
description | description | |||
"An IGP node or link or prefix or termination-point has | "An IGP node or link or prefix or termination-point has | |||
been added"; | been added"; | |||
} | ||||
enum "remove" { | ||||
value 1; | ||||
description | ||||
"An IGP node or link or prefix or termination-point has | ||||
been removed"; | ||||
} | ||||
enum "update" { | ||||
value 2; | ||||
description | ||||
"An IGP node or link or prefix or termination-point has | ||||
been updated"; | ||||
} | ||||
} | } | |||
enum "remove" { | description "IGP Event type for notifications"; | |||
value 1; | } // igp-event-type | |||
description | ||||
"An IGP node or link or prefix or termination-point has | identity flag-identity { | |||
been removed"; | description "Base type for flags"; | |||
} | ||||
identity undefined-flag { | ||||
base "flag-identity"; | ||||
description "Undefined flag"; | ||||
} | ||||
typedef flag-type { | ||||
type identityref { | ||||
base "flag-identity"; | ||||
} | } | |||
enum "update" { | description "Type for flags"; | |||
value 2; | } | |||
grouping network-ref { | ||||
description | ||||
"Grouping for an absolute reference to a network topology | ||||
instance."; | ||||
leaf network-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network/nw:network-id"; | ||||
} | ||||
description | description | |||
"An IGP node or link or prefix or termination-point has | "An absolute reference to a network topology instance."; | |||
been updated"; | ||||
} | } | |||
} | } | |||
description "IGP Event type for notifications"; | ||||
} // igp-event-type | ||||
identity flag-identity { | grouping link-ref { | |||
description "Base type for flags"; | ||||
} | ||||
identity undefined-flag { | ||||
base "flag-identity"; | ||||
description "Undefined flag"; | ||||
} | ||||
typedef flag-type { | ||||
type identityref { | ||||
base "flag-identity"; | ||||
} | ||||
description "Type for flags"; | ||||
} | ||||
grouping network-ref { | ||||
description | ||||
"Grouping for an absolute reference to a network topology | ||||
instance."; | ||||
leaf network-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network/nw:network-id"; | ||||
} | ||||
description | description | |||
"An absolute reference to a network topology instance."; | "Grouping for an absolute reference to a link instance."; | |||
uses network-ref; | ||||
leaf link-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network" | ||||
+"[nw:network-id = current()/../network-ref]" | ||||
+"/nt:link/nt:link-id"; | ||||
} | ||||
description | ||||
"An absolute reference to a link instance."; | ||||
} | ||||
} | } | |||
} | ||||
grouping link-ref { | grouping node-ref { | |||
description | description | |||
"Grouping for an absolute reference to a link instance."; | "Grouping for an absolute reference to a node instance."; | |||
uses network-ref; | uses network-ref; | |||
leaf link-ref { | leaf node-ref { | |||
type leafref { | type leafref { | |||
path "/nw:networks/nw:network" | path "/nw:networks/nw:network" | |||
+"[nw:network-id = current()/../network-ref]" | +"[nw:network-id = current()/../network-ref]" | |||
+"/nt:link/nt:link-id"; | +"/nw:node/nw:node-id"; | |||
} | } | |||
description | description | |||
"An absolute reference to a link instance."; | "An absolute reference to a node instance."; | |||
} | ||||
} | ||||
grouping node-ref { | ||||
description | ||||
"Grouping for an absolute reference to a node instance."; | ||||
uses network-ref; | ||||
leaf node-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network" | ||||
+"[nw:network-id = current()/../network-ref]" | ||||
+"/nw:node/nw:node-id"; | ||||
} | } | |||
description | ||||
"An absolute reference to a node instance."; | ||||
} | } | |||
} | ||||
grouping tp-ref { | grouping tp-ref { | |||
description | ||||
"Grouping for an absolute reference to a termination point."; | ||||
uses node-ref; | ||||
leaf tp-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network" | ||||
+"[nw:network-id = current()/../network-ref]" | ||||
+"/nw:node[nw:node-id = current()/../node-ref]" | ||||
+"/nt:termination-point/nt:tp-id"; | ||||
} | ||||
description | description | |||
"Grouping for an absolute reference to a termination point."; | "Grouping for an absolute reference to a termination point."; | |||
uses node-ref; | ||||
leaf tp-ref { | ||||
type leafref { | ||||
path "/nw:networks/nw:network" | ||||
+"[nw:network-id = current()/../network-ref]" | ||||
+"/nw:node[nw:node-id = current()/../node-ref]" | ||||
+"/nt:termination-point/nt:tp-id"; | ||||
} | ||||
description | ||||
"Grouping for an absolute reference to a termination point."; | ||||
} | ||||
} | } | |||
} | ||||
grouping igp-prefix-attributes { | ||||
description | ||||
"IGP prefix attributes"; | ||||
leaf prefix { | ||||
type inet:ip-prefix; | ||||
description | ||||
"IP prefix value"; | ||||
} | ||||
leaf metric { | ||||
type uint32; | ||||
description | ||||
"Prefix metric"; | ||||
} | ||||
leaf-list flag { | ||||
type flag-type; | ||||
description | ||||
"Prefix flags"; | ||||
} | ||||
} | ||||
grouping l3-unicast-igp-topology-type { | grouping igp-prefix-attributes { | |||
description "Identify the topology type to be L3 unicast."; | ||||
container l3-unicast-igp-topology { | ||||
presence "indicates L3 Unicast IGP Topology"; | ||||
description | description | |||
"The presence of the container node indicates L3 Unicast | "IGP prefix attributes"; | |||
IGP Topology"; | leaf prefix { | |||
} | type inet:ip-prefix; | |||
} | ||||
grouping igp-topology-attributes { | ||||
description "Topology scope attributes"; | ||||
container igp-topology-attributes { | ||||
description "Containing topology attributes"; | ||||
leaf name { | ||||
type string; | ||||
description | description | |||
"Name of the topology"; | "IP prefix value"; | |||
} | ||||
leaf metric { | ||||
type uint32; | ||||
description | ||||
"Prefix metric"; | ||||
} | } | |||
leaf-list flag { | leaf-list flag { | |||
type flag-type; | type flag-type; | |||
description | description | |||
"Topology flags"; | "Prefix flags"; | |||
} | } | |||
} | } | |||
} | ||||
grouping igp-node-attributes { | grouping l3-unicast-igp-topology-type { | |||
description "IGP node scope attributes"; | description "Identify the topology type to be L3 unicast."; | |||
container igp-node-attributes { | container l3-unicast-igp-topology { | |||
description | presence "indicates L3 Unicast IGP Topology"; | |||
"Containing node attributes"; | ||||
leaf name { | ||||
type inet:domain-name; | ||||
description | ||||
"Node name"; | ||||
} | ||||
leaf-list flag { | ||||
type flag-type; | ||||
description | description | |||
"Node operational flags"; | "The presence of the container node indicates L3 Unicast | |||
IGP Topology"; | ||||
} | } | |||
leaf-list router-id { | } | |||
type inet:ip-address; | ||||
description | grouping igp-topology-attributes { | |||
"Router-id for the node"; | description "Topology scope attributes"; | |||
container igp-topology-attributes { | ||||
description "Containing topology attributes"; | ||||
leaf name { | ||||
type string; | ||||
description | ||||
"Name of the topology"; | ||||
} | ||||
leaf-list flag { | ||||
type flag-type; | ||||
description | ||||
"Topology flags"; | ||||
} | ||||
} | } | |||
list prefix { | } | |||
key "prefix"; | ||||
grouping igp-node-attributes { | ||||
description "IGP node scope attributes"; | ||||
container igp-node-attributes { | ||||
description | description | |||
"A list of prefixes along with their attributes"; | "Containing node attributes"; | |||
uses igp-prefix-attributes; | leaf name { | |||
type inet:domain-name; | ||||
description | ||||
"Node name"; | ||||
} | ||||
leaf-list flag { | ||||
type flag-type; | ||||
description | ||||
"Node operational flags"; | ||||
} | ||||
leaf-list router-id { | ||||
type inet:ip-address; | ||||
description | ||||
"Router-id for the node"; | ||||
} | ||||
list prefix { | ||||
key "prefix"; | ||||
description | ||||
"A list of prefixes along with their attributes"; | ||||
uses igp-prefix-attributes; | ||||
} | ||||
} | } | |||
} | } | |||
} | ||||
grouping igp-link-attributes { | grouping igp-link-attributes { | |||
description | ||||
"IGP link scope attributes"; | ||||
container igp-link-attributes { | ||||
description | description | |||
"Containing link attributes"; | "IGP link scope attributes"; | |||
leaf name { | container igp-link-attributes { | |||
type string; | ||||
description | ||||
"Link Name"; | ||||
} | ||||
leaf-list flag { | ||||
type flag-type; | ||||
description | description | |||
"Link flags"; | "Containing link attributes"; | |||
} | leaf name { | |||
leaf metric { | type string; | |||
type uint32 { | description | |||
range "0..16777215" { | "Link Name"; | |||
description | } | |||
"This is a metric that can take a 3 byte metric, | leaf-list flag { | |||
commonly used in OSPF/ISIS"; | type flag-type; | |||
description | ||||
"Link flags"; | ||||
} | ||||
leaf metric { | ||||
type uint32 { | ||||
range "0..16777215" { | ||||
description | ||||
"This is a metric that can take a 3 byte metric, | ||||
commonly used in OSPF/ISIS"; | ||||
} | ||||
} | } | |||
description | ||||
"Link Metric"; | ||||
} | } | |||
description | ||||
"Link Metric"; | ||||
} | } | |||
} | } | |||
} | ||||
grouping igp-termination-point-attributes { | grouping igp-termination-point-attributes { | |||
description "IGP termination point scope attributes"; | description "IGP termination point scope attributes"; | |||
container igp-termination-point-attributes { | container igp-termination-point-attributes { | |||
description | ||||
"Containing termination point attributes"; | ||||
choice termination-point-type { | ||||
description | description | |||
"Indicates the termination point type"; | "Containing termination point attributes"; | |||
case ip { | choice termination-point-type { | |||
leaf-list ip-address { | description | |||
type inet:ip-address; | "Indicates the termination point type"; | |||
description | case ip { | |||
"IPv4 or IPv6 address"; | leaf-list ip-address { | |||
type inet:ip-address; | ||||
description | ||||
"IPv4 or IPv6 address"; | ||||
} | ||||
} | } | |||
} | case unnumbered { | |||
case unnumbered { | leaf unnumbered-id { | |||
leaf unnumbered-id { | type uint32; | |||
type uint32; | description | |||
description | "Unnumbered interface identifier"; | |||
"Unnumbered interface identifier"; | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } // grouping igp-termination-point-attributes | |||
} // grouping igp-termination-point-attributes | ||||
augment "/nw:networks/nw:network/nw:network-types" { | ||||
description | ||||
"Introduce new network type for L3 unicast IGP topology"; | ||||
uses l3-unicast-igp-topology-type; | ||||
} | ||||
augment "/nw:networks/nw:network" { | augment "/nw:networks/nw:network/nw:network-types" { | |||
when "nw:network-types/l3-unicast-igp-topology" { | ||||
description | description | |||
"Augmentation parameters apply only for networks with | "Introduce new network type for L3 unicast IGP topology"; | |||
L3 unicast IGP topology"; | uses l3-unicast-igp-topology-type; | |||
} | } | |||
description | ||||
"Configuration parameters for L3 unicast IPG for the network | ||||
as a whole"; | ||||
uses igp-topology-attributes; | ||||
} | ||||
augment "/nw:networks/nw:network/nw:node" { | augment "/nw:networks/nw:network" { | |||
when "../nw:network-types/l3-unicast-igp-topology" { | when "nw:network-types/l3-unicast-igp-topology" { | |||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast IGP topology"; | ||||
} | ||||
description | description | |||
"Augmentation parameters apply only for networks with | "Configuration parameters for L3 unicast IPG for the network | |||
L3 unicast IGP topology"; | as a whole"; | |||
uses igp-topology-attributes; | ||||
} | } | |||
description | ||||
"Configuration parameters for L3 unicast IPG at the node | ||||
level"; | ||||
uses igp-node-attributes; | ||||
} | ||||
augment "/nw:networks/nw:network/nt:link" { | augment "/nw:networks/nw:network/nw:node" { | |||
when "../nw:network-types/l3-unicast-igp-topology" { | when "../nw:network-types/l3-unicast-igp-topology" { | |||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast IGP topology"; | ||||
} | ||||
description | description | |||
"Augmentation parameters apply only for networks with | "Configuration parameters for L3 unicast IPG at the node | |||
L3 unicast IGP topology"; | level"; | |||
uses igp-node-attributes; | ||||
} | } | |||
description | ||||
"Augment topology link configuration"; | ||||
uses igp-link-attributes; | ||||
} | ||||
augment "/nw:networks/nw:network/nw:node/" | augment "/nw:networks/nw:network/nt:link" { | |||
+"nt:termination-point" { | when "../nw:network-types/l3-unicast-igp-topology" { | |||
when "../../nw:network-types/l3-unicast-igp-topology" { | description | |||
"Augmentation parameters apply only for networks with | ||||
L3 unicast IGP topology"; | ||||
} | ||||
description | description | |||
"Augmentation parameters apply only for networks with | "Augment topology link configuration"; | |||
L3 unicast IGP topology"; | uses igp-link-attributes; | |||
} | } | |||
description "Augment topology termination point configuration"; | ||||
uses igp-termination-point-attributes; | ||||
} | ||||
notification igp-node-event { | augment "/nw:networks/nw:network/nw:node/" | |||
description | +"nt:termination-point" { | |||
"Notification event for IGP node"; | when "../../nw:network-types/l3-unicast-igp-topology" { | |||
leaf igp-event-type { | description | |||
type igp-event-type; | "Augmentation parameters apply only for networks with | |||
description | L3 unicast IGP topology"; | |||
"Event type"; | } | |||
description "Augment topology termination point configuration"; | ||||
uses igp-termination-point-attributes; | ||||
} | } | |||
uses node-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-node-attributes; | ||||
} | ||||
notification igp-link-event { | notification igp-node-event { | |||
description | ||||
"Notification event for IGP link"; | ||||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | description | |||
"Event type"; | "Notification event for IGP node"; | |||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses node-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-node-attributes; | ||||
} | } | |||
uses link-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-link-attributes; | ||||
} | ||||
notification igp-prefix-event { | notification igp-link-event { | |||
description | ||||
"Notification event for IGP prefix"; | ||||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | description | |||
"Event type"; | "Notification event for IGP link"; | |||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses link-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-link-attributes; | ||||
} | } | |||
uses node-ref; | ||||
uses l3-unicast-igp-topology-type; | notification igp-prefix-event { | |||
container prefix { | ||||
description | description | |||
"Containing IPG prefix attributes"; | "Notification event for IGP prefix"; | |||
uses igp-prefix-attributes; | leaf igp-event-type { | |||
type igp-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses node-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
container prefix { | ||||
description | ||||
"Containing IPG prefix attributes"; | ||||
uses igp-prefix-attributes; | ||||
} | ||||
} | } | |||
} | ||||
notification termination-point-event { | notification termination-point-event { | |||
description | ||||
"Notification event for IGP termination point"; | ||||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | description | |||
"Event type"; | "Notification event for IGP termination point"; | |||
leaf igp-event-type { | ||||
type igp-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses tp-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-termination-point-attributes; | ||||
} | } | |||
uses tp-ref; | ||||
uses l3-unicast-igp-topology-type; | ||||
uses igp-termination-point-attributes; | ||||
} | } | |||
} | <CODE ENDS> | |||
<CODE ENDS> | ||||
5. OSPF Topology YANG Module | 5. OSPF Topology YANG Module | |||
<CODE BEGINS> file "ietf-ospf-topology@2015-12-11.yang" | <CODE BEGINS> file "ietf-ospf-topology@2016-06-12.yang" | |||
module ietf-ospf-topology { | module ietf-ospf-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology"; | namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology"; | |||
prefix "ospf"; | prefix "ospf"; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix "inet"; | |||
} | } | |||
import ietf-network { | import ietf-network { | |||
prefix "nw"; | prefix "nw"; | |||
skipping to change at page 19, line 49 ¶ | skipping to change at page 19, line 48 ¶ | |||
organization | organization | |||
"IETF I2RS (Interface to the Routing System) Working Group"; | "IETF I2RS (Interface to the Routing System) Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/i2rs/> | "WG Web: <http://tools.ietf.org/wg/i2rs/> | |||
WG List: <mailto:i2rs@ietf.org> | WG List: <mailto:i2rs@ietf.org> | |||
WG Chair: Susan Hares | WG Chair: Susan Hares | |||
<mailto:shares@ndzh.com> | <mailto:shares@ndzh.com> | |||
WG Chair: Jeffrey Haas | WG Chair: Russ White | |||
<mailto:jhaas@pfrc.org> | <mailto:russ@riw.us> | |||
Editor: Alexander Clemm | Editor: Alexander Clemm | |||
<mailto:alex@cisco.com> | <mailto:alex@cisco.com> | |||
Editor: Jan Medved | Editor: Jan Medved | |||
<mailto:jmedved@cisco.com> | <mailto:jmedved@cisco.com> | |||
Editor: Robert Varga | Editor: Robert Varga | |||
<mailto:rovarga@cisco.com> | <mailto:rovarga@cisco.com> | |||
Editor: Tony Tkacik | Editor: Tony Tkacik | |||
<mailto:ttkacik@cisco.com> | <mailto:ttkacik@cisco.com> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xufeng.liu@ericsson.com> | <mailto:xliu@kuatrotech.com> | |||
Editor: Igor Bryskin | Editor: Igor Bryskin | |||
<mailto:Igor.Bryskin@huawei.com> | <mailto:Igor.Bryskin@huawei.com> | |||
Editor: Aihua Guo | Editor: Aihua Guo | |||
<mailto:aguo@advaoptical.com> | <mailto:aguo@advaoptical.com> | |||
Editor: Nitin Bahadur | Editor: Nitin Bahadur | |||
<mailto:nitin_bahadur@yahoo.com> | <mailto:nitin_bahadur@yahoo.com> | |||
Editor: Hariharan Ananthakrishnan | Editor: Hariharan Ananthakrishnan | |||
<mailto:hari@packetdesign.com> | <mailto:hari@packetdesign.com> | |||
Editor: Vishnu Pavan Beeram | Editor: Vishnu Pavan Beeram | |||
<mailto:vbeeram@juniper.net>"; | <mailto:vbeeram@juniper.net>"; | |||
description | description | |||
"This module defines a model for OSPF network topologies. | "This module defines a model for OSPF network topologies. | |||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2016 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of | This version of this YANG module is part of | |||
draft-ietf-i2rs-yang-network-topo-02; | draft-ietf-i2rs-yang-network-topo-02; | |||
see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
NOTE TO RFC EDITOR: Please replace above reference to | NOTE TO RFC EDITOR: Please replace above reference to | |||
draft-ietf-i2rs-yang-network-topo-02 with RFC | draft-ietf-i2rs-yang-network-topo-02 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2015-12-11" { | revision "2016-06-12" { | |||
description | description | |||
"Initial revision. | "Initial revision. | |||
NOTE TO RFC EDITOR: Please replace the following reference | NOTE TO RFC EDITOR: Please replace the following reference | |||
to draft-ietf-i2rs-yang-l3-topology-01 with | to draft-ietf-i2rs-yang-l3-topology-02 with | |||
RFC number when published (i.e. RFC xxxx)."; | RFC number when published (i.e. RFC xxxx)."; | |||
reference | reference | |||
"draft-ietf-i2rs-yang-l3-topology-01"; | "draft-ietf-i2rs-yang-l3-topology-02"; | |||
} | } | |||
typedef area-id { | typedef area-id { | |||
type uint32; | type uint32; | |||
description | description | |||
"OSPF Area ID"; | "OSPF Area ID"; | |||
} | } | |||
grouping ospf-topology-type { | grouping ospf-topology-type { | |||
description | description | |||
skipping to change at page 26, line 7 ¶ | skipping to change at page 26, line 7 ¶ | |||
"OSPF prefix event"; | "OSPF prefix event"; | |||
uses ospf-topology-type; | uses ospf-topology-type; | |||
uses ospf:ospf-prefix-attributes; | uses ospf:ospf-prefix-attributes; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
6. ISIS Topology YANG Module | 6. ISIS Topology YANG Module | |||
<CODE BEGINS> file "isis-topology@2015-12-11.yang" | <CODE BEGINS> file "ietf-isis-topology@2016-06-12.yang" | |||
module ietf-isis-topology { | module ietf-isis-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology"; | |||
prefix "isis"; | prefix "isis"; | |||
import ietf-network { | import ietf-network { | |||
prefix "nw"; | prefix "nw"; | |||
} | } | |||
import ietf-network-topology { | import ietf-network-topology { | |||
prefix "nt"; | prefix "nt"; | |||
skipping to change at page 26, line 33 ¶ | skipping to change at page 26, line 33 ¶ | |||
organization | organization | |||
"IETF I2RS (Interface to the Routing System) Working Group"; | "IETF I2RS (Interface to the Routing System) Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/i2rs/> | "WG Web: <http://tools.ietf.org/wg/i2rs/> | |||
WG List: <mailto:i2rs@ietf.org> | WG List: <mailto:i2rs@ietf.org> | |||
WG Chair: Susan Hares | WG Chair: Susan Hares | |||
<mailto:shares@ndzh.com> | <mailto:shares@ndzh.com> | |||
WG Chair: Jeffrey Haas | WG Chair: Russ White | |||
<mailto:jhaas@pfrc.org> | <mailto:russ@riw.us> | |||
Editor: Alexander Clemm | Editor: Alexander Clemm | |||
<mailto:alex@cisco.com> | <mailto:alex@cisco.com> | |||
Editor: Jan Medved | Editor: Jan Medved | |||
<mailto:jmedved@cisco.com> | <mailto:jmedved@cisco.com> | |||
Editor: Robert Varga | Editor: Robert Varga | |||
<mailto:rovarga@cisco.com> | <mailto:rovarga@cisco.com> | |||
Editor: Tony Tkacik | Editor: Tony Tkacik | |||
<mailto:ttkacik@cisco.com> | <mailto:ttkacik@cisco.com> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xufeng.liu@ericsson.com> | <mailto:xliu@kuatrotech.com> | |||
Editor: Igor Bryskin | Editor: Igor Bryskin | |||
<mailto:Igor.Bryskin@huawei.com> | <mailto:Igor.Bryskin@huawei.com> | |||
Editor: Aihua Guo | Editor: Aihua Guo | |||
<mailto:aguo@advaoptical.com> | <mailto:aguo@advaoptical.com> | |||
Editor: Nitin Bahadur | Editor: Nitin Bahadur | |||
<mailto:nitin_bahadur@yahoo.com> | <mailto:nitin_bahadur@yahoo.com> | |||
Editor: Hariharan Ananthakrishnan | Editor: Hariharan Ananthakrishnan | |||
<mailto:hari@packetdesign.com> | <mailto:hari@packetdesign.com> | |||
Editor: Vishnu Pavan Beeram | Editor: Vishnu Pavan Beeram | |||
<mailto:vbeeram@juniper.net>"; | <mailto:vbeeram@juniper.net>"; | |||
description | description | |||
"This module defines a model for IS-IS network topologies. | "This module defines a model for IS-IS network topologies. | |||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2016 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of | This version of this YANG module is part of | |||
draft-ietf-i2rs-yang-network-topo-02; | draft-ietf-i2rs-yang-network-topo-02; | |||
see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
NOTE TO RFC EDITOR: Please replace above reference to | NOTE TO RFC EDITOR: Please replace above reference to | |||
draft-ietf-i2rs-yang-network-topo-02 with RFC | draft-ietf-i2rs-yang-network-topo-02 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2015-12-11" { | revision "2016-06-12" { | |||
description | description | |||
"Initial revision. | "Initial revision. | |||
NOTE TO RFC EDITOR: Please replace the following reference | NOTE TO RFC EDITOR: Please replace the following reference | |||
to draft-ietf-i2rs-yang-l3-topology-01 with | to draft-ietf-i2rs-yang-l3-topology-02 with | |||
RFC number when published (i.e. RFC xxxx)."; | RFC number when published (i.e. RFC xxxx)."; | |||
reference | reference | |||
"draft-ietf-i2rs-yang-l3-topology-01"; | "draft-ietf-i2rs-yang-l3-topology-02"; | |||
} | } | |||
typedef iso-system-id { | typedef iso-system-id { | |||
type string { | type string { | |||
pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}'; | pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}'; | |||
} | } | |||
description | description | |||
"ISO System ID. RFC 1237"; | "ISO System ID. RFC 1237"; | |||
} | } | |||
skipping to change at page 32, line 18 ¶ | skipping to change at page 32, line 18 ¶ | |||
suggestions that were received from Ladislav Lhotka, Andy Bierman, | suggestions that were received from Ladislav Lhotka, Andy Bierman, | |||
Carlos Pignataro, Joel Halpern, Juergen Schoenwaelder, Alia Atlas, | Carlos Pignataro, Joel Halpern, Juergen Schoenwaelder, Alia Atlas, | |||
and Susan Hares. | and Susan Hares. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[I-D.draft-ietf-i2rs-yang-network-topo] | [I-D.draft-ietf-i2rs-yang-network-topo] | |||
Clemm, A., Medved, J., Tkacik, T., Varga, R., Bahadur, N., | Clemm, A., Medved, J., Tkacik, T., Varga, R., Bahadur, N., | |||
and H. Ananthakrishnan, "A YANG Data Model for Network | Ananthakrishnan, H., and X. Liu, "A YANG Data Model for | |||
Topologies", I-D draft-ietf-i2rs-yang-network-topo-02, | Network Topologies", I-D draft-ietf-i2rs-yang-network- | |||
December 2015. | topo-03, June 2016. | |||
[I-D.draft-ietf-netconf-restconf] | [I-D.draft-ietf-netconf-restconf] | |||
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
Protocol", I-D draft-ietf-netconf-restconf-08, October | Protocol", I-D draft-ietf-netconf-restconf-13, April 2016. | |||
2015. | ||||
[I-D.draft-ietf-netmod-rfc6020bis-09] | [I-D.draft-ietf-netmod-rfc6020bis] | |||
Bjorklund, M., "The YANG 1.1 Data Modeling Language", I-D | Bjorklund, M., "The YANG 1.1 Data Modeling Language", I-D | |||
draft-ietf-netmod-rfc6020bis-09, December 2015. | draft-ietf-netmod-rfc6020bis-13, June 2016. | |||
[I-D.draft-ietf-netmod-yang-json] | [I-D.draft-ietf-netmod-yang-json] | |||
Lhotka, L., "JSON Encoding of Data Modeled with YANG", | Lhotka, L., "JSON Encoding of Data Modeled with YANG", | |||
I-D draft-ietf-netmod-yang-json-06, October 2015. | I-D draft-ietf-netmod-yang-json-10, March 2016. | |||
[RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and | |||
Dual Environments", RFC 1195, December 1990. | Dual Environments", RFC 1195, December 1990. | |||
[RFC2178] Moy, J., "OSPF Version 2", RFC 2178, July 1997. | [RFC2178] Moy, J., "OSPF Version 2", RFC 2178, July 1997. | |||
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | |||
Network Configuration Protocol (NETCONF)", RFC 6020, | Network Configuration Protocol (NETCONF)", RFC 6020, | |||
October 2010. | October 2010. | |||
skipping to change at page 33, line 10 ¶ | skipping to change at page 33, line 10 ¶ | |||
July 2013. | July 2013. | |||
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface | [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | |||
Management", RFC 7223, May 2014. | Management", RFC 7223, May 2014. | |||
10.2. Informative References | 10.2. Informative References | |||
[I-D.draft-ietf-i2rs-usecase-reqs-summary] | [I-D.draft-ietf-i2rs-usecase-reqs-summary] | |||
Hares, S. and M. Chen, "Summary of I2RS Use Case | Hares, S. and M. Chen, "Summary of I2RS Use Case | |||
Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary- | Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary- | |||
01, May 2015. | 02, March 2016. | |||
Authors' Addresses | Authors' Addresses | |||
Alexander Clemm | Alexander Clemm | |||
Cisco | Cisco | |||
EMail: alex@cisco.com | EMail: alex@cisco.com | |||
Jan Medved | Jan Medved | |||
Cisco | Cisco | |||
skipping to change at page 33, line 35 ¶ | skipping to change at page 33, line 35 ¶ | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
EMail: robert.varga@pantheon.sk | EMail: robert.varga@pantheon.sk | |||
Tony Tkacik | Tony Tkacik | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
EMail: tony.tkacik@pantheon.sk | EMail: tony.tkacik@pantheon.sk | |||
Xufeng Liu | Xufeng Liu | |||
Ericsson | Kuatro Technologies | |||
EMail: xufeng.liu@ericsson.com | EMail: xliu@kuatrotech.com | |||
Igor Bryskin | Igor Bryskin | |||
Huawei | Huawei | |||
EMail: Igor.Bryskin@huawei.com | EMail: Igor.Bryskin@huawei.com | |||
Aihua Guo | Aihua Guo | |||
Adva Optical | Adva Optical | |||
EMail: aguo@advaoptical.com | EMail: aguo@advaoptical.com | |||
End of changes. 114 change blocks. | ||||
367 lines changed or deleted | 366 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |