| < draft-ietf-rtgwg-routing-types-04.txt | draft-ietf-rtgwg-routing-types-05.txt > | |||
|---|---|---|---|---|
| Network Working Group X. Liu | Network Working Group X. Liu | |||
| Internet-Draft Jabil | Internet-Draft Jabil | |||
| Intended status: Standards Track Y. Qu | Intended status: Standards Track Y. Qu | |||
| Expires: November 17, 2017 Futurewei Technologies, Inc. | Expires: November 25, 2017 Futurewei Technologies, Inc. | |||
| A. Lindem | A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| C. Hopps | C. Hopps | |||
| Deutsche Telekom | Deutsche Telekom | |||
| L. Berger | L. Berger | |||
| LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
| May 16, 2017 | May 24, 2017 | |||
| Routing Area Common YANG Data Types | Routing Area Common YANG Data Types | |||
| draft-ietf-rtgwg-routing-types-04 | draft-ietf-rtgwg-routing-types-05 | |||
| Abstract | Abstract | |||
| This document defines a collection of common data types using the | This document defines a collection of common data types using the | |||
| YANG data modeling language. These derived common types are designed | YANG data modeling language. These derived common types are designed | |||
| to be imported by other modules defined in the routing area. | to be imported by other modules defined in the routing area. | |||
| 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 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
| 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 17, 2017. | This Internet-Draft will expire on November 25, 2017. | |||
| 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 | |||
| skipping to change at page 2, line 19 ¶ | skipping to change at page 2, line 19 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | |||
| 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 | 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. IETF Routing Types YANG Module . . . . . . . . . . . . . . . 6 | 3. IETF Routing Types YANG Module . . . . . . . . . . . . . . . 6 | |||
| 4. IANA Routing Types YANG Module . . . . . . . . . . . . . . . 18 | 4. IANA Routing Types YANG Module . . . . . . . . . . . . . . . 18 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 5.1. IANA-Maintained iana-routing-types Module . . . . . . . . 28 | 5.1. IANA-Maintained iana-routing-types Module . . . . . . . . 29 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 30 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 30 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 31 | 8.2. Informative References . . . . . . . . . . . . . . . . . 31 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 1. Introduction | 1. Introduction | |||
| The YANG [RFC6020] [RFC7950] is a data modeling language used to | The YANG [RFC6020] [RFC7950] is a data modeling language used to | |||
| model configuration data, state data, Remote Procedure Calls, and | model configuration data, state data, Remote Procedure Calls, and | |||
| notifications for network management protocols. The YANG language | notifications for network management protocols. The YANG language | |||
| supports a small set of built-in data types and provides mechanisms | supports a small set of built-in data types and provides mechanisms | |||
| to derive other types from the built-in types. | to derive other types from the built-in types. | |||
| This document introduces a collection of common data types derived | This document introduces a collection of common data types derived | |||
| skipping to change at page 3, line 9 ¶ | skipping to change at page 3, line 9 ¶ | |||
| 1.2. Terminology | 1.2. Terminology | |||
| The terminology for describing YANG data models is found in | The terminology for describing YANG data models is found in | |||
| [RFC7950]. | [RFC7950]. | |||
| 2. Overview | 2. Overview | |||
| This document defines the two models for common routing types, ietf- | This document defines the two models for common routing types, ietf- | |||
| routing-types and iana-routing-types. The only module imports are | routing-types and iana-routing-types. The only module imports are | |||
| from [RFC6021]. The ietf-routing-types model contains common routing | from [RFC6991]. The ietf-routing-types model contains common routing | |||
| types other than those corresponding directly to IANA mappings. | types other than those corresponding directly to IANA mappings. | |||
| These include: | These include: | |||
| router-id | router-id | |||
| Router Identifiers are commonly used to identify a nodes in | Router Identifiers are commonly used to identify a nodes in | |||
| routing and other control plane protocols. An example usage of | routing and other control plane protocols. An example usage of | |||
| router-id can be found in [I-D.ietf-ospf-yang]. | router-id can be found in [I-D.ietf-ospf-yang]. | |||
| route-target | route-target | |||
| Route Targets (RTs) are commonly used to control the distribution | Route Targets (RTs) are commonly used to control the distribution | |||
| skipping to change at page 6, line 26 ¶ | skipping to change at page 6, line 26 ¶ | |||
| [I-D.ietf-idr-bgp-model]. | [I-D.ietf-idr-bgp-model]. | |||
| subsequent-address-family | subsequent-address-family | |||
| This type defines values for use in subsequent address family | This type defines values for use in subsequent address family | |||
| (SAFI) identifiers. The values are based on the IANA Subsequent | (SAFI) identifiers. The values are based on the IANA Subsequent | |||
| Address Family Identifiers (SAFI) Parameters Registry | Address Family Identifiers (SAFI) Parameters Registry | |||
| [IANA-SAFI-REGISTRY]. | [IANA-SAFI-REGISTRY]. | |||
| 3. IETF Routing Types YANG Module | 3. IETF Routing Types YANG Module | |||
| <CODE BEGINS> file "ietf-routing-types@2017-05-10.yang" | <CODE BEGINS> file "ietf-routing-types@2017-05-24.yang" | |||
| module ietf-routing-types { | module ietf-routing-types { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types"; | |||
| prefix "rt-types"; | prefix "rt-types"; | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| organization "IETF Routing Area Working Group (rtgwg)"; | organization | |||
| "IETF RTGWG - Routing Area Working Group"; | ||||
| contact | contact | |||
| "Routing Area Working Group - <rtgwg@ietf.org>"; | "WG Web: <http://tools.ietf.org/wg/rtgwg/> | |||
| WG List: <mailto:rtgwg@ietf.org> | ||||
| Editor: Xufeng Lui | ||||
| <mailto:Xufeng_Lui@jabail.com> | ||||
| Yingzhen Qu | ||||
| <mailto:yingzhen.qu@huawei.com> | ||||
| Acee Lindem | ||||
| <mailto:acee@cisco.com> | ||||
| Christian Hopps | ||||
| <mailto:chopps@chopps.org> | ||||
| Lou Berger | ||||
| <mailto:lberger@labn.com>"; | ||||
| description | description | |||
| "This module contains a collection of YANG data types | "This module contains a collection of YANG data types | |||
| considered generally useful for routing protocols. | considered generally useful for routing protocols. | |||
| Copyright (c) 2017 IETF Trust and the persons identified as | Copyright (c) 2017 IETF Trust and the persons | |||
| authors of the code. All rights reserved. | identified as 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 to | without modification, is permitted pursuant to, and subject | |||
| the license terms contained in, the Simplified BSD License set | to the license terms contained in, the Simplified BSD License | |||
| 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). | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | This version of this YANG module is part of RFC XXXX; see | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and | the RFC itself for full legal notices."; | |||
| 'OPTIONAL' in the module text are to be interpreted as described | ||||
| in RFC 2119. | ||||
| This version of this YANG module is part of RFC XXXX; | reference "RFC XXXX"; | |||
| see the RFC itself for full legal notices."; | ||||
| revision 2017-05-10 { | revision 2017-05-24 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC TBD: Routing YANG Data Types"; | "RFC TBD: Routing YANG Data Types"; | |||
| } | } | |||
| /*** collection of types related to routing ***/ | /*** Identities related to MPLS/GMPLS ***/ | |||
| identity mpls-label-special-purpose-value { | ||||
| description | ||||
| "Base identity for deriving identities describing | ||||
| special-purpose Multiprotocol Label Switching (MPLS) label | ||||
| values."; | ||||
| reference | ||||
| "RFC7274: Allocating and Retiring Special-Purpose MPLS | ||||
| Labels."; | ||||
| } | ||||
| identity ipv4-explicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the IPv4 Explicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity router-alert-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Router Alert Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity ipv6-explicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the IPv6 Explicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity implicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Implicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity entropy-label-indicator { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Entropy Label Indicator."; | ||||
| reference | ||||
| "RFC6790: The Use of Entropy Labels in MPLS Forwarding. | ||||
| Sections 3 and 10.1."; | ||||
| } | ||||
| identity gal-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Generic Associated Channel Label | ||||
| (GAL)."; | ||||
| reference | ||||
| "RFC5586: MPLS Generic Associated Channel. | ||||
| Sections 4 and 10."; | ||||
| } | ||||
| identity oam-alert-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the OAM Alert Label."; | ||||
| reference | ||||
| "RFC3429: Assignment of the 'OAM Alert Label' for Multiprotocol | ||||
| Label Switching Architecture (MPLS) Operation and Maintenance | ||||
| (OAM) Functions. | ||||
| Sections 3 and 6."; | ||||
| } | ||||
| identity extension-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Extension Label."; | ||||
| reference | ||||
| "RFC7274: Allocating and Retiring Special-Purpose MPLS Labels. | ||||
| Sections 3.1 and 5."; | ||||
| } | ||||
| /*** Collection of types related to routing ***/ | ||||
| typedef router-id { | typedef router-id { | |||
| type yang:dotted-quad; | type yang:dotted-quad; | |||
| description | description | |||
| "A 32-bit number in the dotted quad format assigned to each | "A 32-bit number in the dotted quad format assigned to each | |||
| router. This number uniquely identifies the router within an | router. This number uniquely identifies the router within an | |||
| Autonomous System."; | Autonomous System."; | |||
| } | } | |||
| /*** collection of types related to VPN ***/ | /*** Collection of types related to VPN ***/ | |||
| typedef route-target { | typedef route-target { | |||
| type string { | type string { | |||
| pattern | pattern | |||
| '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | |||
| + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' | + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' | |||
| + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' | + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' | |||
| + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' | + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' | |||
| + '[0-3]?\d{0,8}\d))|' | + '[0-3]?\d{0,8}\d))|' | |||
| + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' | + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' | |||
| + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' | + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' | |||
| skipping to change at page 9, line 45 ¶ | skipping to change at page 11, line 39 ¶ | |||
| 1:4-octet-ipv4addr:2-octet-number | 1:4-octet-ipv4addr:2-octet-number | |||
| 2:4-octet-asn:2-octet-number. | 2:4-octet-asn:2-octet-number. | |||
| 2-octet-other-hex-number:6-octet-hex-number | 2-octet-other-hex-number:6-octet-hex-number | |||
| Some valid examples are: 0:100:100, 1:1.1.1.1:100, and | Some valid examples are: 0:100:100, 1:1.1.1.1:100, and | |||
| 2:1234567890:203."; | 2:1234567890:203."; | |||
| reference | reference | |||
| "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; | "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; | |||
| } | } | |||
| /*** collection of types common to multicast ***/ | /*** Collection of types common to multicast ***/ | |||
| typedef ipv4-multicast-group-address { | typedef ipv4-multicast-group-address { | |||
| type inet:ipv4-address { | type inet:ipv4-address { | |||
| pattern '(2((2[4-9])|(3[0-9]))\.).*'; | pattern '(2((2[4-9])|(3[0-9]))\.).*'; | |||
| } | } | |||
| description | description | |||
| "This type represents an IPv4 multicast group address, | "This type represents an IPv4 multicast group address, | |||
| which is in the range from 224.0.0.0 to 239.255.255.255."; | which is in the range from 224.0.0.0 to 239.255.255.255."; | |||
| reference | reference | |||
| "RFC1112: Host Extensions for IP Multicasting."; | "RFC1112: Host Extensions for IP Multicasting."; | |||
| } | } | |||
| typedef ipv6-multicast-group-address { | typedef ipv6-multicast-group-address { | |||
| type inet:ipv6-address { | type inet:ipv6-address { | |||
| pattern | pattern | |||
| '(([fF]{2}[0-9a-fA-F]{2}):).*'; | '(([fF]{2}[0-9a-fA-F]{2}):).*'; | |||
| } | } | |||
| description | description | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 12, line 47 ¶ | |||
| description | description | |||
| "Multicast source IPv4 address type."; | "Multicast source IPv4 address type."; | |||
| } | } | |||
| typedef ipv6-multicast-source-address { | typedef ipv6-multicast-source-address { | |||
| type union { | type union { | |||
| type enumeration { | type enumeration { | |||
| enum '*' { | enum '*' { | |||
| description | description | |||
| "Any source address."; | "Any source address."; | |||
| } | } | |||
| } | } | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| } | } | |||
| description | description | |||
| "Multicast source IPv6 address type."; | "Multicast source IPv6 address type."; | |||
| } | } | |||
| /*** collection of types common to protocols ***/ | /*** Collection of types common to protocols ***/ | |||
| typedef bandwidth-ieee-float32 { | typedef bandwidth-ieee-float32 { | |||
| type string { | type string { | |||
| pattern | pattern | |||
| '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' | '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' | |||
| + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' | + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' | |||
| + '1[01]\d|0?\d?\d)?)'; | + '1[01]\d|0?\d?\d)?)'; | |||
| } | } | |||
| description | description | |||
| "Bandwidth in IEEE 754 floating point 32-bit binary format: | "Bandwidth in IEEE 754 floating point 32-bit binary format: | |||
| (-1)**(S) * 2**(Exponent-127) * (1 + Fraction), | (-1)**(S) * 2**(Exponent-127) * (1 + Fraction), | |||
| skipping to change at page 13, line 48 ¶ | skipping to change at page 15, line 43 ¶ | |||
| typedef timeticks64 { | typedef timeticks64 { | |||
| type uint64; | type uint64; | |||
| description | description | |||
| "This type is based on the timeticks type defined in | "This type is based on the timeticks type defined in | |||
| RFC 6991, but with 64-bit width. It represents the time, | RFC 6991, but with 64-bit width. It represents the time, | |||
| modulo 2^64, in hundredths of a second between two epochs."; | modulo 2^64, in hundredths of a second between two epochs."; | |||
| reference | reference | |||
| "RFC 6991 - Common YANG Data Types"; | "RFC 6991 - Common YANG Data Types"; | |||
| } | } | |||
| /*** collection of types related to MPLS/GMPLS ***/ | /*** Collection of types related to MPLS/GMPLS ***/ | |||
| typedef generalized-label { | typedef generalized-label { | |||
| type binary; | type binary; | |||
| description | description | |||
| "Generalized label. Nodes sending and receiving the | "Generalized label. Nodes sending and receiving the | |||
| Generalized Label are aware of the link-specific | Generalized Label are aware of the link-specific | |||
| label context and type."; | label context and type."; | |||
| reference "RFC3471: Section 3.2"; | reference "RFC3471: Section 3.2"; | |||
| } | } | |||
| identity mpls-label-special-purpose-value { | ||||
| description | ||||
| "Base identity for deriving identities describing | ||||
| special-purpose Multiprotocol Label Switching (MPLS) label | ||||
| values."; | ||||
| reference | ||||
| "RFC7274: Allocating and Retiring Special-Purpose MPLS | ||||
| Labels."; | ||||
| } | ||||
| identity ipv4-explicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the IPv4 Explicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity router-alert-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Router Alert Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity ipv6-explicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the IPv6 Explicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity implicit-null-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Implicit NULL Label."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. Section 2.1."; | ||||
| } | ||||
| identity entropy-label-indicator { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Entropy Label Indicator."; | ||||
| reference | ||||
| "RFC6790: The Use of Entropy Labels in MPLS Forwarding. | ||||
| Sections 3 and 10.1."; | ||||
| } | ||||
| identity gal-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Generic Associated Channel Label | ||||
| (GAL)."; | ||||
| reference | ||||
| "RFC5586: MPLS Generic Associated Channel. | ||||
| Sections 4 and 10."; | ||||
| } | ||||
| identity oam-alert-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the OAM Alert Label."; | ||||
| reference | ||||
| "RFC3429: Assignment of the 'OAM Alert Label' for Multiprotocol | ||||
| Label Switching Architecture (MPLS) Operation and Maintenance | ||||
| (OAM) Functions. | ||||
| Sections 3 and 6."; | ||||
| } | ||||
| identity extension-label { | ||||
| base mpls-label-special-purpose-value; | ||||
| description | ||||
| "This identity represents the Extension Label."; | ||||
| reference | ||||
| "RFC7274: Allocating and Retiring Special-Purpose MPLS Labels. | ||||
| Sections 3.1 and 5."; | ||||
| } | ||||
| typedef mpls-label-special-purpose { | typedef mpls-label-special-purpose { | |||
| type identityref { | type identityref { | |||
| base mpls-label-special-purpose-value; | base mpls-label-special-purpose-value; | |||
| } | } | |||
| description | description | |||
| "This type represents the special-purpose Multiprotocol Label | "This type represents the special-purpose Multiprotocol Label | |||
| Switching (MPLS) label values."; | Switching (MPLS) label values."; | |||
| reference | reference | |||
| "RFC3032: MPLS Label Stack Encoding. | "RFC3032: MPLS Label Stack Encoding. | |||
| RFC7274: Allocating and Retiring Special-Purpose MPLS | RFC7274: Allocating and Retiring Special-Purpose MPLS | |||
| skipping to change at page 16, line 34 ¶ | skipping to change at page 16, line 44 ¶ | |||
| type mpls-label-general-use; | type mpls-label-general-use; | |||
| } | } | |||
| description | description | |||
| "The 20-bit label values in an MPLS label stack entry, | "The 20-bit label values in an MPLS label stack entry, | |||
| specified in RFC3032. This label value does not include | specified in RFC3032. This label value does not include | |||
| the encodings of Traffic Class and TTL (time to live)."; | the encodings of Traffic Class and TTL (time to live)."; | |||
| reference | reference | |||
| "RFC3032: MPLS Label Stack Encoding."; | "RFC3032: MPLS Label Stack Encoding."; | |||
| } | } | |||
| /* | /*** Groupings **/ | |||
| * Groupings | ||||
| */ | ||||
| grouping mpls-label-stack { | grouping mpls-label-stack { | |||
| description | description | |||
| "A grouping that specifies an MPLS label stack."; | "A grouping that specifies an MPLS label stack."; | |||
| container mpls-label-stack { | container mpls-label-stack { | |||
| description | description | |||
| "Container for a list of MPLS label stack entries."; | "Container for a list of MPLS label stack entries."; | |||
| list entry { | list entry { | |||
| key "id"; | key "id"; | |||
| description | description | |||
| "List of MPLS label stack entries."; | "List of MPLS label stack entries."; | |||
| skipping to change at page 18, line 15 ¶ | skipping to change at page 18, line 23 ¶ | |||
| description | description | |||
| "Import/export type of the Route Target."; | "Import/export type of the Route Target."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. IANA Routing Types YANG Module | 4. IANA Routing Types YANG Module | |||
| <CODE BEGINS> file "iana-routing-types@2017-05-10.yang" | <CODE BEGINS> file "iana-routing-types@2017-05-24.yang" | |||
| module iana-routing-types { | module iana-routing-types { | |||
| namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; | namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; | |||
| prefix "iana-rt-types"; | prefix "iana-rt-types"; | |||
| organization "IETF Routing Area Working Group (rtgwg)"; | organization "IANA"; | |||
| contact | contact | |||
| "Routing Area Working Group - <rtgwg@ietf.org>"; | " Internet Assigned Numbers Authority | |||
| Postal: ICANN | ||||
| 4676 Admiralty Way, Suite 330 | ||||
| Marina del Rey, CA 90292 | ||||
| Tel: +1 310 823 9358 | ||||
| <mailto:iana@iana.org>"; | ||||
| description | description | |||
| "This module contains a collection of YANG data types | "This module contains a collection of YANG data types | |||
| considered defined by IANA and used for routing | considered defined by IANA and used for routing | |||
| protocols. | protocols. | |||
| Copyright (c) 2017 IETF Trust and the persons identified as | Copyright (c) 2017 IETF Trust and the persons | |||
| authors of the code. All rights reserved. | identified as 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 to | without modification, is permitted pursuant to, and subject | |||
| the license terms contained in, the Simplified BSD License set | to the license terms contained in, the Simplified BSD License | |||
| 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). | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | This version of this YANG module is part of RFC XXXX; see | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and | the RFC itself for full legal notices."; | |||
| 'OPTIONAL' in the module text are to be interpreted as described | ||||
| in RFC 2119. | ||||
| This version of this YANG module is part of RFC XXXX; | reference "RFC XXXX"; | |||
| see the RFC itself for full legal notices."; | ||||
| revision 2017-05-10 { | revision 2017-05-24 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC TBD: IANA Routing YANG Data Types"; | "RFC TBD: IANA Routing YANG Data Types"; | |||
| } | } | |||
| /*** Collection of IANA types related to routing ***/ | /*** Collection of IANA types related to routing ***/ | |||
| /*** IANA address family Identies ***/ | /*** IANA address family Identities ***/ | |||
| identity address-family { | identity address-family { | |||
| description | description | |||
| "Base identity from which identities describing address | "Base identity from which identities describing address | |||
| families are derived."; | families are derived."; | |||
| } | } | |||
| identity ipv4 { | identity ipv4 { | |||
| base address-family; | base address-family; | |||
| description | description | |||
| "IPv4 Address Family - IANA Registry Assigned Number: 1"; | "IPv4 Address Family - IANA Registry Assigned Number: 1"; | |||
| } | } | |||
| skipping to change at page 24, line 31 ¶ | skipping to change at page 24, line 43 ¶ | |||
| "TRILL Remote Bridge (RBridge) Port ID | "TRILL Remote Bridge (RBridge) Port ID | |||
| Address Family - IANA Registry Assigned Number: 16394"; | Address Family - IANA Registry Assigned Number: 16394"; | |||
| } | } | |||
| identity trill-nickname { | identity trill-nickname { | |||
| base address-family; | base address-family; | |||
| description | description | |||
| "TRILL Nickname | "TRILL Nickname | |||
| Address Family - IANA Registry Assigned Number: 16395"; | Address Family - IANA Registry Assigned Number: 16395"; | |||
| } | } | |||
| /*** Subsequent Address Family for Multi-Protocol BGP */ | /*** SAFIs for Multi-Protocol BGP Identities ***/ | |||
| identity bgp-safi { | identity bgp-safi { | |||
| description | description | |||
| "Base identity from which identities describing BGP | "Base identity from which identities describing BGP | |||
| Subsequent Address Family Identifier (SAFI) - RFC 4760."; | Subsequent Address Family Identifier (SAFI) - RFC 4760."; | |||
| } | } | |||
| identity unicast-safi { | identity unicast-safi { | |||
| base bgp-safi; | base bgp-safi; | |||
| description | description | |||
| "Unicast SAFI - | "Unicast SAFI - | |||
| skipping to change at page 28, line 21 ¶ | skipping to change at page 28, line 29 ¶ | |||
| registry [RFC3688]: | registry [RFC3688]: | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-routing-types | URI: urn:ietf:params:xml:ns:yang:ietf-routing-types | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| URI: urn:ietf:params:xml:ns:yang:iana-routing-types | URI: urn:ietf:params:xml:ns:yang:iana-routing-types | |||
| Registrant Contact: The IESG. | Registrant Contact: IANA | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| This document registers the following YANG modules in the YANG Module | This document registers the following YANG modules in the YANG Module | |||
| Names registry [RFC6020]: | Names registry [RFC6020]: | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| name: ietf-routing-types | name: ietf-routing-types | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types | namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types | |||
| prefix: rt-types | prefix: rt-types | |||
| skipping to change at page 30, line 36 ¶ | skipping to change at page 30, line 42 ¶ | |||
| [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/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [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>. | |||
| [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", | [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | |||
| RFC 6021, DOI 10.17487/RFC6021, October 2010, | RFC 6991, DOI 10.17487/RFC6991, July 2013, | |||
| <http://www.rfc-editor.org/info/rfc6021>. | <http://www.rfc-editor.org/info/rfc6991>. | |||
| [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>. | |||
| [IANA-ADDRESS-FAMILY-REGISTRY] | [IANA-ADDRESS-FAMILY-REGISTRY] | |||
| "IANA Address Family Registry", | "IANA Address Family Registry", | |||
| <https://www.iana.org/assignments/address-family-numbers/ | <https://www.iana.org/assignments/address-family-numbers/ | |||
| address-family-numbers.xhtml#address-family-numbers-2>. | address-family-numbers.xhtml#address-family-numbers-2>. | |||
| skipping to change at page 32, line 39 ¶ | skipping to change at page 33, line 5 ¶ | |||
| [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | |||
| 2 Virtual Private Networks (L2VPNs)", RFC 4664, | 2 Virtual Private Networks (L2VPNs)", RFC 4664, | |||
| DOI 10.17487/RFC4664, September 2006, | DOI 10.17487/RFC4664, September 2006, | |||
| <http://www.rfc-editor.org/info/rfc4664>. | <http://www.rfc-editor.org/info/rfc4664>. | |||
| [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
| (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | |||
| <http://www.rfc-editor.org/info/rfc5880>. | <http://www.rfc-editor.org/info/rfc5880>. | |||
| [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | ||||
| RFC 6991, DOI 10.17487/RFC6991, July 2013, | ||||
| <http://www.rfc-editor.org/info/rfc6991>. | ||||
| [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating | [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating | |||
| and Retiring Special-Purpose MPLS Labels", RFC 7274, | and Retiring Special-Purpose MPLS Labels", RFC 7274, | |||
| DOI 10.17487/RFC7274, June 2014, | DOI 10.17487/RFC7274, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7274>. | <http://www.rfc-editor.org/info/rfc7274>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Xufeng Liu | Xufeng Liu | |||
| Jabil | Jabil | |||
| 8281 Greensboro Drive, Suite 200 | 8281 Greensboro Drive, Suite 200 | |||
| McLean VA 22102 | McLean VA 22102 | |||
| USA | USA | |||
| EMail: Xufeng_Liu@jabil.com | EMail: Xufeng_Liu@jabil.com | |||
| Yingzhen Qu | Yingzhen Qu | |||
| Futurewei Technologies, Inc. | Futurewei Technologies, Inc. | |||
| End of changes. 39 change blocks. | ||||
| 140 lines changed or deleted | 146 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/ | ||||