| < draft-ietf-isis-yang-isis-cfg-13.txt | draft-ietf-isis-yang-isis-cfg-14.txt > | |||
|---|---|---|---|---|
| IS-IS Working Group S. Litkowski | IS-IS Working Group S. Litkowski | |||
| Internet-Draft Orange | Internet-Draft Orange | |||
| Intended status: Standards Track D. Yeung | Intended status: Standards Track D. Yeung | |||
| Expires: April 29, 2017 Arrcus, Inc | Expires: May 7, 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 | |||
| October 26, 2016 | November 03, 2016 | |||
| YANG Data Model for IS-IS protocol | YANG Data Model for IS-IS protocol | |||
| draft-ietf-isis-yang-isis-cfg-13 | draft-ietf-isis-yang-isis-cfg-14 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage IS-IS protocol on network elements. It also defines an | and manage IS-IS protocol on network elements. | |||
| extension module for IS-IS segment routing configuration and | ||||
| operation. | ||||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 46 ¶ | 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 April 29, 2017. | This Internet-Draft will expire on May 7, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4 | 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 10 | 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | |||
| 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 11 | 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | |||
| 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | |||
| 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 16 | 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 16 | |||
| 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 16 | 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 16 | |||
| 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 | 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.9. Operational State . . . . . . . . . . . . . . . . . . . . 17 | 2.9. Operational State . . . . . . . . . . . . . . . . . . . . 17 | |||
| 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 18 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 18 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5. Segment Routing . . . . . . . . . . . . . . . . . . . . . . . 22 | 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 22 | |||
| 5.1. Segment Routing activation . . . . . . . . . . . . . . . 25 | 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 5.2. Advertising mapping server policy . . . . . . . . . . . . 25 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 97 | |||
| 5.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 25 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 98 | |||
| 6. Interaction with Other YANG Modules . . . . . . . . . . . . . 25 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 98 | |||
| 7. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 26 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 98 | |||
| 8. IS-IS Segment Routing YANG Module . . . . . . . . . . . . . . 100 | 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 99 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 115 | 11.1. From version -13 to version -14 . . . . . . . . . . . . 99 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 116 | 11.2. From version -12 to version -13 . . . . . . . . . . . . 99 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 116 | 11.3. From version -09 to version -12 . . . . . . . . . . . . 99 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 116 | 11.4. From version -08 to version -09 . . . . . . . . . . . . 99 | |||
| 13. Change log for ietf-isis-sr YANG module . . . . . . . . . . . 117 | 11.5. From version -07 to version -08 . . . . . . . . . . . . 99 | |||
| 13.1. From version -12 to version -13 . . . . . . . . . . . . 117 | 11.6. From version -05 to version -07 . . . . . . . . . . . . 100 | |||
| 13.2. From version -09 to version -11 . . . . . . . . . . . . 117 | 11.7. From version -03 to version -05 . . . . . . . . . . . . 100 | |||
| 13.3. From version -08 to version -09 . . . . . . . . . . . . 117 | 11.8. From version -02 to version -03 . . . . . . . . . . . . 100 | |||
| 13.4. From version -07 to version -08 . . . . . . . . . . . . 117 | 11.9. From version -01 to version -02 . . . . . . . . . . . . 100 | |||
| 14. Change log for ietf-isis YANG module . . . . . . . . . . . . 117 | 11.10. From version -00 to version -01 . . . . . . . . . . . . 101 | |||
| 14.1. From version -12 to version -13 . . . . . . . . . . . . 117 | ||||
| 14.2. From version -09 to version -12 . . . . . . . . . . . . 117 | 12. Normative References . . . . . . . . . . . . . . . . . . . . 101 | |||
| 14.3. From version -08 to version -09 . . . . . . . . . . . . 117 | Appendix A. Example of IS-IS configuration in XML . . . . . . . 103 | |||
| 14.4. From version -07 to version -08 . . . . . . . . . . . . 118 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 105 | |||
| 14.5. From version -05 to version -07 . . . . . . . . . . . . 118 | ||||
| 14.6. From version -03 to version -05 . . . . . . . . . . . . 118 | ||||
| 14.7. From version -02 to version -03 . . . . . . . . . . . . 118 | ||||
| 14.8. From version -01 to version -02 . . . . . . . . . . . . 119 | ||||
| 14.9. From version -00 to version -01 . . . . . . . . . . . . 119 | ||||
| 15. Normative References . . . . . . . . . . . . . . . . . . . . 120 | ||||
| Appendix A. Example of IS-IS configuration in XML . . . . . . . 121 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 123 | ||||
| 1. Introduction | 1. Introduction | |||
| This document defines a YANG data model for IS-IS routing protocol. | This document defines a YANG data model for IS-IS routing protocol. | |||
| The data model covers configuration of an IS-IS routing protocol | The data model covers configuration of an IS-IS routing protocol | |||
| instance as well as operational states. | instance as well as operational states. | |||
| 1.1. Tree diagram | 1.1. Tree diagram | |||
| skipping to change at page 22, line 28 ¶ | skipping to change at page 22, line 19 ¶ | |||
| | +--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 instance-name? string | +--ro instance-name? string | |||
| +--ro instance-level? level | +--ro instance-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 | |||
| 5. Segment Routing | 5. Interaction with Other YANG Modules | |||
| The IS-IS SR YANG module is augmenting IS-IS module for both | ||||
| configuration and operational states. | ||||
| The IS-IS SR YANG module requires the base segment routing module | ||||
| ([I-D.ietf-spring-sr-yang]) to be supported as there is a strong | ||||
| relationship between those modules. | ||||
| The figure below describe the overall structure of the isis-sr YANG | ||||
| module: | ||||
| module: ietf-isis-sr | ||||
| augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | ||||
| /isis:isis: | ||||
| +--rw segment-routing | ||||
| | +--rw enabled? boolean | ||||
| | +--rw bindings | ||||
| | +--rw advertise | ||||
| | | +--rw policies* string | ||||
| | +--rw receive? boolean | ||||
| +--rw protocol-srgb {sr:protocol-srgb}? | ||||
| +--rw srgb* [lower-bound upper-bound] | ||||
| +--rw lower-bound uint32 | ||||
| +--rw upper-bound uint32 | ||||
| augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | ||||
| /isis:isis/isis:interfaces/isis:interface: | ||||
| +--rw segment-routing | ||||
| +--rw adjacency-sid | ||||
| +--rw advertise-adj-group-sid* [group-id] | ||||
| | +--rw group-id uint32 | ||||
| +--rw advertise-protection? enumeration | ||||
| augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | ||||
| /isis:isis/isis:interfaces/isis:interface/isis:fast-reroute: | ||||
| +--rw ti-lfa {ti-lfa}? | ||||
| +--rw enable? boolean | ||||
| augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | ||||
| /isis:isis/isis:interfaces/isis:interface/isis:fast-reroute/isis:lfa/isi | ||||
| s:remote-lfa: | ||||
| +--rw use-segment-routing-path? boolean {remote-lfa-sr}? | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis: | ||||
| +--ro segment-routing | ||||
| | +--ro enabled? boolean | ||||
| | +--ro bindings | ||||
| | +--ro advertise | ||||
| | | +--ro policies* string | ||||
| | +--ro receive? boolean | ||||
| +--ro protocol-srgb {sr:protocol-srgb}? | ||||
| +--ro srgb* [lower-bound upper-bound] | ||||
| +--ro lower-bound uint32 | ||||
| +--ro upper-bound uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:interfaces/isis:interface: | ||||
| +--ro segment-routing | ||||
| +--ro adjacency-sid | ||||
| +--ro advertise-adj-group-sid* [group-id] | ||||
| | +--ro group-id uint32 | ||||
| +--ro advertise-protection? enumeration | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:interfaces/isis:interface/isis:adjacencies/isis:ad | ||||
| jacency: | ||||
| +--ro adjacency-sid* [value] | ||||
| +--ro af? identityref | ||||
| +--ro value uint32 | ||||
| +--ro weight? uint8 | ||||
| +--ro protection-requested? boolean | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-is-n | ||||
| eighbor/isis:neighbor: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro weight? uint8 | ||||
| +--ro neighbor-id? isis:system-id | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-is-neighbo | ||||
| r/isis:neighbor: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro weight? uint8 | ||||
| +--ro neighbor-id? isis:system-id | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-ipv4 | ||||
| -reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro algorithm? uint8 | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-extended-i | ||||
| pv4-reachability/isis:prefixes: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro algorithm? uint8 | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:ipv6-reachabi | ||||
| lity/isis:prefixes: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro algorithm? uint8 | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-ipv6-reach | ||||
| ability/isis:prefixes: | ||||
| +--ro sid-list* [value] | ||||
| +--ro flags? bits | ||||
| +--ro algorithm? uint8 | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols/rt:control-plane-pr | ||||
| otocol/isis:isis/isis:database/isis:level-db/isis:lsp: | ||||
| +--ro segment-routing-bindings* [fec range] | ||||
| +--ro fec string | ||||
| +--ro range uint16 | ||||
| +--ro flags? bits | ||||
| +--ro weight? uint8 | ||||
| +--ro binding | ||||
| +--ro prefix-sid | ||||
| | +--ro sid-list* [value] | ||||
| | +--ro flags? bits | ||||
| | +--ro algorithm? uint8 | ||||
| | +--ro value uint32 | ||||
| +--ro ero-metric? uint32 | ||||
| +--ro ero | ||||
| | +--ro address-family? identityref | ||||
| | +--ro loose? boolean | ||||
| | +--ro address? string | ||||
| +--ro backup-ero | ||||
| | +--ro address-family? identityref | ||||
| | +--ro loose? boolean | ||||
| | +--ro address? string | ||||
| +--ro unnumbered-interface-id-ero | ||||
| | +--ro router-id? string | ||||
| | +--ro interface-id? uint32 | ||||
| +--ro backup-unnumbered-interface-id-ero | ||||
| +--ro router-id? string | ||||
| +--ro interface-id? uint32 | ||||
| 5.1. Segment Routing activation | ||||
| Activation of segment-routing IS-IS is done by setting the "enable" | ||||
| leaf to true. This triggers advertisement of segment-routing | ||||
| extensions based on the configuration parameters that have been setup | ||||
| using the base segment routing module. | ||||
| 5.2. Advertising mapping server policy | ||||
| The base segment routing module defines mapping server policies. By | ||||
| default, IS-IS will not advertise nor receive any mapping server | ||||
| entry. The IS-IS segment-routing module allows to advertise one or | ||||
| multiple mapping server policies through the "bindings/advertise/ | ||||
| policies" leaf-list. The "bindings/receive" leaf allows to enable | ||||
| the reception of mapping server entries. | ||||
| 5.3. IP Fast reroute | ||||
| IS-IS SR model augments the fast-reroute container under interface. | ||||
| It brings the ability to activate TI-LFA (topology independent LFA) | ||||
| and also enhances remote LFA to use segment-routing tunneling instead | ||||
| of LDP. | ||||
| 6. Interaction with Other YANG Modules | ||||
| The "isis" configuration container augments the "/rt:routing/ | The "isis" configuration container augments the "/rt:routing/ | |||
| rt:control-plane-protocols/control-plane-protocol" container of the | rt:control-plane-protocols/control-plane-protocol" container of the | |||
| ietf-routing [I-D.ietf-netmod-routing-cfg] module by defining IS-IS | ietf-routing [I-D.ietf-netmod-routing-cfg] module by defining IS-IS | |||
| specific parameters. | specific parameters. | |||
| The "isis" module augments "/if:interfaces/if:interface" with ISO | The "isis" module augments "/if:interfaces/if:interface" with ISO | |||
| specific parameters. | specific parameters. | |||
| The "isis" operational state container augments the "/rt:routing- | The "isis" operational state container augments the "/rt:routing- | |||
| state/rt:control-plane-protocols/control-plane-protocol" container of | state/rt:control-plane-protocols/control-plane-protocol" container of | |||
| the ietf-routing module by defining IS-IS specific operational | the ietf-routing module by defining IS-IS specific operational | |||
| states. | states. | |||
| Some IS-IS specific routes attributes are added to route objects of | Some IS-IS specific routes attributes are added to route objects of | |||
| the ietf-routing module by augmenting "/rt:routing- | the ietf-routing module by augmenting "/rt:routing- | |||
| state/rt:ribs/rt:rib/rt:routes/rt:route". | state/rt:ribs/rt:rib/rt:routes/rt:route". | |||
| The modules defined in this document use some groupings from ietf- | The modules defined in this document use some groupings from ietf- | |||
| keychain [I-D.ietf-rtgwg-yang-key-chain] and ietf-segment routing | keychain [I-D.ietf-rtgwg-yang-key-chain]. | |||
| [I-D.ietf-spring-sr-yang]. | ||||
| 7. IS-IS YANG Module | 6. IS-IS YANG Module | |||
| <CODE BEGINS> file "ietf-isis@2016-10-26.yang" | <CODE BEGINS> file "ietf-isis@2016-11-03.yang" | |||
| module ietf-isis { | module ietf-isis { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | |||
| prefix isis; | prefix isis; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| } | } | |||
| skipping to change at page 27, line 4 ¶ | skipping to change at page 23, line 42 ¶ | |||
| Derek Yeung | Derek Yeung | |||
| <mailto:derek@arrcus.com> | <mailto:derek@arrcus.com> | |||
| Acee Lindem | Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Jeffrey Zhang | Jeffrey Zhang | |||
| <mailto:zzhang@juniper.net> | <mailto:zzhang@juniper.net> | |||
| Ladislav Lhotka | Ladislav Lhotka | |||
| <mailto:llhotka@nic.cz> | <mailto:llhotka@nic.cz> | |||
| Yi Yang | Yi Yang | |||
| <mailto:yiya@cisco.com> | <mailto:yiya@cisco.com> | |||
| Dean Bogdanovic | Dean Bogdanovic | |||
| <mailto:deanb@juniper.net> | <mailto:deanb@juniper.net> | |||
| Kiran Agrahara Sreenivasa | Kiran Agrahara Sreenivasa | |||
| <mailto:kkoushik@brocade.com> | <mailto:kkoushik@brocade.com> | |||
| Yingzhen Qu | Yingzhen Qu | |||
| <mailto:yiqu@cisco.com> | <mailto:yiqu@cisco.com> | |||
| Jeff Tantsura | Jeff Tantsura | |||
| <mailto:jeff.tantsura@ericsson.com> | <mailto: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-10-26 { | revision 2016-11-03 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference "draft-ietf-isis-yang-isis-cfg-13"; | 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."; | |||
| } | } | |||
| identity isis-adjacency-change { | identity isis-adjacency-change { | |||
| skipping to change at page 100, line 35 ¶ | skipping to change at page 97, line 26 ¶ | |||
| "This notification is sent when a LSP | "This notification is sent when a LSP | |||
| is regenerated. | is regenerated. | |||
| The notification generation must be throttled with at least | The notification generation must be throttled with at least | |||
| a 5 second gap. "; | a 5 second gap. "; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 8. IS-IS Segment Routing YANG Module | 7. Security Considerations | |||
| <CODE BEGINS> file "ietf-isis-sr@2016-10-26.yang" | ||||
| module ietf-isis-sr { | ||||
| namespace "urn:ietf:params:xml:ns:" | ||||
| + "yang:ietf-isis-sr"; | ||||
| prefix isis-sr; | ||||
| import ietf-routing { | ||||
| prefix "rt"; | ||||
| } | ||||
| import ietf-segment-routing-common { | ||||
| prefix "sr-cmn"; | ||||
| } | ||||
| import ietf-segment-routing { | ||||
| prefix "sr"; | ||||
| } | ||||
| import ietf-isis { | ||||
| prefix "isis"; | ||||
| } | ||||
| organization | ||||
| "IETF ISIS Working Group"; | ||||
| contact | ||||
| "WG List: <mailto:spring@ietf.org> | ||||
| Editor: Stephane Litkowski | ||||
| <mailto:stephane.litkowski@orange.com> | ||||
| Acee Lindem | ||||
| <mailto:acee@cisco.com> | ||||
| Yingzhen Qu | ||||
| <mailto:yiqu@cisco.com> | ||||
| Pushpasis Sarkar | ||||
| <mailto:psarkar@juniper.net> | ||||
| Ing-Wher Chen | ||||
| <mailto:ing-wher.chen@ericsson.com> | ||||
| Jeff Tantsura | ||||
| <mailto:jeff.tantsura@ericsson.com> | ||||
| "; | ||||
| description | ||||
| "The YANG module defines a generic configuration model for | ||||
| Segment routing ISIS extensions common across all of the vendor | ||||
| implementations."; | ||||
| revision 2016-10-26 { | ||||
| description | ||||
| "Initial revision."; | ||||
| reference "draft-ietf-isis-yang-isis-cfg-13"; | ||||
| } | ||||
| /* Identities */ | ||||
| /* Features */ | ||||
| feature remote-lfa-sr { | ||||
| description | ||||
| "Enhance rLFA to use SR path."; | ||||
| } | ||||
| feature ti-lfa { | ||||
| description | ||||
| "Enhance IPFRR with ti-lfa | ||||
| support"; | ||||
| } | ||||
| /* Groupings */ | ||||
| grouping adjacency-state { | ||||
| description | ||||
| "This group will extend adjacency state."; | ||||
| list adjacency-sid { | ||||
| key value; | ||||
| leaf af { | ||||
| type identityref { | ||||
| base rt:address-family; | ||||
| } | ||||
| description | ||||
| "Address-family associated with the | ||||
| segment ID"; | ||||
| } | ||||
| leaf value { | ||||
| type uint32; | ||||
| description | ||||
| "Value of the Adj-SID."; | ||||
| } | ||||
| leaf weight { | ||||
| type uint8; | ||||
| description | ||||
| "Weight associated with | ||||
| the adjacency SID."; | ||||
| } | ||||
| leaf protection-requested { | ||||
| type boolean; | ||||
| description | ||||
| "Describe if the adjacency SID | ||||
| must be protected."; | ||||
| } | ||||
| description | ||||
| "List of adjacency Segment IDs."; | ||||
| } | ||||
| } | ||||
| grouping prefix-segment-id { | ||||
| description | ||||
| "This group defines segment routing extensions | ||||
| for prefixes."; | ||||
| list sid-list { | ||||
| key value; | ||||
| leaf flags { | ||||
| type bits { | ||||
| bit readvertisment { | ||||
| position 7; | ||||
| description | ||||
| "If set, then the prefix to | ||||
| which this Prefix-SID is attached, | ||||
| has been propagated by the | ||||
| router either from another level | ||||
| or from redistribution."; | ||||
| } | ||||
| bit php { | ||||
| position 5; | ||||
| description | ||||
| "If set, then the penultimate hop MUST NOT | ||||
| pop the Prefix-SID before delivering the packet | ||||
| to the node | ||||
| that advertised the Prefix-SID."; | ||||
| } | ||||
| bit explicit-null { | ||||
| position 4; | ||||
| description | ||||
| "If set, any upstream neighbor of | ||||
| the Prefix-SID originator MUST replace | ||||
| the Prefix-SID with a | ||||
| Prefix-SID having an | ||||
| Explicit-NULL value (0 for IPv4 and 2 for | ||||
| IPv6) before forwarding the packet."; | ||||
| } | ||||
| bit value { | ||||
| position 3; | ||||
| description | ||||
| "If set, then the Prefix-SID carries a | ||||
| value (instead of an index). | ||||
| By default the flag is UNSET."; | ||||
| } | ||||
| bit local { | ||||
| position 2; | ||||
| description | ||||
| "If set, then the value/index carried by | ||||
| the Prefix-SID has local significance. | ||||
| By default the flag is UNSET."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Describes flags associated with the | ||||
| segment ID."; | ||||
| } | ||||
| leaf algorithm { | ||||
| type uint8; | ||||
| description | ||||
| "Algorithm to be used for path computation."; | ||||
| } | ||||
| leaf value { | ||||
| type uint32; | ||||
| description | ||||
| "Value of the prefix-SID."; | ||||
| } | ||||
| description | ||||
| "List of segments."; | ||||
| } | ||||
| } | ||||
| grouping adjacency-segment-id { | ||||
| description | ||||
| "This group defines segment routing extensions | ||||
| for adjacencies."; | ||||
| list sid-list { | ||||
| key value; | ||||
| leaf flags { | ||||
| type bits { | ||||
| bit address-family { | ||||
| position 7; | ||||
| description | ||||
| "If unset, then the Adj-SID refers | ||||
| to an adjacency with outgoing IPv4 encapsulation. | ||||
| If set then the Adj-SID refers to an adjacency | ||||
| with outgoing IPv6 encapsulation."; | ||||
| } | ||||
| bit backup { | ||||
| position 6; | ||||
| description | ||||
| "If set, the Adj-SID refers to an | ||||
| adjacency being protected | ||||
| (e.g.: using IPFRR or MPLS-FRR)"; | ||||
| } | ||||
| bit value { | ||||
| position 5; | ||||
| description | ||||
| "If set, then the SID carries a | ||||
| value (instead of an index). | ||||
| By default the flag is SET."; | ||||
| } | ||||
| bit local { | ||||
| position 4; | ||||
| description | ||||
| "If set, then the value/index carried by | ||||
| the SID has local significance. | ||||
| By default the flag is SET."; | ||||
| } | ||||
| bit set { | ||||
| position 3; | ||||
| description | ||||
| "When set, the S-Flag indicates that the | ||||
| Adj-SID refers to a set of adjacencies"; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Describes flags associated with the | ||||
| segment ID."; | ||||
| } | ||||
| leaf weight { | ||||
| type uint8; | ||||
| description | ||||
| "The value represents the weight of the Adj-SID | ||||
| for the purpose of load balancing."; | ||||
| } | ||||
| leaf neighbor-id { | ||||
| type isis:system-id; | ||||
| description | ||||
| "Describes the system ID of the neighbor | ||||
| associated with the SID value. This is only | ||||
| used on LAN adjacencies."; | ||||
| } | ||||
| leaf value { | ||||
| type uint32; | ||||
| description | ||||
| "Value of the Adj-SID."; | ||||
| } | ||||
| description | ||||
| "List of segments."; | ||||
| } | ||||
| } | ||||
| grouping segment-routing-binding-tlv { | ||||
| list segment-routing-bindings { | ||||
| key "fec range"; | ||||
| leaf fec { | ||||
| type string; | ||||
| description | ||||
| "IP (v4 or v6) range to be bound to SIDs."; | ||||
| } | ||||
| leaf range { | ||||
| type uint16; | ||||
| description | ||||
| "Describes number of elements to assign | ||||
| a binding to."; | ||||
| } | ||||
| leaf flags { | ||||
| type bits { | ||||
| bit address-family { | ||||
| position 7; | ||||
| description | ||||
| "If unset, then the Prefix FEC | ||||
| carries an IPv4 Prefix. | ||||
| If set then the Prefix FEC carries an | ||||
| IPv6 Prefix."; | ||||
| } | ||||
| bit mirror { | ||||
| position 6; | ||||
| description | ||||
| "Set if the advertised SID/path | ||||
| corresponds to a mirrored context. | ||||
| "; | ||||
| } | ||||
| bit flooding { | ||||
| position 5; | ||||
| description | ||||
| "If the S bit is set(1), | ||||
| the IS-IS Router CAPABILITY TLV | ||||
| MUST be flooded across the entire routing domain. | ||||
| If the S bit is | ||||
| not set(0), the TLV MUST NOT be leaked between levels. | ||||
| This bit MUST NOT be altered during the TLV leaking."; | ||||
| } | ||||
| bit down { | ||||
| position 4; | ||||
| description | ||||
| "When the IS-IS Router CAPABILITY TLV is | ||||
| leaked from level-2 to level-1, the D bit | ||||
| MUST be set. Otherwise, this bit MUST | ||||
| be clear. IS-IS Router capability TLVs | ||||
| with the D bit set MUST NOT | ||||
| be leaked from level-1 to level-2. | ||||
| This is to prevent TLV looping. | ||||
| "; | ||||
| } | ||||
| bit attached { | ||||
| position 3; | ||||
| description | ||||
| "The originator of the SID/Label Binding | ||||
| TLV MAY set the A bit in order to signal | ||||
| that the prefixes and | ||||
| SIDs advertised in the SID/Label Binding | ||||
| TLV are directly | ||||
| connected to their originators. | ||||
| "; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Flags of the binding."; | ||||
| } | ||||
| leaf weight { | ||||
| type uint8; | ||||
| description | ||||
| "Weight of the path for loadbalancing purpose."; | ||||
| } | ||||
| container binding { | ||||
| container prefix-sid { | ||||
| uses prefix-segment-id; | ||||
| description | ||||
| "Binding prefix SID to the range."; | ||||
| } | ||||
| leaf ero-metric { | ||||
| type uint32; | ||||
| description | ||||
| "Cost of ERO path."; | ||||
| } | ||||
| container ero { | ||||
| leaf address-family { | ||||
| type identityref { | ||||
| base rt:address-family; | ||||
| } | ||||
| description | ||||
| "Address-family."; | ||||
| } | ||||
| leaf loose { | ||||
| type boolean; | ||||
| description | ||||
| "Set to true, | ||||
| if hop is a loose hop."; | ||||
| } | ||||
| leaf address { | ||||
| type string; | ||||
| description | ||||
| "IP address of a node on the | ||||
| path."; | ||||
| } | ||||
| description | ||||
| "Binding ERO path to the range."; | ||||
| } | ||||
| container backup-ero { | ||||
| leaf address-family { | ||||
| type identityref { | ||||
| base rt:address-family; | ||||
| } | ||||
| description | ||||
| "Address-family."; | ||||
| } | ||||
| leaf loose { | ||||
| type boolean; | ||||
| description | ||||
| "Set to true, | ||||
| if hop is a loose hop."; | ||||
| } | ||||
| leaf address { | ||||
| type string; | ||||
| description | ||||
| "IP address of a node on the | ||||
| path."; | ||||
| } | ||||
| description | ||||
| "Binding backup ERO path to the range."; | ||||
| } | ||||
| container unnumbered-interface-id-ero { | ||||
| leaf router-id { | ||||
| type string; | ||||
| description | ||||
| "Router ID of the node owning the interface."; | ||||
| } | ||||
| leaf interface-id { | ||||
| type uint32; | ||||
| description | ||||
| "Interface ID on which the path is built."; | ||||
| } | ||||
| description | ||||
| "Binding a path over unnumbered interface."; | ||||
| } | ||||
| container backup-unnumbered-interface-id-ero { | ||||
| leaf router-id { | ||||
| type string; | ||||
| description | ||||
| "Router ID of the node owning the interface."; | ||||
| } | ||||
| leaf interface-id { | ||||
| type uint32; | ||||
| description | ||||
| "Interface ID on which the path is built."; | ||||
| } | ||||
| description | ||||
| "Binding a backup path over unnumbered interface."; | ||||
| } | ||||
| description | ||||
| "Bindings associated with the range."; | ||||
| } | ||||
| description | ||||
| "This container describes list of SID/Label | ||||
| bindings. | ||||
| ISIS reference is TLV 149."; | ||||
| } | ||||
| description | ||||
| "Defines binding TLV for database."; | ||||
| } | ||||
| /* Cfg */ | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with segment routing."; | ||||
| uses sr:controlplane-cfg; | ||||
| container protocol-srgb { | ||||
| if-feature sr:protocol-srgb; | ||||
| uses sr-cmn:srgb-cfg; | ||||
| description | ||||
| "Per-protocol SRGB."; | ||||
| } | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:interfaces/isis:interface" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with segment routing."; | ||||
| uses sr:igp-interface-cfg; | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:interfaces/isis:interface"+ | ||||
| "/isis:fast-reroute" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS IP FRR with TILFA."; | ||||
| container ti-lfa { | ||||
| if-feature ti-lfa; | ||||
| leaf enable { | ||||
| type boolean; | ||||
| description | ||||
| "Enables TI-LFA computation."; | ||||
| } | ||||
| description | ||||
| "TILFA configuration."; | ||||
| } | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:interfaces/isis:interface"+ | ||||
| "/isis:fast-reroute/isis:lfa/isis:remote-lfa" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS remoteLFA config with | ||||
| use of segment-routing path."; | ||||
| leaf use-segment-routing-path { | ||||
| if-feature remote-lfa-sr; | ||||
| type boolean; | ||||
| description | ||||
| "force remote LFA to use segment routing | ||||
| path instead of LDP path."; | ||||
| } | ||||
| } | ||||
| /* Operational states */ | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with segment routing."; | ||||
| uses sr:controlplane-cfg; | ||||
| container protocol-srgb { | ||||
| if-feature sr:protocol-srgb; | ||||
| uses sr-cmn:srgb-cfg; | ||||
| description | ||||
| "Per-protocol SRGB."; | ||||
| } | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:interfaces/isis:interface" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with segment routing."; | ||||
| uses sr:igp-interface-cfg; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:interfaces/isis:interface" + | ||||
| "/isis:adjacencies/isis:adjacency" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with segment routing."; | ||||
| uses adjacency-state; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:extended-is-neighbor/isis:neighbor" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB neighbor."; | ||||
| uses adjacency-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:mt-is-neighbor/isis:neighbor" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB neighbor."; | ||||
| uses adjacency-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:extended-ipv4-reachability/isis:prefixes" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses prefix-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:mt-extended-ipv4-reachability/isis:prefixes" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses prefix-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:ipv6-reachability/isis:prefixes" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses prefix-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | ||||
| "/isis:mt-ipv6-reachability/isis:prefixes" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses prefix-segment-id; | ||||
| } | ||||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:level-db/isis:lsp" { | ||||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB."; | ||||
| uses segment-routing-binding-tlv; | ||||
| } | ||||
| /* Notifications */ | ||||
| } | ||||
| <CODE ENDS> | ||||
| 9. Security Considerations | ||||
| Configuration and state data defined in this document are designed to | Configuration and state data defined in this document are designed to | |||
| be accessed via the NETCONF protocol [RFC6241]. | be accessed via the NETCONF protocol [RFC6241]. | |||
| As IS-IS is an IGP protocol (critical piece of the network), ensuring | As IS-IS is an IGP protocol (critical piece of the network), ensuring | |||
| stability and security of the protocol is mandatory for the network | stability and security of the protocol is mandatory for the network | |||
| service. | service. | |||
| Authors recommends to implement NETCONF access control model | Authors recommends to implement NETCONF access control model | |||
| ([RFC6536]) to restrict access to all or part of the configuration to | ([RFC6536]) to restrict access to all or part of the configuration to | |||
| skipping to change at page 116, line 12 ¶ | skipping to change at page 98, line 27 ¶ | |||
| 1/lsp/authentication/authentication-key, the authentication MUST | 1/lsp/authentication/authentication-key, the authentication MUST | |||
| never be presented in plaintext format for security reason. Authors | never be presented in plaintext format for security reason. Authors | |||
| recommend the usage of MD5 to display or return the authentication- | recommend the usage of MD5 to display or return the authentication- | |||
| key. | key. | |||
| Some authentication-key may also be present in the /isis | Some authentication-key may also be present in the /isis | |||
| configuration. When configuring IS-IS using the NETCONF protocol, | configuration. When configuring IS-IS using the NETCONF protocol, | |||
| authors recommends the usage of secure transport of NETCONF using SSH | authors recommends the usage of secure transport of NETCONF using SSH | |||
| ([RFC6242]). | ([RFC6242]). | |||
| 10. Contributors | 8. Contributors | |||
| Authors would like to thank Kiran Agrahara Sreenivasa, Dean | Authors would like to thank Kiran Agrahara Sreenivasa, Dean | |||
| Bogdanovic, Yingzhen Qu, Yi Yang for their major contributions to the | Bogdanovic, Yingzhen Qu, Yi Yang for their major contributions to the | |||
| draft. | draft. | |||
| 11. Acknowledgements | 9. Acknowledgements | |||
| TBD. | TBD. | |||
| 12. IANA Considerations | 10. IANA Considerations | |||
| The IANA is requested to assign two new URIs from the IETF XML | The IANA is requested to assign two new URIs from the IETF XML | |||
| registry ([RFC3688]). Authors are suggesting the following URIs : | registry ([RFC3688]). Authors are suggesting the following URI: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis | URI: urn:ietf:params:xml:ns:yang:ietf-isis | |||
| Registrant Contact: IS-IS WG | Registrant Contact: IS-IS WG | |||
| XML: N/A, the requested URI is an XML namespace | XML: N/A, the requested URI is an XML namespace | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis-sr | This document also requests one new YANG module name in the YANG | |||
| Registrant Contact: IS-IS WG | Module Names registry ([RFC6020]) with the following suggestion: | |||
| XML: N/A, the requested URI is an XML namespace | ||||
| This document also requests two new YANG modules name in the YANG | ||||
| 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 | |||
| name: ietf-isis-sr | 11. Change log for ietf-isis YANG module | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr | ||||
| prefix: isis-sr | ||||
| reference: RFC XXXX | ||||
| 13. Change log for ietf-isis-sr YANG module | ||||
| 13.1. From version -12 to version -13 | ||||
| o Align with new segment routing common module. | ||||
| 13.2. From version -09 to version -11 | ||||
| o Fixed XPATH in 'when' expressions. | ||||
| 13.3. From version -08 to version -09 | ||||
| o Align to draft-ietf-netmod-routing-cfg-23. | ||||
| 13.4. From version -07 to version -08 | ||||
| o Align to draft-ietf-netmod-routing-cfg-21. | 11.1. From version -13 to version -14 | |||
| 14. Change log for ietf-isis YANG module | o Segment Routing extensions are now in a separate document. | |||
| 14.1. From version -12 to version -13 | 11.2. 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. | |||
| 14.2. From version -09 to version -12 | 11.3. From version -09 to version -12 | |||
| o Rename node-tag container to node-tags. | o Rename node-tag container to node-tags. | |||
| 14.3. From version -08 to version -09 | 11.4. From version -08 to version -09 | |||
| o Added container before af list. | o Added container before af list. | |||
| o Added container before topology list. | o Added container before topology list. | |||
| o Aligned LFA if per level cfg. | o Aligned LFA if per level cfg. | |||
| o Align to draft-ietf-netmod-routing-cfg-23. | o Align to draft-ietf-netmod-routing-cfg-23. | |||
| 14.4. From version -07 to version -08 | 11.5. From version -07 to version -08 | |||
| o Remove selector from system-id type. | o Remove selector from system-id type. | |||
| o Add some default values. | o Add some default values. | |||
| o Moved lists to containers+groupings for per level configuration. | o Moved lists to containers+groupings for per level configuration. | |||
| o remove routing-instance as per core routing model v21. | o remove routing-instance as per core routing model v21. | |||
| o added BFD leaf (no more BFD protocol model). | o added BFD leaf (no more BFD protocol model). | |||
| o changed keychain module reference. | o changed keychain module reference. | |||
| 14.5. From version -05 to version -07 | 11.6. From version -05 to version -07 | |||
| o Move Overload config from list to container. | o Move Overload config from list to container. | |||
| o Move Overload-max-metric config from list to container. | o Move Overload-max-metric config from list to container. | |||
| o Move preference config from list to container. | o Move preference config from list to container. | |||
| o Add Node flag in config. | o Add Node flag in config. | |||
| o Removed BFD config => moved to isis-bfd module. | o Removed BFD config => moved to isis-bfd module. | |||
| o Remove call to routing policy model. | o Remove call to routing policy model. | |||
| 14.6. From version -03 to version -05 | 11.7. From version -03 to version -05 | |||
| o Correct invalid references to previous versions of core routing | o Correct invalid references to previous versions of core routing | |||
| model. | model. | |||
| o Remove BFD config and replace by groupings from ietf-bfd. | o Remove BFD config and replace by groupings from ietf-bfd. | |||
| o Adding routing-policy support through routing-policy model. | o Adding routing-policy support through routing-policy model. | |||
| 14.7. From version -02 to version -03 | 11.8. From version -02 to version -03 | |||
| o Reviewed config and op state groupings. | o Reviewed config and op state groupings. | |||
| o Add default value to lfa candidate-disabled. | o Add default value to lfa candidate-disabled. | |||
| o Add enable leaf to isis container to reflect admin state. | o Add enable leaf to isis container to reflect admin state. | |||
| o Move to VRF centric only. | o Move to VRF centric only. | |||
| o Segment routing is part os a separate module. | o Segment routing is part os a separate module. | |||
| 14.8. From version -01 to version -02 | 11.9. 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 119, line 31 ¶ | skipping to change at page 101, line 17 ¶ | |||
| o Added modification information in lsp-log. | o Added modification information in lsp-log. | |||
| o Removing igp-ldp-sync timer in IS-IS. | o Removing igp-ldp-sync timer in IS-IS. | |||
| o Defining hierarchy for operational states. | o Defining hierarchy for operational states. | |||
| o Adding clns-mtu. | o Adding clns-mtu. | |||
| o Adding key-chain. | o Adding key-chain. | |||
| 14.9. From version -00 to version -01 | 11.10. 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 120, line 13 ¶ | skipping to change at page 101, line 47 ¶ | |||
| o Change hello-padding to container. | o Change hello-padding to container. | |||
| o Change bfd to container. | o Change bfd to container. | |||
| o Make BFD a feature. | o Make BFD a feature. | |||
| o Create mpls-te container and put router-id inside. | o Create mpls-te container and put router-id inside. | |||
| o Remove GR helper disable and timers. | o Remove GR helper disable and timers. | |||
| 15. Normative References | 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-24 (work in | Management", draft-ietf-netmod-routing-cfg-24 (work in | |||
| progress), October 2016. | progress), October 2016. | |||
| [I-D.ietf-rtgwg-yang-key-chain] | [I-D.ietf-rtgwg-yang-key-chain] | |||
| Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. | Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. | |||
| Yang, "Routing Key Chain YANG Data Model", draft-ietf- | Yang, "Routing Key Chain YANG Data Model", draft-ietf- | |||
| rtgwg-yang-key-chain-09 (work in progress), September | rtgwg-yang-key-chain-10 (work in progress), October 2016. | |||
| 2016. | ||||
| [I-D.ietf-spring-sr-yang] | ||||
| Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | ||||
| Data Model for Segment Routing", draft-ietf-spring-sr- | ||||
| yang-04 (work in progress), October 2016. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <http://www.rfc-editor.org/info/rfc3688>. | <http://www.rfc-editor.org/info/rfc3688>. | |||
| End of changes. 39 change blocks. | ||||
| 950 lines changed or deleted | 59 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/ | ||||