| < draft-ietf-isis-yang-isis-cfg-12.txt | draft-ietf-isis-yang-isis-cfg-13.txt > | |||
|---|---|---|---|---|
| IS-IS Working Group S. Litkowski | IS-IS Working Group S. Litkowski | |||
| Internet-Draft Orange | Internet-Draft Orange | |||
| Intended status: Standards Track D. Yeung | Intended status: Standards Track D. Yeung | |||
| Expires: April 20, 2017 A. Lindem | Expires: April 29, 2017 Arrcus, Inc | |||
| A. Lindem | ||||
| Cisco Systems | Cisco Systems | |||
| J. Zhang | J. Zhang | |||
| Juniper Networks | Juniper Networks | |||
| L. Lhotka | L. Lhotka | |||
| CZ.NIC | CZ.NIC | |||
| October 17, 2016 | October 26, 2016 | |||
| YANG Data Model for IS-IS protocol | YANG Data Model for IS-IS protocol | |||
| draft-ietf-isis-yang-isis-cfg-12 | draft-ietf-isis-yang-isis-cfg-13 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage IS-IS protocol on network elements. It also defined an | and manage IS-IS protocol on network elements. It also defines an | |||
| extension module for segment routing configuration and operation. | extension module for IS-IS segment routing configuration and | |||
| operation. | ||||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 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 | |||
| skipping to change at page 1, line 44 ¶ | 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 April 20, 2017. | This Internet-Draft will expire on April 29, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 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 | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 10 | 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | |||
| 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 11 | |||
| 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | |||
| 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 16 | 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 16 | |||
| 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 16 | 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 16 | |||
| 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 | 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 2.9. Operational State . . . . . . . . . . . . . . . . . . . . 17 | 2.9. Operational State . . . . . . . . . . . . . . . . . . . . 17 | |||
| 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 17 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 18 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5. Segment Routing . . . . . . . . . . . . . . . . . . . . . . . 22 | 5. Segment Routing . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 5.1. Segment Routing activation . . . . . . . . . . . . . . . 24 | 5.1. Segment Routing activation . . . . . . . . . . . . . . . 25 | |||
| 5.2. Advertising mapping server policy . . . . . . . . . . . . 25 | 5.2. Advertising mapping server policy . . . . . . . . . . . . 25 | |||
| 5.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 25 | 5.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 6. Interaction with Other YANG Modules . . . . . . . . . . . . . 25 | 6. Interaction with Other YANG Modules . . . . . . . . . . . . . 25 | |||
| 7. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 25 | 7. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 8. IS-IS Segment Routing YANG Module . . . . . . . . . . . . . . 100 | 8. IS-IS Segment Routing YANG Module . . . . . . . . . . . . . . 100 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 114 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 115 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 115 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 116 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 115 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 116 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 115 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 116 | |||
| 13. Change log for ietf-isis-sr YANG module . . . . . . . . . . . 116 | 13. Change log for ietf-isis-sr YANG module . . . . . . . . . . . 117 | |||
| 13.1. From version -09 to version -11 . . . . . . . . . . . . 116 | 13.1. From version -12 to version -13 . . . . . . . . . . . . 117 | |||
| 13.2. From version -08 to version -09 . . . . . . . . . . . . 116 | 13.2. From version -09 to version -11 . . . . . . . . . . . . 117 | |||
| 13.3. From version -07 to version -08 . . . . . . . . . . . . 116 | 13.3. From version -08 to version -09 . . . . . . . . . . . . 117 | |||
| 14. Change log for ietf-isis YANG module . . . . . . . . . . . . 116 | 13.4. From version -07 to version -08 . . . . . . . . . . . . 117 | |||
| 14.1. From version -09 to version -12 . . . . . . . . . . . . 116 | 14. Change log for ietf-isis YANG module . . . . . . . . . . . . 117 | |||
| 14.2. From version -08 to version -09 . . . . . . . . . . . . 116 | 14.1. From version -12 to version -13 . . . . . . . . . . . . 117 | |||
| 14.3. From version -07 to version -08 . . . . . . . . . . . . 116 | 14.2. From version -09 to version -12 . . . . . . . . . . . . 117 | |||
| 14.4. From version -05 to version -07 . . . . . . . . . . . . 117 | 14.3. From version -08 to version -09 . . . . . . . . . . . . 117 | |||
| 14.5. From version -03 to version -05 . . . . . . . . . . . . 117 | 14.4. From version -07 to version -08 . . . . . . . . . . . . 118 | |||
| 14.6. From version -02 to version -03 . . . . . . . . . . . . 117 | 14.5. From version -05 to version -07 . . . . . . . . . . . . 118 | |||
| 14.7. From version -01 to version -02 . . . . . . . . . . . . 117 | 14.6. From version -03 to version -05 . . . . . . . . . . . . 118 | |||
| 14.8. From version -00 to version -01 . . . . . . . . . . . . 118 | 14.7. From version -02 to version -03 . . . . . . . . . . . . 118 | |||
| 15. Normative References . . . . . . . . . . . . . . . . . . . . 119 | 14.8. From version -01 to version -02 . . . . . . . . . . . . 119 | |||
| Appendix A. Example of IS-IS configuration in XML . . . . . . . 120 | 14.9. From version -00 to version -01 . . . . . . . . . . . . 119 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 122 | 15. Normative References . . . . . . . . . . . . . . . . . . . . 120 | |||
| Appendix A. Example of IS-IS configuration in XML . . . . . . . 121 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 123 | ||||
| 1. Introduction | 1. Introduction | |||
| This document defines a YANG data model for IS-IS routing protocol. | This document defines a YANG data model for IS-IS routing protocol. | |||
| The data model covers configuration of an IS-IS routing protocol | The data model covers configuration of an IS-IS routing protocol | |||
| instance as well as operational states. | instance as well as operational states. | |||
| 1.1. Tree diagram | 1.1. Tree diagram | |||
| skipping to change at page 4, line 36 ¶ | skipping to change at page 4, line 42 ¶ | |||
| +--rw mpls | +--rw mpls | |||
| | +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | | +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | |||
| | +--rw ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | | +--rw ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | |||
| | +--rw igp-ldp-sync {igp-ldp-sync}? | | +--rw igp-ldp-sync {igp-ldp-sync}? | |||
| +--rw reference-bandwidth? uint32 {reference-bandwidth}? | +--rw reference-bandwidth? uint32 {reference-bandwidth}? | |||
| +--rw lsp-mtu? uint16 | +--rw lsp-mtu? uint16 | |||
| +--rw lsp-lifetime? uint16 | +--rw lsp-lifetime? uint16 | |||
| +--rw lsp-refresh? uint16 {lsp-refresh}? | +--rw lsp-refresh? uint16 {lsp-refresh}? | |||
| +--rw graceful-restart {graceful-restart}? | +--rw graceful-restart {graceful-restart}? | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| +--rw nsr {nsr}? | ||||
| | +--rw enable? boolean | ||||
| +--rw node-tags {node-tag}? | +--rw node-tags {node-tag}? | |||
| | +--rw node-tag* [tag] | | +--rw node-tag* [tag] | |||
| | ... | | ... | |||
| +--rw authentication | +--rw authentication | |||
| | +--rw (authentication-type)? | | +--rw (authentication-type)? | |||
| | | ... | | | ... | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | ... | | | ... | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | ... | | ... | |||
| skipping to change at page 4, line 46 ¶ | skipping to change at page 5, line 4 ¶ | |||
| +--rw node-tags {node-tag}? | +--rw node-tags {node-tag}? | |||
| | +--rw node-tag* [tag] | | +--rw node-tag* [tag] | |||
| | ... | | ... | |||
| +--rw authentication | +--rw authentication | |||
| | +--rw (authentication-type)? | | +--rw (authentication-type)? | |||
| | | ... | | | ... | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | ... | | | ... | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | ... | | ... | |||
| +--rw metric-type | +--rw metric-type | |||
| | +--rw value? enumeration | | +--rw value? enumeration | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | ... | | | ... | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | ... | | ... | |||
| +--rw default-metric | +--rw default-metric | |||
| | +--rw value? wide-metric | | +--rw value? wide-metric | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | ... | | | ... | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | ... | | ... | |||
| +--rw afs | +--rw afs {nlpid-control}? | |||
| | +--rw af* [af] {nlpid-control}? | | +--rw af* [af] | |||
| | ... | | ... | |||
| +--rw preference | +--rw preference | |||
| | +--rw (granularity)? | | +--rw (granularity)? | |||
| | ... | | ... | |||
| +--rw overload | +--rw overload | |||
| | +--rw status? boolean | | +--rw status? boolean | |||
| +--rw overload-max-metric {overload-max-metric}? | +--rw overload-max-metric {overload-max-metric}? | |||
| | +--rw timeout? uint16 | | +--rw timeout? uint16 | |||
| +--rw fast-reroute {fast-reroute}? | +--rw fast-reroute {fast-reroute}? | |||
| | +--rw lfa {lfa}? | | +--rw lfa {lfa}? | |||
| +--rw multi-topology {multi-topology}? | +--rw topologies {multi-topology}? | |||
| | +--rw topology* [name] | | +--rw topology* [name] | |||
| | ... | | ... | |||
| +--rw interfaces | +--rw interfaces | |||
| +--rw interface* [name] | +--rw interface* [name] | |||
| ... | ... | |||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | |||
| otocol: | otocol: | |||
| +--ro isis | +--ro isis | |||
| +--ro enable? boolean {admin-control}? | +--ro enable? boolean {admin-control}? | |||
| +--ro level-type? level | +--ro level-type? level | |||
| skipping to change at page 5, line 44 ¶ | skipping to change at page 5, line 53 ¶ | |||
| +--ro mpls | +--ro mpls | |||
| | +--ro ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | | +--ro ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | |||
| | +--ro ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | | +--ro ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | |||
| | +--ro igp-ldp-sync {igp-ldp-sync}? | | +--ro igp-ldp-sync {igp-ldp-sync}? | |||
| +--ro reference-bandwidth? uint32 {reference-bandwidth}? | +--ro reference-bandwidth? uint32 {reference-bandwidth}? | |||
| +--ro lsp-mtu? uint16 | +--ro lsp-mtu? uint16 | |||
| +--ro lsp-lifetime? uint16 | +--ro lsp-lifetime? uint16 | |||
| +--ro lsp-refresh? uint16 {lsp-refresh}? | +--ro lsp-refresh? uint16 {lsp-refresh}? | |||
| +--ro graceful-restart {graceful-restart}? | +--ro graceful-restart {graceful-restart}? | |||
| | +--ro enable? boolean | | +--ro enable? boolean | |||
| +--ro nsr {nsr}? | ||||
| | +--ro enable? boolean | ||||
| +--ro node-tags {node-tag}? | +--ro node-tags {node-tag}? | |||
| | +--ro node-tag* [tag] | | +--ro node-tag* [tag] | |||
| | ... | | ... | |||
| +--ro authentication | +--ro authentication | |||
| | +--ro (authentication-type)? | | +--ro (authentication-type)? | |||
| | | ... | | | ... | |||
| | +--ro level-1 | | +--ro level-1 | |||
| | | ... | | | ... | |||
| | +--ro level-2 | | +--ro level-2 | |||
| | ... | | ... | |||
| skipping to change at page 6, line 17 ¶ | skipping to change at page 6, line 27 ¶ | |||
| | +--ro level-1 | | +--ro level-1 | |||
| | | ... | | | ... | |||
| | +--ro level-2 | | +--ro level-2 | |||
| | ... | | ... | |||
| +--ro default-metric | +--ro default-metric | |||
| | +--ro value? wide-metric | | +--ro value? wide-metric | |||
| | +--ro level-1 | | +--ro level-1 | |||
| | | ... | | | ... | |||
| | +--ro level-2 | | +--ro level-2 | |||
| | ... | | ... | |||
| +--ro afs | +--ro afs {nlpid-control}? | |||
| | +--ro af* [af] {nlpid-control}? | | +--ro af* [af] | |||
| | ... | | ... | |||
| +--ro preference | +--ro preference | |||
| | +--ro (granularity)? | | +--ro (granularity)? | |||
| | ... | | ... | |||
| +--ro overload | +--ro overload | |||
| | +--ro status? boolean | | +--ro status? boolean | |||
| +--ro overload-max-metric {overload-max-metric}? | +--ro overload-max-metric {overload-max-metric}? | |||
| | +--ro timeout? uint16 | | +--ro timeout? uint16 | |||
| +--ro fast-reroute {fast-reroute}? | +--ro fast-reroute {fast-reroute}? | |||
| | +--ro lfa {lfa}? | | +--ro lfa {lfa}? | |||
| skipping to change at page 10, line 17 ¶ | skipping to change at page 10, line 27 ¶ | |||
| +--ro send-timestamp? yang:timestamp | +--ro send-timestamp? yang:timestamp | |||
| 2.1. IS-IS Configuration | 2.1. IS-IS Configuration | |||
| The IS-IS configuration container is divided in: | The IS-IS configuration container is divided in: | |||
| o Global parameters. | o Global parameters. | |||
| o Per interface configuration (see Section 2.4). | o Per interface configuration (see Section 2.4). | |||
| It would to up to extension modules to augment this model to support | Additional modules may be created this to support any additional | |||
| any additional parameter. | parameters. These modules should augment the ietf-isis module. | |||
| The model implements features, so some of the configuration statement | The model implements features, so some of the configuration statement | |||
| becomes optional. As an example, the ability to control the | becomes optional. As an example, the ability to control the | |||
| administrative state of a particular IS-IS instance is optional. By | administrative state of a particular IS-IS instance is optional. By | |||
| advertising the feature "admin-control", a device advises the client | advertising the feature "admin-control", a device communicates to the | |||
| that it supports the ability to shutdown a particular IS-IS instance. | client that it supports the ability to shutdown a particular IS-IS | |||
| instance. | ||||
| The global configuration contains usual IS-IS parameters such as lsp- | The global configuration contains usual IS-IS parameters such as lsp- | |||
| mtu, lsp-lifetime, lsp-refresh, default-metric ... Within the global | mtu, lsp-lifetime, lsp-refresh, default-metric ... | |||
| configuration, a client can also activate one or more address- | ||||
| families (IPv4, IPv6) through the "afs" container. | ||||
| 2.2. Multitopology Parameters | 2.2. Multitopology Parameters | |||
| The model supports multitopology (MT) IS-IS as defined in [RFC5120]. | The model supports multitopology (MT) IS-IS as defined in [RFC5120]. | |||
| The "multi-topology" container is used to enable support of MT | The "topologies" container is used to enable support of MT | |||
| extensions. | extensions. | |||
| The "name" used in the topology list should refer to an existing RIB | The "name" used in the topology list should refer to an existing RIB | |||
| of the device. | of the device. | |||
| Some specific parameters could be defined for a specific topology at | Some specific parameters could be defined on a per topology basis | |||
| global level and also at interface level: for example, interface | both at global level and at interface level: for example, an | |||
| metric can be defined per topology. | interface metric can be defined per topology. | |||
| Multiple address families (like IPv4 or IPv6) can also be activated | ||||
| within the default topology. This can be achieved using the "afs" | ||||
| container (requiring "nlpid-control" feature to be advertised). | ||||
| 2.3. Per-Level Parameters | 2.3. Per-Level Parameters | |||
| Some parameters support per level configuration. In this case, the | Some parameters support a per level configuration. In this case, the | |||
| parameter is built as a container with three configuration locations: | parameter is modeled as a container with three configuration | |||
| locations: | ||||
| o top level container: corresponds to level-1-2, so the | o top level container: corresponds to level-1-2, so the | |||
| configuration applies to both levels. | configuration applies to both levels. | |||
| o level-1 container: corresponds to level-1 specific parameters. | o level-1 container: corresponds to level-1 specific parameters. | |||
| o level-2 container: corresponds to level-2 specific parameters. | o level-2 container: corresponds to level-2 specific parameters. | |||
| +--rw priority | +--rw priority | |||
| | +--rw value? uint8 | | +--rw value? uint8 | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | +--rw value? uint8 | | | +--rw value? uint8 | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | +--rw value? uint8 | | +--rw value? uint8 | |||
| Example : | Example: | |||
| <priority> | <priority> | |||
| <value>250</value> | <value>250</value> | |||
| <level-1> | <level-1> | |||
| <value>100</value> | <value>100</value> | |||
| </level-1> | </level-1> | |||
| <level-2> | <level-2> | |||
| <value>200</value> | <value>200</value> | |||
| </level-2> | </level-2> | |||
| </priority> | </priority> | |||
| An implementation SHOULD prefer a level specific parameter over | An implementation SHOULD prefer a level specific parameter over a | |||
| level-all parameter. As example, if priority is 100 for level-1, 200 | level-all parameter. As example, if the priority is 100 for the | |||
| for level-2 and 250 for top level configuration, the implementation | level-1, 200 for the level-2 and 250 for the top level configuration, | |||
| should use 100 for level-1 and 200 for level-2. | the implementation should use 100 for the level-1 and 200 for the | |||
| level-2. | ||||
| Some parameters like overload bit and route preference are not | Some parameters like "overload bit" and "route preference" are not | |||
| modeled for per level configuration. If an implementation supports | modeled to support a per level configuration. If an implementation | |||
| per level configuration for such parameter, the implementation SHOULD | supports per level configuration for such parameter, this | |||
| augment the current model by adding level-1 and level-2 containers | implementation SHOULD augment the current model by adding both | |||
| and SHOULD reuse existing configuration groupings. | level-1 and level-2 containers and SHOULD reuse existing | |||
| configuration groupings. | ||||
| Example of augmentation : | Example of augmentation: | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:overload" { | "/isis:isis/isis:overload" { | |||
| when "rt:type = 'isis:isis'" { | when "rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment IS-IS routing protocol when used"; | "This augment IS-IS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments IS-IS overload configuration | "This augments IS-IS overload configuration | |||
| skipping to change at page 12, line 29 ¶ | skipping to change at page 12, line 35 ¶ | |||
| "Level 1 configuration."; | "Level 1 configuration."; | |||
| } | } | |||
| container level-2 { | container level-2 { | |||
| uses isis:overload-global-cfg; | uses isis:overload-global-cfg; | |||
| description | description | |||
| "Level 2 configuration."; | "Level 2 configuration."; | |||
| } | } | |||
| } | } | |||
| Moreover, if an implementation does not support per level | If an implementation does not support per level configuration for a | |||
| configuration for a parameter, like priority, which has per level | parameter modeled with per level configuration, the implementation | |||
| configuration, the implementation SHOULD advertise a deviation to | SHOULD advertise a deviation to announce the non support of the | |||
| announce the non support of the level-1 and level-2 containers. | level-1 and level-2 containers. | |||
| Finally, if an implementation supports per level configuration but | Finally, if an implementation supports per level configuration but | |||
| does not support the level-1-2 configuration, it SHOULD also | does not support the level-1-2 configuration, it SHOULD also | |||
| advertise a deviation. | advertise a deviation. | |||
| 2.4. Per-Interface Parameters | 2.4. Per-Interface Parameters | |||
| The per-interface section of the IS-IS instance describes the | The per-interface section of the IS-IS instance describes the | |||
| interface specific parameters. | interface specific parameters. | |||
| The interface is a reference to an interface in the Interface YANG | The interface is a reference to an interface defined in the "ietf- | |||
| model. | interfaces" YANG model. | |||
| Each interface has interface-specific parameters that may have a | Each interface has some interface-specific parameters that may have a | |||
| different value per level as described in previous section. An | different per level value as described in previous section. An | |||
| interface-specific parameter always override an IS-IS global | interface-specific parameter always override an IS-IS global | |||
| parameter . | parameter. | |||
| Some parameters like hello-padding are defined as containers to allow | Some parameters like hello-padding are defined as containers to allow | |||
| easy extension by vendor specific modules. | easy extension by vendor specific modules. | |||
| +--rw interfaces | +--rw interfaces | |||
| +--rw interface* [name] | +--rw interface* [name] | |||
| +--rw name if:interface-ref | +--rw name if:interface-ref | |||
| +--rw level-type? level | +--rw level-type? level | |||
| +--rw lsp-pacing-interval? uint16 | +--rw lsp-pacing-interval? uint16 | |||
| +--rw lsp-retransmit-interval? uint16 | +--rw lsp-retransmit-interval? uint16 | |||
| skipping to change at page 15, line 13 ¶ | skipping to change at page 15, line 21 ¶ | |||
| | | +--rw value? uint8 | | | +--rw value? uint8 | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | +--rw value? uint8 | | +--rw value? uint8 | |||
| +--rw metric | +--rw metric | |||
| | +--rw value? wide-metric | | +--rw value? wide-metric | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | +--rw value? wide-metric | | | +--rw value? wide-metric | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | +--rw value? wide-metric | | +--rw value? wide-metric | |||
| +--rw bfd {bfd}? | +--rw bfd {bfd}? | |||
| | +--rw enabled? boolean | | +--rw enable? boolean | |||
| +--rw afs | +--rw afs {nlpid-control}? | |||
| | +--rw af* [af] | | +--rw af* [af] | |||
| | +--rw af identityref | | +--rw af identityref | |||
| +--rw mpls | +--rw mpls | |||
| | +--rw igp-ldp-sync {igp-ldp-sync}? | | +--rw igp-ldp-sync {igp-ldp-sync}? | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| +--rw fast-reroute {fast-reroute}? | +--rw fast-reroute {fast-reroute}? | |||
| | +--rw lfa {lfa}? | | +--rw lfa {lfa}? | |||
| | +--rw candidate-disabled? boolean | | +--rw candidate-disabled? boolean | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}? | |||
| skipping to change at page 15, line 36 ¶ | skipping to change at page 15, line 44 ¶ | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | +--rw candidate-disabled? boolean | | | +--rw candidate-disabled? boolean | |||
| | | +--rw enable? boolean | | | +--rw enable? boolean | |||
| | | +--rw remote-lfa {remote-lfa}? | | | +--rw remote-lfa {remote-lfa}? | |||
| | | +--rw enable? boolean | | | +--rw enable? boolean | |||
| | +--rw level-2 | | +--rw level-2 | |||
| | +--rw candidate-disabled? boolean | | +--rw candidate-disabled? boolean | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}? | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| +--rw multi-topology {multi-topology}? | +--rw topologies {multi-topology}? | |||
| +--rw topology* [name] | +--rw topology* [name] | |||
| +--rw name leafref | +--rw name leafref | |||
| +--rw fast-reroute {fast-reroute}? | +--rw fast-reroute {fast-reroute}? | |||
| | +--rw lfa {lfa}? | | +--rw lfa {lfa}? | |||
| | +--rw candidate-disabled? boolean | | +--rw candidate-disabled? boolean | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}? | |||
| | | +--rw enable? boolean | | | +--rw enable? boolean | |||
| | +--rw level-1 | | +--rw level-1 | |||
| | | +--rw candidate-disabled? boolean | | | +--rw candidate-disabled? boolean | |||
| skipping to change at page 16, line 19 ¶ | skipping to change at page 16, line 27 ¶ | |||
| +--rw level-1 | +--rw level-1 | |||
| | +--rw value? wide-metric | | +--rw value? wide-metric | |||
| +--rw level-2 | +--rw level-2 | |||
| +--rw value? wide-metric | +--rw value? wide-metric | |||
| 2.5. Authentication Parameters | 2.5. Authentication Parameters | |||
| The module enables authentication configuration through the IETF key- | The module enables authentication configuration through the IETF key- | |||
| chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module | chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module | |||
| imports the "ietf-key-chain" module and reuses some groupings to | imports the "ietf-key-chain" module and reuses some groupings to | |||
| allow global and per interface authentication configuration. If | allow global and per interface configuration of authentication. If a | |||
| global authentication is configured, an implementation SHOULD | global authentication is configured, an implementation SHOULD | |||
| authenticate PSNP, CSNP and LSPs with the authentication parameters | authenticate PSNP, CSNP and LSPs with the authentication parameters | |||
| supplied. On a per interface basis, the authentication of hello PDUs | supplied. The authentication of hello PDUs can be activated on a per | |||
| can be activated. | interface basis. | |||
| 2.6. IGP/LDP synchronization | 2.6. IGP/LDP synchronization | |||
| [RFC5443] defines a mechanism where IGP needs to be synchronized with | [RFC5443] defines a mechanism where IGP needs to be synchronized with | |||
| LDP. An "igp-ldp-sync" feature has been defined in the model to | LDP. An "igp-ldp-sync" feature has been defined in the model to | |||
| support this mechanism. The "mpls/igp-ldp-sync" container under | support this mechanism. The "mpls/igp-ldp-sync" container under | |||
| "interface" allows activation of the mechanism on a per interface | "interface" allows activation of the mechanism on a per interface | |||
| basis. The "mpls/igp-ldp-sync" container in the global configuration | basis. The "mpls/igp-ldp-sync" container in the global configuration | |||
| is empty on purpose and is not required for the activation. The goal | is empty on purpose and is not required for the activation. The goal | |||
| of this empty container is to allow easy augmentation with additional | of this empty container is to allow easy augmentation with additional | |||
| skipping to change at page 25, line 46 ¶ | skipping to change at page 26, line 7 ¶ | |||
| Some IS-IS specific routes attributes are added to route objects of | Some IS-IS specific routes attributes are added to route objects of | |||
| the ietf-routing module by augmenting "/rt:routing- | the ietf-routing module by augmenting "/rt:routing- | |||
| state/rt:ribs/rt:rib/rt:routes/rt:route". | state/rt:ribs/rt:rib/rt:routes/rt:route". | |||
| The modules defined in this document use some groupings from ietf- | The modules defined in this document use some groupings from ietf- | |||
| keychain [I-D.ietf-rtgwg-yang-key-chain] and ietf-segment routing | keychain [I-D.ietf-rtgwg-yang-key-chain] and ietf-segment routing | |||
| [I-D.ietf-spring-sr-yang]. | [I-D.ietf-spring-sr-yang]. | |||
| 7. IS-IS YANG Module | 7. IS-IS YANG Module | |||
| <CODE BEGINS> file "ietf-isis@2016-10-17.yang" | <CODE BEGINS> file "ietf-isis@2016-10-26.yang" | |||
| module ietf-isis { | module ietf-isis { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | |||
| prefix isis; | prefix isis; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| skipping to change at page 26, line 34 ¶ | skipping to change at page 26, line 44 ¶ | |||
| organization | organization | |||
| "IETF ISIS Working Group"; | "IETF ISIS Working Group"; | |||
| contact | contact | |||
| "WG List: <mailto:isis-wg@ietf.org> | "WG List: <mailto:isis-wg@ietf.org> | |||
| Editor: Stephane Litkowski | Editor: Stephane Litkowski | |||
| <mailto:stephane.litkowski@orange.com> | <mailto:stephane.litkowski@orange.com> | |||
| Derek Yeung | Derek Yeung | |||
| <mailto:myeung@cisco.com> | <mailto:derek@arrcus.com> | |||
| Acee Lindem | Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Jeffrey Zhang | Jeffrey Zhang | |||
| <mailto:zzhang@juniper.net> | <mailto:zzhang@juniper.net> | |||
| Ladislav Lhotka | Ladislav Lhotka | |||
| <mailto:llhotka@nic.cz> | <mailto:llhotka@nic.cz> | |||
| Yi Yang | Yi Yang | |||
| <mailto:yiya@cisco.com> | <mailto:yiya@cisco.com> | |||
| Dean Bogdanovic | Dean Bogdanovic | |||
| <mailto:deanb@juniper.net> | <mailto:deanb@juniper.net> | |||
| Kiran Agrahara Sreenivasa | Kiran Agrahara Sreenivasa | |||
| <mailto:kkoushik@brocade.com> | <mailto:kkoushik@brocade.com> | |||
| Yingzhen Qu | Yingzhen Qu | |||
| <mailto:yiqu@cisco.com> | <mailto:yiqu@cisco.com> | |||
| Jeff Tantsura | Jeff Tantsura | |||
| <mailto:jeff.tantsura@ericsson.com> | <mailto:jeff.tantsura@ericsson.com> | |||
| "; | "; | |||
| description | description | |||
| "The YANG module defines a generic configuration model for | "The YANG module defines a generic configuration model for | |||
| ISIS common across all of the vendor implementations."; | ISIS common across all of the vendor implementations."; | |||
| revision 2016-10-17 { | revision 2016-10-26 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference "draft-ietf-isis-yang-isis-cfg-12"; | reference "draft-ietf-isis-yang-isis-cfg-13"; | |||
| } | } | |||
| /* Identities */ | /* Identities */ | |||
| identity isis { | identity isis { | |||
| base rt:routing-protocol; | base rt:routing-protocol; | |||
| description "Identity for the ISIS routing protocol."; | description "Identity for the ISIS routing protocol."; | |||
| } | } | |||
| identity isis-adjacency-change { | identity isis-adjacency-change { | |||
| skipping to change at page 28, line 4 ¶ | skipping to change at page 28, line 13 ¶ | |||
| description | description | |||
| "Support of BFD for IS-IS links."; | "Support of BFD for IS-IS links."; | |||
| } | } | |||
| feature key-chain { | feature key-chain { | |||
| description | description | |||
| "Support of keychain for authentication."; | "Support of keychain for authentication."; | |||
| } | } | |||
| feature segment-routing { | feature segment-routing { | |||
| description | description | |||
| "Support of segment-routing."; | "Support of segment-routing."; | |||
| } | } | |||
| feature node-flag { | feature node-flag { | |||
| description | description | |||
| "Support of node-flag advertisement | "Support of node-flag advertisement | |||
| as prefix attribute"; | as prefix attribute"; | |||
| } | } | |||
| feature node-tag { | feature node-tag { | |||
| description | description | |||
| "Support of node tag."; | "Support of node tag."; | |||
| } | } | |||
| feature igp-ldp-sync { | feature igp-ldp-sync { | |||
| description | description | |||
| "Support of RFC5443."; | "Support of RFC5443."; | |||
| } | } | |||
| feature fast-reroute { | feature fast-reroute { | |||
| description | description | |||
| "Support of IPFRR."; | "Support of IPFRR."; | |||
| } | } | |||
| feature nsr { | ||||
| description | ||||
| "Support of | ||||
| Non Stop Routing."; | ||||
| } | ||||
| feature lfa { | feature lfa { | |||
| description | description | |||
| "Support of Loop Free Alternates."; | "Support of Loop Free Alternates."; | |||
| } | } | |||
| feature remote-lfa { | feature remote-lfa { | |||
| description | description | |||
| "Support of remote Loop Free Alternates."; | "Support of remote Loop Free Alternates."; | |||
| } | } | |||
| feature overload-max-metric { | feature overload-max-metric { | |||
| skipping to change at page 64, line 39 ¶ | skipping to change at page 65, line 8 ¶ | |||
| if-feature graceful-restart; | if-feature graceful-restart; | |||
| leaf enable { | leaf enable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Control enabling the feature."; | "Control enabling the feature."; | |||
| } | } | |||
| description | description | |||
| "This container activates graceful restart."; | "This container activates graceful restart."; | |||
| } | } | |||
| container nsr { | ||||
| if-feature nsr; | ||||
| description | ||||
| "Non-Stop Routing (NSR) config state."; | ||||
| leaf enable { | ||||
| type boolean; | ||||
| description | ||||
| "Enable/Disable NSR."; | ||||
| } | ||||
| } | ||||
| uses isis-node-tag-cfg; | uses isis-node-tag-cfg; | |||
| container authentication { | container authentication { | |||
| uses authentication-global-cfg; | uses authentication-global-cfg; | |||
| container level-1 { | container level-1 { | |||
| uses authentication-global-cfg; | uses authentication-global-cfg; | |||
| description "level-1 specific cfg"; | description "level-1 specific cfg"; | |||
| } | } | |||
| container level-2 { | container level-2 { | |||
| skipping to change at page 65, line 39 ¶ | skipping to change at page 66, line 18 ¶ | |||
| description "level-1 specific cfg"; | description "level-1 specific cfg"; | |||
| } | } | |||
| container level-2 { | container level-2 { | |||
| uses default-metric-global-cfg; | uses default-metric-global-cfg; | |||
| description "level-2 specific cfg"; | description "level-2 specific cfg"; | |||
| } | } | |||
| description "Default metric global cfg."; | description "Default metric global cfg."; | |||
| } | } | |||
| container afs { | container afs { | |||
| if-feature nlpid-control; | ||||
| list af { | list af { | |||
| if-feature nlpid-control; | ||||
| key af; | key af; | |||
| leaf af { | leaf af { | |||
| type identityref { | type identityref { | |||
| base rt:address-family; | base rt:address-family; | |||
| } | } | |||
| description | description | |||
| "Address-family"; | "Address-family"; | |||
| } | } | |||
| leaf enable { | leaf enable { | |||
| skipping to change at page 71, line 31 ¶ | skipping to change at page 72, line 11 ¶ | |||
| } | } | |||
| container level-2 { | container level-2 { | |||
| uses metric-cfg; | uses metric-cfg; | |||
| description "level-2 specific cfg"; | description "level-2 specific cfg"; | |||
| } | } | |||
| description "Metric configuration."; | description "Metric configuration."; | |||
| } | } | |||
| container bfd { | container bfd { | |||
| if-feature bfd; | if-feature bfd; | |||
| leaf enabled { | leaf enable { | |||
| type boolean; | type boolean; | |||
| default false; | default false; | |||
| description " | description " | |||
| Enables BFD on the interface | Enables BFD on the interface | |||
| "; | "; | |||
| } | } | |||
| description | description | |||
| "BFD configuration."; | "BFD configuration."; | |||
| } | } | |||
| container afs { | container afs { | |||
| if-feature nlpid-control; | ||||
| list af { | list af { | |||
| key af; | key af; | |||
| leaf af { | leaf af { | |||
| type identityref { | type identityref { | |||
| base rt:address-family; | base rt:address-family; | |||
| } | } | |||
| description | description | |||
| "Address-family"; | "Address-family"; | |||
| } | } | |||
| description | description | |||
| "List of AFs."; | "List of AFs."; | |||
| } | } | |||
| description | description | |||
| "Container for address-families"; | "Container for address-families"; | |||
| } | } | |||
| container mpls { | container mpls { | |||
| skipping to change at page 74, line 8 ¶ | skipping to change at page 74, line 38 ¶ | |||
| } | } | |||
| uses isis-global-cfg; | uses isis-global-cfg; | |||
| container fast-reroute { | container fast-reroute { | |||
| if-feature fast-reroute; | if-feature fast-reroute; | |||
| uses fast-reroute-global-cfg; | uses fast-reroute-global-cfg; | |||
| description | description | |||
| "IPFRR."; | "IPFRR."; | |||
| } | } | |||
| container multi-topology { | container topologies { | |||
| if-feature multi-topology; | if-feature multi-topology; | |||
| list topology { | list topology { | |||
| key "name"; | key "name"; | |||
| leaf enable { | leaf enable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Control enabling of topologies"; | "Control enabling of topologies"; | |||
| } | } | |||
| skipping to change at page 75, line 14 ¶ | skipping to change at page 75, line 45 ¶ | |||
| the routing-instance."; | the routing-instance."; | |||
| } | } | |||
| uses isis-if-cfg; | uses isis-if-cfg; | |||
| container fast-reroute { | container fast-reroute { | |||
| if-feature fast-reroute; | if-feature fast-reroute; | |||
| uses fast-reroute-if-cfg; | uses fast-reroute-if-cfg; | |||
| description | description | |||
| "IPFRR."; | "IPFRR."; | |||
| } | } | |||
| container multi-topology { | container topologies { | |||
| if-feature multi-topology; | if-feature multi-topology; | |||
| list topology { | list topology { | |||
| key name; | key name; | |||
| leaf name { | leaf name { | |||
| type leafref { | type leafref { | |||
| path "../../../../../../../../"+ | path "../../../../../../../../"+ | |||
| "rt:ribs/rt:rib/rt:name"; | "rt:ribs/rt:rib/rt:name"; | |||
| } | } | |||
| skipping to change at page 100, line 11 ¶ | skipping to change at page 100, line 37 ¶ | |||
| The notification generation must be throttled with at least | The notification generation must be throttled with at least | |||
| a 5 second gap. "; | a 5 second gap. "; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 8. IS-IS Segment Routing YANG Module | 8. IS-IS Segment Routing YANG Module | |||
| <CODE BEGINS> file "ietf-isis-sr@2016-10-17.yang" | <CODE BEGINS> file "ietf-isis-sr@2016-10-26.yang" | |||
| module ietf-isis-sr { | module ietf-isis-sr { | |||
| namespace "urn:ietf:params:xml:ns:" | namespace "urn:ietf:params:xml:ns:" | |||
| + "yang:ietf-isis-sr"; | + "yang:ietf-isis-sr"; | |||
| prefix isis-sr; | prefix isis-sr; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-segment-routing-common { | ||||
| prefix "sr-cmn"; | ||||
| } | ||||
| import ietf-segment-routing { | import ietf-segment-routing { | |||
| prefix "sr"; | prefix "sr"; | |||
| } | } | |||
| import ietf-isis { | import ietf-isis { | |||
| prefix "isis"; | prefix "isis"; | |||
| } | } | |||
| organization | organization | |||
| "IETF ISIS Working Group"; | "IETF ISIS Working Group"; | |||
| skipping to change at page 101, line 10 ¶ | skipping to change at page 101, line 42 ¶ | |||
| Jeff Tantsura | Jeff Tantsura | |||
| <mailto:jeff.tantsura@ericsson.com> | <mailto:jeff.tantsura@ericsson.com> | |||
| "; | "; | |||
| description | description | |||
| "The YANG module defines a generic configuration model for | "The YANG module defines a generic configuration model for | |||
| Segment routing ISIS extensions common across all of the vendor | Segment routing ISIS extensions common across all of the vendor | |||
| implementations."; | implementations."; | |||
| revision 2016-10-17 { | revision 2016-10-26 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference "draft-ietf-isis-yang-isis-cfg-12"; | reference "draft-ietf-isis-yang-isis-cfg-13"; | |||
| } | } | |||
| /* Identities */ | /* Identities */ | |||
| /* Features */ | /* Features */ | |||
| feature remote-lfa-sr { | feature remote-lfa-sr { | |||
| description | description | |||
| "Enhance rLFA to use SR path."; | "Enhance rLFA to use SR path."; | |||
| } | } | |||
| feature ti-lfa { | feature ti-lfa { | |||
| description | description | |||
| "Enhance IPFRR with ti-lfa | "Enhance IPFRR with ti-lfa | |||
| skipping to change at page 109, line 17 ¶ | skipping to change at page 110, line 4 ¶ | |||
| description | description | |||
| "This container describes list of SID/Label | "This container describes list of SID/Label | |||
| bindings. | bindings. | |||
| ISIS reference is TLV 149."; | ISIS reference is TLV 149."; | |||
| } | } | |||
| description | description | |||
| "Defines binding TLV for database."; | "Defines binding TLV for database."; | |||
| } | } | |||
| /* Cfg */ | /* Cfg */ | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis" { | "/isis:isis" { | |||
| when "/rt:routing/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol configuration | "This augments ISIS protocol configuration | |||
| with segment routing."; | with segment routing."; | |||
| uses sr:controlplane-cfg; | uses sr:controlplane-cfg; | |||
| container protocol-srgb { | container protocol-srgb { | |||
| if-feature sr:protocol-srgb; | if-feature sr:protocol-srgb; | |||
| uses sr:srgb-cfg; | uses sr-cmn:srgb-cfg; | |||
| description | description | |||
| "Per-protocol SRGB."; | "Per-protocol SRGB."; | |||
| } | } | |||
| } | } | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" { | "/isis:isis/isis:interfaces/isis:interface" { | |||
| when "/rt:routing/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| skipping to change at page 111, line 24 ¶ | skipping to change at page 112, line 13 ¶ | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol configuration | "This augments ISIS protocol configuration | |||
| with segment routing."; | with segment routing."; | |||
| uses sr:controlplane-cfg; | uses sr:controlplane-cfg; | |||
| container protocol-srgb { | container protocol-srgb { | |||
| if-feature sr:protocol-srgb; | if-feature sr:protocol-srgb; | |||
| uses sr:srgb-cfg; | uses sr-cmn:srgb-cfg; | |||
| description | description | |||
| "Per-protocol SRGB."; | "Per-protocol SRGB."; | |||
| } | } | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing-state/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" { | "/isis:isis/isis:interfaces/isis:interface" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing-state/rt:control-plane-protocols/"+ | |||
| skipping to change at page 116, line 17 ¶ | skipping to change at page 117, line 7 ¶ | |||
| prefix: isis | prefix: isis | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| name: ietf-isis-sr | name: ietf-isis-sr | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr | namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr | |||
| prefix: isis-sr | prefix: isis-sr | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 13. Change log for ietf-isis-sr YANG module | 13. Change log for ietf-isis-sr YANG module | |||
| 13.1. From version -09 to version -11 | 13.1. From version -12 to version -13 | |||
| o Align with new segment routing common module. | ||||
| 13.2. From version -09 to version -11 | ||||
| o Fixed XPATH in 'when' expressions. | o Fixed XPATH in 'when' expressions. | |||
| 13.2. From version -08 to version -09 | 13.3. From version -08 to version -09 | |||
| o Align to draft-ietf-netmod-routing-cfg-23. | o Align to draft-ietf-netmod-routing-cfg-23. | |||
| 13.3. From version -07 to version -08 | 13.4. From version -07 to version -08 | |||
| o Align to draft-ietf-netmod-routing-cfg-21. | o Align to draft-ietf-netmod-routing-cfg-21. | |||
| 14. Change log for ietf-isis YANG module | 14. Change log for ietf-isis YANG module | |||
| 14.1. From version -09 to version -12 | 14.1. From version -12 to version -13 | |||
| o Move feature nlpid-control to container rather than list. | ||||
| o Rename multi-topology to topologies to align with OSPF. | ||||
| o Rename bfd/enabled to bfd/enable for consistency reason. | ||||
| o Add support for NSR with a feature. | ||||
| 14.2. From version -09 to version -12 | ||||
| o Rename node-tag container to node-tags. | o Rename node-tag container to node-tags. | |||
| 14.2. From version -08 to version -09 | 14.3. From version -08 to version -09 | |||
| o Added container before af list. | o Added container before af list. | |||
| o Added container before topology list. | o Added container before topology list. | |||
| o Aligned LFA if per level cfg. | o Aligned LFA if per level cfg. | |||
| o Align to draft-ietf-netmod-routing-cfg-23. | o Align to draft-ietf-netmod-routing-cfg-23. | |||
| 14.3. From version -07 to version -08 | 14.4. From version -07 to version -08 | |||
| o Remove selector from system-id type. | o Remove selector from system-id type. | |||
| o Add some default values. | o Add some default values. | |||
| o Moved lists to containers+groupings for per level configuration. | o Moved lists to containers+groupings for per level configuration. | |||
| o remove routing-instance as per core routing model v21. | o remove routing-instance as per core routing model v21. | |||
| o added BFD leaf (no more BFD protocol model). | o added BFD leaf (no more BFD protocol model). | |||
| o changed keychain module reference. | o changed keychain module reference. | |||
| 14.4. From version -05 to version -07 | 14.5. From version -05 to version -07 | |||
| o Move Overload config from list to container. | o Move Overload config from list to container. | |||
| o Move Overload-max-metric config from list to container. | o Move Overload-max-metric config from list to container. | |||
| o Move preference config from list to container. | o Move preference config from list to container. | |||
| o Add Node flag in config. | o Add Node flag in config. | |||
| o Removed BFD config => moved to isis-bfd module. | o Removed BFD config => moved to isis-bfd module. | |||
| o Remove call to routing policy model. | o Remove call to routing policy model. | |||
| 14.5. From version -03 to version -05 | 14.6. From version -03 to version -05 | |||
| o Correct invalid references to previous versions of core routing | o Correct invalid references to previous versions of core routing | |||
| model. | model. | |||
| o Remove BFD config and replace by groupings from ietf-bfd. | o Remove BFD config and replace by groupings from ietf-bfd. | |||
| o Adding routing-policy support through routing-policy model. | o Adding routing-policy support through routing-policy model. | |||
| 14.6. From version -02 to version -03 | 14.7. From version -02 to version -03 | |||
| o Reviewed config and op state groupings. | o Reviewed config and op state groupings. | |||
| o Add default value to lfa candidate-disabled. | o Add default value to lfa candidate-disabled. | |||
| o Add enable leaf to isis container to reflect admin state. | o Add enable leaf to isis container to reflect admin state. | |||
| o Move to VRF centric only. | o Move to VRF centric only. | |||
| o Segment routing is part os a separate module. | o Segment routing is part os a separate module. | |||
| 14.7. From version -01 to version -02 | 14.8. From version -01 to version -02 | |||
| o Adding IPFRR. | o Adding IPFRR. | |||
| o Adding igp-ldp-sync. | o Adding igp-ldp-sync. | |||
| o Adding segment-routing. | o Adding segment-routing. | |||
| o Adding instance reference to operational states. | o Adding instance reference to operational states. | |||
| o Move AF type from string to identity. | o Move AF type from string to identity. | |||
| skipping to change at page 118, line 23 ¶ | skipping to change at page 119, line 31 ¶ | |||
| o Added modification information in lsp-log. | o Added modification information in lsp-log. | |||
| o Removing igp-ldp-sync timer in IS-IS. | o Removing igp-ldp-sync timer in IS-IS. | |||
| o Defining hierarchy for operational states. | o Defining hierarchy for operational states. | |||
| o Adding clns-mtu. | o Adding clns-mtu. | |||
| o Adding key-chain. | o Adding key-chain. | |||
| 14.8. From version -00 to version -01 | 14.9. From version -00 to version -01 | |||
| o Interface metric move from af container to interface container. | o Interface metric move from af container to interface container. | |||
| o Hello-padding on interface moved to hello-padding-disable with | o Hello-padding on interface moved to hello-padding-disable with | |||
| empty type. | empty type. | |||
| o three-way-handshake removed. | o three-way-handshake removed. | |||
| o route preference changed to a choice. | o route preference changed to a choice. | |||
| skipping to change at page 119, line 9 ¶ | skipping to change at page 120, line 17 ¶ | |||
| o Make BFD a feature. | o Make BFD a feature. | |||
| o Create mpls-te container and put router-id inside. | o Create mpls-te container and put router-id inside. | |||
| o Remove GR helper disable and timers. | o Remove GR helper disable and timers. | |||
| 15. Normative References | 15. Normative References | |||
| [I-D.ietf-netmod-routing-cfg] | [I-D.ietf-netmod-routing-cfg] | |||
| Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | |||
| Management", draft-ietf-netmod-routing-cfg-23 (work in | Management", draft-ietf-netmod-routing-cfg-24 (work in | |||
| progress), August 2016. | progress), October 2016. | |||
| [I-D.ietf-rtgwg-yang-key-chain] | [I-D.ietf-rtgwg-yang-key-chain] | |||
| Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. | Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. | |||
| Yang, "Routing Key Chain YANG Data Model", draft-ietf- | Yang, "Routing Key Chain YANG Data Model", draft-ietf- | |||
| rtgwg-yang-key-chain-09 (work in progress), September | rtgwg-yang-key-chain-09 (work in progress), September | |||
| 2016. | 2016. | |||
| [I-D.ietf-spring-sr-yang] | [I-D.ietf-spring-sr-yang] | |||
| Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | |||
| Data Model for Segment Routing", draft-ietf-spring-sr- | Data Model for Segment Routing", draft-ietf-spring-sr- | |||
| yang-03 (work in progress), July 2016. | yang-04 (work in progress), October 2016. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <http://www.rfc-editor.org/info/rfc3688>. | <http://www.rfc-editor.org/info/rfc3688>. | |||
| skipping to change at page 119, line 47 ¶ | skipping to change at page 121, line 9 ¶ | |||
| [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | |||
| IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI | IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI | |||
| 10.17487/RFC5286, September 2008, | 10.17487/RFC5286, September 2008, | |||
| <http://www.rfc-editor.org/info/rfc5286>. | <http://www.rfc-editor.org/info/rfc5286>. | |||
| [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP | [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP | |||
| Synchronization", RFC 5443, DOI 10.17487/RFC5443, March | Synchronization", RFC 5443, DOI 10.17487/RFC5443, March | |||
| 2009, <http://www.rfc-editor.org/info/rfc5443>. | 2009, <http://www.rfc-editor.org/info/rfc5443>. | |||
| [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | ||||
| (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | ||||
| <http://www.rfc-editor.org/info/rfc5880>. | ||||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <http://www.rfc-editor.org/info/rfc6020>. | <http://www.rfc-editor.org/info/rfc6020>. | |||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6241>. | <http://www.rfc-editor.org/info/rfc6241>. | |||
| skipping to change at page 122, line 40 ¶ | skipping to change at page 123, line 44 ¶ | |||
| </data> | </data> | |||
| Authors' Addresses | Authors' Addresses | |||
| Stephane Litkowski | Stephane Litkowski | |||
| Orange | Orange | |||
| Email: stephane.litkowski@orange.com | Email: stephane.litkowski@orange.com | |||
| Derek Yeung | Derek Yeung | |||
| Cisco Systems | Arrcus, Inc | |||
| Email: myeung@cisco.com | ||||
| Email: derek@arrcus.com | ||||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| Email: acee@cisco.com | Email: acee@cisco.com | |||
| Jeffrey Zhang | Jeffrey Zhang | |||
| Juniper Networks | Juniper Networks | |||
| Email: zzhang@juniper.net | Email: zzhang@juniper.net | |||
| Ladislav Lhotka | Ladislav Lhotka | |||
| CZ.NIC | CZ.NIC | |||
| Email: lhotka@nic.cz | Email: lhotka@nic.cz | |||
| End of changes. 77 change blocks. | ||||
| 114 lines changed or deleted | 159 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||