| < draft-ietf-isis-yang-isis-cfg-04.txt | draft-ietf-isis-yang-isis-cfg-05.txt > | |||
|---|---|---|---|---|
| ISIS Working Group S. Litkowski | ISIS Working Group S. Litkowski | |||
| Internet-Draft Orange | Internet-Draft Orange | |||
| Intended status: Standards Track D. Yeung | Intended status: Standards Track D. Yeung | |||
| Expires: January 3, 2016 A. Lindem | Expires: March 13, 2016 A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| J. Zhang | J. Zhang | |||
| Juniper Networks | Juniper Networks | |||
| L. Lhotka | L. Lhotka | |||
| July 02, 2015 | September 10, 2015 | |||
| YANG Data Model for ISIS protocol | YANG Data Model for ISIS protocol | |||
| draft-ietf-isis-yang-isis-cfg-04 | draft-ietf-isis-yang-isis-cfg-05 | |||
| 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 ISIS protocol on network elements. It also defined an | and manage ISIS protocol on network elements. It also defined an | |||
| extension module for segment routing configuration and operation. | extension module for 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", | |||
| skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
| 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 January 3, 2016. | This Internet-Draft will expire on March 13, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 | |||
| skipping to change at page 2, line 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. ISIS Configuration . . . . . . . . . . . . . . . . . . . 9 | 2.1. ISIS Configuration . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | |||
| 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | |||
| 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 10 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 11 | |||
| 2.5. ISO parameters . . . . . . . . . . . . . . . . . . . . . 12 | 2.5. ISO parameters . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 2.6. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 2.6. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 2.7. Operational State . . . . . . . . . . . . . . . . . . . . 13 | 2.7. Operational State . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 13 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5. Segment Routing . . . . . . . . . . . . . . . . . . . . . . . 18 | 5. Segment Routing . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5.1. Segment Routing activation . . . . . . . . . . . . . . . 20 | 5.1. Segment Routing activation . . . . . . . . . . . . . . . 21 | |||
| 5.2. Advertising mapping server policy . . . . . . . . . . . . 20 | 5.2. Advertising mapping server policy . . . . . . . . . . . . 21 | |||
| 5.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 21 | 5.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 6. Interaction with Other YANG Modules . . . . . . . . . . . . . 21 | 6. Interaction with Other YANG Modules . . . . . . . . . . . . . 22 | |||
| 7. ISIS YANG Module . . . . . . . . . . . . . . . . . . . . . . 21 | 7. ISIS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8. ISIS Segment Routing YANG Module . . . . . . . . . . . . . . 96 | 8. ISIS Segment Routing YANG Module . . . . . . . . . . . . . . 97 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 109 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 110 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 110 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 111 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 110 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 112 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 110 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 112 | |||
| 13. Normative References . . . . . . . . . . . . . . . . . . . . 110 | 13. Normative References . . . . . . . . . . . . . . . . . . . . 112 | |||
| Appendix A. Example: NETCONF <get> Reply . . . . . . . . . . . . 111 | Appendix A. Example: NETCONF <get> Reply . . . . . . . . . . . . 112 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 114 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 115 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a YANG data model for ISIS routing protocol. | This document defines a YANG data model for ISIS routing protocol. | |||
| The data model covers configuration of an ISIS routing protocol | The data model covers configuration of an ISIS 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 3, line 42 ¶ | skipping to change at page 3, line 42 ¶ | |||
| are augmenting the "routing-protocol" lists in ietf-routing module | are augmenting the "routing-protocol" lists in ietf-routing module | |||
| with specific ISIS parameters. | with specific ISIS parameters. | |||
| One container contains the writable parameters, while the other | One container contains the writable parameters, while the other | |||
| contains the operational states. | contains the operational states. | |||
| The figure below describe the overall structure of the isis YANG | The figure below describe the overall structure of the isis YANG | |||
| module: | module: | |||
| module: ietf-isis | module: ietf-isis | |||
| augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route: | augment /rt:routing-state/rt:routing-instance/rt:ribs/rt:rib/rt:routes | |||
| /rt:route: | ||||
| +--ro metric? uint32 | +--ro metric? uint32 | |||
| +--ro tag* uint64 | +--ro tag* uint64 | |||
| +--ro route-type? enumeration | +--ro route-type? enumeration | |||
| augment /rt:active-route/rt:output/rt:route: | augment /rt:fib-route/rt:output/rt:route: | |||
| +--ro metric? uint32 | +--ro metric? uint32 | |||
| +--ro tag* uint64 | +--ro tag* uint64 | |||
| +--ro route-type? enumeration | +--ro route-type? enumeration | |||
| augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
| +--rw clns-mtu? uint16 | +--rw clns-mtu? uint16 | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol: | ||||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols | ||||
| /rt:routing-protocol: | ||||
| +--rw isis | +--rw isis | |||
| +--rw enable? boolean {admin-control}? | +--rw enable? boolean {admin-control}? | |||
| +--rw level-type? level | +--rw level-type? level | |||
| +--rw system-id? system-id | +--rw system-id? system-id | |||
| +--rw maximum-area-addresses? uint8 {maximum-area-addresses}? | +--rw maximum-area-addresses? uint8 {maximum-area-addresses}? | |||
| +--rw area-address* area-address | +--rw area-address* area-address | |||
| +--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}? | |||
| skipping to change at page 4, line 49 ¶ | skipping to change at page 4, line 51 ¶ | |||
| | +--rw af identityref | | +--rw af identityref | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| +--rw overload* [level] | +--rw overload* [level] | |||
| | +--rw status? boolean | | +--rw status? boolean | |||
| | +--rw timeout? uint16 | | +--rw timeout? uint16 | |||
| | +--rw level level | | +--rw level level | |||
| +--rw overload-max-metric* [level] {overload-max-metric}? | +--rw overload-max-metric* [level] {overload-max-metric}? | |||
| | +--rw status? boolean | | +--rw status? boolean | |||
| | +--rw timeout? uint16 | | +--rw timeout? uint16 | |||
| | +--rw level level | | +--rw level level | |||
| +--rw apply-policy | ||||
| | +--rw config | ||||
| | | ... | ||||
| | +--ro state | ||||
| | ... | ||||
| +--rw fast-reroute {fast-reroute}? | +--rw fast-reroute {fast-reroute}? | |||
| | +--rw lfa {lfa}? | | +--rw lfa {lfa}? | |||
| +--rw topologies* [name] {multi-topology}? | +--rw topologies* [name] {multi-topology}? | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw name rt:rib-ref | | +--rw name leafref | |||
| | +--rw default-metric* [level] | | +--rw default-metric* [level] | |||
| | | ... | | | ... | |||
| | +--rw node-tag {node-tag}? | | +--rw node-tag {node-tag}? | |||
| | | ... | | | ... | |||
| | +--rw fast-reroute {fast-reroute}? | | +--rw fast-reroute {fast-reroute}? | |||
| | ... | | ... | |||
| +--rw interfaces | +--rw interfaces | |||
| +--rw interface* [name] | +--rw interface* [name] | |||
| ... | ... | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol: | ||||
| +--ro isis | +--ro isis | |||
| +--ro enable? boolean {admin-control}? | +--ro enable? boolean {admin-control}? | |||
| +--ro level-type? level | +--ro level-type? level | |||
| +--ro system-id? system-id | +--ro system-id? system-id | |||
| +--ro maximum-area-addresses? uint8 {maximum-area-addresses}? | +--ro maximum-area-addresses? uint8 {maximum-area-addresses}? | |||
| +--ro area-address* area-address | +--ro area-address* area-address | |||
| +--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}? | |||
| skipping to change at page 6, line 20 ¶ | skipping to change at page 6, line 29 ¶ | |||
| | +--ro level level | | +--ro level level | |||
| +--ro fast-reroute {fast-reroute}? | +--ro fast-reroute {fast-reroute}? | |||
| | +--ro lfa {lfa}? | | +--ro lfa {lfa}? | |||
| | +--ro protected-routes | | +--ro protected-routes | |||
| | | ... | | | ... | |||
| | +--ro nonprotected-routes | | +--ro nonprotected-routes | |||
| | | ... | | | ... | |||
| | +--ro protection-statistics* [frr-protection-method] | | +--ro protection-statistics* [frr-protection-method] | |||
| | ... | | ... | |||
| +--ro topologies* [name] | +--ro topologies* [name] | |||
| | +--ro name rt:rib-ref | | +--ro name leafref | |||
| | +--ro fast-route {fast-reroute}? | | +--ro fast-route {fast-reroute}? | |||
| | ... | | ... | |||
| +--ro system-counters | +--ro system-counters | |||
| | +--ro level* [level] | | +--ro level* [level] | |||
| | ... | | ... | |||
| +--ro interfaces | +--ro interfaces | |||
| | +--ro interface* [interface] | | +--ro interface* [interface] | |||
| | ... | | ... | |||
| +--ro spf-log | +--ro spf-log | |||
| | +--ro event* [id] | | +--ro event* [id] | |||
| skipping to change at page 10, line 41 ¶ | skipping to change at page 10, line 51 ¶ | |||
| <priority> | <priority> | |||
| <value>100</value> | <value>100</value> | |||
| <level>level-1</level> | <level>level-1</level> | |||
| </priority> | </priority> | |||
| <priority> | <priority> | |||
| <value>200</value> | <value>200</value> | |||
| <level>level-2</level> | <level>level-2</level> | |||
| </priority> | </priority> | |||
| As a list is used, a user may decide to apply a level-1, level-2 and | ||||
| level-all parameter at the same time. An implementation SHOULD | ||||
| prefer a level specific parameter over level-all parameter. As | ||||
| example, if priority is 100 for level-1, 200 for level-2 and 250 for | ||||
| level-all, the implementation should use 100 for level-1 and 200 for | ||||
| level-2. | ||||
| 2.4. Per-Interface Parameters | 2.4. Per-Interface Parameters | |||
| The per-interface section of the ISIS instance describes the | The per-interface section of the ISIS 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 in the Interface YANG | |||
| model. | model. | |||
| Each interface has interface-specific parameters that may have a | Each interface has interface-specific parameters that may have a | |||
| different value per level as described in previous section. An | different value per level as described in previous section. An | |||
| skipping to change at page 11, line 31 ¶ | skipping to change at page 11, line 48 ¶ | |||
| +--rw enable? boolean {admin-control}? | +--rw enable? boolean {admin-control}? | |||
| +--rw tag* uint32 {prefix-tag}? | +--rw tag* uint32 {prefix-tag}? | |||
| +--rw tag64* uint64 {prefix-tag64}? | +--rw tag64* uint64 {prefix-tag64}? | |||
| +--rw hello-authentication* [level] | +--rw hello-authentication* [level] | |||
| | +--rw (authentication-type)? | | +--rw (authentication-type)? | |||
| | | +--:(key-chain) {key-chain}? | | | +--:(key-chain) {key-chain}? | |||
| | | | +--rw key-chain? key-chain:key-chain-ref | | | | +--rw key-chain? key-chain:key-chain-ref | |||
| | | +--:(password) | | | +--:(password) | |||
| | | +--rw key? string | | | +--rw key? string | |||
| | | +--rw (algorithm)? | | | +--rw (algorithm)? | |||
| | | +--:(hmac-sha1-12) | | | +--:(hmac-sha-1-12) {crypto-hmac-sha-1-12}? | |||
| | | | ... | ||||
| | | +--:(hmac-sha1-20) | ||||
| | | | ... | | | | ... | |||
| | | +--:(md5) | | | +--:(md5) | |||
| | | | ... | | | | ... | |||
| | | +--:(sha-1) | | | +--:(sha-1) | |||
| | | | ... | | | | ... | |||
| | | +--:(hmac-sha-1) | | | +--:(hmac-sha-1) | |||
| | | | ... | | | | ... | |||
| | | +--:(hmac-sha-256) | | | +--:(hmac-sha-256) | |||
| | | | ... | | | | ... | |||
| | | +--:(hmac-sha-384) | | | +--:(hmac-sha-384) | |||
| | | | ... | | | | ... | |||
| | | +--:(hmac-sha-512) | | | +--:(hmac-sha-512) | |||
| | | ... | | | ... | |||
| skipping to change at page 12, line 12 ¶ | skipping to change at page 12, line 29 ¶ | |||
| +--rw hello-multiplier* [level] | +--rw hello-multiplier* [level] | |||
| | +--rw value? uint16 | | +--rw value? uint16 | |||
| | +--rw level level | | +--rw level level | |||
| +--rw priority* [level] | +--rw priority* [level] | |||
| | +--rw value? uint8 | | +--rw value? uint8 | |||
| | +--rw level level | | +--rw level level | |||
| +--rw metric* [level] | +--rw metric* [level] | |||
| | +--rw value? wide-metric | | +--rw value? wide-metric | |||
| | +--rw level level | | +--rw level level | |||
| +--rw af* [af] | +--rw af* [af] | |||
| | +--rw af identityref | | +--rw af identityref | |||
| | +--rw bfd {bfd}? | | +--rw bfd-cfg | |||
| | +--rw enable? boolean | | +--rw enabled? boolean | |||
| | +--rw local-multiplier? multiplier | ||||
| | +--rw (interval-config-type)? | ||||
| | +--:(tx-rx-intervals) | ||||
| | | +--rw desired-min-tx-interval uint32 | ||||
| | | +--rw required-min-rx-interval uint32 | ||||
| | +--:(single-interval) | ||||
| | +--rw min-interval uint32 | ||||
| +--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* [level] {lfa}? | | +--rw lfa* [level] {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 level | | +--rw level level | |||
| +--rw topologies* [name] | +--rw topologies* [name] | |||
| +--rw name rt:rib-ref | +--rw name leafref | |||
| +--rw fast-reroute {fast-reroute}? | +--rw fast-reroute {fast-reroute}? | |||
| | +--rw lfa* [level] {lfa}? | | +--rw lfa* [level] {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 level | | +--rw level level | |||
| +--rw metric* [level] | +--rw metric* [level] | |||
| +--rw value? wide-metric | +--rw value? wide-metric | |||
| +--rw level level | +--rw level level | |||
| skipping to change at page 18, line 32 ¶ | skipping to change at page 19, line 9 ¶ | |||
| configuration and operational states. | configuration and operational states. | |||
| The IS-IS SR YANG module requires the base segment routing module | The IS-IS SR YANG module requires the base segment routing module | |||
| ([I-D.litkowski-spring-sr-yang]) to be supported as there is a strong | ([I-D.litkowski-spring-sr-yang]) to be supported as there is a strong | |||
| relationship between those modules. | relationship between those modules. | |||
| The figure below describe the overall structure of the isis-sr YANG | The figure below describe the overall structure of the isis-sr YANG | |||
| module: | module: | |||
| module: ietf-isis-sr | module: ietf-isis-sr | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis: | augment /rt:routing/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis: | ||||
| +--rw segment-routing | +--rw segment-routing | |||
| +--rw enabled? boolean | +--rw enabled? boolean | |||
| +--rw bindings | +--rw bindings | |||
| +--rw advertise | +--rw advertise | |||
| | +--rw policies* string | | +--rw policies* string | |||
| +--rw receive? boolean | +--rw receive? boolean | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:interfaces/isis:interface: | augment /rt:routing/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:interfaces/isis:interface: | ||||
| +--rw segment-routing | +--rw segment-routing | |||
| +--rw adjacency-sid | +--rw adjacency-sid | |||
| +--rw advertise-adj-group-sid* [group-id] | +--rw advertise-adj-group-sid* [group-id] | |||
| | +--rw group-id uint32 | | +--rw group-id uint32 | |||
| +--rw advertise-protection? enumeration | +--rw advertise-protection? enumeration | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:interfaces/isis:interface/isis:fast-reroute: | augment /rt:routing/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:interfaces/isis:interface | ||||
| /isis:fast-reroute: | ||||
| +--rw ti-lfa {ti-lfa}? | +--rw ti-lfa {ti-lfa}? | |||
| +--rw enable? boolean | +--rw enable? boolean | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:interfaces/isis:interface/isis:fast-reroute/isis:lfa/isis:remote-lfa: | augment /rt:routing/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:interfaces/isis:interface | ||||
| /isis:fast-reroute/isis:lfa/isis:remote-lfa: | ||||
| +--rw use-segment-routing-path? boolean {remote-lfa-sr}? | +--rw use-segment-routing-path? boolean {remote-lfa-sr}? | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis: | ||||
| +--ro segment-routing | +--ro segment-routing | |||
| +--ro enabled? boolean | +--ro enabled? boolean | |||
| +--ro bindings | +--ro bindings | |||
| +--ro advertise | +--ro advertise | |||
| | +--ro policies* string | | +--ro policies* string | |||
| +--ro receive? boolean | +--ro receive? boolean | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:interfaces/isis:interface: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:interfaces/isis:interface: | ||||
| +--ro segment-routing | +--ro segment-routing | |||
| +--ro adjacency-sid | +--ro adjacency-sid | |||
| +--ro advertise-adj-group-sid* [group-id] | +--ro advertise-adj-group-sid* [group-id] | |||
| | +--ro group-id uint32 | | +--ro group-id uint32 | |||
| +--ro advertise-protection? enumeration | +--ro advertise-protection? enumeration | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:interfaces/isis:interface/isis:adjacencies/isis:adjacency: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:interfaces/isis:interface | ||||
| /isis:adjacencies/isis:adjacency: | ||||
| +--ro adjacency-sid* [value] | +--ro adjacency-sid* [value] | |||
| +--ro af? identityref | +--ro af? identityref | |||
| +--ro value uint32 | +--ro value uint32 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro protection-requested? boolean | +--ro protection-requested? boolean | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-is-neighbor/isis:neighbor: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:extended-is-neighbor/isis:neighbor: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro neighbor-id? isis:system-id | +--ro neighbor-id? isis:system-id | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-is-neighbor/isis:neighbor: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:mt-is-neighbor/isis:neighbor: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro neighbor-id? isis:system-id | +--ro neighbor-id? isis:system-id | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-ipv4-reachability/isis:prefixes: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:extended-ipv4-reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-extended-ipv4-reachability/isis:prefixes: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:mt-extended-ipv4-reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:ipv6-reachability/isis:prefixes: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:ipv6-reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-ipv6-reachability/isis:prefixes: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp/isis:mt-ipv6-reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | +--ro sid-list* [value] | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:database/isis:level-db/isis:lsp: | augment /rt:routing-state/rt:routing-instance/rt:routing-protocols | |||
| /rt:routing-protocol/isis:isis/isis:database/isis:level-db | ||||
| /isis:lsp: | ||||
| +--ro segment-routing-bindings* [fec range] | +--ro segment-routing-bindings* [fec range] | |||
| +--ro fec string | +--ro fec string | |||
| +--ro range uint16 | +--ro range uint16 | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro binding* | +--ro binding* | |||
| +--ro prefix-sid | +--ro prefix-sid | |||
| | +--ro sid-list* [value] | | +--ro sid-list* [value] | |||
| | +--ro flags? bits | | +--ro flags? bits | |||
| | +--ro algorithm? uint8 | | +--ro algorithm? uint8 | |||
| skipping to change at page 21, line 28 ¶ | skipping to change at page 22, line 28 ¶ | |||
| The "isis" module augments "/if:interfaces/if:interface" with ISO | The "isis" module augments "/if:interfaces/if:interface" with ISO | |||
| specific parameters. | specific parameters. | |||
| The "isis" operational state container augments the "/rt:routing- | The "isis" operational state container augments the "/rt:routing- | |||
| state/rt:routing-instance/rt:routing-protocols/routing-protocol" | state/rt:routing-instance/rt:routing-protocols/routing-protocol" | |||
| container of the ietf-routing module by defining ISIS specific | container of the ietf-routing module by defining ISIS specific | |||
| operational states. | operational states. | |||
| Some ISIS specific routes attributes are added to route objects of | Some ISIS 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" and "/rt:active- | state/rt:ribs/rt:rib/rt:routes/rt:route" and "/rt:fib- | |||
| route/rt:output/rt:route". | route/rt:output/rt:route". | |||
| The module uses some groupings from ietf-keychain, routing-policy and | ||||
| ietf-bfd modules. | ||||
| 7. ISIS YANG Module | 7. ISIS YANG Module | |||
| <CODE BEGINS> file "ietf-isis@2015-07-02.yang" | <CODE BEGINS> file "ietf-isis@2015-09-10.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"; | |||
| } | } | |||
| skipping to change at page 21, line 50 ¶ | skipping to change at page 23, line 4 ¶ | |||
| 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; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix "if"; | |||
| } | } | |||
| import ietf-key-chain { | import ietf-key-chain { | |||
| prefix "key-chain"; | prefix "key-chain"; | |||
| } | } | |||
| import ietf-bfd { | ||||
| prefix "bfd"; | ||||
| } | ||||
| import routing-policy { | ||||
| prefix rtgpol; | ||||
| } | ||||
| 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 | |||
| skipping to change at page 67, line 39 ¶ | skipping to change at page 68, line 46 ¶ | |||
| 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"; | |||
| } | } | |||
| container bfd { | uses bfd:bfd-client-base-cfg-parms; | |||
| if-feature bfd; | ||||
| leaf enable { | ||||
| type boolean; | ||||
| default false; | ||||
| description | ||||
| "This leaf enables BFD."; | ||||
| } | ||||
| description | ||||
| "The container describes | ||||
| BFD config."; | ||||
| } | ||||
| description | description | |||
| "List of AFs."; | "List of AFs."; | |||
| } | } | |||
| container mpls { | container mpls { | |||
| container igp-ldp-sync { | container igp-ldp-sync { | |||
| if-feature igp-ldp-sync; | if-feature igp-ldp-sync; | |||
| leaf enable { | leaf enable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Enable/disable IGP LDP sync."; | "Enable/disable IGP LDP sync."; | |||
| } | } | |||
| description | description | |||
| "IGP-LDP sync configuration."; | "IGP-LDP sync configuration."; | |||
| skipping to change at page 69, line 4 ¶ | skipping to change at page 69, line 44 ¶ | |||
| type level; | type level; | |||
| description | description | |||
| "Level applicability."; | "Level applicability."; | |||
| } | } | |||
| description | description | |||
| "Container for interface metric"; | "Container for interface metric"; | |||
| } | } | |||
| } | } | |||
| /* */ | /* */ | |||
| augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { | ||||
| augment "/rt:routing-state/rt:routing-instance/" | ||||
| +"rt:ribs/rt:rib/rt:routes/rt:route" { | ||||
| when "rt:source-protocol = 'isis:isis'" { | when "rt:source-protocol = 'isis:isis'" { | |||
| description "ISIS-specific route attributes."; | description "ISIS-specific route attributes."; | |||
| } | } | |||
| uses route-content; | uses route-content; | |||
| description | description | |||
| "This augments route object in RIB with ISIS-specific | "This augments route object in RIB with ISIS-specific | |||
| attributes."; | attributes."; | |||
| } | } | |||
| augment "/rt:active-route/rt:output/rt:route" | augment "/rt:fib-route/rt:output/rt:route" | |||
| { | { | |||
| uses route-content; | uses route-content; | |||
| description "ISIS-specific route attributes."; | description "ISIS-specific route attributes."; | |||
| } | } | |||
| augment "/if:interfaces/if:interface" | augment "/if:interfaces/if:interface" | |||
| { | { | |||
| leaf clns-mtu { | leaf clns-mtu { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| skipping to change at page 70, line 4 ¶ | skipping to change at page 70, line 46 ¶ | |||
| container isis { | container isis { | |||
| must "count(area-address) > 0" { | must "count(area-address) > 0" { | |||
| error-message "At least one area-address | error-message "At least one area-address | |||
| must be configured."; | must be configured."; | |||
| description | description | |||
| "Enforce configuration of at least one area."; | "Enforce configuration of at least one area."; | |||
| } | } | |||
| uses isis-global-cfg; | uses isis-global-cfg; | |||
| uses rtgpol:apply-policy-group; | ||||
| 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."; | |||
| } | } | |||
| list topologies { | list topologies { | |||
| if-feature multi-topology; | if-feature multi-topology; | |||
| key "name"; | key "name"; | |||
| leaf enable { | leaf enable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Control enabling of topologies"; | "Control enabling of topologies"; | |||
| } | } | |||
| leaf name { | leaf name { | |||
| type rt:rib-ref; | type leafref { | |||
| path "../../../../../rt:ribs/rt:rib/rt:name"; | ||||
| } | ||||
| description "RIB"; | description "RIB"; | |||
| } | } | |||
| uses isis-global-topologies-cfg; | uses isis-global-topologies-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."; | |||
| } | } | |||
| skipping to change at page 71, line 12 ¶ | skipping to change at page 72, line 12 ¶ | |||
| 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."; | |||
| } | } | |||
| list topologies { | list topologies { | |||
| key name; | key name; | |||
| leaf name { | leaf name { | |||
| type rt:rib-ref; | type leafref { | |||
| path "../../../../../../../"+ | ||||
| "rt:ribs/rt:rib/rt:name"; | ||||
| } | ||||
| description | description | |||
| "Name of RIB."; | "Name of RIB."; | |||
| } | } | |||
| 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."; | |||
| } | } | |||
| uses isis-if-topologies-cfg; | uses isis-if-topologies-cfg; | |||
| skipping to change at page 72, line 4 ¶ | skipping to change at page 73, line 8 ¶ | |||
| when "rt:type = 'isis:isis'" { | when "rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment is only valid when routing protocol | "This augment is only valid when routing protocol | |||
| instance type is isis."; | instance type is isis."; | |||
| } | } | |||
| description | description | |||
| "This augments routing protocol instance states with ISIS | "This augments routing protocol instance states with ISIS | |||
| specific parameters."; | specific parameters."; | |||
| container isis { | container isis { | |||
| config false; | config false; | |||
| 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; | |||
| uses fast-reroute-global-state; | uses fast-reroute-global-state; | |||
| description | description | |||
| "IPFRR states."; | "IPFRR states."; | |||
| } | } | |||
| list topologies { | list topologies { | |||
| key name; | key name; | |||
| leaf name { | leaf name { | |||
| type rt:rib-ref; | type leafref { | |||
| path "../../../../../" | ||||
| +"rt:ribs/rt:rib/rt:name"; | ||||
| } | ||||
| description | description | |||
| "Name of RIB."; | "Name of RIB."; | |||
| } | } | |||
| container fast-route { | container fast-route { | |||
| if-feature fast-reroute; | if-feature fast-reroute; | |||
| uses fast-reroute-global-cfg; | uses fast-reroute-global-cfg; | |||
| uses fast-reroute-global-state; | uses fast-reroute-global-state; | |||
| description | description | |||
| "IPFRR states."; | "IPFRR states."; | |||
| } | } | |||
| skipping to change at page 74, line 50 ¶ | skipping to change at page 76, line 10 ¶ | |||
| uses fast-reroute-if-cfg; | uses fast-reroute-if-cfg; | |||
| description | description | |||
| "IPFRR."; | "IPFRR."; | |||
| } | } | |||
| uses adjacency-state; | uses adjacency-state; | |||
| list topologies { | list topologies { | |||
| key name; | key name; | |||
| leaf name { | leaf name { | |||
| type rt:rib-ref; | type leafref { | |||
| path "../../../../../" | ||||
| +"../../rt:ribs/rt:rib/rt:name"; | ||||
| } | ||||
| description | description | |||
| "Name of RIB."; | "Name of RIB."; | |||
| } | } | |||
| uses isis-if-topologies-cfg; | uses isis-if-topologies-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."; | |||
| } | } | |||
| skipping to change at page 96, line 4 ¶ | skipping to change at page 97, line 15 ¶ | |||
| description | description | |||
| "This leaf describes the timestamp | "This leaf describes the timestamp | |||
| when our LSP was regenerated. "; | when our LSP was regenerated. "; | |||
| } | } | |||
| description | description | |||
| "This notification is sent when a LSP | "This notification is sent when a LSP | |||
| is regenerated. | is regenerated. | |||
| 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. ISIS Segment Routing YANG Module | 8. ISIS Segment Routing YANG Module | |||
| <CODE BEGINS> file "ietf-isis-sr@2015-07-02.yang" | <CODE BEGINS> file "ietf-isis-sr@2015-09-10.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"; | |||
| } | } | |||
| skipping to change at page 105, line 42 ¶ | skipping to change at page 107, line 6 ¶ | |||
| "rt:routing-protocols/rt:routing-protocol"+ | "rt:routing-protocols/rt:routing-protocol"+ | |||
| "/isis:isis" { | "/isis:isis" { | |||
| when "rt:type = 'isis:isis'" { | when "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:igp-controlplane-cfg; | |||
| } | } | |||
| augment "/rt:routing/rt:routing-instance/" + | augment "/rt:routing/rt:routing-instance/" + | |||
| "rt:routing-protocols/rt:routing-protocol"+ | "rt:routing-protocols/rt:routing-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" { | "/isis:isis/isis:interfaces/isis:interface" { | |||
| when "rt:type = 'isis:isis'" { | when "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:igp-interface-cfg; | uses sr:igp-interface-cfg; | |||
| } | } | |||
| augment "/rt:routing/rt:routing-instance/" + | augment "/rt:routing/rt:routing-instance/" + | |||
| "rt:routing-protocols/rt:routing-protocol"+ | "rt:routing-protocols/rt:routing-protocol"+ | |||
| skipping to change at page 107, line 23 ¶ | skipping to change at page 108, line 36 ¶ | |||
| "rt:routing-protocols/rt:routing-protocol"+ | "rt:routing-protocols/rt:routing-protocol"+ | |||
| "/isis:isis" { | "/isis:isis" { | |||
| when "rt:type = 'isis:isis'" { | when "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:igp-controlplane-cfg; | |||
| } | } | |||
| augment "/rt:routing-state/rt:routing-instance/" + | augment "/rt:routing-state/rt:routing-instance/" + | |||
| "rt:routing-protocols/rt:routing-protocol"+ | "rt:routing-protocols/rt:routing-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" { | "/isis:isis/isis:interfaces/isis:interface" { | |||
| when "rt:type = 'isis:isis'" { | when "rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| skipping to change at page 111, line 11 ¶ | skipping to change at page 112, line 26 ¶ | |||
| 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-19 (work in | Management", draft-ietf-netmod-routing-cfg-19 (work in | |||
| progress), May 2015. | progress), May 2015. | |||
| [I-D.litkowski-spring-sr-yang] | [I-D.litkowski-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-litkowski-spring- | Data Model for Segment Routing", draft-litkowski-spring- | |||
| sr-yang-01 (work in progress), June 2015. | sr-yang-01 (work in progress), June 2015. | |||
| [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, March 1997. | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <http://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| Bierman, "Network Configuration Protocol (NETCONF)", RFC | and A. Bierman, Ed., "Network Configuration Protocol | |||
| 6241, June 2011. | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6241>. | ||||
| [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
| Shell (SSH)", RFC 6242, June 2011. | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6242>. | ||||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Protocol (NETCONF) Access Control Model", RFC 6536, March | Protocol (NETCONF) Access Control Model", RFC 6536, | |||
| 2012. | DOI 10.17487/RFC6536, March 2012, | |||
| <http://www.rfc-editor.org/info/rfc6536>. | ||||
| Appendix A. Example: NETCONF <get> Reply | Appendix A. Example: NETCONF <get> Reply | |||
| This section gives an example of a reply to the NETCONF <get> request | This section gives an example of a reply to the NETCONF <get> request | |||
| for a device that implements the data model defined in this document. | for a device that implements the data model defined in this document. | |||
| The example is written in XML. | The example is written in XML. | |||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | |||
| <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
| <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | |||
| End of changes. 60 change blocks. | ||||
| 83 lines changed or deleted | 149 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/ | ||||