| < draft-ietf-isis-sr-yang-10.txt | draft-ietf-isis-sr-yang-11.txt > | |||
|---|---|---|---|---|
| IS-IS Working Group S. Litkowski | IS-IS Working Group S. Litkowski | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Standards Track Y. Qu | Intended status: Standards Track Y. Qu | |||
| Expires: August 25, 2021 Futurewei | Expires: February 17, 2022 Futurewei | |||
| P. Sarkar | P. Sarkar | |||
| Individual | Individual | |||
| I. Chen | I. Chen | |||
| The MITRE Corporation | The MITRE Corporation | |||
| J. Tantsura | J. Tantsura | |||
| Apstra | Microsoft | |||
| February 21, 2021 | August 16, 2021 | |||
| YANG Data Model for IS-IS Segment Routing | YANG Data Model for IS-IS Segment Routing | |||
| draft-ietf-isis-sr-yang-10 | draft-ietf-isis-sr-yang-11 | |||
| Abstract | Abstract | |||
| This document defines a YANG data module that can be used to | This document defines a YANG data module that can be used to | |||
| configure and manage IS-IS Segment Routing, as well as a YANG data | configure and manage IS-IS Segment Routing, as well as a YANG data | |||
| module for the management of Signaling Maximum SID Depth (MSD) Using | module for the management of Signaling Maximum SID Depth (MSD) Using | |||
| IS-IS. | IS-IS. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 25, 2021. | This Internet-Draft will expire on February 17, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
| 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 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. IS-IS MSD . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. IS-IS MSD . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. IS-IS MSD YANG Module . . . . . . . . . . . . . . . . . . 4 | 2.1. IS-IS MSD YANG Module . . . . . . . . . . . . . . . . . . 4 | |||
| 3. IS-IS Segment Routing . . . . . . . . . . . . . . . . . . . . 8 | 3. IS-IS Segment Routing . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.1. IS-IS Segment Routing configuration . . . . . . . . . . . 11 | 3.1. IS-IS Segment Routing configuration . . . . . . . . . . . 10 | |||
| 3.1.1. Segment Routing activation . . . . . . . . . . . . . 11 | 3.1.1. Segment Routing activation . . . . . . . . . . . . . 10 | |||
| 3.1.2. Advertising mapping server policy . . . . . . . . . . 11 | 3.1.2. Advertising mapping server policy . . . . . . . . . . 10 | |||
| 3.1.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . 11 | 3.1.3. IP Fast reroute . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.2. IS-IS Segment Routing YANG Module . . . . . . . . . . . . 11 | 3.2. IS-IS Segment Routing YANG Module . . . . . . . . . . . . 11 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | |||
| 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27 | 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 28 | 8. Normative References . . . . . . . . . . . . . . . . . . . . 28 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 1. Overview | 1. Overview | |||
| YANG [RFC6020] [RFC7950] is a data definition language used to define | YANG [RFC6020] [RFC7950] is a data definition language used to define | |||
| the contents of a conceptual data store that allows networked devices | the contents of a conceptual data store that allows networked devices | |||
| to be managed using NETCONF [RFC6241]. YANG is proving relevant | to be managed using NETCONF [RFC6241]. YANG is proving relevant | |||
| beyond its initial confines, as bindings to other interfaces (e.g., | beyond its initial confines, as bindings to other interfaces (e.g., | |||
| ReST) and encodings other than XML (e.g., JSON) are being defined. | ReST) and encodings other than XML (e.g., JSON) are being defined. | |||
| Furthermore, YANG data models can be used as the basis for | Furthermore, YANG data models can be used as the basis for | |||
| implementation of other interfaces, such as CLI and programmatic | implementation of other interfaces, such as CLI and programmatic | |||
| skipping to change at page 4, line 7 ¶ | skipping to change at page 4, line 7 ¶ | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/isis:isis/isis:database | /rt:control-plane-protocol/isis:isis/isis:database | |||
| /isis:levels/isis:lsp/isis:mt-is-neighbor/isis:neighbor: | /isis:levels/isis:lsp/isis:mt-is-neighbor/isis:neighbor: | |||
| +--ro link-msd-sub-tlv | +--ro link-msd-sub-tlv | |||
| +--ro link-msds* [msd-type] | +--ro link-msds* [msd-type] | |||
| +--ro msd-type identityref | +--ro msd-type identityref | |||
| +--ro msd-value? uint8 | +--ro msd-value? uint8 | |||
| 2.1. IS-IS MSD YANG Module | 2.1. IS-IS MSD YANG Module | |||
| <CODE BEGINS> file "ietf-isis-msd@2021-02-21.yang" | <CODE BEGINS> file "ietf-isis-msd@2021-08-15.yang" | |||
| module ietf-isis-msd { | module ietf-isis-msd { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-isis-msd"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis-msd"; | |||
| prefix isis-msd; | prefix isis-msd; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference "RFC 8349: A YANG Data Model for Routing | reference "RFC 8349: A YANG Data Model for Routing | |||
| Management (NMDA Version)"; | Management (NMDA Version)"; | |||
| } | } | |||
| import ietf-isis { | import ietf-isis { | |||
| prefix isis; | prefix isis; | |||
| } | } | |||
| import ietf-mpls-msd { | ||||
| prefix mpls-msd; | ||||
| } | ||||
| organization | organization | |||
| "IETF LSR - LSR Working Group"; | "IETF LSR - LSR Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://tools.ietf.org/wg/mpls/> | "WG Web: <https://tools.ietf.org/wg/mpls/> | |||
| WG List: <mailto:mpls@ietf.org> | WG List: <mailto:mpls@ietf.org> | |||
| Author: Yingzhen Qu | Author: Yingzhen Qu | |||
| <mailto:yingzhen.qu@futurewei.com> | <mailto:yingzhen.qu@futurewei.com> | |||
| Author: Acee Lindem | Author: Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Author: Stephane Litkowski | Author: Stephane Litkowski | |||
| <mailto:slitkows.ietf@gmail.com> | <mailto:slitkows.ietf@gmail.com> | |||
| Author: Jeff Tantsura | Author: Jeff Tantsura | |||
| <jefftant.ietf@gmail.com> | <mailto:jefftant.ietf@gmail.com> | |||
| "; | "; | |||
| description | description | |||
| "The YANG module augments the base ISIS model to | "The YANG module augments the base ISIS model to | |||
| manage different types of MSDs. | manage different types of MSDs. | |||
| This YANG model conforms to the Network Management | This YANG model conforms to the Network Management | |||
| Datastore Architecture (NMDA) as described in RFC 8342. | Datastore Architecture (NMDA) as described in RFC 8342. | |||
| Copyright (c) 2021 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| skipping to change at page 5, line 18 ¶ | skipping to change at page 5, line 23 ¶ | |||
| see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
| they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
| reference "RFC XXXX: YANG Data Model for OSPF MSD."; | reference "RFC XXXX: YANG Data Model for OSPF MSD."; | |||
| revision 2021-02-21 { | revision 2021-08-15 { | |||
| description | description | |||
| "Initial Version"; | "Initial Version"; | |||
| reference "RFC XXXX: YANG Data Model for ISIS MSD."; | reference "RFC XXXX: YANG Data Model for ISIS MSD."; | |||
| } | } | |||
| identity msd-base-type { | ||||
| description | ||||
| "Base identity for MSD Type"; | ||||
| } | ||||
| identity base-mpls-msd { | ||||
| base msd-base-type; | ||||
| description | ||||
| "Base MPLS Imposition MSD."; | ||||
| reference | ||||
| "RFC 8491: Singling MSD using IS-IS."; | ||||
| } | ||||
| identity erld-msd { | ||||
| base msd-base-type; | ||||
| description | ||||
| "ERLD-MSD is defined to advertise the ERLD."; | ||||
| reference | ||||
| "RFC 8662: Entropy Label for Source Packet Routing in | ||||
| Networking (SPRING) Tunnels"; | ||||
| } | ||||
| grouping node-msd-tlv { | ||||
| description | ||||
| "Grouping for node MSD."; | ||||
| container node-msd-tlv { | ||||
| list node-msds { | ||||
| key "msd-type"; | ||||
| leaf msd-type { | ||||
| type identityref { | ||||
| base msd-base-type; | ||||
| } | ||||
| description | ||||
| "MSD-Types"; | ||||
| } | ||||
| leaf msd-value { | ||||
| type uint8; | ||||
| description | ||||
| "MSD value, in the range of 0-255."; | ||||
| } | ||||
| description | ||||
| "Node MSD is the smallest link MSD supported by | ||||
| the node."; | ||||
| } | ||||
| description | ||||
| "Node MSD is the number of SIDs supported by a node."; | ||||
| reference | ||||
| "RFC 8476: Signaling Maximum SID Depth (MSD) Using OSPF"; | ||||
| } | ||||
| } | ||||
| grouping link-msd-sub-tlv { | grouping link-msd-sub-tlv { | |||
| description | description | |||
| "Link Maximum SID Depth (MSD) grouping for an interface."; | "Link Maximum SID Depth (MSD) grouping for an interface."; | |||
| container link-msd-sub-tlv { | container link-msd-sub-tlv { | |||
| list link-msds { | list link-msds { | |||
| key "msd-type"; | key "msd-type"; | |||
| leaf msd-type { | leaf msd-type { | |||
| type identityref { | type identityref { | |||
| base msd-base-type; | base mpls-msd:msd-base-type; | |||
| } | } | |||
| description | description | |||
| "MSD-Types"; | "MSD-Types"; | |||
| } | } | |||
| leaf msd-value { | leaf msd-value { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "MSD value, in the range of 0-255."; | "MSD value, in the range of 0-255."; | |||
| } | } | |||
| description | description | |||
| "List of link MSDs"; | "List of link MSDs"; | |||
| } | } | |||
| description | description | |||
| "Link MSD sub-tlvs."; | "Link MSD sub-tlvs."; | |||
| } | ||||
| } | ||||
| } | } | |||
| /* Node MSD TLV */ | /* Node MSD TLV */ | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | "/isis:isis/isis:database/isis:levels/isis:lsp"+ | |||
| "/isis:router-capabilities" { | "/isis:router-capabilities" { | |||
| when "/rt:routing/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 router capability."; | "This augments ISIS protocol LSDB router capability."; | |||
| uses node-msd-tlv; | container node-msd-tlv { | |||
| list node-msds { | ||||
| key "msd-type"; | ||||
| leaf msd-type { | ||||
| type identityref { | ||||
| base mpls-msd:msd-base-type; | ||||
| } | ||||
| description | ||||
| "MSD-Types"; | ||||
| } | ||||
| leaf msd-value { | ||||
| type uint8; | ||||
| description | ||||
| "MSD value, in the range of 0-255."; | ||||
| } | ||||
| description | ||||
| "Node MSD is the smallest link MSD supported by | ||||
| the node."; | ||||
| } | ||||
| description | ||||
| "Node MSD is the number of SIDs supported by a node."; | ||||
| reference | ||||
| "RFC 8476: Signaling Maximum SID Depth (MSD) Using OSPF"; | ||||
| } | ||||
| } | } | |||
| /* link MSD sub-tlv */ | /* link MSD sub-tlv */ | |||
| augment "/rt:routing/" + | augment "/rt:routing/" + | |||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | "rt:control-plane-protocols/rt:control-plane-protocol"+ | |||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | "/isis:isis/isis:database/isis:levels/isis:lsp"+ | |||
| "/isis:extended-is-neighbor/isis:neighbor" { | "/isis:extended-is-neighbor/isis:neighbor" { | |||
| when "/rt:routing/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 | |||
| skipping to change at page 28, line 29 ¶ | skipping to change at page 28, line 8 ¶ | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| name: ietf-isis-msd | name: ietf-isis-msd | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-msd | namespace: urn:ietf:params:xml:ns:yang:ietf-isis-msd | |||
| prefix: isis-msd | prefix: isis-msd | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 8. Normative References | 8. Normative References | |||
| [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, J., 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-42 (work in progress), October 2019. | isis-yang-isis-cfg-42 (work in progress), October 2019. | |||
| [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-15 (work in progress), December 2017. | yang-15 (work in progress), December 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, | |||
| skipping to change at page 30, line 22 ¶ | skipping to change at page 30, line 4 ¶ | |||
| Stephane Litkowski | Stephane Litkowski | |||
| Cisco Systems | Cisco Systems | |||
| Email: slitkows.ietf@gmail.com | Email: slitkows.ietf@gmail.com | |||
| Yinghzen Qu | Yinghzen Qu | |||
| Futurewei | Futurewei | |||
| Email: yingzhen.qu@futurewei.com | Email: yingzhen.qu@futurewei.com | |||
| Pushpasis Sarkar | Pushpasis Sarkar | |||
| Individual | Individual | |||
| Email: pushpasis.ietf@gmail.com | Email: pushpasis.ietf@gmail.com | |||
| Ing-Wher Chen | Ing-Wher Chen | |||
| The MITRE Corporation | The MITRE Corporation | |||
| Email: ingwherchen@mitre.org | Email: ingwherchen@mitre.org | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Apstra | Microsoft | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| End of changes. 18 change blocks. | ||||
| 70 lines changed or deleted | 45 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/ | ||||