draft-ietf-isis-yang-isis-cfg-21.txt | draft-ietf-isis-yang-isis-cfg-22.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: January 3, 2019 Arrcus, Inc | Expires: January 17, 2019 Arrcus, Inc | |||
A. Lindem | A. Lindem | |||
Cisco Systems | Cisco Systems | |||
J. Zhang | J. Zhang | |||
Juniper Networks | Juniper Networks | |||
L. Lhotka | L. Lhotka | |||
CZ.NIC | CZ.NIC | |||
July 2, 2018 | July 16, 2018 | |||
YANG Data Model for IS-IS protocol | YANG Data Model for IS-IS protocol | |||
draft-ietf-isis-yang-isis-cfg-21 | draft-ietf-isis-yang-isis-cfg-22 | |||
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. | and manage IS-IS protocol on network elements. | |||
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 | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 https://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, 2019. | This Internet-Draft will expire on January 17, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | (https://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 | |||
skipping to change at page 2, line 38 ¶ | skipping to change at page 2, line 38 ¶ | |||
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | |||
2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23 | 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23 | |||
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23 | 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23 | |||
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 24 | 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 24 | |||
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
2.9. Operational States . . . . . . . . . . . . . . . . . . . 24 | 2.9. Operational States . . . . . . . . . . . . . . . . . . . 24 | |||
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 25 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26 | 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26 | |||
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 27 | 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 27 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 94 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 95 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 95 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 96 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 95 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 96 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 95 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 96 | |||
11. Change log for ietf-isis YANG module . . . . . . . . . . . . 96 | 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 96 | |||
11.1. From version -19 to version -20 . . . . . . . . . . . . 96 | 11.1. From version -21 to version -22 . . . . . . . . . . . . 96 | |||
11.2. From version -18 to version -19 . . . . . . . . . . . . 96 | 11.2. From version -20 to version -21 . . . . . . . . . . . . 96 | |||
11.3. From version -17 to version -18 . . . . . . . . . . . . 96 | 11.3. From version -19 to version -20 . . . . . . . . . . . . 96 | |||
11.4. From version -16 to version -17 . . . . . . . . . . . . 96 | 11.4. From version -18 to version -19 . . . . . . . . . . . . 97 | |||
11.5. From version -15 to version -16 . . . . . . . . . . . . 96 | 11.5. From version -17 to version -18 . . . . . . . . . . . . 97 | |||
11.6. From version -14 to version -15 . . . . . . . . . . . . 97 | 11.6. From version -16 to version -17 . . . . . . . . . . . . 97 | |||
11.7. From version -13 to version -14 . . . . . . . . . . . . 97 | 11.7. From version -15 to version -16 . . . . . . . . . . . . 97 | |||
11.8. From version -12 to version -13 . . . . . . . . . . . . 97 | 11.8. From version -14 to version -15 . . . . . . . . . . . . 97 | |||
11.9. From version -09 to version -12 . . . . . . . . . . . . 97 | 11.9. From version -13 to version -14 . . . . . . . . . . . . 98 | |||
11.10. From version -08 to version -09 . . . . . . . . . . . . 98 | 11.10. From version -12 to version -13 . . . . . . . . . . . . 98 | |||
11.11. From version -07 to version -08 . . . . . . . . . . . . 98 | 11.11. From version -09 to version -12 . . . . . . . . . . . . 98 | |||
11.12. From version -05 to version -07 . . . . . . . . . . . . 98 | 11.12. From version -08 to version -09 . . . . . . . . . . . . 98 | |||
11.13. From version -03 to version -05 . . . . . . . . . . . . 98 | 11.13. From version -07 to version -08 . . . . . . . . . . . . 98 | |||
11.14. From version -02 to version -03 . . . . . . . . . . . . 99 | 11.14. From version -05 to version -07 . . . . . . . . . . . . 99 | |||
11.15. From version -01 to version -02 . . . . . . . . . . . . 99 | 11.15. From version -03 to version -05 . . . . . . . . . . . . 99 | |||
11.16. From version -00 to version -01 . . . . . . . . . . . . 99 | 11.16. From version -02 to version -03 . . . . . . . . . . . . 99 | |||
12. Normative References . . . . . . . . . . . . . . . . . . . . 100 | 11.17. From version -01 to version -02 . . . . . . . . . . . . 99 | |||
Appendix A. Example of IS-IS configuration in XML . . . . . . . 101 | 11.18. From version -00 to version -01 . . . . . . . . . . . . 100 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 103 | 12. Normative References . . . . . . . . . . . . . . . . . . . . 101 | |||
Appendix A. Example of IS-IS configuration in XML . . . . . . . 102 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 104 | ||||
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 8 ¶ | skipping to change at page 4, line 11 ¶ | |||
The IS-IS YANG module augments the "control-plane-protocol" list in | The IS-IS YANG module augments the "control-plane-protocol" list in | |||
ietf-routing module with specific IS-IS parameters. | ietf-routing module with specific IS-IS parameters. | |||
The module is designed as per NMDA (Network Management Datastore | The module is designed as per NMDA (Network Management Datastore | |||
Architecture). | Architecture). | |||
The figure below describes the overall structure of the isis YANG | The figure below describes the overall structure of the isis YANG | |||
module: | module: | |||
module: ietf-isis | module: ietf-isis | |||
augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: | augment /rt:routing/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 /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw clns-mtu? uint16 | +--rw clns-mtu? uint16 | |||
augment /rt:routing/rt:control-plane-protocols/ | augment /rt:routing/rt:control-plane-protocols/ | |||
| rt:control-plane-protocol: | | rt:control-plane-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? | +--rw maximum-area-addresses? uint8 {maximum-area-addresses}? | |||
| uint8 {maximum-area-addresses}? | +--rw area-address* area-address | |||
+--rw area-address* area-address | +--rw mpls | |||
+--rw mpls | | +--rw te-rid {te-rid}? | |||
| +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | | | ... | |||
| +--rw ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | | +--rw ldp | |||
| +--rw ldp | | ... | |||
| ... | +--rw auto-cost {auto-cost}? | |||
+--rw auto-cost {auto-cost}? | | +--rw reference-bandwidth? uint32 | |||
| +--rw reference-bandwidth? uint32 | | +--rw enable? boolean | |||
| +--rw enable? boolean | +--rw lsp-mtu? uint16 | |||
+--rw lsp-mtu? uint16 | +--rw lsp-lifetime? uint16 | |||
+--rw lsp-lifetime? uint16 | +--rw lsp-refresh? | |||
+--rw lsp-refresh? | | rt-types:timer-value-seconds16 {lsp-refresh}? | |||
| rt-types:timer-value-seconds16 {lsp-refresh}? | +--rw graceful-restart {graceful-restart}? | |||
+--rw graceful-restart {graceful-restart}? | | +--rw enable? boolean | |||
| +--rw enable? boolean | | +--rw restart-interval? rt-types:timer-value-seconds16 | |||
| +--rw restart-interval? rt-types:timer-value-seconds16 | | +--rw helper-enable? boolean | |||
| +--rw helper-enable? boolean | +--rw nsr {nsr}? | |||
+--rw nsr {nsr}? | | +--rw enable? boolean | |||
| +--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 metric-type | | +--rw level-2 | |||
| +--rw value? enumeration | | ... | |||
| +--rw level-1 | +--rw metric-type | |||
| | ... | | +--rw value? enumeration | |||
| +--rw level-2 | | +--rw level-1 | |||
| ... | | | ... | |||
+--rw default-metric | | +--rw level-2 | |||
| +--rw value? wide-metric | | ... | |||
| +--rw level-1 | +--rw default-metric | |||
| | ... | | +--rw value? wide-metric | |||
| +--rw level-2 | | +--rw level-1 | |||
| ... | | | ... | |||
+--rw afs {nlpid-control}? | | +--rw level-2 | |||
| +--rw af* [af] | | ... | |||
| ... | +--rw afs {nlpid-control}? | |||
+--rw preference | | +--rw af* [af] | |||
| +--rw (granularity)? | | ... | |||
| ... | +--rw preference | |||
+--rw overload | | +--rw (granularity)? | |||
| +--rw status? boolean | | ... | |||
+--rw overload-max-metric {overload-max-metric}? | +--rw overload | |||
| +--rw timeout? rt-types:timer-value-seconds16 | | +--rw status? boolean | |||
+--rw fast-reroute {fast-reroute}? | +--rw overload-max-metric {overload-max-metric}? | |||
| +--rw lfa {lfa}? | | +--rw timeout? rt-types:timer-value-seconds16 | |||
| +--ro protected-routes | +--rw fast-reroute {fast-reroute}? | |||
| | ... | | +--rw lfa {lfa}? | |||
| +--ro nonprotected-routes | | +--ro protected-routes | |||
| | ... | | | ... | |||
| +--ro protection-statistics* [frr-protection-method] | | +--ro unprotected-routes | |||
| ... | | | ... | |||
+--rw spf-control | | +--ro protection-statistics* [frr-protection-method] | |||
| +--rw ietf-spf-delay {ietf-spf-delay}? | | ... | |||
| ... | +--rw spf-control | |||
+--rw topologies {multi-topology}? | | +--rw paths? uint16 {max-ecmp}? | |||
| +--rw topology* [name] | | +--rw ietf-spf-delay {ietf-spf-delay}? | |||
| ... | | ... | |||
+--rw interfaces | +--rw topologies {multi-topology}? | |||
| +--rw interface* [name] | | +--rw topology* [name] | |||
| ... | | ... | |||
+--ro spf-log | +--rw interfaces | |||
| +--ro event* [id] | | +--rw interface* [name] | |||
| ... | | ... | |||
+--ro lsp-log | +--ro spf-log | |||
| +--ro event* [id] | | +--ro event* [id] | |||
| ... | | ... | |||
+--ro hostnames | +--ro lsp-log | |||
| +--ro hostname* [system-id] | | +--ro event* [id] | |||
| ... | | ... | |||
+--ro database | +--ro hostnames | |||
| +--ro level-db* [level] | | +--ro hostname* [system-id] | |||
| ... | | ... | |||
+--ro local-rib | +--ro database | |||
| +--ro route* [prefix] | | +--ro level-db* [level] | |||
| ... | | ... | |||
+--ro system-counters | +--ro local-rib | |||
+--ro level* [level] | | +--ro route* [prefix] | |||
... | | ... | |||
+--ro system-counters | ||||
+--ro level* [level] | ||||
... | ||||
rpcs: | rpcs: | |||
+---x clear-adjacency | +---x clear-adjacency | |||
| +---w input | | +---w input | |||
| +---w routing-protocol-instance-name instance-state-ref | | +---w routing-protocol-instance-name instance-state-ref | |||
| +---w level? level | | +---w level? level | |||
| +---w interface? string | | +---w interface? string | |||
+---x clear-database | +---x clear-database | |||
+---w input | +---w input | |||
+---w routing-protocol-instance-name instance-state-ref | +---w routing-protocol-instance-name instance-state-ref | |||
+---w level? level | +---w level? level | |||
notifications: | notifications: | |||
+---n database-overload | +---n database-overload | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro overload? enumeration | | +--ro overload? enumeration | |||
+---n lsp-too-large | +---n lsp-too-large | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro pdu-size? uint32 | | +--ro pdu-size? uint32 | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
+---n if-state-change | +---n if-state-change | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro state? if-state-type | | +--ro state? if-state-type | |||
+---n corrupted-lsp-detected | +---n corrupted-lsp-detected | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
+---n attempt-to-exceed-max-sequence | +---n attempt-to-exceed-max-sequence | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
+---n id-len-mismatch | +---n id-len-mismatch | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro pdu-field-len? uint8 | | +--ro pdu-field-len? uint8 | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n max-area-addresses-mismatch | +---n max-area-addresses-mismatch | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro max-area-addresses? uint8 | | +--ro max-area-addresses? uint8 | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n own-lsp-purge | +---n own-lsp-purge | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
+---n sequence-number-skipped | +---n sequence-number-skipped | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
+---n authentication-type-failure | +---n authentication-type-failure | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n authentication-failure | +---n authentication-failure | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n version-skew | +---n version-skew | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro protocol-version? uint8 | | +--ro protocol-version? uint8 | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n area-mismatch | +---n area-mismatch | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
+---n rejected-adjacency | +---n rejected-adjacency | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
| +--ro reason? string | | +--ro reason? string | |||
+---n protocols-supported-mismatch | +---n protocols-supported-mismatch | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
| +--ro protocols* uint8 | | +--ro protocols* uint8 | |||
+---n lsp-error-detected | +---n lsp-error-detected | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
| +--ro raw-pdu? binary | | +--ro raw-pdu? binary | |||
| +--ro error-offset? uint32 | | +--ro error-offset? uint32 | |||
| +--ro tlv-type? uint8 | | +--ro tlv-type? uint8 | |||
+---n adjacency-state-change | +---n adjacency-state-change | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro neighbor? string | | +--ro neighbor? string | |||
| +--ro neighbor-system-id? system-id | | +--ro neighbor-system-id? system-id | |||
| +--ro state? adj-state-type | | +--ro state? adj-state-type | |||
| +--ro reason? string | | +--ro reason? string | |||
+---n lsp-received | +---n lsp-received | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
| +--ro interface-level? level | | +--ro interface-level? level | |||
| +--ro extended-circuit-id? extended-circuit-id | | +--ro extended-circuit-id? extended-circuit-id | |||
| +--ro lsp-id? lsp-id | | +--ro lsp-id? lsp-id | |||
| +--ro sequence? uint32 | | +--ro sequence? uint32 | |||
| +--ro received-timestamp? yang:timestamp | | +--ro received-timestamp? yang:timestamp | |||
| +--ro neighbor-system-id? system-id | | +--ro neighbor-system-id? system-id | |||
+---n lsp-generation | +---n lsp-generation | |||
+--ro routing-instance? string | +--ro routing-instance? string | |||
+--ro routing-protocol-name? string | +--ro routing-protocol-name? string | |||
+--ro isis-level? level | +--ro isis-level? level | |||
+--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id | |||
+--ro sequence? uint32 | +--ro sequence? uint32 | |||
+--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). | |||
Additional modules may be created this to support any additional | Additional modules may be created this to support any additional | |||
skipping to change at page 11, line 9 ¶ | skipping to change at page 11, line 16 ¶ | |||
| +--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 a | An implementation SHOULD prefer a level specific parameter over a | |||
level-all parameter. As example, if the priority is 100 for the | level-all parameter. As example, if the priority is 100 for the | |||
level-1, 200 for the level-2 and 250 for the top level configuration, | level-1, 200 for the level-2 and 250 for the top level configuration, | |||
the implementation should use 100 for the level-1 and 200 for the | the implementation should use 100 for the level-1 and 200 for the | |||
level-2. | level-2. | |||
Some parameters like "overload bit" and "route preference" are not | Some parameters like "overload bit" and "route preference" are not | |||
modeled to support a per level configuration. If an implementation | modeled to support a per level configuration. If an implementation | |||
supports per level configuration for such parameter, this | supports per level configuration for such parameter, this | |||
implementation SHOULD augment the current model by adding both | implementation SHOULD augment the current model by adding both | |||
level-1 and level-2 containers and SHOULD reuse existing | level-1 and level-2 containers and SHOULD reuse existing | |||
configuration groupings. | 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 | |||
with per level configuration."; | with per level configuration."; | |||
container level-1 { | container level-1 { | |||
uses isis:overload-global-cfg; | uses isis:overload-global-cfg; | |||
description | description | |||
skipping to change at page 13, line 28 ¶ | skipping to change at page 13, line 28 ¶ | |||
| +--rw mesh-group-enable? mesh-group-state | | +--rw mesh-group-enable? mesh-group-state | |||
| +--rw mesh-group? uint8 | | +--rw mesh-group? uint8 | |||
| +--rw interface-type? interface-type | | +--rw interface-type? interface-type | |||
| +--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 node-flag? boolean {node-flag}? | | +--rw node-flag? boolean {node-flag}? | |||
| +--rw hello-authentication | | +--rw hello-authentication | |||
| | +--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 crypto-algorithm? identityref | | | | +--rw crypto-algorithm? identityref | |||
| | +--rw level-1 | | | +--rw level-1 | |||
| | | +--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 crypto-algorithm? identityref | | | | +--rw crypto-algorithm? identityref | |||
| | +--rw level-2 | | | +--rw level-2 | |||
| | +--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 crypto-algorithm? identityref | | | +--rw crypto-algorithm? identityref | |||
| +--rw hello-interval | | +--rw hello-interval | |||
| | +--rw value? rt-types:timer-value-seconds16 | | | +--rw value? rt-types:timer-value-seconds16 | |||
| | +--rw level-1 | | | +--rw level-1 | |||
| | | +--rw value? rt-types:timer-value-seconds16 | | | | +--rw value? rt-types:timer-value-seconds16 | |||
| | +--rw level-2 | | | +--rw level-2 | |||
| | +--rw value? rt-types:timer-value-seconds16 | | | +--rw value? rt-types:timer-value-seconds16 | |||
| +--rw hello-multiplier | | +--rw hello-multiplier | |||
skipping to change at page 15, line 7 ¶ | skipping to change at page 15, line 7 ¶ | |||
| | | +--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 topologies {multi-topology}? | | +--rw topologies {multi-topology}? | |||
| | +--rw topology* [name] | | | +--rw topology* [name] | |||
| | +--rw name | | | +--rw name | |||
| | | -> ../../../../../../../../rt:ribs/rib/name | | | -> ../../../../../../../../rt:ribs/rib/name | |||
| | +--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 | |||
| +--ro adjacencies | | +--ro adjacencies | |||
| | +--ro adjacency* [] | | | +--ro adjacency* [] | |||
| | +--ro neighbor-systype? level | | | +--ro neighbor-sys-type? level | |||
| | +--ro neighbor-sysid? system-id | | | +--ro neighbor-sysid? system-id | |||
| | +--ro neighbor-extended-circuit-id? | | | +--ro neighbor-extended-circuit-id? | |||
| | | extended-circuit-id | | | extended-circuit-id | |||
| | +--ro neighbor-snpa? snpa | | | +--ro neighbor-snpa? snpa | |||
| | +--ro usage? level | | | +--ro usage? level | |||
| | +--ro hold-timer? | | | +--ro hold-timer? | |||
| | | rt-types:timer-value-seconds16 | | | rt-types:timer-value-seconds16 | |||
| | +--ro neighbor-priority? uint8 | | | +--ro neighbor-priority? uint8 | |||
| | +--ro lastuptime? yang:timestamp | | | +--ro lastuptime? yang:timestamp | |||
| | +--ro state? adj-state-type | | | +--ro state? adj-state-type | |||
| +--ro event-counters | | +--ro event-counters | |||
| | +--ro adjacency-changes? uint32 | | | +--ro adjacency-changes? uint32 | |||
| | +--ro adjacency-number? uint32 | | | +--ro adjacency-number? uint32 | |||
| | +--ro init-fails? uint32 | | | +--ro init-fails? uint32 | |||
| | +--ro adjacency-rejects? uint32 | | | +--ro adjacency-rejects? uint32 | |||
| | +--ro id-len-mismatch? uint32 | | | +--ro id-len-mismatch? uint32 | |||
| | +--ro max-area-addresses-mismatch? uint32 | | | +--ro max-area-addresses-mismatch? uint32 | |||
skipping to change at page 18, line 36 ¶ | skipping to change at page 18, line 36 ¶ | |||
| | +--ro metric? wide-metric | | | +--ro metric? wide-metric | |||
| | +--ro tag* uint32 | | | +--ro tag* uint32 | |||
| | +--ro tag64* uint64 | | | +--ro tag64* uint64 | |||
| | +--ro external-prefix-flag? boolean | | | +--ro external-prefix-flag? boolean | |||
| | +--ro readvertisement-flag? boolean | | | +--ro readvertisement-flag? boolean | |||
| | +--ro node-flag? boolean | | | +--ro node-flag? boolean | |||
| | +--ro ipv4-source-router-id? inet:ipv4-address | | | +--ro ipv4-source-router-id? inet:ipv4-address | |||
| | +--ro ipv6-source-router-id? inet:ipv6-address | | | +--ro ipv6-source-router-id? inet:ipv6-address | |||
| +--ro mt-is-neighbor | | +--ro mt-is-neighbor | |||
| | +--ro neighbor* [] | | | +--ro neighbor* [] | |||
| | +--ro MT-ID? uint16 | | | +--ro mt-id? uint16 | |||
| | +--ro neighbor-id? system-id | | | +--ro neighbor-id? system-id | |||
| | +--ro metric? wide-metric | | | +--ro metric? wide-metric | |||
| +--ro mt-extended-ipv4-reachability | | +--ro mt-extended-ipv4-reachability | |||
| | +--ro prefixes* [] | | | +--ro prefixes* [] | |||
| | +--ro MT-ID? uint16 | | | +--ro mt-id? uint16 | |||
| | +--ro up-down? boolean | | | +--ro up-down? boolean | |||
| | +--ro ip-prefix? inet:ipv4-address | | | +--ro ip-prefix? inet:ipv4-address | |||
| | +--ro prefix-len? uint8 | | | +--ro prefix-len? uint8 | |||
| | +--ro metric? wide-metric | | | +--ro metric? wide-metric | |||
| | +--ro tag* uint32 | | | +--ro tag* uint32 | |||
| | +--ro tag64* uint64 | | | +--ro tag64* uint64 | |||
| | +--ro external-prefix-flag? boolean | | | +--ro external-prefix-flag? boolean | |||
| | +--ro readvertisement-flag? boolean | | | +--ro readvertisement-flag? boolean | |||
| | +--ro node-flag? boolean | | | +--ro node-flag? boolean | |||
| | +--ro ipv4-source-router-id? inet:ipv4-address | | | +--ro ipv4-source-router-id? inet:ipv4-address | |||
skipping to change at page 20, line 10 ¶ | skipping to change at page 20, line 10 ¶ | |||
+--ro database-overload? uint32 | +--ro database-overload? uint32 | |||
+--ro own-lsp-purge? uint32 | +--ro own-lsp-purge? uint32 | |||
+--ro manual-address-drop-from-area? uint32 | +--ro manual-address-drop-from-area? uint32 | |||
+--ro max-sequence? uint32 | +--ro max-sequence? uint32 | |||
+--ro sequence-number-skipped? uint32 | +--ro sequence-number-skipped? uint32 | |||
+--ro id-len-mismatch? uint32 | +--ro id-len-mismatch? uint32 | |||
+--ro partition-changes? uint32 | +--ro partition-changes? uint32 | |||
+--ro lsp-errors? uint32 | +--ro lsp-errors? uint32 | |||
+--ro spf-runs? uint32 | +--ro spf-runs? uint32 | |||
rpcs: | rpcs: | |||
+---x clear-adjacency | +---x clear-adjacency | |||
| +---w input | | +---w input | |||
| +---w routing-protocol-instance-name instance-state-ref | | +---w routing-protocol-instance-name instance-state-ref | |||
| +---w level? level | | +---w level? level | |||
| +---w interface? string | | +---w interface? string | |||
+---x clear-database | +---x clear-database | |||
+---w input | +---w input | |||
+---w routing-protocol-instance-name instance-state-ref | +---w routing-protocol-instance-name instance-state-ref | |||
+---w level? level | +---w level? level | |||
notifications: | notifications: | |||
+---n database-overload | +---n database-overload | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro overload? enumeration | | +--ro overload? enumeration | |||
+---n lsp-too-large | +---n lsp-too-large | |||
| +--ro routing-instance? string | | +--ro routing-instance? string | |||
| +--ro routing-protocol-name? string | | +--ro routing-protocol-name? string | |||
| +--ro isis-level? level | | +--ro isis-level? level | |||
| +--ro interface-name? string | | +--ro interface-name? string | |||
skipping to change at page 27, line 22 ¶ | skipping to change at page 27, line 22 ¶ | |||
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]. | keychain [I-D.ietf-rtgwg-yang-key-chain]. | |||
6. IS-IS YANG Module | 6. IS-IS YANG Module | |||
<CODE BEGINS> file "ietf-yang@2018-07-02.yang" | <CODE BEGINS> file "ietf-isis@2018-07-16.yang" | |||
module ietf-isis { | module ietf-isis { | |||
yang-version 1.1; | yang-version 1.1; | |||
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"; | |||
reference "RFC 8349 - A YANG Data Model for Routing | reference "RFC 8349 - A YANG Data Model for Routing | |||
Management (NMDA Version)"; | Management (NMDA Version)"; | |||
skipping to change at page 29, line 11 ¶ | skipping to change at page 29, line 12 ¶ | |||
<mailto:yiqu@cisco.com> | <mailto:yiqu@cisco.com> | |||
Jeff Tantsura | Jeff Tantsura | |||
<mailto:jefftant.ietf@gmail.com> | <mailto:jefftant.ietf@gmail.com> | |||
"; | "; | |||
description | description | |||
"The YANG module defines a generic configuration model for | "The YANG module defines a generic configuration model for | |||
IS-IS common across all of the vendor implementations."; | IS-IS common across all of the vendor implementations."; | |||
revision 2018-07-02 { | revision 2017-07-16 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference "RFC XXXX"; | reference "RFC XXXX"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
identity isis { | identity isis { | |||
base rt:routing-protocol; | base rt:routing-protocol; | |||
description "Identity for the IS-IS routing protocol."; | description "Identity for the IS-IS routing protocol."; | |||
skipping to change at page 31, line 40 ¶ | skipping to change at page 31, line 43 ¶ | |||
feature prefix-tag64 { | feature prefix-tag64 { | |||
description | description | |||
"Support for 64-bit prefix tags"; | "Support for 64-bit prefix tags"; | |||
reference "RFC5130 - A Policy Control Mechanism in | reference "RFC5130 - A Policy Control Mechanism in | |||
IS-IS Using Administrative Tags"; | IS-IS Using Administrative Tags"; | |||
} | } | |||
feature auto-cost { | feature auto-cost { | |||
description | description | |||
"Use an automated assignment of metrics."; | "Use an automated assignment of metrics."; | |||
} | } | |||
feature ipv4-router-id { | ||||
description | ||||
"Support of IPv4 router ID configuration under IS-IS."; | ||||
} | ||||
feature ipv6-router-id { | feature te-rid { | |||
description | description | |||
"Support of IPv6 router ID configuration under IS-IS."; | "Traffic-Engineering Router-ID."; | |||
reference "RFC5305 - IS-IS Extensions for Traffic Engineering | ||||
RFC6119 - IPv6 Traffic Engineering in IS-IS"; | ||||
} | } | |||
feature max-ecmp { | ||||
description | ||||
"Setting maximum number of ECMP paths."; | ||||
} | ||||
feature multi-topology { | feature multi-topology { | |||
description | description | |||
"Multitopology routing support."; | "Multitopology routing support."; | |||
reference "RFC5120 - M-IS-IS: Multi Topology Routing in IS-IS"; | reference "RFC5120 - M-IS-IS: Multi Topology Routing in IS-IS"; | |||
} | } | |||
feature nlpid-control { | feature nlpid-control { | |||
description | description | |||
"This feature controls the advertisement | "This feature controls the advertisement | |||
of support NLPID within IS-IS configuration."; | of support NLPID within IS-IS configuration."; | |||
} | } | |||
skipping to change at page 53, line 16 ¶ | skipping to change at page 53, line 21 ¶ | |||
description "Maximum areas supported."; | description "Maximum areas supported."; | |||
} | } | |||
leaf-list area-address { | leaf-list area-address { | |||
type area-address; | type area-address; | |||
description | description | |||
"List of areas supported by the protocol instance."; | "List of areas supported by the protocol instance."; | |||
} | } | |||
container mpls { | container mpls { | |||
leaf ipv4-router-id { | container te-rid { | |||
if-feature ipv4-router-id; | if-feature te-rid; | |||
type inet:ipv4-address; | ||||
description | ||||
"Router ID value that would be used in TLV 134."; | ||||
} | ||||
leaf ipv6-router-id { | ||||
if-feature ipv6-router-id; | ||||
type inet:ipv6-address; | ||||
description | description | |||
"Router ID value that would be used in TLV 140."; | "Stable ISIS Router IP Address used for Traffic | |||
Engineering"; | ||||
leaf ipv4-router-id { | ||||
type inet:ipv4-address; | ||||
description | ||||
"Router ID value that would be used in TLV 134."; | ||||
} | ||||
leaf ipv6-router-id { | ||||
type inet:ipv6-address; | ||||
description | ||||
"Router ID value that would be used in TLV 140."; | ||||
} | ||||
} | } | |||
container ldp { | container ldp { | |||
container igp-sync { | container igp-sync { | |||
if-feature ldp-igp-sync; | if-feature ldp-igp-sync; | |||
description | description | |||
"This container may be augmented with global | "This container may be augmented with global | |||
parameters for igp-ldp-sync."; | parameters for igp-ldp-sync."; | |||
} | } | |||
description "LDP configuration."; | description "LDP configuration."; | |||
} | } | |||
skipping to change at page 83, line 22 ¶ | skipping to change at page 83, line 30 ¶ | |||
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 | |||
"IP Fast ReRoute (IPFRR) global container"; | "IP Fast ReRoute (IPFRR) global container"; | |||
} | } | |||
container spf-control { | container spf-control { | |||
leaf paths { | ||||
if-feature max-ecmp; | ||||
type uint16 { | ||||
range "1..32"; | ||||
} | ||||
description | ||||
"Maximum number of Equal-Cost Multi-Path (ECMP) paths."; | ||||
} | ||||
container ietf-spf-delay { | container ietf-spf-delay { | |||
if-feature ietf-spf-delay; | if-feature ietf-spf-delay; | |||
uses ietf-spf-delay-cfg; | uses ietf-spf-delay-cfg; | |||
uses ietf-spf-delay-state; | uses ietf-spf-delay-state; | |||
description "IETF SPF delay algorithm container"; | description "IETF SPF delay algorithm container"; | |||
} | } | |||
description | description | |||
"SPF computation-related information container"; | "SPF computation-related information container"; | |||
} | } | |||
container topologies { | container topologies { | |||
skipping to change at page 96, line 15 ¶ | skipping to change at page 96, line 34 ¶ | |||
This document also requests one new YANG module name in the YANG | This document also requests one new YANG module name in the YANG | |||
Module Names registry ([RFC6020]) with the following suggestion: | Module Names registry ([RFC6020]) with the following suggestion: | |||
name: ietf-isis | name: ietf-isis | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-isis | namespace: urn:ietf:params:xml:ns:yang:ietf-isis | |||
prefix: isis | prefix: isis | |||
reference: RFC XXXX | reference: RFC XXXX | |||
11. Change log for ietf-isis YANG module | 11. Change log for ietf-isis YANG module | |||
11.1. From version -19 to version -20 | 11.1. From version -21 to version -22 | |||
o TE router-id modeling alignment with OSPF. | ||||
o Add max-ecmp + feature in spf-control container (alignment with | ||||
OSPF). | ||||
11.2. From version -20 to version -21 | ||||
o Model revision date fix | ||||
11.3. From version -19 to version -20 | ||||
o Moved to Yang 1.1 | o Moved to Yang 1.1 | |||
o Lower case enumerations | o Lower case enumerations | |||
o Add RFC references to features | o Add RFC references to features | |||
o Remove segment-routing feature | o Remove segment-routing feature | |||
o Modified BFD activation modeling | o Modified BFD activation modeling | |||
11.2. From version -18 to version -19 | 11.4. From version -18 to version -19 | |||
o Align with draft-ietf-netmod-rfc8022bis. | o Align with draft-ietf-netmod-rfc8022bis. | |||
o Modify address family types as per draft-ietf-rtgwg-routing-types- | o Modify address family types as per draft-ietf-rtgwg-routing-types- | |||
17. | 17. | |||
11.3. From version -17 to version -18 | 11.5. From version -17 to version -18 | |||
o NMDA compliancy. | o NMDA compliancy. | |||
o Set some default values. | o Set some default values. | |||
o Align with iana-rt-types module. | o Align with iana-rt-types module. | |||
11.4. From version -16 to version -17 | 11.6. From version -16 to version -17 | |||
o Cosmetic fixes. | o Cosmetic fixes. | |||
o Use of rt-types model. | o Use of rt-types model. | |||
11.5. From version -15 to version -16 | 11.7. From version -15 to version -16 | |||
o Alignment with last IETF key chain model. | o Alignment with last IETF key chain model. | |||
o lsp-log "change" leaf moved as an identity. | o lsp-log "change" leaf moved as an identity. | |||
o Incremental SPF removed from spf-log types. | o Incremental SPF removed from spf-log types. | |||
11.6. From version -14 to version -15 | 11.8. From version -14 to version -15 | |||
o Alignment with OSPF model done: | o Alignment with OSPF model done: | |||
* Added spf-control container with IETF SPF delay algorithm as a | * Added spf-control container with IETF SPF delay algorithm as a | |||
feature. | feature. | |||
* Added graceful-restart options. | * Added graceful-restart options. | |||
* Added nsr as a feature. | * Added nsr as a feature. | |||
skipping to change at page 97, line 34 ¶ | skipping to change at page 98, line 17 ¶ | |||
* Added auto-cost container. | * Added auto-cost container. | |||
* Moved reference-bandwidth under auto-cost container. | * Moved reference-bandwidth under auto-cost container. | |||
* Added IS-IS local RIB as operational state. | * Added IS-IS local RIB as operational state. | |||
* Added decode-completed and raw-data leaves in the LSDB model. | * Added decode-completed and raw-data leaves in the LSDB model. | |||
* Modified the notification header. | * Modified the notification header. | |||
11.7. From version -13 to version -14 | 11.9. From version -13 to version -14 | |||
o Segment Routing extensions are now in a separate document. | o Segment Routing extensions are now in a separate document. | |||
11.8. From version -12 to version -13 | 11.10. From version -12 to version -13 | |||
o Move feature nlpid-control to container rather than list. | o Move feature nlpid-control to container rather than list. | |||
o Rename multi-topology to topologies to align with OSPF. | o Rename multi-topology to topologies to align with OSPF. | |||
o Rename bfd/enabled to bfd/enable for consistency reason. | o Rename bfd/enabled to bfd/enable for consistency reason. | |||
o Add support for NSR with a feature. | o Add support for NSR with a feature. | |||
11.9. From version -09 to version -12 | 11.11. From version -09 to version -12 | |||
o Rename node-tag container to node-tags. | o Rename node-tag container to node-tags. | |||
11.10. From version -08 to version -09 | 11.12. 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. | |||
11.11. From version -07 to version -08 | 11.13. 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. | |||
11.12. From version -05 to version -07 | 11.14. 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. | |||
11.13. From version -03 to version -05 | 11.15. 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. | |||
11.14. From version -02 to version -03 | 11.16. 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. | |||
11.15. From version -01 to version -02 | 11.17. 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 99, line 43 ¶ | skipping to change at page 100, line 23 ¶ | |||
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. | |||
11.16. From version -00 to version -01 | 11.18. 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 100, line 38 ¶ | skipping to change at page 101, line 19 ¶ | |||
Management", draft-ietf-netmod-routing-cfg-25 (work in | Management", draft-ietf-netmod-routing-cfg-25 (work in | |||
progress), November 2016. | progress), November 2016. | |||
[I-D.ietf-rtgwg-yang-key-chain] | [I-D.ietf-rtgwg-yang-key-chain] | |||
Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, | Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, | |||
"Routing Key Chain YANG Data Model", draft-ietf-rtgwg- | "Routing Key Chain YANG Data Model", draft-ietf-rtgwg- | |||
yang-key-chain-24 (work in progress), April 2017. | yang-key-chain-24 (work in progress), April 2017. | |||
[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, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | DOI 10.17487/RFC2119, March 1997, | |||
editor.org/info/rfc2119>. | <https://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, <https://www.rfc- | DOI 10.17487/RFC3688, January 2004, | |||
editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
DOI 10.17487/RFC5120, February 2008, <https://www.rfc- | DOI 10.17487/RFC5120, February 2008, | |||
editor.org/info/rfc5120>. | <https://www.rfc-editor.org/info/rfc5120>. | |||
[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, | IP Fast Reroute: Loop-Free Alternates", RFC 5286, | |||
DOI 10.17487/RFC5286, September 2008, <https://www.rfc- | DOI 10.17487/RFC5286, September 2008, | |||
editor.org/info/rfc5286>. | <https://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, <https://www.rfc-editor.org/info/rfc5443>. | 2009, <https://www.rfc-editor.org/info/rfc5443>. | |||
[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, <https://www.rfc- | DOI 10.17487/RFC6020, October 2010, | |||
editor.org/info/rfc6020>. | <https://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, | |||
<https://www.rfc-editor.org/info/rfc6241>. | <https://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, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6242>. | <https://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, | Protocol (NETCONF) Access Control Model", RFC 6536, | |||
DOI 10.17487/RFC6536, March 2012, <https://www.rfc- | DOI 10.17487/RFC6536, March 2012, | |||
editor.org/info/rfc6536>. | <https://www.rfc-editor.org/info/rfc6536>. | |||
[RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. | [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. | |||
So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", | So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", | |||
RFC 7490, DOI 10.17487/RFC7490, April 2015, | RFC 7490, DOI 10.17487/RFC7490, April 2015, | |||
<https://www.rfc-editor.org/info/rfc7490>. | <https://www.rfc-editor.org/info/rfc7490>. | |||
Appendix A. Example of IS-IS configuration in XML | Appendix A. Example of IS-IS configuration in XML | |||
This section gives an example of configuration of an IS-IS instance | This section gives an example of configuration of an IS-IS instance | |||
on a device. The example is written in XML. | on a device. 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"> | |||
<name>SLI</name> | <name>SLI</name> | |||
<router-id>1.1.1.1</router-id> | <router-id>1.1.1.1</router-id> | |||
<description/> | <description/> | |||
<interfaces> | <interfaces> | |||
<interface> | <interface> | |||
<name>Loopback0</name> | <name>Loopback0</name> | |||
</interface> | </interface> | |||
<interface> | <interface> | |||
<name>Eth1</name> | <name>Eth1</name> | |||
</interface> | </interface> | |||
</interfaces> | </interfaces> | |||
<control-plane-protocols> | <control-plane-protocols> | |||
<control-plane-protocol> | <control-plane-protocol> | |||
<name>ISIS</name> | <name>ISIS</name> | |||
<description/> | <description/> | |||
<type>isis:isis</type> | <type>isis:isis</type> | |||
<isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> | <isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> | |||
<enable>true</enable> | <enable>true</enable> | |||
<level-type>level-2</level-type> | <level-type>level-2</level-type> | |||
<system-id>87FC.FCDF.4432</system-id> | <system-id>87FC.FCDF.4432</system-id> | |||
<area-address>49.0001</area-address> | <area-address>49.0001</area-address> | |||
<mpls-te> | <mpls-te> | |||
<ipv4-router-id>1.1.1.1</ipv4-router-id> | <ipv4-router-id>1.1.1.1</ipv4-router-id> | |||
</mpls-te> | </mpls-te> | |||
<lsp-lifetime>65535</lsp-lifetime> | <lsp-lifetime>65535</lsp-lifetime> | |||
<lsp-refresh>65000</lsp-refresh> | <lsp-refresh>65000</lsp-refresh> | |||
<metric-type> | <metric-type> | |||
<value>wide</value> | <value>wide</value> | |||
</metric-type> | </metric-type> | |||
<default-metric> | <default-metric> | |||
<value>111111</value> | <value>111111</value> | |||
</default-metric> | </default-metric> | |||
<afs> | <afs> | |||
<af> | <af> | |||
<af>ipv4-unicast</af> | <af>ipv4-unicast</af> | |||
<enabled>true</enabled> | <enabled>true</enabled> | |||
</af> | </af> | |||
</afs> | </afs> | |||
<interfaces> | <interfaces> | |||
<interface> | <interface> | |||
<name>Loopback0</name> | <name>Loopback0</name> | |||
<tag>200</tag> | <tag>200</tag> | |||
<metric> | <metric> | |||
<value>0</value> | <value>0</value> | |||
</metric> | </metric> | |||
<passive>true</passive> | <passive>true</passive> | |||
</interface> | </interface> | |||
<interface> | <interface> | |||
<name>Eth1</name> | <name>Eth1</name> | |||
<level-type>level-2</level-type> | <level-type>level-2</level-type> | |||
<interface-type>point-to-point | <interface-type>point-to-point</interface-type> | |||
</interface-type> | <metric> | |||
<metric> | <value>167890</value> | |||
<value>167890</value> | </metric> | |||
</metric> | </interface> | |||
</interfaces> | ||||
</interface> | </isis> | |||
</interfaces> | </control-plane-protocol> | |||
</isis> | </control-plane-protocols> | |||
</control-plane-protocol> | </routing> | |||
</control-plane-protocols> | <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | |||
</routing> | <interface> | |||
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | <name>Loopback0</name> | |||
<interface> | <description/> | |||
<name>Loopback0</name> | <type/> | |||
<description/> | <link-up-down-trap-enable/> | |||
<type/> | <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> | |||
<link-up-down-trap-enable/> | <mtu/> | |||
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> | <address> | |||
<mtu/> | <ip>1.1.1.1</ip> | |||
<address> | <prefix-length>32</prefix-length> | |||
<ip>1.1.1.1</ip> | </address> | |||
<prefix-length>32</prefix-length> | </ipv4> | |||
</address> | ||||
</ipv4> | ||||
</interface> | </interface> | |||
<interface> | <interface> | |||
<name>Eth1</name> | <name>Eth1</name> | |||
<description/> | <description/> | |||
<type/> | <type/> | |||
<link-up-down-trap-enable/> | <link-up-down-trap-enable/> | |||
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> | <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> | |||
<mtu/> | <mtu/> | |||
<address> | <address> | |||
<ip>10.0.0.1</ip> | <ip>10.0.0.1</ip> | |||
<prefix-length>30</prefix-length> | <prefix-length>30</prefix-length> | |||
</address> | </address> | |||
</ipv4> | </ipv4> | |||
</interface> | </interface> | |||
</interfaces> | </interfaces> | |||
</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 | |||
Arrcus, Inc | Arrcus, Inc | |||
Email: derek@arrcus.com | Email: derek@arrcus.com | |||
Acee Lindem | Acee Lindem | |||
Cisco Systems | Cisco Systems | |||
Email: acee@cisco.com | Email: acee@cisco.com | |||
End of changes. 63 change blocks. | ||||
457 lines changed or deleted | 483 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |