| < draft-qct-lsr-ppr-yang-00.txt | draft-qct-lsr-ppr-yang-01.txt > | |||
|---|---|---|---|---|
| LSR Working Group Y. Qu | LSR Working Group Y. Qu | |||
| Internet-Draft U. Chunduri | Internet-Draft U. Chunduri | |||
| Intended status: Standards Track Huawei USA | Intended status: Standards Track Huawei USA | |||
| Expires: December 29, 2018 J. Tantsura | Expires: September 11, 2019 J. Tantsura | |||
| Nuage Networks | Apstra | |||
| June 27, 2018 | March 10, 2019 | |||
| YANG Data Model for Preferred Path Routing | YANG Data Model for Preferred Path Routing | |||
| draft-qct-lsr-ppr-yang-00 | draft-qct-lsr-ppr-yang-01 | |||
| Abstract | Abstract | |||
| This document defines YANG data modules for preferred path routing | This document defines YANG data modules for preferred path routing | |||
| ([I-D.chunduri-lsr-isis-preferred-path-routing], | ([I-D.chunduri-lsr-isis-preferred-path-routing], | |||
| [I-D.chunduri-lsr-ospf-preferred-path-routing]) configuration and | [I-D.chunduri-lsr-ospf-preferred-path-routing]) configuration and | |||
| operation. The YANG modules are intended to be used on network | operation. The YANG modules are intended to be used on network | |||
| elements to manage the configurations and operations of preferred | elements to manage the configurations and operations of preferred | |||
| path routing. | path routing. | |||
| skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
| 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 December 29, 2018. | This Internet-Draft will expire on September 11, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 2 | 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. PPR YANG Module . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. PPR YANG Module . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. ISIS PPR YANG Module . . . . . . . . . . . . . . . . . . . . 6 | 3. ISIS PPR YANG Module . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. OSPF PPR YANG Module . . . . . . . . . . . . . . . . . . . . 17 | 4. OSPF PPR YANG Module . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 54 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 54 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 54 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 55 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 55 | 8.2. Informative References . . . . . . . . . . . . . . . . . 56 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 56 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 56 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines YANG data modules ([RFC6020], [RFC7950]) for | This document defines YANG data modules ([RFC6020], [RFC7950]) for | |||
| preferred path routing configuration and operation. | preferred path routing configuration and operation. | |||
| There are three YANG modules defined in this document. Module ietf- | There are three YANG modules defined in this document. Module ietf- | |||
| ppr.yang defined the protocol independent part of configuration and | ppr.yang defined the protocol independent part of configuration and | |||
| operations. Two IGP modules are defined as ietf-isis-ppr.yang and | operations. Two IGP modules are defined as ietf-isis-ppr.yang and | |||
| skipping to change at page 6, line 35 ¶ | skipping to change at page 6, line 35 ¶ | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/isis:isis: | /rt:control-plane-protocol/isis:isis: | |||
| +--rw ppr | +--rw ppr | |||
| +--rw enable? boolean | +--rw enable? boolean | |||
| 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:level-db/isis:lsp: | /isis:level-db/isis:lsp: | |||
| +--ro ppr-tlvs | +--ro ppr-tlvs | |||
| +--ro ppr-tlv* | +--ro ppr-tlv* | |||
| +--ro flags? bits | +--ro flags? bits | |||
| +--ro fragment-id? uint8 | ||||
| +--ro ppr-prefix-sub-tlv | +--ro ppr-prefix-sub-tlv | |||
| | +--ro mt-id? uint16 | | +--ro mt-id? uint16 | |||
| | +--ro prefix-len? uint8 | | +--ro prefix-len? uint8 | |||
| | +--ro mask-len? uint8 | | +--ro mask-len? uint8 | |||
| | +--ro isis-prefix? inet:ip-address | | +--ro isis-prefix? inet:ip-address | |||
| | +--ro ppr-prefix-sub-sub-tlvs | | +--ro ppr-prefix-sub-sub-tlvs | |||
| | +--ro unknown-tlv* | | +--ro unknown-tlv* | |||
| | +--ro type? uint8 | | +--ro type? uint8 | |||
| | +--ro length? uint8 | | +--ro length? uint8 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| skipping to change at page 7, line 45 ¶ | skipping to change at page 7, line 46 ¶ | |||
| | +--ro value? inet:ipv4-address | | +--ro value? inet:ipv4-address | |||
| +--ro ipv6-routerid-sub-tlv | +--ro ipv6-routerid-sub-tlv | |||
| | +--ro type? uint8 | | +--ro type? uint8 | |||
| | +--ro length? uint8 | | +--ro length? uint8 | |||
| | +--ro value? inet:ipv6-address | | +--ro value? inet:ipv6-address | |||
| +--ro ppr-metric-sub-tlv | +--ro ppr-metric-sub-tlv | |||
| +--ro type? uint8 | +--ro type? uint8 | |||
| +--ro length? uint8 | +--ro length? uint8 | |||
| +--ro value? uint32 | +--ro value? uint32 | |||
| <CODE BEGINS> file "ietf-isis-ppr@2018-06-20.yang" | <CODE BEGINS> file "ietf-isis-ppr@2019-03-10.yang" | |||
| module ietf-isis-ppr { | module ietf-isis-ppr { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-isis-ppr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis-ppr"; | |||
| prefix isis-ppr; | prefix isis-ppr; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-routing-types { | ||||
| prefix "rt-types"; | ||||
| } | ||||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| } | } | |||
| import ietf-isis { | import ietf-isis { | |||
| prefix "isis"; | prefix "isis"; | |||
| } | } | |||
| organization | organization | |||
| "IETF LSR - Link State Routing Working Group"; | "IETF LSR - Link State Routing Working Group"; | |||
| skipping to change at page 9, line 5 ¶ | skipping to change at page 9, line 4 ¶ | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 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 | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; | This version of this YANG module is part of RFC XXXX; | |||
| see the RFC itself for full legal notices."; | see the RFC itself for full legal notices."; | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-06-20 { | revision 2019-03-10 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for ISIS PPR."; | "RFC XXXX: A YANG Data Model for ISIS PPR."; | |||
| } | } | |||
| /* Groupings */ | /* Groupings */ | |||
| grouping tlv { | grouping tlv { | |||
| description | description | |||
| "TLV"; | "TLV"; | |||
| skipping to change at page 16, line 39 ¶ | skipping to change at page 16, line 38 ¶ | |||
| "If set, the PPR TLV is leaked from ISIS level-2 | "If set, the PPR TLV is leaked from ISIS level-2 | |||
| to level-1."; | to level-1."; | |||
| } | } | |||
| bit A { | bit A { | |||
| position 2; | position 2; | |||
| description | description | |||
| "If set, it is to signal that the prefixes and PPR IDs | "If set, it is to signal that the prefixes and PPR IDs | |||
| advertised in this TLV are directly connected to | advertised in this TLV are directly connected to | |||
| their originators."; | their originators."; | |||
| } | } | |||
| bit L { | ||||
| position 3; | ||||
| description | ||||
| "L bit MUST be set if a path has only one fragment or if | ||||
| it is the last Fragment of the path."; | ||||
| } | ||||
| } | } | |||
| description "Flags."; | description "Flags."; | |||
| } | } | |||
| leaf fragment-id { | ||||
| type uint8 { | ||||
| range "0 .. 127"; | ||||
| } | ||||
| description | ||||
| "Identifiler of the fragment."; | ||||
| } | ||||
| uses ppr-prefix-sub-tlv; | uses ppr-prefix-sub-tlv; | |||
| uses ppr-id-sub-tlv; | uses ppr-id-sub-tlv; | |||
| uses ppr-pde-sub-tlv; | uses ppr-pde-sub-tlv; | |||
| uses ppr-attribute-sub-tlv; | uses ppr-attribute-sub-tlv; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| /* Configuration */ | /* Configuration */ | |||
| augment "/rt:routing/rt:control-plane-protocols" | augment "/rt:routing/rt:control-plane-protocols" | |||
| skipping to change at page 54, line 50 ¶ | skipping to change at page 55, line 16 ¶ | |||
| TBD. | TBD. | |||
| 8. References | 8. References | |||
| 8.1. Normative References | 8.1. Normative References | |||
| [I-D.chunduri-lsr-isis-preferred-path-routing] | [I-D.chunduri-lsr-isis-preferred-path-routing] | |||
| Chunduri, U., Li, R., White, R., Tantsura, J., Contreras, | Chunduri, U., Li, R., White, R., Tantsura, J., Contreras, | |||
| L., and Y. Qu, "Preferred Path Routing (PPR) in IS-IS", | L., and Y. Qu, "Preferred Path Routing (PPR) in IS-IS", | |||
| draft-chunduri-lsr-isis-preferred-path-routing-00 (work in | draft-chunduri-lsr-isis-preferred-path-routing-02 (work in | |||
| progress), June 2018. | progress), February 2019. | |||
| [I-D.chunduri-lsr-ospf-preferred-path-routing] | [I-D.chunduri-lsr-ospf-preferred-path-routing] | |||
| Chunduri, U., Qu, Y., White, R., Tantsura, J., and L. | Chunduri, U., Qu, Y., White, R., Tantsura, J., and L. | |||
| Contreras, "Preferred Path Routing (PPR) in OSPF", draft- | Contreras, "Preferred Path Routing (PPR) in OSPF", draft- | |||
| chunduri-lsr-ospf-preferred-path-routing-00 (work in | chunduri-lsr-ospf-preferred-path-routing-02 (work in | |||
| progress), June 2018. | progress), February 2019. | |||
| [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-20 (work in progress), May 2018. | isis-yang-isis-cfg-35 (work in progress), March 2019. | |||
| [I-D.ietf-ospf-yang] | [I-D.ietf-ospf-yang] | |||
| Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | |||
| "Yang Data Model for OSPF Protocol", draft-ietf-ospf- | "YANG Data Model for OSPF Protocol", draft-ietf-ospf- | |||
| yang-11 (work in progress), April 2018. | yang-21 (work in progress), January 2019. | |||
| [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, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC5246] Dierks, T., "The Transport Layer Security (TLS) Protocol | [RFC5246] Dierks, T., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.2", RFC 5246, August 2008. | Version 1.2", RFC 5246, August 2008. | |||
| [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | |||
| Network Configuration Protocol (NETCONF)", RFC 6020, | Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| October 2010. | October 2010. | |||
| skipping to change at page 56, line 24 ¶ | skipping to change at page 56, line 36 ¶ | |||
| Uma Chunduri | Uma Chunduri | |||
| Huawei USA | Huawei USA | |||
| 2330 Central Expressway | 2330 Central Expressway | |||
| Santa Clara, CA 95050 | Santa Clara, CA 95050 | |||
| USA | USA | |||
| Email: uma.chunduri@huawei.com | Email: uma.chunduri@huawei.com | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Nuage Networks | Apstra | |||
| 755 Ravendale Drive | ||||
| Mountain View, CA 94043 | ||||
| USA | ||||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| End of changes. 20 change blocks. | ||||
| 31 lines changed or deleted | 38 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/ | ||||