| < draft-qu-mpls-mpls-msd-yang-01.txt | draft-qu-mpls-mpls-msd-yang-02.txt > | |||
|---|---|---|---|---|
| Internet Y. Qu | Internet Y. Qu | |||
| Internet-Draft Futurewei | Internet-Draft Futurewei | |||
| Intended status: Standards Track A. Lindem | Intended status: Standards Track A. Lindem | |||
| Expires: February 2, 2022 S. Litkowski | Expires: February 3, 2022 S. Litkowski | |||
| Cisco Systems | Cisco Systems | |||
| J. Tantsura | J. Tantsura | |||
| Juniper | Juniper | |||
| August 1, 2021 | August 2, 2021 | |||
| A YANG Model for MPLS MSD | A YANG Model for MPLS MSD | |||
| draft-qu-mpls-mpls-msd-yang-01 | draft-qu-mpls-mpls-msd-yang-02 | |||
| Abstract | Abstract | |||
| This document defines a YANG data module augmenting the IETF MPLS | This document defines a YANG data module augmenting the IETF MPLS | |||
| YANG model to provide support for MPLS Maximum SID Depths (MSDs) as | YANG model to provide support for MPLS Maximum SID Depths (MSDs) as | |||
| defined in RFC 8476 and RFC 8491. | defined in RFC 8476 and RFC 8491. | |||
| 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 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| 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 February 2, 2022. | This Internet-Draft will expire on February 3, 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 | |||
| 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 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | |||
| 2. YANG Module for MPLS MSD . . . . . . . . . . . . . . . . . . 3 | 2. YANG Module for MPLS MSD . . . . . . . . . . . . . . . . . . 2 | |||
| 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . 9 | 6.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 1. Overview | 1. Overview | |||
| YANG [RFC7950] is a data definition language used to define the | YANG [RFC7950] is a data definition language used to define the | |||
| contents of a conceptual data store that allows networked devices to | contents of a conceptual data store that allows networked devices to | |||
| be managed using NETCONF [RFC6241]. YANG is proving relevant beyond | be managed using NETCONF [RFC6241] or RESTCONF [RFC8040]. | |||
| its initial confines, as bindings to other interfaces (e.g., ReST) | ||||
| and encodings other than XML (e.g., JSON) are being defined. | ||||
| Furthermore, YANG data models can be used as the basis for | ||||
| implementation of other interfaces, such as CLI and programmatic | ||||
| APIs. | ||||
| This document defines a YANG data module augmenting the IETF MPLS | This document defines a YANG data model augmenting the IETF MPLS YANG | |||
| YANG model [RFC8960], which itself augments [RFC8349], to provide | model [RFC8960], which itself augments [RFC8349], to provide | |||
| operational state for various MSDs[RFC8662]. | operational state for various MSDs[RFC8662]. | |||
| The augmentation defined in this document requires support for the | The augmentation defined in this document requires support for the | |||
| MPLS base model[RFC8960] which defines basic MPLS configuration and | MPLS base model[RFC8960] which defines basic MPLS configuration and | |||
| state. | state. | |||
| The YANG module in this document conforms to the Network Management | The YANG module in this document conforms to the Network Management | |||
| Datastore Architecture (NMDA) [RFC8342]. | Datastore Architecture (NMDA) [RFC8342]. | |||
| 1.1. Requirements Language | 1.1. 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", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in [RFC2119]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 2. YANG Module for MPLS MSD | 2. YANG Module for MPLS MSD | |||
| This document defines a YANG module for MSD extensions | This document defines a YANG module for MSD extensions | |||
| [RFC8476][RFC8491] to MPLS base model as defined in [RFC8960]. | [RFC8476][RFC8491] to MPLS base model as defined in [RFC8960]. | |||
| module: ietf-mpls-msd | module: ietf-mpls-msd | |||
| augment /rt:routing/mpls:mpls: | augment /rt:routing/mpls:mpls: | |||
| +--ro msd | +--ro node-msd | |||
| +--ro node-msds* [msd-type] | +--ro node-msds* [] | |||
| | +--ro msd-type identityref | +--ro msd-type? identityref | |||
| | +--ro msd-value? uint8 | +--ro msd-value? uint8 | |||
| +--ro link-msds* [interface] | augment /rt:routing/mpls:mpls/mpls:interfaces/mpls:interface: | |||
| +--ro interface if:interface-ref | +--ro link-msd | |||
| +--ro link-msd* [msd-type] | +--ro link-msds* [] | |||
| +--ro msd-type identityref | +--ro msd-type? identityref | |||
| +--ro msd-value? uint8 | +--ro msd-value? uint8 | |||
| <CODE BEGINS> file "ietf-mpls-msd@2021-08-01.yang" | <CODE BEGINS> file "ietf-mpls-msd@2021-08-02.yang" | |||
| module ietf-mpls-msd { | module ietf-mpls-msd { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-msd"; | namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-msd"; | |||
| prefix mpls-msd; | prefix mpls-msd; | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing | "RFC 8349: A YANG Data Model for Routing | |||
| Management (NMDA Version)"; | Management (NMDA Version)"; | |||
| } | } | |||
| import ietf-interfaces { | ||||
| prefix if; | ||||
| reference | ||||
| "RFC 8343: A YANG Data Model for Interface | ||||
| Management (NMDA Version)"; | ||||
| } | ||||
| import ietf-mpls { | import ietf-mpls { | |||
| prefix mpls; | prefix mpls; | |||
| reference "RFC 8960: A YANG Data Model for MPLS Base"; | reference "RFC 8960: A YANG Data Model for MPLS Base"; | |||
| } | } | |||
| organization | organization | |||
| "IETF MPLS - MPLS Working Group"; | "IETF MPLS - MPLS 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> | |||
| skipping to change at page 4, line 4 ¶ | skipping to change at page 3, line 40 ¶ | |||
| import ietf-mpls { | import ietf-mpls { | |||
| prefix mpls; | prefix mpls; | |||
| reference "RFC 8960: A YANG Data Model for MPLS Base"; | reference "RFC 8960: A YANG Data Model for MPLS Base"; | |||
| } | } | |||
| organization | organization | |||
| "IETF MPLS - MPLS Working Group"; | "IETF MPLS - MPLS 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 MPLS model, and it is to | "The YANG module augments the base MPLS model, and it is to | |||
| manage different types of MSDs. | manage different types of Maximum SID Depth (MSD). | |||
| 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 | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| skipping to change at page 4, line 42 ¶ | skipping to change at page 4, line 31 ¶ | |||
| 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 Segment Routing."; | reference "RFC XXXX: YANG Data Model for Segment Routing."; | |||
| revision 2021-08-01 { | revision 2021-08-02 { | |||
| description | description | |||
| "Initial Version"; | "Initial Version"; | |||
| reference "RFC XXXX: YANG Data Model for Segment Routing."; | reference "RFC XXXX: YANG Data Model for Segment Routing."; | |||
| } | } | |||
| identity msd-base-type { | identity msd-base-type { | |||
| description | description | |||
| "Base identity for MSD Type"; | "Base identity for Maximum SID Depth (MSD) Type"; | |||
| } | } | |||
| identity base-mpls-msd { | identity msd-mpls { | |||
| base msd-base-type; | base msd-base-type; | |||
| description | description | |||
| "Base MPLS Imposition MSD."; | "Base MPLS Imposition MSD."; | |||
| reference | reference | |||
| "RFC 8491: Singling MSD using IS-IS."; | "RFC 8491: Singling Maximum SID Depth (MSD) using IS-IS."; | |||
| } | } | |||
| identity erld-msd { | identity msd-erld { | |||
| base msd-base-type; | base msd-base-type; | |||
| description | description | |||
| "ERLD-MSD is defined to advertise the ERLD."; | "msd-erld is defined to advertise the Entropy Readable | |||
| Label Depth (ERLD)."; | ||||
| reference | reference | |||
| "RFC 8662: Entropy Label for Source Packet Routing in | "RFC 8662: Entropy Label for Source Packet Routing in | |||
| Networking (SPRING) Tunnels"; | Networking (SPRING) Tunnels"; | |||
| } | } | |||
| grouping max-sid-depth { | augment "/rt:routing/mpls:mpls" { | |||
| description | description | |||
| "Maximum SID Depth (MSD) grouping."; | "This module augments MPLS data model (RFC 8960) | |||
| list node-msds { | with node MSD."; | |||
| key "msd-type"; | container node-msd { | |||
| leaf msd-type { | config false; | |||
| type identityref { | ||||
| base msd-base-type; | ||||
| } | ||||
| description | ||||
| "MSD types"; | ||||
| } | ||||
| leaf msd-value { | ||||
| type uint8; | ||||
| description | ||||
| "MSD value, in the range of 0-255."; | ||||
| } | ||||
| description | description | |||
| "Node MSD is the smallest link MSD supported by | "Maximum SID Depth (MSD) operational state."; | |||
| the node."; | list node-msds { | |||
| } | ||||
| list link-msds { | ||||
| key "interface"; | ||||
| leaf interface { | ||||
| type if:interface-ref; | ||||
| description | ||||
| "Reference to device interface."; | ||||
| } | ||||
| list link-msd { | ||||
| key "msd-type"; | ||||
| leaf msd-type { | leaf msd-type { | |||
| type identityref { | type identityref { | |||
| base msd-base-type; | base msd-base-type; | |||
| } | } | |||
| description | description | |||
| "MSD type"; | "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"; | "Node MSD is the smallest link MSD supported by | |||
| the node."; | ||||
| } | } | |||
| description | ||||
| "MSD supported by an individual interface."; | ||||
| } | } | |||
| } | } | |||
| augment "/rt:routing/mpls:mpls" { | augment "/rt:routing/mpls:mpls/mpls:interfaces/mpls:interface" { | |||
| description | description | |||
| "This module augments MPLS data model (RFC 8960) | "This module augments MPLS data model (RFC 8960) | |||
| with MSD."; | with link MSD."; | |||
| container msd { | container link-msd { | |||
| config false; | config false; | |||
| description | description | |||
| "Maximum SID Depth (MSD) operational state."; | "Maximum SID Depth (MSD) interface operational state."; | |||
| uses max-sid-depth; | list link-msds { | |||
| leaf msd-type { | ||||
| type identityref { | ||||
| base msd-base-type; | ||||
| } | ||||
| description | ||||
| "MSD type"; | ||||
| } | ||||
| leaf msd-value { | ||||
| type uint8; | ||||
| description | ||||
| "MSD value, in the range of 0-255."; | ||||
| } | ||||
| description | ||||
| "List of link MSDs"; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 3. Security Considerations | 3. Security Considerations | |||
| The YANG modules specified in this document define a schema for data | The YANG modules specified in this document define a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| skipping to change at page 8, line 40 ¶ | skipping to change at page 8, line 22 ¶ | |||
| <https://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
| <https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Access Control Model", STD 91, RFC 8341, | Access Control Model", STD 91, RFC 8341, | |||
| DOI 10.17487/RFC8341, March 2018, | DOI 10.17487/RFC8341, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8341>. | <https://www.rfc-editor.org/info/rfc8341>. | |||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
| End of changes. 31 change blocks. | ||||
| 80 lines changed or deleted | 68 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/ | ||||