| < draft-ietf-isis-yang-isis-cfg-15.txt | draft-ietf-isis-yang-isis-cfg-16.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: August 5, 2017 Arrcus, Inc | Expires: September 30, 2017 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 | |||
| February 01, 2017 | March 29, 2017 | |||
| YANG Data Model for IS-IS protocol | YANG Data Model for IS-IS protocol | |||
| draft-ietf-isis-yang-isis-cfg-15 | draft-ietf-isis-yang-isis-cfg-16 | |||
| 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 | |||
| skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
| 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 August 5, 2017. | This Internet-Draft will expire on September 30, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 11 | 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 11 | |||
| 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 11 | 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 11 | |||
| 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 12 | 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 12 | |||
| 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 13 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 13 | |||
| 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 17 | 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 16 | |||
| 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 17 | 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 16 | |||
| 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 17 | 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.9. Operational States . . . . . . . . . . . . . . . . . . . 18 | 2.9. Operational States . . . . . . . . . . . . . . . . . . . 17 | |||
| 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 18 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 23 | 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 22 | |||
| 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 24 | 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 102 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 101 | |||
| 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 103 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 102 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 103 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 102 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 103 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 102 | |||
| 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 104 | 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 102 | |||
| 11.1. From version -14 to version -15 . . . . . . . . . . . . 104 | 11.1. From version -15 to version -16 . . . . . . . . . . . . 102 | |||
| 11.2. From version -13 to version -14 . . . . . . . . . . . . 104 | 11.2. From version -14 to version -15 . . . . . . . . . . . . 102 | |||
| 11.3. From version -12 to version -13 . . . . . . . . . . . . 104 | 11.3. From version -13 to version -14 . . . . . . . . . . . . 103 | |||
| 11.4. From version -09 to version -12 . . . . . . . . . . . . 105 | 11.4. From version -12 to version -13 . . . . . . . . . . . . 103 | |||
| 11.5. From version -08 to version -09 . . . . . . . . . . . . 105 | 11.5. From version -09 to version -12 . . . . . . . . . . . . 103 | |||
| 11.6. From version -07 to version -08 . . . . . . . . . . . . 105 | 11.6. From version -08 to version -09 . . . . . . . . . . . . 103 | |||
| 11.7. From version -05 to version -07 . . . . . . . . . . . . 105 | 11.7. From version -07 to version -08 . . . . . . . . . . . . 104 | |||
| 11.8. From version -03 to version -05 . . . . . . . . . . . . 106 | 11.8. From version -05 to version -07 . . . . . . . . . . . . 104 | |||
| 11.9. From version -02 to version -03 . . . . . . . . . . . . 106 | 11.9. From version -03 to version -05 . . . . . . . . . . . . 104 | |||
| 11.10. From version -01 to version -02 . . . . . . . . . . . . 106 | 11.10. From version -02 to version -03 . . . . . . . . . . . . 104 | |||
| 11.11. From version -00 to version -01 . . . . . . . . . . . . 107 | 11.11. From version -01 to version -02 . . . . . . . . . . . . 105 | |||
| 12. Normative References . . . . . . . . . . . . . . . . . . . . 107 | 11.12. From version -00 to version -01 . . . . . . . . . . . . 105 | |||
| Appendix A. Example of IS-IS configuration in XML . . . . . . . 108 | 12. Normative References . . . . . . . . . . . . . . . . . . . . 106 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 111 | Appendix A. Example of IS-IS configuration in XML . . . . . . . 107 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 109 | ||||
| 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 14, line 8 ¶ | skipping to change at page 14, line 8 ¶ | |||
| defined in the "ietf-interfaces" YANG model. | defined in the "ietf-interfaces" YANG model. | |||
| Each interface has some interface-specific parameters that may have a | Each interface has some interface-specific parameters that may have a | |||
| different per level value as described in previous section. An | different per level value as described in previous section. An | |||
| interface-specific parameter always override an IS-IS global | interface-specific parameter always override an IS-IS global | |||
| parameter. | parameter. | |||
| Some parameters like hello-padding are defined as containers to allow | Some parameters like hello-padding are defined as containers to allow | |||
| easy extension by vendor specific modules. | easy extension by vendor specific modules. | |||
| +--rw interfaces | +--rw interfaces | |||
| +--rw interface* [name] | +--rw interface* [name] | |||
| +--rw name if:interface-ref | +--rw name if:interface-ref | |||
| +--rw level-type? level | +--rw level-type? level | |||
| +--rw lsp-pacing-interval? uint16 | +--rw lsp-pacing-interval? uint16 | |||
| +--rw lsp-retransmit-interval? uint16 | +--rw lsp-retransmit-interval? uint16 | |||
| +--rw passive? boolean | +--rw passive? boolean | |||
| +--rw csnp-interval? uint16 | +--rw csnp-interval? uint16 | |||
| +--rw hello-padding | +--rw hello-padding | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| +--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 (algorithm)? | | | +--rw crypto-algorithm? identityref | |||
| | | +--:(hmac-sha-1-12) {crypto-hmac-sha-1-12}? | | +--rw level-1 | |||
| | | | +--rw hmac-sha1-12? empty | | | +--rw (authentication-type)? | |||
| | | +--:(md5) | | | +--:(key-chain) {key-chain}? | |||
| | | | +--rw md5? empty | | | | +--rw key-chain? key-chain:key-chain-re | |||
| | | +--:(sha-1) | f | |||
| | | | +--rw sha-1? empty | | | +--:(password) | |||
| | | +--:(hmac-sha-1) | | | +--rw key? string | |||
| | | | +--rw hmac-sha-1? empty | | | +--rw crypto-algorithm? identityref | |||
| | | +--:(hmac-sha-256) | | +--rw level-2 | |||
| | | | +--rw hmac-sha-256? empty | | +--rw (authentication-type)? | |||
| | | +--:(hmac-sha-384) | | +--:(key-chain) {key-chain}? | |||
| | | | +--rw hmac-sha-384? empty | | | +--rw key-chain? key-chain:key-chain-re | |||
| | | +--:(hmac-sha-512) | f | |||
| | | +--rw hmac-sha-512? empty | | +--:(password) | |||
| | +--rw level-1 | | +--rw key? string | |||
| | | +--rw (authentication-type)? | | +--rw crypto-algorithm? identityref | |||
| | | +--:(key-chain) {key-chain}? | +--rw hello-interval | |||
| | | | +--rw key-chain? key-chain:key-chain-ref | | +--rw value? uint16 | |||
| | | +--:(password) | | +--rw level-1 | |||
| | | +--rw key? string | | | +--rw value? uint16 | |||
| | | +--rw (algorithm)? | | +--rw level-2 | |||
| | | +--:(hmac-sha-1-12) {crypto-hmac-sha-1-12}? | | +--rw value? uint16 | |||
| | | | +--rw hmac-sha1-12? empty | +--rw hello-multiplier | |||
| | | +--:(md5) | | +--rw value? uint16 | |||
| | | | +--rw md5? empty | | +--rw level-1 | |||
| | | +--:(sha-1) | | | +--rw value? uint16 | |||
| | | | +--rw sha-1? empty | | +--rw level-2 | |||
| | | +--:(hmac-sha-1) | | +--rw value? uint16 | |||
| | | | +--rw hmac-sha-1? empty | +--rw priority | |||
| | | +--:(hmac-sha-256) | | +--rw value? uint8 | |||
| | | | +--rw hmac-sha-256? empty | | +--rw level-1 | |||
| | | +--:(hmac-sha-384) | | | +--rw value? uint8 | |||
| | | | +--rw hmac-sha-384? empty | | +--rw level-2 | |||
| | | +--:(hmac-sha-512) | | +--rw value? uint8 | |||
| | | +--rw hmac-sha-512? empty | +--rw metric | |||
| | +--rw level-2 | | +--rw value? wide-metric | |||
| | +--rw (authentication-type)? | | +--rw level-1 | |||
| | +--:(key-chain) {key-chain}? | | | +--rw value? wide-metric | |||
| | | +--rw key-chain? key-chain:key-chain-ref | | +--rw level-2 | |||
| | +--:(password) | | +--rw value? wide-metric | |||
| | +--rw key? string | +--rw bfd {bfd}? | |||
| | +--rw (algorithm)? | | +--rw enable? boolean | |||
| | +--:(hmac-sha-1-12) {crypto-hmac-sha-1-12}? | +--rw afs {nlpid-control}? | |||
| | | +--rw hmac-sha1-12? empty | | +--rw af* [af] | |||
| | +--:(md5) | | +--rw af identityref | |||
| | | +--rw md5? empty | +--rw mpls | |||
| | +--:(sha-1) | | +--rw ldp | |||
| | | +--rw sha-1? empty | | +--rw igp-sync? boolean {ldp-igp-sync}? | |||
| | +--:(hmac-sha-1) | +--rw fast-reroute {fast-reroute}? | |||
| | | +--rw hmac-sha-1? empty | | +--rw lfa {lfa}? | |||
| | +--:(hmac-sha-256) | | +--rw candidate-disabled? boolean | |||
| | | +--rw hmac-sha-256? empty | | +--rw enable? boolean | |||
| | +--:(hmac-sha-384) | | +--rw remote-lfa {remote-lfa}? | |||
| | | +--rw hmac-sha-384? empty | | | +--rw enable? boolean | |||
| | +--:(hmac-sha-512) | | +--rw level-1 | |||
| | +--rw hmac-sha-512? empty | | | +--rw candidate-disabled? boolean | |||
| +--rw hello-interval | | | +--rw enable? boolean | |||
| | +--rw value? uint16 | | | +--rw remote-lfa {remote-lfa}? | |||
| | +--rw level-1 | | | +--rw enable? boolean | |||
| | | +--rw value? uint16 | | +--rw level-2 | |||
| | +--rw level-2 | | +--rw candidate-disabled? boolean | |||
| | +--rw value? uint16 | | +--rw enable? boolean | |||
| +--rw hello-multiplier | | +--rw remote-lfa {remote-lfa}? | |||
| | +--rw value? uint16 | | +--rw enable? boolean | |||
| | +--rw level-1 | +--rw topologies {multi-topology}? | |||
| | | +--rw value? uint16 | +--rw topology* [name] | |||
| | +--rw level-2 | +--rw name leafref | |||
| | +--rw value? uint16 | +--rw metric | |||
| +--rw priority | +--rw value? wide-metric | |||
| | +--rw value? uint8 | +--rw level-1 | |||
| | +--rw level-1 | | +--rw value? wide-metric | |||
| | | +--rw value? uint8 | +--rw level-2 | |||
| | +--rw level-2 | +--rw value? wide-metric | |||
| | +--rw value? uint8 | ||||
| +--rw metric | ||||
| | +--rw value? wide-metric | ||||
| | +--rw level-1 | ||||
| | | +--rw value? wide-metric | ||||
| | +--rw level-2 | ||||
| | +--rw value? wide-metric | ||||
| +--rw bfd {bfd}? | ||||
| | +--rw enable? boolean | ||||
| +--rw afs {nlpid-control}? | ||||
| | +--rw af* [af] | ||||
| | +--rw af identityref | ||||
| +--rw mpls | ||||
| | +--rw ldp | ||||
| | +--rw igp-sync? boolean {ldp-igp-sync}? | ||||
| +--rw fast-reroute {fast-reroute}? | ||||
| | +--rw lfa {lfa}? | ||||
| | +--rw candidate-disabled? boolean | ||||
| | +--rw enable? boolean | ||||
| | +--rw remote-lfa {remote-lfa}? | ||||
| | | +--rw enable? boolean | ||||
| | +--rw level-1 | ||||
| | | +--rw candidate-disabled? boolean | ||||
| | | +--rw enable? boolean | ||||
| | | +--rw remote-lfa {remote-lfa}? | ||||
| | | +--rw enable? boolean | ||||
| | +--rw level-2 | ||||
| | +--rw candidate-disabled? boolean | ||||
| | +--rw enable? boolean | ||||
| | +--rw remote-lfa {remote-lfa}? | ||||
| | +--rw enable? boolean | ||||
| +--rw topologies {multi-topology}? | ||||
| +--rw topology* [name] | ||||
| +--rw name leafref | ||||
| +--rw metric | ||||
| +--rw value? wide-metric | ||||
| +--rw level-1 | ||||
| | +--rw value? wide-metric | ||||
| +--rw level-2 | ||||
| +--rw value? wide-metric | ||||
| 2.5. Authentication Parameters | 2.5. Authentication Parameters | |||
| The module enables authentication configuration through the IETF key- | The module enables authentication configuration through the IETF key- | |||
| chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module | chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module | |||
| imports the "ietf-key-chain" module and reuses some groupings to | imports the "ietf-key-chain" module and reuses some groupings to | |||
| allow global and per interface configuration of authentication. If a | allow global and per interface configuration of authentication. If a | |||
| global authentication is configured, an implementation SHOULD | global authentication is configured, an implementation SHOULD | |||
| authenticate PSNPs, CSNPs and LSPs with the authentication parameters | authenticate PSNPs, CSNPs and LSPs with the authentication parameters | |||
| supplied. The authentication of hello PDUs can be activated on a per | supplied. The authentication of hello PDUs can be activated on a per | |||
| skipping to change at page 18, line 19 ¶ | skipping to change at page 17, line 22 ¶ | |||
| o system-counters : provides statistical informations about the | o system-counters : provides statistical informations about the | |||
| global system. | global system. | |||
| o interface : provides configuration state informations for each | o interface : provides configuration state informations for each | |||
| interface. | interface. | |||
| o adjacencies: provides state informations about current IS-IS | o adjacencies: provides state informations about current IS-IS | |||
| adjacencies. | adjacencies. | |||
| o spf-log: provides informations about SPF events on the node. | o spf-log: provides informations about SPF events on the node. This | |||
| SHOULD be implemented as a wrapping buffer. | ||||
| o lsp-log: provides informations about LSP events on the node | o lsp-log: provides informations about LSP events on the node | |||
| (reception of an LSP or modification of local LSP). | (reception of an LSP or modification of local LSP). This SHOULD | |||
| be implemented as a wrapping buffer and an implementation MAY | ||||
| decide to log refresh LSPs or not. | ||||
| o local-rib: provides the IS-IS internal routing table view. | o local-rib: provides the IS-IS internal routing table view. | |||
| o database: provides details on the current LSDB. | o database: provides details on the current LSDB. | |||
| o hostnames: provides informations about system-id to hostname | o hostnames: provides informations about system-id to hostname | |||
| mappings. | mappings. | |||
| o fast-reroute: provides informations about IP FRR. | o fast-reroute: provides informations about IP FRR. | |||
| skipping to change at page 24, line 10 ¶ | skipping to change at page 23, 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-isis@2017-01-13.yang" | <CODE BEGINS> file "ietf-isis@2017-03-29.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 25, line 22 ¶ | skipping to change at page 24, line 34 ¶ | |||
| <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 | |||
| ISIS common across all of the vendor implementations."; | ISIS common across all of the vendor implementations."; | |||
| revision 2016-11-03 { | revision 2017-03-29 { | |||
| 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 ISIS routing protocol."; | description "Identity for the ISIS routing protocol."; | |||
| skipping to change at page 25, line 39 ¶ | skipping to change at page 25, line 4 ¶ | |||
| identity isis { | identity isis { | |||
| base rt:routing-protocol; | base rt:routing-protocol; | |||
| description "Identity for the ISIS routing protocol."; | description "Identity for the ISIS routing protocol."; | |||
| } | } | |||
| identity isis-adjacency-change { | identity isis-adjacency-change { | |||
| description "Identity for the ISIS routing protocol | description "Identity for the ISIS routing protocol | |||
| adjacency state."; | adjacency state."; | |||
| } | } | |||
| identity clear-isis-database { | identity clear-isis-database { | |||
| description "Identity for the ISIS routing protocol | description "Identity for the ISIS routing protocol | |||
| database reset action."; | database reset action."; | |||
| } | } | |||
| identity clear-isis-adjacency { | identity clear-isis-adjacency { | |||
| description "Identity for the ISIS routing protocol | description "Identity for the ISIS routing protocol | |||
| adjacency reset action."; | adjacency reset action."; | |||
| } | } | |||
| identity lsp-log-reason { | ||||
| description "Base identity for an LSP change | ||||
| log reason."; | ||||
| } | ||||
| identity refresh { | ||||
| base lsp-log-reason; | ||||
| description | ||||
| "Identity used when the LSP log reason is | ||||
| a refresh LSP received."; | ||||
| } | ||||
| identity content-change { | ||||
| base lsp-log-reason; | ||||
| description | ||||
| "Identity used when the LSP log reason is | ||||
| a change in the content of the LSP."; | ||||
| } | ||||
| /* Feature definitions */ | /* Feature definitions */ | |||
| feature ietf-spf-delay { | feature ietf-spf-delay { | |||
| description | description | |||
| "Support of IETF SPF delay algorithm."; | "Support of IETF SPF delay algorithm."; | |||
| } | } | |||
| feature bfd { | feature bfd { | |||
| description | description | |||
| "Support of BFD for IS-IS links."; | "Support of BFD for IS-IS links."; | |||
| } | } | |||
| feature key-chain { | feature key-chain { | |||
| description | description | |||
| skipping to change at page 28, line 17 ¶ | skipping to change at page 27, line 46 ¶ | |||
| feature admin-control { | feature admin-control { | |||
| description | description | |||
| "Control administrative state of ISIS."; | "Control administrative state of ISIS."; | |||
| } | } | |||
| /* Type definitions */ | /* Type definitions */ | |||
| typedef instance-state-ref { | typedef instance-state-ref { | |||
| type leafref { | type leafref { | |||
| path "/rt:routing-state/" | path "/rt:routing-state/" | |||
| +"rt:control-plane-protocols/rt:control-plane-protocol/rt:name"; | +"rt:control-plane-protocols/rt:control-plane-protocol/" | |||
| +"rt:name"; | ||||
| } | } | |||
| description | description | |||
| "This type is used for leaves that reference state data of | "This type is used for leaves that reference state data of | |||
| an ISIS protocol instance."; | an ISIS protocol instance."; | |||
| } | } | |||
| typedef admin-state { | typedef admin-state { | |||
| type enumeration { | type enumeration { | |||
| enum "up" { | enum "up" { | |||
| description | description | |||
| skipping to change at page 59, line 37 ¶ | skipping to change at page 59, line 17 ¶ | |||
| "Reference to a key-chain."; | "Reference to a key-chain."; | |||
| } | } | |||
| } | } | |||
| case password { | case password { | |||
| leaf key { | leaf key { | |||
| type string; | type string; | |||
| description | description | |||
| "This leaf describes the | "This leaf describes the | |||
| authentication key."; | authentication key."; | |||
| } | } | |||
| uses key-chain:crypto-algorithm-types; | leaf crypto-algorithm { | |||
| type identityref { | ||||
| base key-chain:crypto-algorithm; | ||||
| } | ||||
| description | ||||
| "Cryptographic algorithm associated with key."; | ||||
| } | ||||
| } | } | |||
| description | description | |||
| "Choice of authentication."; | "Choice of authentication."; | |||
| } | } | |||
| description | description | |||
| "Grouping for global auth config."; | "Grouping for global auth config."; | |||
| } | } | |||
| grouping metric-type-global-cfg { | grouping metric-type-global-cfg { | |||
| leaf value { | leaf value { | |||
| skipping to change at page 62, line 15 ¶ | skipping to change at page 61, line 49 ¶ | |||
| "Reference to a key-chain."; | "Reference to a key-chain."; | |||
| } | } | |||
| } | } | |||
| case password { | case password { | |||
| leaf key { | leaf key { | |||
| type string; | type string; | |||
| description | description | |||
| "This leaf describes the | "This leaf describes the | |||
| authentication key."; | authentication key."; | |||
| } | } | |||
| uses key-chain:crypto-algorithm-types; | leaf crypto-algorithm { | |||
| type identityref { | ||||
| base key-chain:crypto-algorithm; | ||||
| } | ||||
| description | ||||
| "Cryptographic algorithm associated with key."; | ||||
| } | ||||
| } | } | |||
| description | description | |||
| "Choice of authentication."; | "Choice of authentication."; | |||
| } | } | |||
| description | description | |||
| "Grouping for hello authentication."; | "Grouping for hello authentication."; | |||
| } | } | |||
| grouping hello-interval-cfg { | grouping hello-interval-cfg { | |||
| leaf value { | leaf value { | |||
| skipping to change at page 86, line 44 ¶ | skipping to change at page 86, line 33 ¶ | |||
| description | description | |||
| "This leaf defines the event identifier. | "This leaf defines the event identifier. | |||
| This is a purely internal value."; | This is a purely internal value."; | |||
| } | } | |||
| leaf spf-type { | leaf spf-type { | |||
| type enumeration { | type enumeration { | |||
| enum full { | enum full { | |||
| description | description | |||
| "Computation done is a Full SPF."; | "Computation done is a Full SPF."; | |||
| } | } | |||
| enum incremental { | ||||
| description | ||||
| "Computation done is an | ||||
| incremental SPF."; | ||||
| } | ||||
| enum route-only { | enum route-only { | |||
| description | description | |||
| "Computation done is a | "Computation done is a | |||
| reachability computation | reachability computation | |||
| only."; | only."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "This leaf describes the type of computation | "This leaf describes the type of computation | |||
| used."; | used."; | |||
| skipping to change at page 89, line 4 ¶ | skipping to change at page 88, line 35 ¶ | |||
| number of the LSP."; | number of the LSP."; | |||
| } | } | |||
| description | description | |||
| "This container describes the received LSP | "This container describes the received LSP | |||
| , in case of local LSP update the local | , in case of local LSP update the local | |||
| LSP ID is referenced."; | LSP ID is referenced."; | |||
| } | } | |||
| leaf received-timestamp { | leaf received-timestamp { | |||
| type yang:timestamp; | type yang:timestamp; | |||
| description | description | |||
| "This leaf describes the timestamp | "This leaf describes the timestamp | |||
| when the LSP was received. In case of | when the LSP was received. In case of | |||
| local LSP update, the timestamp refers | local LSP update, the timestamp refers | |||
| to the local LSP update time."; | to the local LSP update time."; | |||
| } | } | |||
| leaf change { | leaf change { | |||
| type bits { | type identityref { | |||
| bit refresh { | base lsp-log-reason; | |||
| position 0; | ||||
| description | ||||
| "Refresh LSP, nothing has changed."; | ||||
| } | ||||
| bit link-down { | ||||
| position 1; | ||||
| description | ||||
| "One or more links are down."; | ||||
| } | ||||
| bit link-up { | ||||
| position 2; | ||||
| description | ||||
| "One or more links are up."; | ||||
| } | ||||
| bit link-metric-change { | ||||
| position 3; | ||||
| description | ||||
| "One or more links experienced | ||||
| a metric change."; | ||||
| } | ||||
| bit link-other-change { | ||||
| position 4; | ||||
| description | ||||
| "One or more links experienced | ||||
| a change that does not affect state | ||||
| or metric."; | ||||
| } | ||||
| bit prefix-down { | ||||
| position 5; | ||||
| description | ||||
| "One or more links are down."; | ||||
| } | ||||
| bit prefix-up { | ||||
| position 6; | ||||
| description | ||||
| "One or more prefixes are up."; | ||||
| } | ||||
| bit prefix-metric-change { | ||||
| position 7; | ||||
| description | ||||
| "One or more prefixes experienced | ||||
| a metric change."; | ||||
| } | ||||
| bit prefix-other-change { | ||||
| position 8; | ||||
| description | ||||
| "One or more prefixes experienced | ||||
| a change that does not affect state | ||||
| or metric."; | ||||
| } | ||||
| bit other-change { | ||||
| position 9; | ||||
| description | ||||
| "One or more component changed that | ||||
| is not a prefix or link."; | ||||
| } | ||||
| } | } | |||
| description | description | |||
| "This leaf describes the type of change | "This leaf describes the type of change | |||
| in the LSP."; | in the LSP."; | |||
| } | } | |||
| description | description | |||
| "List of LSP events."; | "List of LSP events."; | |||
| } | } | |||
| skipping to change at page 104, line 15 ¶ | skipping to change at page 102, 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 -14 to version -15 | 11.1. From version -15 to version -16 | |||
| o Alignment with last IETF key chain model. | ||||
| o lsp-log "change" leaf moved as an identity. | ||||
| o Incremental SPF removed from spf-log types. | ||||
| 11.2. 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 104, line 42 ¶ | skipping to change at page 103, line 21 ¶ | |||
| * 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.2. From version -13 to version -14 | 11.3. 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.3. From version -12 to version -13 | 11.4. 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.4. From version -09 to version -12 | 11.5. From version -09 to version -12 | |||
| o Rename node-tag container to node-tags. | o Rename node-tag container to node-tags. | |||
| 11.5. From version -08 to version -09 | 11.6. 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.6. From version -07 to version -08 | 11.7. 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.7. From version -05 to version -07 | 11.8. 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.8. From version -03 to version -05 | 11.9. 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.9. From version -02 to version -03 | 11.10. 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.10. From version -01 to version -02 | 11.11. 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 107, line 5 ¶ | skipping to change at page 105, line 31 ¶ | |||
| o Added modification information in lsp-log. | o Added modification information in lsp-log. | |||
| o Removing igp-ldp-sync timer in IS-IS. | o Removing igp-ldp-sync timer in IS-IS. | |||
| o Defining hierarchy for operational states. | o Defining hierarchy for operational states. | |||
| o Adding clns-mtu. | o Adding clns-mtu. | |||
| o Adding key-chain. | o Adding key-chain. | |||
| 11.11. From version -00 to version -01 | 11.12. 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 107, line 43 ¶ | skipping to change at page 106, line 21 ¶ | |||
| o Remove GR helper disable and timers. | o Remove GR helper disable and timers. | |||
| 12. Normative References | 12. Normative References | |||
| [I-D.ietf-netmod-routing-cfg] | [I-D.ietf-netmod-routing-cfg] | |||
| Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | |||
| Management", draft-ietf-netmod-routing-cfg-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., Zhang, Z., and Y. | Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, | |||
| Yang, "Routing Key Chain YANG Data Model", draft-ietf- | "Routing Key Chain YANG Data Model", draft-ietf-rtgwg- | |||
| rtgwg-yang-key-chain-13 (work in progress), January 2017. | yang-key-chain-17 (work in progress), March 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, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <http://www.rfc-editor.org/info/rfc3688>. | <http://www.rfc-editor.org/info/rfc3688>. | |||
| End of changes. 31 change blocks. | ||||
| 254 lines changed or deleted | 197 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/ | ||||