| < draft-ietf-isis-sr-yang-01.txt | draft-ietf-isis-sr-yang-02.txt > | |||
|---|---|---|---|---|
| IS-IS Working Group S. Litkowski | IS-IS Working Group S. Litkowski | |||
| Internet-Draft Orange | Internet-Draft Orange | |||
| Intended status: Standards Track Y. Qu | Intended status: Standards Track Y. Qu | |||
| Expires: November 6, 2017 Huawei | Expires: January 26, 2018 Huawei | |||
| P. Sarkar | P. Sarkar | |||
| Individual | Individual | |||
| I. Chen | I. Chen | |||
| Jabil | Jabil | |||
| J. Tantsura | J. Tantsura | |||
| Individual | Individual | |||
| May 05, 2017 | July 25, 2017 | |||
| YANG Data Model for IS-IS Segment Routing | YANG Data Model for IS-IS Segment Routing | |||
| draft-ietf-isis-sr-yang-01 | draft-ietf-isis-sr-yang-02 | |||
| 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 Segment Routing | and manage IS-IS Segment Routing | |||
| ([I-D.ietf-isis-segment-routing-extensions]. | ([I-D.ietf-isis-segment-routing-extensions]. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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 November 6, 2017. | This Internet-Draft will expire on January 26, 2018. | |||
| 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 | |||
| 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. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. IS-IS Segment Routing . . . . . . . . . . . . . . . . . . . . 3 | 2. IS-IS Segment Routing . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. IS-IS Segment Routing configuration . . . . . . . . . . . . . 6 | 3. IS-IS Segment Routing configuration . . . . . . . . . . . . . 5 | |||
| 3.1. Segment Routing activation . . . . . . . . . . . . . . . 6 | 3.1. Segment Routing activation . . . . . . . . . . . . . . . 5 | |||
| 3.2. Advertising mapping server policy . . . . . . . . . . . . 6 | 3.2. Advertising mapping server policy . . . . . . . . . . . . 5 | |||
| 3.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 6 | 3.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. IS-IS Segment Routing YANG Module . . . . . . . . . . . . . . 6 | 4. IS-IS Segment Routing YANG Module . . . . . . . . . . . . . . 5 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
| 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 | 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 9. Change log for ietf-isis-sr YANG module . . . . . . . . . . . 22 | 9. Change log for ietf-isis-sr YANG module . . . . . . . . . . . 21 | |||
| 9.1. From isis document version -12 to isis-sr document | 9.1. From isis-sr document version -01 to version -02 . . . . 21 | |||
| version -00 . . . . . . . . . . . . . . . . . . . . . . . 22 | 9.2. From isis-sr document version -00 to version -01 . . . . 21 | |||
| 9.2. From isis document version -12 to version -13 . . . . . . 22 | 9.3. From isis document version -12 to isis-sr document | |||
| 9.3. From isis document version -09 to version -11 . . . . . . 22 | version -00 . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 9.4. From isis document version -08 to version -09 . . . . . . 22 | 9.4. From isis document version -12 to version -13 . . . . . . 21 | |||
| 9.5. From isis document version -07 to version -08 . . . . . . 22 | 9.5. From isis document version -09 to version -11 . . . . . . 21 | |||
| 9.6. From isis-sr document version -00 to version -01 . . . . 22 | 9.6. From isis document version -08 to version -09 . . . . . . 22 | |||
| 9.7. From isis document version -07 to version -08 . . . . . . 22 | ||||
| 10. Normative References . . . . . . . . . . . . . . . . . . . . 22 | 10. Normative References . . . . . . . . . . . . . . . . . . . . 22 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 1. Overview | 1. Overview | |||
| YANG [RFC6020] [RFC7950] is a data definition language used to | YANG [RFC6020] [RFC7950] is a data definition language used to | |||
| define the contents of a conceptual data store that allows networked | define the contents of a conceptual data store that allows networked | |||
| devices to be managed using NETCONF [RFC6241]. YANG is proving | devices to be managed using NETCONF [RFC6241]. YANG is proving | |||
| relevant beyond its initial confines, as bindings to other interfaces | relevant beyond its initial confines, as bindings to other interfaces | |||
| (e.g., ReST) and encodings other than XML (e.g., JSON) are being | (e.g., ReST) and encodings other than XML (e.g., JSON) are being | |||
| skipping to change at page 3, line 26 ¶ | skipping to change at page 3, line 26 ¶ | |||
| The IS-IS SR YANG module requires support for the base segment | The IS-IS SR YANG module requires support for the base segment | |||
| routing module [I-D.ietf-spring-sr-yang], which defines the global | routing module [I-D.ietf-spring-sr-yang], which defines the global | |||
| segment routing configuration independent of any specific routing | segment routing configuration independent of any specific routing | |||
| protocol configuration, and support of IS-IS base model | protocol configuration, and support of IS-IS base model | |||
| [I-D.ietf-isis-yang-isis-cfg] which defines basic IS-IS configuration | [I-D.ietf-isis-yang-isis-cfg] which defines basic IS-IS configuration | |||
| and state. | and state. | |||
| The figure below describes the overall structure of the isis-sr YANG | The figure below describes the overall structure of the isis-sr YANG | |||
| module: | module: | |||
| module: ietf-isis-sr | module: ietf-isis-sr | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /rt:control-plane-protocol/isis:isis: | /isis:isis: | |||
| +--rw segment-routing | +--rw segment-routing | |||
| | +--rw enabled? boolean | | +--rw enabled? boolean | |||
| | +--rw bindings | | +--rw bindings | |||
| | +--rw advertise | | +--rw advertise | |||
| | | +--rw policies* string | | | ... | |||
| | +--rw receive? boolean | | +--rw receive? boolean | |||
| +--rw protocol-srgb {sr:protocol-srgb}? | +--rw protocol-srgb {sr:protocol-srgb}? | |||
| +--rw srgb* [lower-bound upper-bound] | +--rw srgb* [lower-bound upper-bound] | |||
| +--rw lower-bound uint32 | +--rw lower-bound uint32 | |||
| +--rw upper-bound uint32 | +--rw upper-bound uint32 | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /rt:control-plane-protocol/isis:isis/isis:interfaces | /isis:isis/isis:interfaces/isis:interface: | |||
| /isis:interface: | +--rw segment-routing | |||
| +--rw segment-routing | +--rw adjacency-sid | |||
| +--rw adjacency-sid | +--rw advertise-adj-group-sid* [group-id] | |||
| +--rw advertise-adj-group-sid* [group-id] | | ... | |||
| | +--rw group-id uint32 | +--rw advertise-protection? enumeration | |||
| +--rw advertise-protection? enumeration | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| augment /rt:routing/rt:control-plane-protocols | /isis:isis/isis:interfaces/isis:interface/isis:fast-reroute: | |||
| /rt:control-plane-protocol/isis:isis/isis:interfaces | +--rw ti-lfa {ti-lfa}? | |||
| /isis:interface/isis:fast-reroute: | +--rw enable? boolean | |||
| +--rw ti-lfa {ti-lfa}? | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| +--rw enable? boolean | /isis:isis/isis:interfaces/isis:interface/isis:fast-reroute/isis:lfa/isi | |||
| s:remote-lfa: | ||||
| augment /rt:routing/rt:control-plane-protocols | +--rw use-segment-routing-path? boolean {remote-lfa-sr}? | |||
| /rt:control-plane-protocol/isis:isis/isis:interfaces | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /isis:interface/isis:fast-reroute/isis:lfa/isis:remote-lfa: | /isis:isis/isis:interfaces/isis:interface/isis:adjacencies/isis:adjacenc | |||
| +--rw use-segment-routing-path? boolean {remote-lfa-sr}? | y: | |||
| augment /rt:routing-state/rt:control-plane-protocols | +--ro adjacency-sid* [value] | |||
| /rt:control-plane-protocol/isis:isis: | +--ro af? identityref | |||
| +--ro segment-routing | +--ro value uint32 | |||
| | +--ro enabled? boolean | +--ro weight? uint8 | |||
| | +--ro bindings | +--ro protection-requested? boolean | |||
| | +--ro advertise | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| | | +--ro policies* string | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:router-capabilities | |||
| | +--ro receive? boolean | : | |||
| +--ro protocol-srgb {sr:protocol-srgb}? | +--ro sr-capability | |||
| +--ro srgb* [lower-bound upper-bound] | | +--ro flags? bits | |||
| +--ro lower-bound uint32 | | +--ro global-blocks | |||
| +--ro upper-bound uint32 | | +--ro global-block* | |||
| augment /rt:routing-state/rt:control-plane-protocols | | ... | |||
| /rt:control-plane-protocol/isis:isis/isis:interfaces | +--ro sr-algorithms | |||
| /isis:interface: | | +--ro sr-algorithm* uint8 | |||
| +--ro segment-routing | +--ro local-blocks | |||
| +--ro adjacency-sid | | +--ro local-block* | |||
| +--ro advertise-adj-group-sid* [group-id] | | +--ro range-size? uint32 | |||
| | +--ro group-id uint32 | | +--ro sid-sub-tlv | |||
| +--ro advertise-protection? enumeration | | ... | |||
| augment /rt:routing-state/rt:control-plane-protocols | +--ro srms-preference | |||
| /rt:control-plane-protocol/isis:isis/isis:interfaces | +--ro preference? uint8 | |||
| /isis:interface/isis:adjacencies/isis:adjacency: | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| +--ro adjacency-sid* [value] | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-is-neighbo | |||
| +--ro af? identityref | r/isis:neighbor: | |||
| +--ro value uint32 | +--ro sid-list* [value] | |||
| +--ro weight? uint8 | +--ro flags? bits | |||
| +--ro protection-requested? boolean | +--ro weight? uint8 | |||
| augment /rt:routing-state/rt:control-plane-protocols | +--ro neighbor-id? isis:system-id | |||
| /rt:control-plane-protocol/isis:isis/isis:database | +--ro value uint32 | |||
| /isis:level-db/isis:lsp/isis:extended-is-neighbor | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /isis:neighbor: | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-is-neighbor/isis | |||
| +--ro sid-list* [value] | :neighbor: | |||
| +--ro flags? bits | +--ro sid-list* [value] | |||
| +--ro weight? uint8 | +--ro flags? bits | |||
| +--ro neighbor-id? isis:system-id | +--ro weight? uint8 | |||
| +--ro value uint32 | +--ro neighbor-id? isis:system-id | |||
| augment /rt:routing-state/rt:control-plane-protocols | +--ro value uint32 | |||
| /rt:control-plane-protocol/isis:isis/isis:database | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /isis:level-db/isis:lsp/isis:mt-is-neighbor/isis:neighbor: | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:extended-ipv4-reach | |||
| +--ro sid-list* [value] | ability/isis:prefixes: | |||
| +--ro flags? bits | +--ro sid-list* [value] | |||
| +--ro weight? uint8 | +--ro flags? bits | |||
| +--ro neighbor-id? isis:system-id | +--ro algorithm? uint8 | |||
| +--ro value uint32 | +--ro value uint32 | |||
| augment /rt:routing-state/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| /rt:control-plane-protocol/isis:isis/isis:database | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-extended-ipv4-re | |||
| /isis:level-db/isis:lsp/isis:extended-ipv4-reachability | achability/isis:prefixes: | |||
| /isis:prefixes: | +--ro sid-list* [value] | |||
| +--ro sid-list* [value] | +--ro flags? bits | |||
| +--ro flags? bits | +--ro algorithm? uint8 | |||
| +--ro algorithm? uint8 | +--ro value uint32 | |||
| +--ro value uint32 | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| augment /rt:routing-state/rt:control-plane-protocols | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:ipv6-reachability/i | |||
| /rt:control-plane-protocol/isis:isis/isis:database | sis:prefixes: | |||
| /isis:level-db/isis:lsp/isis:mt-extended-ipv4-reachability | +--ro sid-list* [value] | |||
| /isis:prefixes: | +--ro flags? bits | |||
| +--ro sid-list* [value] | +--ro algorithm? uint8 | |||
| +--ro flags? bits | +--ro value uint32 | |||
| +--ro algorithm? uint8 | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| +--ro value uint32 | /isis:isis/isis:database/isis:level-db/isis:lsp/isis:mt-ipv6-reachabilit | |||
| augment /rt:routing-state/rt:control-plane-protocols | y/isis:prefixes: | |||
| /rt:control-plane-protocol/isis:isis/isis:database | +--ro sid-list* [value] | |||
| /isis:level-db/isis:lsp/isis:ipv6-reachability | +--ro flags? bits | |||
| /isis:prefixes: | +--ro algorithm? uint8 | |||
| +--ro sid-list* [value] | +--ro value uint32 | |||
| +--ro flags? bits | augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol | |||
| +--ro algorithm? uint8 | /isis:isis/isis:database/isis:level-db/isis:lsp: | |||
| +--ro value uint32 | +--ro segment-routing-bindings* [fec range] | |||
| augment /rt:routing-state/rt:control-plane-protocols | +--ro fec string | |||
| /rt:control-plane-protocol/isis:isis/isis:database | +--ro range uint16 | |||
| /isis:level-db/isis:lsp/isis:mt-ipv6-reachability | +--ro flags? bits | |||
| /isis:prefixes: | +--ro binding | |||
| +--ro sid-list* [value] | +--ro prefix-sid | |||
| +--ro flags? bits | ... | |||
| +--ro algorithm? uint8 | ||||
| +--ro value uint32 | ||||
| augment /rt:routing-state/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/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 | ||||
| 3. IS-IS Segment Routing configuration | 3. IS-IS Segment Routing configuration | |||
| 3.1. Segment Routing activation | 3.1. Segment Routing activation | |||
| Activation of segment-routing IS-IS is done by setting the "enable" | Activation of segment-routing IS-IS is done by setting the "enable" | |||
| leaf to true. This triggers advertisement of segment-routing | leaf to true. This triggers advertisement of segment-routing | |||
| extensions based on the configuration parameters that have been setup | extensions based on the configuration parameters that have been setup | |||
| using the base segment routing module. | using the base segment routing module. | |||
| skipping to change at page 6, line 46 ¶ | skipping to change at page 5, line 43 ¶ | |||
| 3.3. IP Fast reroute | 3.3. IP Fast reroute | |||
| IS-IS SR model augments the fast-reroute container under interface. | IS-IS SR model augments the fast-reroute container under interface. | |||
| It brings the ability to activate TI-LFA (topology independent LFA) | It brings the ability to activate TI-LFA (topology independent LFA) | |||
| and also enhances remote LFA to use segment-routing tunneling instead | and also enhances remote LFA to use segment-routing tunneling instead | |||
| of LDP. | of LDP. | |||
| 4. IS-IS Segment Routing YANG Module | 4. IS-IS Segment Routing YANG Module | |||
| <CODE BEGINS> file "ietf-isis-sr@2017-05-05.yang" | <CODE BEGINS> file "ietf-isis-sr@2017-07-25.yang" | |||
| module ietf-isis-sr { | module ietf-isis-sr { | |||
| namespace "urn:ietf:params:xml:ns:" | namespace "urn:ietf:params:xml:ns:" | |||
| + "yang:ietf-isis-sr"; | + "yang:ietf-isis-sr"; | |||
| prefix isis-sr; | prefix isis-sr; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-segment-routing-common { | import ietf-segment-routing-common { | |||
| prefix "sr-cmn"; | prefix "sr-cmn"; | |||
| } | } | |||
| import ietf-segment-routing { | import ietf-segment-routing { | |||
| prefix "sr"; | prefix "sr"; | |||
| } | } | |||
| import ietf-isis { | import ietf-isis { | |||
| prefix "isis"; | prefix "isis"; | |||
| } | } | |||
| import iana-routing-types { | ||||
| prefix "iana-rt-types"; | ||||
| } | ||||
| organization | organization | |||
| "IETF ISIS Working Group"; | "IETF ISIS Working Group"; | |||
| contact | contact | |||
| "WG List: <mailto:isis@ietf.org> | "WG List: <mailto:spring@ietf.org> | |||
| Editor: Stephane Litkowski | Editor: Stephane Litkowski | |||
| <mailto:stephane.litkowski@orange.com> | <mailto:stephane.litkowski@orange.com> | |||
| Acee Lindem | Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Yingzhen Qu | Yingzhen Qu | |||
| <mailto:yingzhen.qu@huawei.com> | <mailto:yiqu@cisco.com> | |||
| Pushpasis Sarkar | Pushpasis Sarkar | |||
| <mailto:pushpasis.ietf@gmail.com> | <mailto:pushpasis.ietf@gmail.com> | |||
| Ing-Wher Chen | Ing-Wher Chen | |||
| <mailto:ng-wher_chen@jabil.com> | <mailto:ichen@kuatrotech.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 | |||
| Segment routing ISIS extensions common across all of the vendor | Segment routing ISIS extensions common across all of the vendor | |||
| implementations."; | implementations."; | |||
| revision 2017-05-05 { | revision 2017-07-25 { | |||
| description | description | |||
| "Add p-flag in adj-sid."; | "Initial revision."; | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| } | } | |||
| /* Identities */ | /* Identities */ | |||
| /* Features */ | /* Features */ | |||
| feature remote-lfa-sr { | feature remote-lfa-sr { | |||
| description | description | |||
| "Enhance rLFA to use SR path."; | "Enhance rLFA to use SR path."; | |||
| } | } | |||
| feature ti-lfa { | feature ti-lfa { | |||
| description | description | |||
| "Enhance IPFRR with ti-lfa | "Enhance IPFRR with ti-lfa | |||
| support"; | support"; | |||
| } | } | |||
| /* Groupings */ | /* Groupings */ | |||
| grouping sid-sub-tlv { | ||||
| description "SID/Label sub-TLV grouping."; | ||||
| container sid-sub-tlv { | ||||
| description | ||||
| "Used to advertise the SID/Label associated with a | ||||
| prefix or adjacency."; | ||||
| leaf sid { | ||||
| type uint32; | ||||
| description | ||||
| "Segment Identifier (SID) - A 20 bit label or | ||||
| 32 bit SID."; | ||||
| } | ||||
| } | ||||
| } | ||||
| grouping sr-capability { | ||||
| description | ||||
| "SR capability grouping."; | ||||
| container sr-capability { | ||||
| description | ||||
| "Segment Routing capability."; | ||||
| leaf flags { | ||||
| type bits { | ||||
| bit mpls-ipv4 { | ||||
| position 0; | ||||
| description | ||||
| "If set, then the router is capable of | ||||
| processing SR MPLS encapsulated IPv4 packets | ||||
| on all interfaces."; | ||||
| } | ||||
| bit mpls-ipv6 { | ||||
| position 1; | ||||
| description | ||||
| "If set, then the router is capable of | ||||
| processing SR MPLS encapsulated IPv6 packets | ||||
| on all interfaces."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Flags."; | ||||
| } | ||||
| container global-blocks { | ||||
| description | ||||
| "Segment Routing Global Blocks."; | ||||
| list global-block { | ||||
| description "Segment Routing Global Block."; | ||||
| leaf range-size { | ||||
| type uint32; | ||||
| description "The SID range."; | ||||
| } | ||||
| uses sid-sub-tlv; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| grouping sr-algorithm { | ||||
| description | ||||
| "SR algorithm grouping."; | ||||
| container sr-algorithms { | ||||
| description "All SR algorithms."; | ||||
| leaf-list sr-algorithm { | ||||
| type uint8; | ||||
| description | ||||
| "The Segment Routing (SR) algorithms that the router is | ||||
| currently using."; | ||||
| } | ||||
| } | ||||
| } | ||||
| grouping srlb { | ||||
| description | ||||
| "SR Local Block grouping."; | ||||
| container local-blocks { | ||||
| description "List of SRLBs."; | ||||
| list local-block { | ||||
| description "Segment Routing Local Block."; | ||||
| leaf range-size { | ||||
| type uint32; | ||||
| description "The SID range."; | ||||
| } | ||||
| uses sid-sub-tlv; | ||||
| } | ||||
| } | ||||
| } | ||||
| grouping srms-preference { | ||||
| description "The SRMS preference TLV is used to advertise | ||||
| a preference associated with the node that acts | ||||
| as an SR Mapping Server."; | ||||
| container srms-preference { | ||||
| description "SRMS Preference TLV."; | ||||
| leaf preference { | ||||
| type uint8 { | ||||
| range "0 .. 255"; | ||||
| } | ||||
| description "SRMS preference TLV, vlaue from 0 to 255."; | ||||
| } | ||||
| } | ||||
| } | ||||
| grouping adjacency-state { | grouping adjacency-state { | |||
| description | description | |||
| "This group will extend adjacency state."; | "This group will extend adjacency state."; | |||
| list adjacency-sid { | list adjacency-sid { | |||
| key value; | key value; | |||
| config false; | ||||
| leaf af { | leaf af { | |||
| type identityref { | type identityref { | |||
| base rt:address-family; | base iana-rt-types:address-family; | |||
| } | } | |||
| description | description | |||
| "Address-family associated with the | "Address-family associated with the | |||
| segment ID"; | segment ID"; | |||
| } | } | |||
| leaf value { | leaf value { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Value of the Adj-SID."; | "Value of the Adj-SID."; | |||
| } | } | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 12, line 17 ¶ | |||
| leaf flags { | leaf flags { | |||
| type bits { | type bits { | |||
| bit address-family { | bit address-family { | |||
| position 7; | position 7; | |||
| description | description | |||
| "If unset, then the Adj-SID refers | "If unset, then the Adj-SID refers | |||
| to an adjacency with outgoing IPv4 encapsulation. | to an adjacency with outgoing IPv4 encapsulation. | |||
| If set then the Adj-SID refers to an adjacency | If set then the Adj-SID refers to an adjacency | |||
| with outgoing IPv6 encapsulation."; | with outgoing IPv6 encapsulation."; | |||
| } | } | |||
| bit backup { | bit backup { | |||
| position 6; | position 6; | |||
| description | description | |||
| "If set, the Adj-SID refers to an | "If set, the Adj-SID refers to an | |||
| adjacency being protected | adjacency being protected | |||
| (e.g.: using IPFRR or MPLS-FRR)"; | (e.g.: using IPFRR or MPLS-FRR)"; | |||
| } | } | |||
| bit value { | bit value { | |||
| position 5; | position 5; | |||
| description | description | |||
| "If set, then the SID carries a | "If set, then the SID carries a | |||
| value (instead of an index). | value (instead of an index). | |||
| By default the flag is SET."; | By default the flag is SET."; | |||
| } | } | |||
| bit local { | bit local { | |||
| position 4; | position 4; | |||
| description | description | |||
| "If set, then the value/index carried by | "If set, then the value/index carried by | |||
| the SID has local significance. | the SID has local significance. | |||
| By default the flag is SET."; | By default the flag is SET."; | |||
| } | } | |||
| bit set { | bit set { | |||
| position 3; | position 3; | |||
| description | description | |||
| "When set, the S-Flag indicates that the | "When set, the S-Flag indicates that the | |||
| Adj-SID refers to a set of adjacencies"; | Adj-SID refers to a set of adjacencies."; | |||
| } | } | |||
| bit persistent { | bit persistent { | |||
| position 2; | position 2; | |||
| description | description | |||
| "When set, the P-Flag indicates that the | "When set, the P-Flag indicates that the | |||
| Adj-SID is persistently allocated."; | Adj-SID is persistently allocated."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Describes flags associated with the | "Describes flags associated with the | |||
| segment ID."; | segment ID."; | |||
| } | } | |||
| leaf weight { | leaf weight { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "The value represents the weight of the Adj-SID | "The value represents the weight of the Adj-SID | |||
| skipping to change at page 13, line 40 ¶ | skipping to change at page 15, line 4 ¶ | |||
| bit attached { | bit attached { | |||
| position 3; | position 3; | |||
| description | description | |||
| "The originator of the SID/Label Binding | "The originator of the SID/Label Binding | |||
| TLV MAY set the A bit in order to signal | TLV MAY set the A bit in order to signal | |||
| that the prefixes and | that the prefixes and | |||
| SIDs advertised in the SID/Label Binding | SIDs advertised in the SID/Label Binding | |||
| TLV are directly | TLV are directly | |||
| connected to their originators. | connected to their originators. | |||
| "; | "; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Flags of the binding."; | "Flags of the binding."; | |||
| } | } | |||
| leaf weight { | ||||
| type uint8; | ||||
| description | ||||
| "Weight of the path for loadbalancing purpose."; | ||||
| } | ||||
| container binding { | container binding { | |||
| container prefix-sid { | container prefix-sid { | |||
| uses prefix-segment-id; | uses prefix-segment-id; | |||
| description | description | |||
| "Binding prefix SID to the range."; | "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 | description | |||
| "Bindings associated with the range."; | "Bindings associated with the range."; | |||
| } | } | |||
| description | description | |||
| "This container describes list of SID/Label | "This container describes list of SID/Label | |||
| bindings. | bindings. | |||
| ISIS reference is TLV 149."; | ISIS reference is TLV 149."; | |||
| } | } | |||
| description | description | |||
| "Defines binding TLV for database."; | "Defines binding TLV for database."; | |||
| } | } | |||
| /* Cfg */ | /* Cfg */ | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| skipping to change at page 17, line 46 ¶ | skipping to change at page 17, line 17 ¶ | |||
| "This augments ISIS remoteLFA config with | "This augments ISIS remoteLFA config with | |||
| use of segment-routing path."; | use of segment-routing path."; | |||
| leaf use-segment-routing-path { | leaf use-segment-routing-path { | |||
| if-feature remote-lfa-sr; | if-feature remote-lfa-sr; | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "force remote LFA to use segment routing | "force remote LFA to use segment routing | |||
| path instead of LDP path."; | path instead of LDP path."; | |||
| } | } | |||
| } | } | |||
| /* Operational states */ | /* 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/" + | |||
| augment "/rt:routing-state/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" { | "/isis:isis/isis:interfaces/isis:interface" + | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | "/isis:adjacencies/isis:adjacency" { | |||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol configuration | "This augments ISIS protocol configuration | |||
| with segment routing."; | with segment routing."; | |||
| uses sr:igp-interface-cfg; | uses adjacency-state; | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:interfaces/isis:interface" + | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:adjacencies/isis:adjacency" { | "/isis:router-capabilities" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol configuration | "This augments ISIS protocol LSDB router capability."; | |||
| with segment routing."; | ||||
| uses sr-capability; | ||||
| uses sr-algorithm; | ||||
| uses srlb; | ||||
| uses srms-preference; | ||||
| uses adjacency-state; | ||||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:extended-is-neighbor/isis:neighbor" { | "/isis:extended-is-neighbor/isis:neighbor" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB neighbor."; | "This augments ISIS protocol LSDB neighbor."; | |||
| uses adjacency-segment-id; | uses adjacency-segment-id; | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:mt-is-neighbor/isis:neighbor" { | "/isis:mt-is-neighbor/isis:neighbor" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB neighbor."; | "This augments ISIS protocol LSDB neighbor."; | |||
| uses adjacency-segment-id; | uses adjacency-segment-id; | |||
| } | } | |||
| augment "/rt:routing-state/" + | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:extended-ipv4-reachability/isis:prefixes" { | "/isis:extended-ipv4-reachability/isis:prefixes" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB prefix."; | "This augments ISIS protocol LSDB prefix."; | |||
| uses prefix-segment-id; | ||||
| uses prefix-segment-id; | ||||
| } | } | |||
| augment "/rt:routing-state/" + | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:mt-extended-ipv4-reachability/isis:prefixes" { | "/isis:mt-extended-ipv4-reachability/isis:prefixes" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB prefix."; | "This augments ISIS protocol LSDB prefix."; | |||
| uses prefix-segment-id; | uses prefix-segment-id; | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:ipv6-reachability/isis:prefixes" { | "/isis:ipv6-reachability/isis:prefixes" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB prefix."; | "This augments ISIS protocol LSDB prefix."; | |||
| uses prefix-segment-id; | uses prefix-segment-id; | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | "/isis:isis/isis:database/isis:level-db/isis:lsp"+ | |||
| "/isis:mt-ipv6-reachability/isis:prefixes" { | "/isis:mt-ipv6-reachability/isis:prefixes" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB prefix."; | "This augments ISIS protocol LSDB prefix."; | |||
| uses prefix-segment-id; | uses prefix-segment-id; | |||
| } | } | |||
| augment "/rt:routing-state/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:level-db/isis:lsp" { | "/isis:isis/isis:database/isis:level-db/isis:lsp" { | |||
| when "/rt:routing-state/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB."; | "This augments ISIS protocol LSDB."; | |||
| uses segment-routing-binding-tlv; | uses segment-routing-binding-tlv; | |||
| } | } | |||
| skipping to change at page 21, line 45 ¶ | skipping to change at page 21, line 5 ¶ | |||
| 7. Acknowledgements | 7. Acknowledgements | |||
| TBD. | TBD. | |||
| 8. IANA Considerations | 8. 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 URI: | registry ([RFC3688]). Authors are suggesting the following URI: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis-sr | URI: urn:ietf:params:xml:ns:yang:ietf-isis-sr | |||
| 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 | |||
| 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-sr | name: ietf-isis-sr | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr | namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr | |||
| prefix: isis-sr | prefix: isis-sr | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 9. Change log for ietf-isis-sr YANG module | 9. Change log for ietf-isis-sr YANG module | |||
| 9.1. From isis document version -12 to isis-sr document version -00 | 9.1. From isis-sr document version -01 to version -02 | |||
| o NMDA compliancy. | ||||
| o Added SRLB in configuration and LSDB. | ||||
| o Added SR capability in LSDB. | ||||
| o Added SR algorithms in LSDB. | ||||
| o Added SRMS preference in LSDB. | ||||
| o Alignment with iana-rt-types module. | ||||
| o Align binding SID with draft-ietf-isis-segment-routing-extensions- | ||||
| 13. | ||||
| 9.2. From isis-sr document version -00 to version -01 | ||||
| o Added P-Flag in Adj-SID. | ||||
| 9.3. From isis document version -12 to isis-sr document version -00 | ||||
| o Separate document for IS-IS SR extensions. | o Separate document for IS-IS SR extensions. | |||
| 9.2. From isis document version -12 to version -13 | 9.4. From isis document version -12 to version -13 | |||
| o Align with new segment routing common module. | o Align with new segment routing common module. | |||
| 9.3. From isis document version -09 to version -11 | 9.5. From isis document version -09 to version -11 | |||
| o Fixed XPATH in 'when' expressions. | o Fixed XPATH in 'when' expressions. | |||
| 9.4. From isis document version -08 to version -09 | 9.6. From isis document version -08 to version -09 | |||
| o Align to draft-ietf-netmod-routing-cfg-23. | o Align to draft-ietf-netmod-routing-cfg-23. | |||
| 9.5. From isis document version -07 to version -08 | 9.7. From isis document version -07 to version -08 | |||
| o Align to draft-ietf-netmod-routing-cfg-21. | o Align to draft-ietf-netmod-routing-cfg-21. | |||
| 9.6. From isis-sr document version -00 to version -01 | ||||
| o Added P-Flag in Adj-SID.. | ||||
| 10. Normative References | 10. Normative References | |||
| [I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-isis-segment-routing-extensions] | |||
| Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., | Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., | |||
| Litkowski, S., Decraene, B., and j. jefftant@gmail.com, | Litkowski, S., Decraene, B., and j. jefftant@gmail.com, | |||
| "IS-IS Extensions for Segment Routing", draft-ietf-isis- | "IS-IS Extensions for Segment Routing", draft-ietf-isis- | |||
| segment-routing-extensions-12 (work in progress), April | segment-routing-extensions-13 (work in progress), June | |||
| 2017. | 2017. | |||
| [I-D.ietf-isis-yang-isis-cfg] | [I-D.ietf-isis-yang-isis-cfg] | |||
| Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | |||
| Lhotka, "YANG Data Model for IS-IS protocol", draft-ietf- | Lhotka, "YANG Data Model for IS-IS protocol", draft-ietf- | |||
| isis-yang-isis-cfg-17 (work in progress), March 2017. | isis-yang-isis-cfg-17 (work in progress), March 2017. | |||
| [I-D.ietf-spring-sr-yang] | [I-D.ietf-spring-sr-yang] | |||
| Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | |||
| Data Model for Segment Routing", draft-ietf-spring-sr- | Data Model for Segment Routing", draft-ietf-spring-sr- | |||
| yang-06 (work in progress), March 2017. | yang-07 (work in progress), July 2017. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| 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>. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <http://www.rfc-editor.org/info/rfc6020>. | <http://www.rfc-editor.org/info/rfc6020>. | |||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6241>. | <http://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Protocol (NETCONF) Access Control Model", RFC 6536, | Protocol (NETCONF) Access Control Model", RFC 6536, DOI | |||
| DOI 10.17487/RFC6536, March 2012, | 10.17487/RFC6536, March 2012, | |||
| <http://www.rfc-editor.org/info/rfc6536>. | <http://www.rfc-editor.org/info/rfc6536>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
| <http://www.rfc-editor.org/info/rfc7950>. | <http://www.rfc-editor.org/info/rfc7950>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Stephane Litkowski | Stephane Litkowski | |||
| Orange | Orange | |||
| Email: stephane.litkowski@orange.com | Email: stephane.litkowski@orange.com | |||
| Yingzhen Qu | Yinghzen Qu | |||
| Huawei | Huawei | |||
| Email: yingzhen.qu@huawei.com | Email: yingzhen.qu@huawei.com | |||
| Pushpasis Sarkar | Pushpasis Sarkar | |||
| Individual | Individual | |||
| Email: pushpasis.ietf@gmail.com | Email: pushpasis.ietf@gmail.com | |||
| Ing-Wher Chen | Ing-Wher Chen | |||
| Jabil | Jabil | |||
| Email: Ing-Wher_chen@jabil.com | Email: ing-wher_chen@jabil.com | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Individual | Individual | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| End of changes. 76 change blocks. | ||||
| 337 lines changed or deleted | 334 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/ | ||||