| < draft-ietf-rtgwg-routing-types-00.txt | draft-ietf-rtgwg-routing-types-01.txt > | |||
|---|---|---|---|---|
| Network Working Group X. Liu | Network Working Group X. Liu | |||
| Internet-Draft Kuatro Technologies | Internet-Draft Jabil | |||
| Intended status: Standards Track Y. Qu | Intended status: Standards Track Y. Qu | |||
| Expires: June 19, 2017 A. Lindem | Expires: August 23, 2017 Futurewei Technologies, Inc. | |||
| 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. | |||
| December 16, 2016 | February 19, 2017 | |||
| Routing Area Common YANG Data Types | Routing Area Common YANG Data Types | |||
| draft-ietf-rtgwg-routing-types-00 | draft-ietf-rtgwg-routing-types-01 | |||
| Abstract | Abstract | |||
| This document defines a collection of common data types using YANG | This document defines a collection of common data types using the | |||
| data modeling language. These derived common types are designed to | YANG data modeling language. These derived common types are designed | |||
| 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 | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 June 19, 2017. | This Internet-Draft will expire on August 23, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 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. 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. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 15 | 7.2. Informative References . . . . . . . . . . . . . . . . . 22 | |||
| 7.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 7.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 1. Introduction | 1. Introduction | |||
| YANG [RFC6020] [RFC7950] is a data modeling language used to model | The YANG [RFC6020] [RFC7950] is a data modeling language used to | |||
| 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 | |||
| from the built-in YANG data types. The derived types are designed to | from the built-in YANG data types. The derived types are designed to | |||
| be the common types applicable for modeling in the routing area. | be the common types applicable for modeling in the routing area. | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| skipping to change at page 3, line 23 ¶ | skipping to change at page 3, line 23 ¶ | |||
| address-family | address-family | |||
| This type defines values for use in address family identifiers. | This type defines values for use in address family identifiers. | |||
| The values are based on the IANA Address Family Numbers Registry | The values are based on the IANA Address Family Numbers Registry | |||
| [1]. An example usage can be found in [I-D.ietf-idr-bgp-model]. | [1]. An example usage can be found in [I-D.ietf-idr-bgp-model]. | |||
| route-target | route-target | |||
| Route Targets (RTs) are commonly used to control the distribution | Route Targets (RTs) are commonly used to control the distribution | |||
| of virtual routing and forwarding (VRF) information, see | of virtual routing and forwarding (VRF) information, see | |||
| [RFC4364], in support of virtual private networks (VPNs). An | [RFC4364], in support of virtual private networks (VPNs). An | |||
| example usage can be found in [I-D.ietf-idr-bgp-model] and | example usage can be found in [I-D.ietf-bess-l2vpn-yang]. | |||
| route-target-type | ||||
| This type defines the import and export rules of Route Targets, as | ||||
| descibed in Section 4.3.1 of [RFC4364]. An example usage can be | ||||
| found in [I-D.ietf-idr-bgp-model]. | ||||
| route-distinguisher | route-distinguisher | |||
| Route Distinguishers (RDs) are commonly used to identify separate | Route Distinguishers (RDs) are commonly used to identify separate | |||
| routes in support of virtual private networks (VPNs). For | routes in support of virtual private networks (VPNs). For | |||
| example, in [RFC4364], RDs are commonly used to identify | example, in [RFC4364], RDs are commonly used to identify | |||
| independent VPNs and VRFs, and more generally, to identify | independent VPNs and VRFs, and more generally, to identify | |||
| multiple routes to the same prefix. An example usage can be found | multiple routes to the same prefix. An example usage can be found | |||
| in [I-D.ietf-idr-bgp-model]. | in [I-D.ietf-idr-bgp-model]. | |||
| ieee-bandwidth | ipv4-multicast-group-address | |||
| Bandwidth in IEEE 754 floating point 32-bit binary format | This type defines the representation of an IPv4 multicast group | |||
| [IEEE754]. Commonly used in Traffic Engineering control plane | address, which is in the range from 224.0.0.0 to 239.255.255.255. | |||
| protocols. An example of where this type may/will be used is | An example usage can be found in [I-D.ietf-pim-yang]. | |||
| [I-D.ietf-ospf-yang]. | ||||
| link-access-type | ipv6-multicast-group-address | |||
| This type identifies the IGP link type. An example of where this | This type defines the representation of an IPv6 multicast group | |||
| type may/will be used is [I-D.ietf-ospf-yang]. | address, which is in the range of FF00::/8. An example usage can | |||
| be found in [I-D.ietf-pim-yang]. | ||||
| multicast-source-ipv4-addr-type | ip-multicast-group-address | |||
| This type represents an IP multicast group address and is IP | ||||
| version neutral. The format of the textual representation implies | ||||
| the IP version. An example usage can be found in | ||||
| [I-D.ietf-pim-yang]. | ||||
| ipv4-multicast-source-address | ||||
| IPv4 source address type for use in multicast control protocols. | IPv4 source address type for use in multicast control protocols. | |||
| This type also allows the indication of wildcard sources, i.e., | This type also allows the indication of wildcard sources, i.e., | |||
| "*". An example of where this type may/will be used is | "*". An example of where this type may/will be used is | |||
| [I-D.ietf-pim-yang]. | [I-D.ietf-pim-yang]. | |||
| multicast-source-ipv6-addr-type | ipv6-multicast-source-address | |||
| IPv6 source address type for use in multicast control protocols. | IPv6 source address type for use in multicast control protocols. | |||
| This type also allows the indication of wildcard sources, i.e., | This type also allows the indication of wildcard sources, i.e., | |||
| "*". An example of where this type may/will be used is | "*". An example of where this type may/will be used is | |||
| [I-D.ietf-pim-yang]. | [I-D.ietf-pim-yang]. | |||
| ieee-bandwidth | ||||
| Bandwidth in IEEE 754 floating point 32-bit binary format | ||||
| [IEEE754]. Commonly used in Traffic Engineering control plane | ||||
| protocols. An example of where this type may/will be used is | ||||
| [I-D.ietf-ospf-yang]. | ||||
| link-access-type | ||||
| This type identifies the IGP link type. An example of where this | ||||
| type may/will be used is [I-D.ietf-ospf-yang]. | ||||
| timer-multiplier | timer-multiplier | |||
| This type is used in conjunction with a timer-value type. It is | This type is used in conjunction with a timer-value type. It is | |||
| generally used to indicate define the number of timer-value | generally used to indicate define the number of timer-value | |||
| intervals that may expire before a specific event must occur. | intervals that may expire before a specific event must occur. | |||
| Examples of this include the arrival of any BFD packets, see | Examples of this include the arrival of any BFD packets, see | |||
| [RFC5880] Section 6.8.4, or hello_interval in [RFC3209]. Example | [RFC5880] Section 6.8.4, or hello_interval in [RFC3209]. Example | |||
| of where this type may/will be used is [I-D.ietf-idr-bgp-model] | of where this type may/will be used is [I-D.ietf-idr-bgp-model] | |||
| and [I-D.ietf-teas-yang-rsvp]. | and [I-D.ietf-teas-yang-rsvp]. | |||
| timer-value-seconds16 | timer-value-seconds16 | |||
| skipping to change at page 4, line 35 ¶ | skipping to change at page 5, line 7 ¶ | |||
| represented in a uint32 (4 octets). An example of where this type | represented in a uint32 (4 octets). An example of where this type | |||
| may/will be used is [I-D.ietf-teas-yang-rsvp]. | may/will be used is [I-D.ietf-teas-yang-rsvp]. | |||
| timer-value-milliseconds | timer-value-milliseconds | |||
| This type covers timers which can be set in milliseconds, not set, | This type covers timers which can be set in milliseconds, not set, | |||
| or set to infinity. This type supports a range of values that can | or set to infinity. This type supports a range of values that can | |||
| be represented in a uint32 (4 octets). Examples of where this | be represented in a uint32 (4 octets). Examples of where this | |||
| type may/will be used include [I-D.ietf-teas-yang-rsvp] and | type may/will be used include [I-D.ietf-teas-yang-rsvp] and | |||
| [I-D.ietf-bfd-yang]. | [I-D.ietf-bfd-yang]. | |||
| generalized-label | ||||
| This type represents a generalized label for Generalized Multi- | ||||
| Protocol Label Switching (GMPLS) [RFC3471]. The Generalized Label | ||||
| does not identify its type, which is known from the context. An | ||||
| example usage can be found in [I-D.ietf-teas-yang-te]. | ||||
| mpls-label-special-purpose | ||||
| This type represents the special-purpose Multiprotocol Label | ||||
| Switching (MPLS) label values [RFC7274]. An example usage can be | ||||
| found in [I-D.ietf-mpls-base-yang]. | ||||
| mpls-label-general-use | ||||
| The 20 bits label values in an MPLS label stack entry, specified | ||||
| in [RFC3032]. This label value does not include the encodings of | ||||
| Traffic Class and TTL (time to live). The label range specified | ||||
| by this type is for general use, with special-purpose MPLS label | ||||
| values excluded. An example usage can be found in | ||||
| [I-D.ietf-mpls-base-yang]. | ||||
| mpls-label | ||||
| The 20 bits label values in an MPLS label stack entry, specified | ||||
| in [RFC3032]. This label value does not include the encodings of | ||||
| Traffic Class and TTL (time to live). The label range specified | ||||
| by this type covers the general use values and the special-purpose | ||||
| label values. An example usage can be found in | ||||
| [I-D.ietf-mpls-base-yang]. | ||||
| This document defines the following YANG groupings: | ||||
| mpls-label-stack | ||||
| This grouping defines a reusable collection of schema nodes | ||||
| representing an MPLS label stack [RFC3032]. An example usage can | ||||
| be found in [I-D.ietf-mpls-base-yang]. | ||||
| vpn-route-target-rules | ||||
| This grouping defines a reusable collection of schema nodes | ||||
| representing Route Target import-export rules used in the BGP | ||||
| enabled Virtual Private Networks (VPNs). [RFC4364][RFC4664]. An | ||||
| example usage can be found in [I-D.ietf-bess-l2vpn-yang]. | ||||
| 3. YANG Module | 3. YANG Module | |||
| <CODE BEGINS> file "ietf-routing-types@2016-10-28.yang" | <CODE BEGINS> file "ietf-routing-types@2017-02-19.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"; | |||
| } | } | |||
| skipping to change at page 5, line 4 ¶ | skipping to change at page 6, line 16 ¶ | |||
| 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 Routing Area Working Group (rtgwg)"; | |||
| contact | contact | |||
| "Routing Area Working Group - <rtgwg@ietf.org>"; | "Routing Area Working Group - <rtgwg@ietf.org>"; | |||
| 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."; | |||
| revision 2016-10-28 { | revision 2017-02-19 { | |||
| 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 ***/ | /*** collection of types related to routing ***/ | |||
| typedef router-id { | typedef router-id { | |||
| type yang:dotted-quad; | type yang:dotted-quad; | |||
| description | description | |||
| skipping to change at page 9, line 38 ¶ | skipping to change at page 10, line 50 ¶ | |||
| + '(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|' | |||
| + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' | + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' | |||
| + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' | + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' | |||
| + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' | + '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}|[0-3]?\d{0,8}\d):' | + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' | |||
| + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | |||
| + '[0-5]?\d{0,3}\d))'; | + '[0-5]?\d{0,3}\d))'; | |||
| } | } | |||
| description | description | |||
| "Route target has a similar format to route distinguisher. | "A route target is an 8-octet BGP extended community | |||
| initially identifying a set of sites in a BGP | ||||
| VPN (RFC 4364). However, it has since taken on a more | ||||
| general role in BGP route filtering. | ||||
| A route target consists of three fields: | A route target consists of three fields: | |||
| a 2-byte type field, an administrator field, | a 2-octet type field, an administrator field, | |||
| and an assigned number field. | and an assigned number field. | |||
| According to the data formats for type 0, 1, and 2 defined in | According to the data formats for type 0, 1, and 2 defined in | |||
| RFC4360, the encoding pattern is defined as: | RFC4360 and RFC5668, the encoding pattern is defined as: | |||
| 0:2-byte-asn:4-byte-number | 0:2-octet-asn:4-octet-number | |||
| 1:4-byte-ipv4addr:2-byte-number | 1:4-octet-ipv4addr:2-octet-number | |||
| 2:4-byte-asn:2-byte-number. | 2:4-octet-asn:2-octet-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 | |||
| "RFC4360: BGP Extended Communities Attribute."; | "RFC4360: BGP Extended Communities Attribute. | |||
| RFC5668: 4-Octet AS Specific BGP Extended Community."; | ||||
| } | ||||
| typedef route-target-type { | ||||
| type enumeration { | ||||
| enum "import" { | ||||
| value "0"; | ||||
| description | ||||
| "The route target applies to route import."; | ||||
| } | ||||
| enum "export" { | ||||
| value "1"; | ||||
| description | ||||
| "The route target applies to route export."; | ||||
| } | ||||
| enum "both" { | ||||
| value "2"; | ||||
| description | ||||
| "The route target applies to both route import and | ||||
| route export."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Indicates the role a route target takes | ||||
| in route filtering."; | ||||
| reference | ||||
| "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; | ||||
| } | } | |||
| typedef route-distinguisher { | typedef route-distinguisher { | |||
| 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))|' | |||
| skipping to change at page 10, line 27 ¶ | skipping to change at page 12, line 21 ¶ | |||
| + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' | + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' | |||
| + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' | + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' | |||
| + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' | + '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}|[0-3]?\d{0,8}\d):' | + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' | |||
| + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' | |||
| + '[0-5]?\d{0,3}\d))|' | + '[0-5]?\d{0,3}\d))|' | |||
| + '(([3-9a-fA-F]|[1-9a-fA-F][\da-fA-F]{1,3}):' | + '(([3-9a-fA-F]|[1-9a-fA-F][\da-fA-F]{1,3}):' | |||
| + '[\da-fA-F]{1,12})'; | + '[\da-fA-F]{1,12})'; | |||
| } | } | |||
| description | description | |||
| "Route distinguisher has a similar format to route target. | "A route distinguisher is an 8-octet value used to distinguish | |||
| An route distinguisher consists of three fields: | routes from different BGP VPNs (RFC 4364). A route | |||
| a 2-byte type field, an administrator field, | distinguisher consists of three fields: A 2-octet type field, | |||
| and an assigned number field. | an administrator field, and an assigned number field. | |||
| According to the data formats for type 0, 1, and 2 defined in | According to the data formats for type 0, 1, and 2 defined in | |||
| RFC4364, the encoding pattern is defined as: | RFC4364, the encoding pattern is defined as: | |||
| 0:2-byte-asn:4-byte-number | 0:2-octet-asn:4-octet-number | |||
| 1:4-byte-ipv4addr:2-byte-number | 1:4-octet-ipv4addr:2-octet-number | |||
| 2:4-byte-asn:2-byte-number. | 2:4-octet-asn:2-octet-number. | |||
| 2-byte-other-hex-number:6-byte-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 ***/ | ||||
| typedef ipv4-multicast-group-address { | ||||
| type inet:ipv4-address { | ||||
| pattern '(2((2[4-9])|(3[0-9]))\.).*'; | ||||
| } | ||||
| description | ||||
| "This type represents an IPv4 multicast group address, | ||||
| which is in the range from 224.0.0.0 to 239.255.255.255."; | ||||
| reference | ||||
| "RFC1112: Host Extensions for IP Multicasting."; | ||||
| } | ||||
| typedef ipv6-multicast-group-address { | ||||
| type inet:ipv6-address { | ||||
| pattern | ||||
| '(([fF]{2}[0-9a-fA-F]{2}):).*'; | ||||
| } | ||||
| description | ||||
| "This type represents an IPv6 multicast group address, | ||||
| which is in the range of FF00::/8."; | ||||
| reference | ||||
| "RFC4291: IP Version 6 Addressing Architecture. Sec 2.7. | ||||
| RFC7346: IPv6 Multicast Address Scopes."; | ||||
| } | ||||
| typedef ip-multicast-group-address { | ||||
| type union { | ||||
| type ipv4-multicast-group-address; | ||||
| type ipv6-multicast-group-address; | ||||
| } | ||||
| description | ||||
| "This type represents an IP multicast group address and is IP | ||||
| version neutral. The format of the textual representation | ||||
| implies the IP version."; | ||||
| } | ||||
| typedef ipv4-multicast-source-address { | ||||
| type union { | ||||
| type enumeration { | ||||
| enum '*' { | ||||
| description | ||||
| "Any source address."; | ||||
| } | ||||
| } | ||||
| type inet:ipv4-address; | ||||
| } | ||||
| description | ||||
| "Multicast source IPv4 address type."; | ||||
| } | ||||
| typedef ipv6-multicast-source-address { | ||||
| type union { | ||||
| type enumeration { | ||||
| enum '*' { | ||||
| description | ||||
| "Any source address."; | ||||
| } | ||||
| } | ||||
| type inet:ipv6-address; | ||||
| } | ||||
| description | ||||
| "Multicast source IPv6 address type."; | ||||
| } | ||||
| /*** collection of types common to protocols ***/ | /*** collection of types common to protocols ***/ | |||
| typedef ieee-bandwidth { | typedef ieee-bandwidth { | |||
| 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)?)|0[xX][\da-fA-F]{1,8}'; | + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}'; | |||
| } | } | |||
| 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), | |||
| where Exponent uses 8 bits, and Fraction uses 23 bits. | where Exponent uses 8 bits, and Fraction uses 23 bits. | |||
| The units are bytes per second. | The units are octets per second. | |||
| The encoding format is the external hexadecimal-significand | The encoding format is the external hexadecimal-significand | |||
| character sequences specified in IEEE 754 and C99, | character sequences specified in IEEE 754 and C99, | |||
| restricted to be normalized, non-negative, and non-fraction: | restricted to be normalized, non-negative, and non-fraction: | |||
| 0x1.hhhhhhp{+}d or 0X1.HHHHHHP{+}D | 0x1.hhhhhhp{+}d or 0X1.HHHHHHP{+}D | |||
| where 'h' and 'H' are hexadecimal digits, 'd' and 'D' are | where 'h' and 'H' are hexadecimal digits, 'd' and 'D' are | |||
| integers in the range of [0..127]. | integers in the range of [0..127]. | |||
| When six hexadecimal digits are used for 'hhhhhh' or 'HHHHHH', | When six hexadecimal digits are used for 'hhhhhh' or 'HHHHHH', | |||
| the least significant digit must be an even number. | the least significant digit must be an even number. | |||
| 'x' and 'X' indicate hexadecimal; 'p' and 'P' indicate power | 'x' and 'X' indicate hexadecimal; 'p' and 'P' indicate power | |||
| of two. | of two. | |||
| skipping to change at page 11, line 33 ¶ | skipping to change at page 14, line 42 ¶ | |||
| "IEEE Std 754-2008: IEEE Standard for Floating-Point | "IEEE Std 754-2008: IEEE Standard for Floating-Point | |||
| Arithmetic."; | Arithmetic."; | |||
| } | } | |||
| typedef link-access-type { | typedef link-access-type { | |||
| type enumeration { | type enumeration { | |||
| enum "broadcast" { | enum "broadcast" { | |||
| description | description | |||
| "Specify broadcast multi-access network."; | "Specify broadcast multi-access network."; | |||
| } | } | |||
| enum "non-broadcast" { | enum "non-broadcast-multiaccess" { | |||
| description | description | |||
| "Specify Non-Broadcast Multi-Access (NBMA) network."; | "Specify Non-Broadcast Multi-Access (NBMA) network."; | |||
| } | } | |||
| enum "point-to-multipoint" { | enum "point-to-multipoint" { | |||
| description | description | |||
| "Specify point-to-multipoint network."; | "Specify point-to-multipoint network."; | |||
| } | } | |||
| enum "point-to-point" { | enum "point-to-point" { | |||
| description | description | |||
| "Specify point-to-point network."; | "Specify point-to-point network."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Link access type."; | "Link access type."; | |||
| } | } | |||
| typedef multicast-source-ipv4-addr-type { | ||||
| type union { | ||||
| type enumeration { | ||||
| enum '*' { | ||||
| description | ||||
| "Any source address."; | ||||
| } | ||||
| } | ||||
| type inet:ipv4-address; | ||||
| } | ||||
| description | ||||
| "Multicast source IP address type."; | ||||
| } | ||||
| typedef multicast-source-ipv6-addr-type { | ||||
| type union { | ||||
| type enumeration { | ||||
| enum '*' { | ||||
| description | ||||
| "Any source address."; | ||||
| } | ||||
| } | ||||
| type inet:ipv6-address; | ||||
| } | ||||
| description | ||||
| "Multicast source IP address type."; | ||||
| } | ||||
| typedef timer-multiplier { | typedef timer-multiplier { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "The number of timer value intervals that should be | "The number of timer value intervals that should be | |||
| interpreted as a failure."; | interpreted as a failure."; | |||
| } | } | |||
| typedef timer-value-seconds16 { | typedef timer-value-seconds16 { | |||
| type union { | type union { | |||
| type uint16 { | type uint16 { | |||
| range "1..65535"; | range "1..65535"; | |||
| } | } | |||
| type enumeration { | type enumeration { | |||
| enum "infinity" { | enum "infinity" { | |||
| description "The timer is set to infinity."; | description "The timer is set to infinity."; | |||
| } | } | |||
| enum "no-expiry" { | enum "not-set" { | |||
| description "The timer is not set."; | description "The timer is not set."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| units seconds; | units seconds; | |||
| description "Timer value type, in seconds (16 bit range)."; | description "Timer value type, in seconds (16 bit range)."; | |||
| } | } | |||
| typedef timer-value-seconds32 { | typedef timer-value-seconds32 { | |||
| type union { | type union { | |||
| type uint32 { | type uint32 { | |||
| range "1..4294967295"; | range "1..4294967295"; | |||
| } | } | |||
| type enumeration { | type enumeration { | |||
| enum "infinity" { | enum "infinity" { | |||
| description "The timer is set to infinity."; | description "The timer is set to infinity."; | |||
| } | } | |||
| enum "no-expiry" { | enum "not-set" { | |||
| description "The timer is not set."; | description "The timer is not set."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| units seconds; | units seconds; | |||
| description "Timer value type, in seconds (32 bit range)."; | description "Timer value type, in seconds (32 bit range)."; | |||
| } | } | |||
| typedef timer-value-milliseconds { | typedef timer-value-milliseconds { | |||
| type union { | type union { | |||
| type uint32{ | type uint32{ | |||
| range "1..4294967295"; | range "1..4294967295"; | |||
| } | } | |||
| type enumeration { | type enumeration { | |||
| enum "infinity" { | enum "infinity" { | |||
| description "The timer is set to infinity."; | description "The timer is set to infinity."; | |||
| } | } | |||
| enum "no-expiry" { | enum "not-set" { | |||
| description "The timer is not set."; | description "The timer is not set."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| units milliseconds; | units milliseconds; | |||
| description "Timer value type, in milliseconds."; | description "Timer value type, in milliseconds."; | |||
| } | } | |||
| /*** collection of types related to MPLS/GMPLS ***/ | ||||
| typedef generalized-label { | ||||
| type binary; | ||||
| description | ||||
| "Generalized label. Nodes sending and receiving the | ||||
| Generalized Label know the kinds of link they are | ||||
| using. Hence, the Generalized Label does not identify | ||||
| its type. Instead, nodes are expected to know from | ||||
| the context and type of label to expect."; | ||||
| 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 { | ||||
| type identityref { | ||||
| base mpls-label-special-purpose-value; | ||||
| } | ||||
| description | ||||
| "This type represents the special-purpose Multiprotocol Label | ||||
| Switching (MPLS) label values."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding. | ||||
| RFC7274: Allocating and Retiring Special-Purpose MPLS | ||||
| Labels."; | ||||
| } | ||||
| typedef mpls-label-general-use { | ||||
| type uint32 { | ||||
| range "16..1048575"; | ||||
| } | ||||
| description | ||||
| "The 20 bits label values in an MPLS label stack entry, | ||||
| specified in RFC3032. This label value does not include | ||||
| the encodings of Traffic Class and TTL (time to live). | ||||
| The label range specified by this type is for general use, | ||||
| with special-purpose MPLS label values excluded."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding."; | ||||
| } | ||||
| typedef mpls-label { | ||||
| type union { | ||||
| type mpls-label-special-purpose; | ||||
| type mpls-label-general-use; | ||||
| } | ||||
| description | ||||
| "The 20 bits label values in an MPLS label stack entry, | ||||
| specified in RFC3032. This label value does not include | ||||
| the encodings of Traffic Class and TTL (time to live)."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding."; | ||||
| } | ||||
| /* | ||||
| * Groupings | ||||
| */ | ||||
| grouping mpls-label-stack { | ||||
| description | ||||
| "A grouping that specifies an MPLS label stack."; | ||||
| container mpls-label-stack { | ||||
| description | ||||
| "Container for a list of MPLS label stack entries."; | ||||
| list entry { | ||||
| key "id"; | ||||
| description | ||||
| "List of MPLS label stack entries."; | ||||
| leaf id { | ||||
| type uint8; | ||||
| description | ||||
| "Identifies the sequence of an MPLS label stack entries. | ||||
| An entry with smaller ID value is precedes an entry in | ||||
| the label stack with a smaller ID."; | ||||
| } | ||||
| leaf label { | ||||
| type rt-types:mpls-label; | ||||
| description | ||||
| "Label value."; | ||||
| } | ||||
| leaf ttl { | ||||
| type uint8; | ||||
| description | ||||
| "Time to Live (TTL)."; | ||||
| reference | ||||
| "RFC3032: MPLS Label Stack Encoding."; | ||||
| } | ||||
| leaf traffic-class { | ||||
| type uint8 { | ||||
| range "0..7"; | ||||
| } | ||||
| description | ||||
| "Traffic Class (TC)."; | ||||
| reference | ||||
| "RFC5462: Multiprotocol Label Switching (MPLS) Label | ||||
| Stack Entry: 'EXP' Field Renamed to 'Traffic Class' | ||||
| Field."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } // mpls-label-stack | ||||
| grouping vpn-route-targets { | ||||
| description | ||||
| "A grouping that specifies Route Target import-export rules | ||||
| used in the BGP enabled Virtual Private Networks (VPNs)."; | ||||
| reference | ||||
| "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs). | ||||
| RFC4664: Framework for Layer 2 Virtual Private Networks | ||||
| (L2VPNs)"; | ||||
| list vpn-target { | ||||
| key route-target; | ||||
| description | ||||
| "List of Route Targets."; | ||||
| leaf route-target { | ||||
| type rt-types:route-target; | ||||
| description | ||||
| "Route Target value"; | ||||
| } | ||||
| leaf route-target-type { | ||||
| type rt-types:route-target-type; | ||||
| mandatory true; | ||||
| description | ||||
| "Import/export type of the Route Target."; | ||||
| } | ||||
| } | ||||
| } // vpn-route-targets | ||||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. IANA Considerations | 4. IANA Considerations | |||
| RFC Ed.: In this section, replace all occurrences of 'XXXX' with the | RFC Ed.: In this section, replace all occurrences of 'XXXX' with the | |||
| actual RFC number (and remove this note). | actual RFC number (and remove this note). | |||
| This document registers the following namespace URIs in the IETF XML | This document registers the following namespace URIs in the IETF XML | |||
| 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. | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| 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 | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| 5. Security Considerations | 5. Security Considerations | |||
| This document defines common data types using the YANG data modeling | This document defines common data types using the YANG data modeling | |||
| language. The definitions themselves have no security impact on the | language. The definitions themselves have no security impact on the | |||
| Internet, but the usage of these definitions in concrete YANG modules | Internet, but the usage of these definitions in concrete YANG modules | |||
| might have. The security considerations spelled out in the YANG | might have. The security considerations spelled out in the YANG | |||
| specification [RFC7950] apply for this document as well. | specification [RFC7950] apply for this document as well. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| skipping to change at page 15, line 13 ¶ | skipping to change at page 22, line 13 ¶ | |||
| <http://www.rfc-editor.org/info/rfc7950>. | <http://www.rfc-editor.org/info/rfc7950>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE | [IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE | |||
| Std 754-2008, August 2008. | Std 754-2008, August 2008. | |||
| [I-D.ietf-bfd-yang] | [I-D.ietf-bfd-yang] | |||
| Zheng, L., Rahman, R., Networks, J., Jethanandani, M., and | Zheng, L., Rahman, R., Networks, J., Jethanandani, M., and | |||
| G. Mirsky, "Yang Data Model for Bidirectional Forwarding | G. Mirsky, "Yang Data Model for Bidirectional Forwarding | |||
| Detection (BFD)", draft-ietf-bfd-yang-03 (work in | Detection (BFD)", draft-ietf-bfd-yang-04 (work in | |||
| progress), July 2016. | progress), January 2017. | |||
| [I-D.ietf-idr-bgp-model] | [I-D.ietf-idr-bgp-model] | |||
| Shaikh, A., Shakir, R., Patel, K., Hares, S., D'Souza, K., | Shaikh, A., Shakir, R., Patel, K., Hares, S., D'Souza, K., | |||
| Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and | Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and | |||
| X. Liu, "BGP Model for Service Provider Networks", draft- | X. Liu, "BGP Model for Service Provider Networks", draft- | |||
| ietf-idr-bgp-model-02 (work in progress), July 2016. | ietf-idr-bgp-model-02 (work in progress), July 2016. | |||
| [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- | |||
| skipping to change at page 15, line 39 ¶ | skipping to change at page 22, line 39 ¶ | |||
| Y., and f. hu, "A YANG data model for Protocol-Independent | Y., and f. hu, "A YANG data model for Protocol-Independent | |||
| Multicast (PIM)", draft-ietf-pim-yang-03 (work in | Multicast (PIM)", draft-ietf-pim-yang-03 (work in | |||
| progress), October 2016. | progress), October 2016. | |||
| [I-D.ietf-teas-yang-rsvp] | [I-D.ietf-teas-yang-rsvp] | |||
| Beeram, V., Saad, T., Gandhi, R., Liu, X., Shah, H., Chen, | Beeram, V., Saad, T., Gandhi, R., Liu, X., Shah, H., Chen, | |||
| X., Jones, R., and B. Wen, "A YANG Data Model for Resource | X., Jones, R., and B. Wen, "A YANG Data Model for Resource | |||
| Reservation Protocol (RSVP)", draft-ietf-teas-yang-rsvp-06 | Reservation Protocol (RSVP)", draft-ietf-teas-yang-rsvp-06 | |||
| (work in progress), October 2016. | (work in progress), October 2016. | |||
| [I-D.ietf-teas-yang-te] | ||||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., | ||||
| Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data | ||||
| Model for Traffic Engineering Tunnels and Interfaces", | ||||
| draft-ietf-teas-yang-te-05 (work in progress), October | ||||
| 2016. | ||||
| [I-D.ietf-bess-l2vpn-yang] | ||||
| Shah, H., Brissette, P., Chen, I., Hussain, I., and B. | ||||
| Wen, "YANG Data Model for MPLS-based L2VPN", draft-ietf- | ||||
| bess-l2vpn-yang-02 (work in progress), October 2016. | ||||
| [I-D.ietf-mpls-base-yang] | ||||
| Raza, K., Gandhi, R., Liu, X., Beeram, V., Saad, T., | ||||
| Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data | ||||
| Model for MPLS Base", draft-ietf-mpls-base-yang-01 (work | ||||
| in progress), July 2016. | ||||
| [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | ||||
| Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | ||||
| Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | ||||
| <http://www.rfc-editor.org/info/rfc3032>. | ||||
| [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
| and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
| Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | |||
| <http://www.rfc-editor.org/info/rfc3209>. | <http://www.rfc-editor.org/info/rfc3209>. | |||
| [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label | ||||
| Switching (GMPLS) Signaling Functional Description", | ||||
| RFC 3471, DOI 10.17487/RFC3471, January 2003, | ||||
| <http://www.rfc-editor.org/info/rfc3471>. | ||||
| [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
| Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
| 2006, <http://www.rfc-editor.org/info/rfc4364>. | 2006, <http://www.rfc-editor.org/info/rfc4364>. | |||
| [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | ||||
| 2 Virtual Private Networks (L2VPNs)", RFC 4664, | ||||
| DOI 10.17487/RFC4664, September 2006, | ||||
| <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>. | |||
| [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating | ||||
| and Retiring Special-Purpose MPLS Labels", RFC 7274, | ||||
| DOI 10.17487/RFC7274, June 2014, | ||||
| <http://www.rfc-editor.org/info/rfc7274>. | ||||
| 7.3. URIs | 7.3. URIs | |||
| [1] http://www.iana.org/assignments/address-family-numbers/address- | [1] http://www.iana.org/assignments/address-family-numbers/address- | |||
| family-numbers.xhtml | family-numbers.xhtml | |||
| Authors' Addresses | Authors' Addresses | |||
| Xufeng Liu | Xufeng Liu | |||
| Kuatro Technologies | Jabil | |||
| 8281 Greensboro Drive, Suite 200 | 8281 Greensboro Drive, Suite 200 | |||
| McLean VA 22102 | McLean VA 22102 | |||
| USA | USA | |||
| EMail: xliu@kuatrotech.com | EMail: Xufeng_Liu@jabil.com | |||
| Yingzhen Qu | Yingzhen Qu | |||
| Cisco Systems | Futurewei Technologies, Inc. | |||
| 170 West Tasman Drive | 2330 Central Expressway | |||
| San Jose CA 95134 | Santa Clara CA 95050 | |||
| USA | USA | |||
| EMail: yiqu@cisco.com | EMail: yingzhen.qu@huawei.com | |||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| 301 Midenhall Way | 301 Midenhall Way | |||
| Cary, NC 27513 | Cary, NC 27513 | |||
| USA | USA | |||
| EMail: acee@cisco.com | EMail: acee@cisco.com | |||
| Christian Hopps | Christian Hopps | |||
| End of changes. 49 change blocks. | ||||
| 103 lines changed or deleted | 476 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/ | ||||