idnits 2.17.00 (12 Aug 2021) /tmp/idnits9134/draft-ietf-rtgwg-routing-types-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 2 instances of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet has text resembling RFC 2119 boilerplate text. -- The document date (May 10, 2017) is 1836 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '1' on line 1467 -- Looks like a reference, but probably isn't: '2' on line 1470 -- Looks like a reference, but probably isn't: '3' on line 1473 == Missing Reference: 'RFC3688' is mentioned on line 1309, but not defined ** Obsolete normative reference: RFC 6021 (Obsoleted by RFC 6991) == Outdated reference: draft-ietf-bfd-yang has been published as RFC 9127 == Outdated reference: A later version (-13) exists of draft-ietf-idr-bgp-model-02 == Outdated reference: A later version (-29) exists of draft-ietf-ospf-yang-07 == Outdated reference: A later version (-17) exists of draft-ietf-pim-yang-08 == Outdated reference: A later version (-17) exists of draft-ietf-teas-yang-rsvp-07 == Outdated reference: A later version (-29) exists of draft-ietf-teas-yang-te-06 == Outdated reference: A later version (-10) exists of draft-ietf-bess-l2vpn-yang-05 == Outdated reference: draft-ietf-mpls-base-yang has been published as RFC 8960 Summary: 1 error (**), 0 flaws (~~), 12 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Liu 3 Internet-Draft Jabil 4 Intended status: Standards Track Y. Qu 5 Expires: November 11, 2017 Futurewei Technologies, Inc. 6 A. Lindem 7 Cisco Systems 8 C. Hopps 9 Deutsche Telekom 10 L. Berger 11 LabN Consulting, L.L.C. 12 May 10, 2017 14 Routing Area Common YANG Data Types 15 draft-ietf-rtgwg-routing-types-03 17 Abstract 19 This document defines a collection of common data types using the 20 YANG data modeling language. These derived common types are designed 21 to be imported by other modules defined in the routing area. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on November 11, 2017. 40 Copyright Notice 42 Copyright (c) 2017 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 59 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 60 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 3. IETF Routing Types YANG Module . . . . . . . . . . . . . . . 6 62 4. IANA Routing Types YANG Module . . . . . . . . . . . . . . . 18 63 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 28 65 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 66 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 67 8.1. Normative References . . . . . . . . . . . . . . . . . . 29 68 8.2. Informative References . . . . . . . . . . . . . . . . . 29 69 8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 31 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 72 1. Introduction 74 The YANG [RFC6020] [RFC7950] is a data modeling language used to 75 model configuration data, state data, Remote Procedure Calls, and 76 notifications for network management protocols. The YANG language 77 supports a small set of built-in data types and provides mechanisms 78 to derive other types from the built-in types. 80 This document introduces a collection of common data types derived 81 from the built-in YANG data types. The derived types are designed to 82 be the common types applicable for modeling in the routing area. 84 1.1. Requirements Language 86 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 87 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this 88 document are to be interpreted as described in BCP 14, RFC 2119 89 [RFC2119]. 91 1.2. Terminology 93 The terminology for describing YANG data models is found in 94 [RFC7950]. 96 2. Overview 98 This document defines the two models for common routing types, ietf- 99 routing-types and iana-routing-types. The only module imports are 100 from [RFC6021]. The ietf-routing-types model contains common routing 101 types other than those corresponding directly to IANA mappings. 102 These include: 104 router-id 105 Router Identifiers are commonly used to identify a nodes in 106 routing and other control plane protocols. An example usage of 107 router-id can be found in [I-D.ietf-ospf-yang]. 109 address-family 110 This type defines values for use in address family identifiers. 111 The values are based on the IANA Address Family Numbers Registry 112 [1]. An example usage can be found in [I-D.ietf-idr-bgp-model]. 114 route-target 115 Route Targets (RTs) are commonly used to control the distribution 116 of virtual routing and forwarding (VRF) information, see 117 [RFC4364], in support of virtual private networks (VPNs). An 118 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 120 route-target-type 121 This type defines the import and export rules of Route Targets, as 122 descibed in Section 4.3.1 of [RFC4364]. An example usage can be 123 found in [I-D.ietf-idr-bgp-model]. 125 route-distinguisher 126 Route Distinguishers (RDs) are commonly used to identify separate 127 routes in support of virtual private networks (VPNs). For 128 example, in [RFC4364], RDs are commonly used to identify 129 independent VPNs and VRFs, and more generally, to identify 130 multiple routes to the same prefix. An example usage can be found 131 in [I-D.ietf-idr-bgp-model]. 133 ipv4-multicast-group-address 134 This type defines the representation of an IPv4 multicast group 135 address, which is in the range from 224.0.0.0 to 239.255.255.255. 136 An example usage can be found in [I-D.ietf-pim-yang]. 138 ipv6-multicast-group-address 139 This type defines the representation of an IPv6 multicast group 140 address, which is in the range of FF00::/8. An example usage can 141 be found in [I-D.ietf-pim-yang]. 143 ip-multicast-group-address 144 This type represents an IP multicast group address and is IP 145 version neutral. The format of the textual representation implies 146 the IP version. An example usage can be found in 147 [I-D.ietf-pim-yang]. 149 ipv4-multicast-source-address 150 IPv4 source address type for use in multicast control protocols. 151 This type also allows the indication of wildcard sources, i.e., 152 "*". An example of where this type may/will be used is 153 [I-D.ietf-pim-yang]. 155 ipv6-multicast-source-address 156 IPv6 source address type for use in multicast control protocols. 157 This type also allows the indication of wildcard sources, i.e., 158 "*". An example of where this type may/will be used is 159 [I-D.ietf-pim-yang]. 161 bandwidth-ieee-float32 162 Bandwidth in IEEE 754 floating point 32-bit binary format 163 [IEEE754]. Commonly used in Traffic Engineering control plane 164 protocols. An example of where this type may/will be used is 165 [I-D.ietf-ospf-yang]. 167 link-access-type 168 This type identifies the IGP link type. An example of where this 169 type may/will be used is [I-D.ietf-ospf-yang]. 171 timer-multiplier 172 This type is used in conjunction with a timer-value type. It is 173 generally used to indicate define the number of timer-value 174 intervals that may expire before a specific event must occur. 175 Examples of this include the arrival of any BFD packets, see 176 [RFC5880] Section 6.8.4, or hello_interval in [RFC3209]. Example 177 of where this type may/will be used is [I-D.ietf-idr-bgp-model] 178 and [I-D.ietf-teas-yang-rsvp]. 180 timer-value-seconds16 181 This type covers timers which can be set in seconds, not set, or 182 set to infinity. This type supports a range of values that can be 183 represented in a uint16 (2 octets). An example of where this type 184 may/will be used is [I-D.ietf-ospf-yang]. 186 timer-value-seconds32 187 This type covers timers which can be set in seconds, not set, or 188 set to infinity. This type supports a range of values that can be 189 represented in a uint32 (4 octets). An example of where this type 190 may/will be used is [I-D.ietf-teas-yang-rsvp]. 192 timer-value-milliseconds 193 This type covers timers which can be set in milliseconds, not set, 194 or set to infinity. This type supports a range of values that can 195 be represented in a uint32 (4 octets). Examples of where this 196 type may/will be used include [I-D.ietf-teas-yang-rsvp] and 197 [I-D.ietf-bfd-yang]. 199 percentage 200 This type defines a percentage with a range of 0-100%. An example 201 usage can be found in [I-D.ietf-idr-bgp-model]. 203 timeticks64 204 This type is based on the timeticks type defined in [RFC6991] but 205 with 64-bit precision. It represents the time in hundredths of a 206 second between two epochs. An example usage can be found in 207 [I-D.ietf-idr-bgp-model]. 209 generalized-label 210 This type represents a generalized label for Generalized Multi- 211 Protocol Label Switching (GMPLS) [RFC3471]. The Generalized Label 212 does not identify its type, which is known from the context. An 213 example usage can be found in [I-D.ietf-teas-yang-te]. 215 mpls-label-special-purpose 216 This type represents the special-purpose Multiprotocol Label 217 Switching (MPLS) label values [RFC7274]. An example usage can be 218 found in [I-D.ietf-mpls-base-yang]. 220 mpls-label-general-use 221 The 20 bits label values in an MPLS label stack entry, specified 222 in [RFC3032]. This label value does not include the encodings of 223 Traffic Class and TTL (time to live). The label range specified 224 by this type is for general use, with special-purpose MPLS label 225 values excluded. An example usage can be found in 226 [I-D.ietf-mpls-base-yang]. 228 mpls-label 229 The 20 bits label values in an MPLS label stack entry, specified 230 in [RFC3032]. This label value does not include the encodings of 231 Traffic Class and TTL (time to live). The label range specified 232 by this type covers the general use values and the special-purpose 233 label values. An example usage can be found in 234 [I-D.ietf-mpls-base-yang]. 236 This document defines the following YANG groupings: 238 mpls-label-stack 239 This grouping defines a reusable collection of schema nodes 240 representing an MPLS label stack [RFC3032]. An example usage can 241 be found in [I-D.ietf-mpls-base-yang]. 243 vpn-route-targets 244 This grouping defines a reusable collection of schema nodes 245 representing Route Target import-export rules used in the BGP 246 enabled Virtual Private Networks (VPNs). [RFC4364][RFC4664]. An 247 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 249 The iana-routing-types model contains common routing types 250 corresponding directly to IANA mappings. These include: 252 address-family 253 This type defines values for use in address family identifiers. 254 The values are based on the IANA Address Family Numbers Registry 255 [2]. An example usage can be found in [I-D.ietf-idr-bgp-model]. 257 subsequent-address-family 258 This type defines values for use in subsequent address family 259 (SAFI) identifiers. The values are based on the IANA Subsequent 260 Address Family Identifiers Registry [3]. 262 3. IETF Routing Types YANG Module 264 file "ietf-routing-types@2017-05-10.yang" 265 module ietf-routing-types { 267 namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types"; 268 prefix "rt-types"; 270 import ietf-yang-types { 271 prefix "yang"; 272 } 274 import ietf-inet-types { 275 prefix "inet"; 276 } 278 organization "IETF Routing Area Working Group (rtgwg)"; 280 contact 281 "Routing Area Working Group - "; 283 description 284 "This module contains a collection of YANG data types 285 considered generally useful for routing protocols. 287 Copyright (c) 2017 IETF Trust and the persons identified as 288 authors of the code. All rights reserved. 290 Redistribution and use in source and binary forms, with or 291 without modification, is permitted pursuant to, and subject to 292 the license terms contained in, the Simplified BSD License set 293 forth in Section 4.c of the IETF Trust's Legal Provisions 294 Relating to IETF Documents 295 (http://trustee.ietf.org/license-info). 297 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 298 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and 299 'OPTIONAL' in the module text are to be interpreted as described 300 in RFC 2119. 302 This version of this YANG module is part of RFC XXXX; 303 see the RFC itself for full legal notices."; 305 revision 2017-05-10 { 306 description 307 "Initial revision."; 308 reference 309 "RFC TBD: Routing YANG Data Types"; 310 } 312 /*** collection of types related to routing ***/ 313 typedef router-id { 314 type yang:dotted-quad; 315 description 316 "A 32-bit number in the dotted quad format assigned to each 317 router. This number uniquely identifies the router within an 318 Autonomous System."; 319 } 321 /*** collection of types related to VPN ***/ 322 typedef route-target { 323 type string { 324 pattern 325 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 326 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 327 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 328 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 329 + '[0-3]?\d{0,8}\d))|' 330 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 331 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 332 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 333 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 334 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 335 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 336 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 337 + '[0-5]?\d{0,3}\d))'; 338 } 339 description 340 "A route target is an 8-octet BGP extended community 341 initially identifying a set of sites in a BGP 342 VPN (RFC 4364). However, it has since taken on a more 343 general role in BGP route filtering. 344 A route target consists of three fields: 345 a 2-octet type field, an administrator field, 346 and an assigned number field. 347 According to the data formats for type 0, 1, and 2 defined in 348 RFC4360 and RFC5668, the encoding pattern is defined as: 350 0:2-octet-asn:4-octet-number 351 1:4-octet-ipv4addr:2-octet-number 352 2:4-octet-asn:2-octet-number. 354 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 355 2:1234567890:203."; 356 reference 357 "RFC4360: BGP Extended Communities Attribute. 358 RFC5668: 4-Octet AS Specific BGP Extended Community."; 359 } 361 typedef route-target-type { 362 type enumeration { 363 enum "import" { 364 value "0"; 365 description 366 "The route target applies to route import."; 367 } 368 enum "export" { 369 value "1"; 370 description 371 "The route target applies to route export."; 372 } 373 enum "both" { 374 value "2"; 375 description 376 "The route target applies to both route import and 377 route export."; 378 } 379 } 380 description 381 "Indicates the role a route target takes 382 in route filtering."; 383 reference 384 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 385 } 387 typedef route-distinguisher { 388 type string { 389 pattern 390 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 391 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 392 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 393 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 394 + '[0-3]?\d{0,8}\d))|' 395 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 396 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 397 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 398 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 399 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 400 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 401 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 402 + '[0-5]?\d{0,3}\d))|' 403 + '(([3-9a-fA-F]|[1-9a-fA-F][\da-fA-F]{1,3}):' 404 + '[\da-fA-F]{1,12})'; 405 } 406 description 407 "A route distinguisher is an 8-octet value used to distinguish 408 routes from different BGP VPNs (RFC 4364). A route 409 distinguisher consists of three fields: A 2-octet type field, 410 an administrator field, and an assigned number field. 411 According to the data formats for type 0, 1, and 2 defined in 412 RFC4364, the encoding pattern is defined as: 414 0:2-octet-asn:4-octet-number 415 1:4-octet-ipv4addr:2-octet-number 416 2:4-octet-asn:2-octet-number. 417 2-octet-other-hex-number:6-octet-hex-number 419 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 420 2:1234567890:203."; 421 reference 422 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 423 } 425 /*** collection of types common to multicast ***/ 426 typedef ipv4-multicast-group-address { 427 type inet:ipv4-address { 428 pattern '(2((2[4-9])|(3[0-9]))\.).*'; 429 } 430 description 431 "This type represents an IPv4 multicast group address, 432 which is in the range from 224.0.0.0 to 239.255.255.255."; 433 reference 434 "RFC1112: Host Extensions for IP Multicasting."; 435 } 437 typedef ipv6-multicast-group-address { 438 type inet:ipv6-address { 439 pattern 440 '(([fF]{2}[0-9a-fA-F]{2}):).*'; 441 } 442 description 443 "This type represents an IPv6 multicast group address, 444 which is in the range of FF00::/8."; 445 reference 446 "RFC4291: IP Version 6 Addressing Architecture. Sec 2.7. 447 RFC7346: IPv6 Multicast Address Scopes."; 448 } 450 typedef ip-multicast-group-address { 451 type union { 452 type ipv4-multicast-group-address; 453 type ipv6-multicast-group-address; 454 } 455 description 456 "This type represents a version-neutral IP multicast group 457 address. The format of the textual representation implies 458 the IP version."; 459 } 461 typedef ipv4-multicast-source-address { 462 type union { 463 type enumeration { 464 enum '*' { 465 description 466 "Any source address."; 467 } 468 } 469 type inet:ipv4-address; 470 } 471 description 472 "Multicast source IPv4 address type."; 473 } 475 typedef ipv6-multicast-source-address { 476 type union { 477 type enumeration { 478 enum '*' { 479 description 480 "Any source address."; 481 } 482 } 483 type inet:ipv6-address; 484 } 485 description 486 "Multicast source IPv6 address type."; 487 } 489 /*** collection of types common to protocols ***/ 490 typedef bandwidth-ieee-float32 { 491 type string { 492 pattern 493 '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 494 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 495 + '1[01]\d|0?\d?\d)?)'; 496 } 497 description 498 "Bandwidth in IEEE 754 floating point 32-bit binary format: 499 (-1)**(S) * 2**(Exponent-127) * (1 + Fraction), 500 where Exponent uses 8 bits, and Fraction uses 23 bits. 501 The units are octets per second. 502 The encoding format is the external hexadecimal-significant 503 character sequences specified in IEEE 754 and C99. The 504 format is restricted to be normalized, non-negative, and 505 non-fraction: 0x1.hhhhhhp{+}d or 0X1.HHHHHHP{+}D 506 where 'h' and 'H' are hexadecimal digits, 'd' and 'D' are 507 integers in the range of [0..127]. 508 When six hexadecimal digits are used for 'hhhhhh' or 'HHHHHH', 509 the least significant digit must be an even number. 510 'x' and 'X' indicate hexadecimal; 'p' and 'P' indicate power 511 of two. Some examples are: 0x0p0, 0x1p10, and 512 0x1.abcde2p+20"; 513 reference 514 "IEEE Std 754-2008: IEEE Standard for Floating-Point 515 Arithmetic."; 516 } 518 typedef link-access-type { 519 type enumeration { 520 enum "broadcast" { 521 description 522 "Specify broadcast multi-access network."; 523 } 524 enum "non-broadcast-multiaccess" { 525 description 526 "Specify Non-Broadcast Multi-Access (NBMA) network."; 527 } 528 enum "point-to-multipoint" { 529 description 530 "Specify point-to-multipoint network."; 531 } 532 enum "point-to-point" { 533 description 534 "Specify point-to-point network."; 535 } 536 } 537 description 538 "Link access type."; 539 } 541 typedef timer-multiplier { 542 type uint8; 543 description 544 "The number of timer value intervals that should be 545 interpreted as a failure."; 546 } 548 typedef timer-value-seconds16 { 549 type union { 550 type uint16 { 551 range "1..65535"; 552 } 553 type enumeration { 554 enum "infinity" { 555 description "The timer is set to infinity."; 556 } 557 enum "not-set" { 558 description "The timer is not set."; 559 } 560 } 561 } 562 units seconds; 563 description "Timer value type, in seconds (16-bit range)."; 564 } 566 typedef timer-value-seconds32 { 567 type union { 568 type uint32 { 569 range "1..4294967295"; 570 } 571 type enumeration { 572 enum "infinity" { 573 description "The timer is set to infinity."; 575 } 576 enum "not-set" { 577 description "The timer is not set."; 578 } 579 } 580 } 581 units seconds; 582 description "Timer value type, in seconds (32-bit range)."; 583 } 585 typedef timer-value-milliseconds { 586 type union { 587 type uint32{ 588 range "1..4294967295"; 589 } 590 type enumeration { 591 enum "infinity" { 592 description "The timer is set to infinity."; 593 } 594 enum "not-set" { 595 description "The timer is not set."; 596 } 597 } 598 } 599 units milliseconds; 600 description "Timer value type, in milliseconds."; 601 } 603 typedef percentage { 604 type uint8 { 605 range "0..100"; 606 } 607 description 608 "Integer indicating a percentage value"; 609 } 611 typedef timeticks64 { 612 type uint64; 613 description 614 "This type is based on the timeticks type defined in 615 RFC 6991, but with 64-bit width. It represents the time, 616 modulo 2^64, in hundredths of a second between two epochs."; 617 reference 618 "RFC 6991 - Common YANG Data Types"; 619 } 621 /*** collection of types related to MPLS/GMPLS ***/ 622 typedef generalized-label { 623 type binary; 624 description 625 "Generalized label. Nodes sending and receiving the 626 Generalized Label are aware of the link-specific 627 label context and type."; 628 reference "RFC3471: Section 3.2"; 629 } 631 identity mpls-label-special-purpose-value { 632 description 633 "Base identity for deriving identities describing 634 special-purpose Multiprotocol Label Switching (MPLS) label 635 values."; 636 reference 637 "RFC7274: Allocating and Retiring Special-Purpose MPLS 638 Labels."; 639 } 641 identity ipv4-explicit-null-label { 642 base mpls-label-special-purpose-value; 643 description 644 "This identity represents the IPv4 Explicit NULL Label."; 645 reference 646 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 647 } 649 identity router-alert-label { 650 base mpls-label-special-purpose-value; 651 description 652 "This identity represents the Router Alert Label."; 653 reference 654 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 655 } 657 identity ipv6-explicit-null-label { 658 base mpls-label-special-purpose-value; 659 description 660 "This identity represents the IPv6 Explicit NULL Label."; 661 reference 662 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 663 } 665 identity implicit-null-label { 666 base mpls-label-special-purpose-value; 667 description 668 "This identity represents the Implicit NULL Label."; 669 reference 670 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 672 } 674 identity entropy-label-indicator { 675 base mpls-label-special-purpose-value; 676 description 677 "This identity represents the Entropy Label Indicator."; 678 reference 679 "RFC6790: The Use of Entropy Labels in MPLS Forwarding. 680 Sections 3 and 10.1."; 681 } 683 identity gal-label { 684 base mpls-label-special-purpose-value; 685 description 686 "This identity represents the Generic Associated Channel Label 687 (GAL)."; 688 reference 689 "RFC5586: MPLS Generic Associated Channel. 690 Sections 4 and 10."; 691 } 693 identity oam-alert-label { 694 base mpls-label-special-purpose-value; 695 description 696 "This identity represents the OAM Alert Label."; 697 reference 698 "RFC3429: Assignment of the 'OAM Alert Label' for Multiprotocol 699 Label Switching Architecture (MPLS) Operation and Maintenance 700 (OAM) Functions. 701 Sections 3 and 6."; 702 } 704 identity extension-label { 705 base mpls-label-special-purpose-value; 706 description 707 "This identity represents the Extension Label."; 708 reference 709 "RFC7274: Allocating and Retiring Special-Purpose MPLS Labels. 710 Sections 3.1 and 5."; 711 } 713 typedef mpls-label-special-purpose { 714 type identityref { 715 base mpls-label-special-purpose-value; 716 } 717 description 718 "This type represents the special-purpose Multiprotocol Label 719 Switching (MPLS) label values."; 721 reference 722 "RFC3032: MPLS Label Stack Encoding. 723 RFC7274: Allocating and Retiring Special-Purpose MPLS 724 Labels."; 725 } 727 typedef mpls-label-general-use { 728 type uint32 { 729 range "16..1048575"; 730 } 731 description 732 "The 20-bit label values in an MPLS label stack entry, 733 specified in RFC3032. This label value does not include 734 the encodings of Traffic Class and TTL (time to live). 735 The label range specified by this type is for general use, 736 with special-purpose MPLS label values excluded."; 737 reference 738 "RFC3032: MPLS Label Stack Encoding."; 739 } 741 typedef mpls-label { 742 type union { 743 type mpls-label-special-purpose; 744 type mpls-label-general-use; 745 } 746 description 747 "The 20-bit label values in an MPLS label stack entry, 748 specified in RFC3032. This label value does not include 749 the encodings of Traffic Class and TTL (time to live)."; 750 reference 751 "RFC3032: MPLS Label Stack Encoding."; 752 } 754 /* 755 * Groupings 756 */ 757 grouping mpls-label-stack { 758 description 759 "A grouping that specifies an MPLS label stack."; 760 container mpls-label-stack { 761 description 762 "Container for a list of MPLS label stack entries."; 763 list entry { 764 key "id"; 765 description 766 "List of MPLS label stack entries."; 767 leaf id { 768 type uint8; 769 description 770 "Identifies the sequence of an MPLS label stack entries. 771 An entry with smaller ID value is precedes an entry in 772 the label stack with a smaller ID."; 773 } 774 leaf label { 775 type rt-types:mpls-label; 776 description 777 "Label value."; 778 } 779 leaf ttl { 780 type uint8; 781 description 782 "Time to Live (TTL)."; 783 reference 784 "RFC3032: MPLS Label Stack Encoding."; 785 } 786 leaf traffic-class { 787 type uint8 { 788 range "0..7"; 789 } 790 description 791 "Traffic Class (TC)."; 792 reference 793 "RFC5462: Multiprotocol Label Switching (MPLS) Label 794 Stack Entry: 'EXP' Field Renamed to 'Traffic Class' 795 Field."; 796 } 797 } 798 } 799 } 801 grouping vpn-route-targets { 802 description 803 "A grouping that specifies Route Target import-export rules 804 used in the BGP enabled Virtual Private Networks (VPNs)."; 805 reference 806 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs). 807 RFC4664: Framework for Layer 2 Virtual Private Networks 808 (L2VPNs)"; 809 list vpn-target { 810 key route-target; 811 description 812 "List of Route Targets."; 813 leaf route-target { 814 type rt-types:route-target; 815 description 816 "Route Target value"; 818 } 819 leaf route-target-type { 820 type rt-types:route-target-type; 821 mandatory true; 822 description 823 "Import/export type of the Route Target."; 824 } 825 } 826 } 827 } 828 830 4. IANA Routing Types YANG Module 832 file "iana-routing-types@2017-05-10.yang" 833 module iana-routing-types { 835 namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; 836 prefix "iana-rt-types"; 838 organization "IETF Routing Area Working Group (rtgwg)"; 840 contact 841 "Routing Area Working Group - "; 843 description 844 "This module contains a collection of YANG data types 845 considered defined by IANA and used for routing 846 protocols. 848 Copyright (c) 2017 IETF Trust and the persons identified as 849 authors of the code. All rights reserved. 851 Redistribution and use in source and binary forms, with or 852 without modification, is permitted pursuant to, and subject to 853 the license terms contained in, the Simplified BSD License set 854 forth in Section 4.c of the IETF Trust's Legal Provisions 855 Relating to IETF Documents 856 (http://trustee.ietf.org/license-info). 858 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 859 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and 860 'OPTIONAL' in the module text are to be interpreted as described 861 in RFC 2119. 863 This version of this YANG module is part of RFC XXXX; 864 see the RFC itself for full legal notices."; 866 revision 2017-05-10 { 867 description 868 "Initial revision."; 869 reference 870 "RFC TBD: IANA Routing YANG Data Types"; 871 } 873 /*** Collection of IANA types related to routing ***/ 875 /*** IANA address family Identies ***/ 876 identity address-family { 877 description 878 "Base identity from which identities describing address 879 families are derived."; 880 } 881 identity ipv4 { 882 base address-family; 883 description 884 "IPv4 Address Family - IANA Registry Assigned Number: 1"; 885 } 886 identity ipv6 { 887 base address-family; 888 description 889 "IPv6 Address Family - IANA Registry Assigned Number: 2"; 890 } 891 identity nsap { 892 base address-family; 893 description 894 "OSI Network Service Access Point (NSAP) Address Family - 895 IANA Registry Assigned Number: 3"; 896 } 897 identity hdlc { 898 base address-family; 899 description 900 "High-Level Data Link Control (HDLC) Address Family - 901 IANA Registry Assigned Number: 4"; 902 } 903 identity bbn1822 { 904 base address-family; 905 description 906 "Bolt, Beranek, and Newman Report 1822 (BBN 1822) 907 Address Family - IANA Registry Assigned Number: 5"; 908 } 909 identity ieee802 { 910 base address-family; 911 description 912 "IEEE 802 Committee Address Family (aka, MAC address) - 913 IANA Registry Assigned Number: 6"; 915 } 916 identity e163 { 917 base address-family; 918 description 919 "ITU-T E.163 Address Family - 920 IANA Registry Assigned Number: 7"; 921 } 922 identity e164 { 923 base address-family; 924 description 925 "ITU-T E.164 (SMDS, Frame Relay, ATM) Address Family - 926 IANA Registry Assigned Number: 8"; 927 } 928 identity f69 { 929 base address-family; 930 description 931 "ITU-T F.69 (Telex) Address Family - 932 IANA Registry Assigned Number: 9"; 933 } 934 identity x121 { 935 base address-family; 936 description 937 "ITU-T X.121 (X.25, Frame Relay) Address Family - 938 IANA Registry Assigned Number: 10"; 939 } 940 identity ipx { 941 base address-family; 942 description 943 "Novell Internetwork Packet Exchange (IPX) 944 Address Family - IANA Registry Assigned Number: 11"; 945 } 946 identity appletalk { 947 base address-family; 948 description 949 "Apple AppleTalk Address Family - 950 IANA Registry Assigned Number: 12"; 951 } 952 identity decnet-iv { 953 base address-family; 954 description 955 "Digital Equipment DECnet Phase IV Address Family - 956 IANA Registry Assigned Number: 13"; 957 } 958 identity vines { 959 base address-family; 960 description 961 "Banyan Vines Address Family - 962 IANA Registry Assigned Number: 14"; 964 } 965 identity e164-nsap { 966 base address-family; 967 description 968 "ITU-T E.164 with NSAP sub-address Address Family - 969 IANA Registry Assigned Number: 15"; 970 } 971 identity dns { 972 base address-family; 973 description 974 "Domain Name System (DNS) Address Family - 975 IANA Registry Assigned Number: 16"; 976 } 977 identity distinguished-name { 978 base address-family; 979 description 980 "Distinguished Name Address Family - 981 IANA Registry Assigned Number: 17"; 982 } 983 identity as-num { 984 base address-family; 985 description 986 "AS Number Family - 987 IANA Registry Assigned Number: 18"; 988 } 989 identity xtp-v4 { 990 base address-family; 991 description 992 "Xpress Transport Protocol (XTP) over IPv4 993 Address Family - IANA Registry Assigned Number: 19"; 994 } 995 identity xtp-v6 { 996 base address-family; 997 description 998 "Xpress Transport Protocol (XTP) over IPv4 999 Address Family - IANA Registry Assigned Number: 20"; 1000 } 1001 identity xtp-native { 1002 base address-family; 1003 description 1004 "Xpress Transport Protocol (XTP) native mode 1005 Address Family - IANA Registry Assigned Number: 21"; 1006 } 1007 identity fc-port { 1008 base address-family; 1009 description 1010 "Fibre Channel (FC) World-Wide Port Name 1011 Address Family - IANA Registry Assigned Number: 22"; 1013 } 1014 identity fc-node { 1015 base address-family; 1016 description 1017 "Fibre Channel (FC) World-Wide Node Name 1018 Address Family - IANA Registry Assigned Number: 23"; 1019 } 1020 identity gwid { 1021 base address-family; 1022 description 1023 "ATM Gateway Identifier (GWID) Number Family - 1024 IANA Registry Assigned Number: 24"; 1025 } 1026 identity l2vpn { 1027 base address-family; 1028 description 1029 "Layer-2 VPN (L2VPN) Address Family - 1030 IANA Registry Assigned Number: 25"; 1031 } 1032 identity mpls-tp-section-eid { 1033 base address-family; 1034 description 1035 "MPLS-TP Section Endpoint Identifier Address Family - 1036 IANA Registry Assigned Number: 26"; 1037 } 1038 identity mpls-tp-lsp-eid { 1039 base address-family; 1040 description 1041 "MPLS-TP LSP Endpoint Identifier Address Family - 1042 IANA Registry Assigned Number: 27"; 1043 } 1044 identity mpls-tp-pwe-eid { 1045 base address-family; 1046 description 1047 "MPLS-TP Pseudowire Endpoint Identifier 1048 Address Family - IANA Registry Assigned Number: 28"; 1049 } 1050 identity mt-v4 { 1051 base address-family; 1052 description 1053 "Multi-Topology IPv4 Address Family - 1054 Address Family - IANA Registry Assigned Number: 29"; 1055 } 1056 identity mt-v6 { 1057 base address-family; 1058 description 1059 "Multi-Topology IPv6 Address Family - 1060 Address Family - IANA Registry Assigned Number: 30"; 1062 } 1063 identity eigrp-common-sf { 1064 base address-family; 1065 description 1066 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1067 Common Service Family Address Family - 1068 IANA Registry Assigned Number: 16384"; 1069 } 1070 identity eigrp-v4-sf { 1071 base address-family; 1072 description 1073 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1074 IPv4 Service Family Address Family - 1075 IANA Registry Assigned Number: 16385"; 1076 } 1077 identity eigrp-v6-sf { 1078 base address-family; 1079 description 1080 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1081 IPv6 Service Family Address Family - 1082 IANA Registry Assigned Number: 16386"; 1083 } 1084 identity lcaf { 1085 base address-family; 1086 description 1087 "LISP Canonical Address Format (LCAF) 1088 Address Family - IANA Registry Assigned Number: 16387"; 1089 } 1090 identity bgp-ls { 1091 base address-family; 1092 description 1093 "Border Gatway Protocol - Link State (BGP-LS) 1094 Address Family - IANA Registry Assigned Number: 16388"; 1095 } 1096 identity mac-48 { 1097 base address-family; 1098 description 1099 "IEEE 48-bit Media Access Control (MAC) 1100 Address Family - IANA Registry Assigned Number: 16389"; 1101 } 1102 identity mac-64 { 1103 base address-family; 1104 description 1105 "IEEE 64-bit Media Access Control (MAC) 1106 Address Family - IANA Registry Assigned Number: 16390"; 1107 } 1108 identity trill-oui { 1109 base address-family; 1110 description 1111 "TRILL IEEE Organizationally Unique Identifier (OUI) - 1112 Address Family - IANA Registry Assigned Number: 16391"; 1113 } 1114 identity trill-mac-24 { 1115 base address-family; 1116 description 1117 "TRILL Final 3 octets of 48-bit MAC address 1118 Address Family - IANA Registry Assigned Number: 16392"; 1119 } 1120 identity trill-mac-48 { 1121 base address-family; 1122 description 1123 "TRILL Final 5 octets of 64-bit MAC address 1124 Address Family - IANA Registry Assigned Number: 16393"; 1125 } 1126 identity trill-rbridge-port-id { 1127 base address-family; 1128 description 1129 "TRILL Remote Bridge (RBridge) Port ID 1130 Address Family - IANA Registry Assigned Number: 16394"; 1131 } 1132 identity trill-nickname { 1133 base address-family; 1134 description 1135 "TRILL Nickname 1136 Address Family - IANA Registry Assigned Number: 16395"; 1137 } 1139 /*** Subsequent Address Family for Multi-Protocol BGP */ 1140 identity bgp-safi { 1141 description 1142 "Base identity from which identities describing BGP 1143 Subsequent Address Family Identifier (SAFI) - RFC 4760."; 1144 } 1146 identity unicast-safi { 1147 base bgp-safi; 1148 description 1149 "Unicast SAFI - 1150 IANA Registry Assigned Number: 1"; 1151 } 1153 identity multicast-safi { 1154 base bgp-safi; 1155 description 1156 "Multicast SAFI - 1157 IANA Registry Assigned Number: 2"; 1159 } 1161 identity labeled-unicast-safi { 1162 base bgp-safi; 1163 description 1164 "Labeled Unicast SAFI - 1165 IANA Registry Assigned Number: 4"; 1166 } 1168 identity multicast-vpn-safi { 1169 base bgp-safi; 1170 description 1171 "Multicast VPN SAFI - 1172 IANA Registry Assigned Number: 5"; 1173 } 1175 identity pseudowire-safi { 1176 base bgp-safi; 1177 description 1178 "Multi-segment Pseudowire VPN SAFI - 1179 IANA Registry Assigned Number: 6"; 1180 } 1182 identity tunnel-enap-safi { 1183 base bgp-safi; 1184 description 1185 "Tunnel Encap SAFI - 1186 IANA Registry Assigned Number: 7"; 1187 } 1189 identity mcast-vpls-safi { 1190 base bgp-safi; 1191 description 1192 "Multicast Virtual Private LAN Service (VPLS) SAFI - 1193 IANA Registry Assigned Number: 8"; 1194 } 1196 identity tunnel-safi { 1197 base bgp-safi; 1198 description 1199 "Tunnel SAFI - 1200 IANA Registry Assigned Number: 64"; 1201 } 1203 identity vpls-safi { 1204 base bgp-safi; 1205 description 1206 "Virtual Private LAN Service (VPLS) SAFI - 1207 IANA Registry Assigned Number: 65"; 1208 } 1210 identity mdt-safi { 1211 base bgp-safi; 1212 description 1213 "Multicast Distribution Tree (MDT) SAFI - 1214 IANA Registry Assigned Number: 66"; 1215 } 1217 identity v4-over-v6-safi { 1218 base bgp-safi; 1219 description 1220 "IPv4 over IPv6 SAFI - 1221 IANA Registry Assigned Number: 67"; 1222 } 1224 identity v6-over-v4-safi { 1225 base bgp-safi; 1226 description 1227 "IPv6 over IPv4 SAFI - 1228 IANA Registry Assigned Number: 68"; 1229 } 1231 identity l1-vpn-auto-discovery-safi { 1232 base bgp-safi; 1233 description 1234 "Layer-1 VPN Auto Discovery SAFI - 1235 IANA Registry Assigned Number: 69"; 1236 } 1238 identity evpn-safi { 1239 base bgp-safi; 1240 description 1241 "Ethernet VPN (EVPN) SAFI - 1242 IANA Registry Assigned Number: 70"; 1243 } 1245 identity bgp-ls-safi { 1246 base bgp-safi; 1247 description 1248 "BGP Link-State (BGP-LS) SAFI - 1249 IANA Registry Assigned Number: 71"; 1250 } 1252 identity bgp-ls-vpn-safi { 1253 base bgp-safi; 1254 description 1255 "BGP Link-State (BGP-LS) VPN SAFI - 1256 IANA Registry Assigned Number: 72"; 1257 } 1259 identity sr-te-safi { 1260 base bgp-safi; 1261 description 1262 "Segment Routing - Traffic Engineering (SR-TE) SAFI - 1263 IANA Registry Assigned Number: 73"; 1264 } 1266 identity labeled-vpn-safi { 1267 base bgp-safi; 1268 description 1269 "MPLS Labeled VPN SAFI - 1270 IANA Registry Assigned Number: 128"; 1271 } 1273 identity multicast-mpls-vpn-safi { 1274 base bgp-safi; 1275 description 1276 "Multicast for BGP/MPLS IP VPN SAFI - 1277 IANA Registry Assigned Number: 129"; 1278 } 1280 identity route-target-safi { 1281 base bgp-safi; 1282 description 1283 "Route Target SAFI - 1284 IANA Registry Assigned Number: 132"; 1285 } 1287 identity ipv4-flow-spec-safi { 1288 base bgp-safi; 1289 description 1290 "IPv4 Flow Specification SAFI - 1291 IANA Registry Assigned Number: 133"; 1292 } 1294 identity vpnv4-flow-spec-safi { 1295 base bgp-safi; 1296 description 1297 "IPv4 VPN Flow Specification SAFI - 1298 IANA Registry Assigned Number: 134"; 1299 } 1300 } 1301 1303 5. IANA Considerations 1305 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1306 actual RFC number (and remove this note). 1308 This document registers the following namespace URIs in the IETF XML 1309 registry [RFC3688]: 1311 -------------------------------------------------------------------- 1312 URI: urn:ietf:params:xml:ns:yang:ietf-routing-types 1313 Registrant Contact: The IESG. 1314 XML: N/A, the requested URI is an XML namespace. 1315 -------------------------------------------------------------------- 1317 -------------------------------------------------------------------- 1318 URI: urn:ietf:params:xml:ns:yang:iana-routing-types 1319 Registrant Contact: The IESG. 1320 XML: N/A, the requested URI is an XML namespace. 1321 -------------------------------------------------------------------- 1323 This document registers the following YANG modules in the YANG Module 1324 Names registry [RFC6020]: 1326 -------------------------------------------------------------------- 1327 name: ietf-routing-types 1328 namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types 1329 prefix: rt-types 1330 reference: RFC XXXX 1331 -------------------------------------------------------------------- 1333 -------------------------------------------------------------------- 1334 name: iana-routing-types 1335 namespace: urn:ietf:params:xml:ns:yang:iana-routing-types 1336 prefix: iana-rt-types 1337 reference: RFC XXXX 1338 -------------------------------------------------------------------- 1340 6. Security Considerations 1342 This document defines common data types using the YANG data modeling 1343 language. The definitions themselves have no security impact on the 1344 Internet, but the usage of these definitions in concrete YANG modules 1345 might have. The security considerations spelled out in the YANG 1346 specification [RFC7950] apply for this document as well. 1348 7. Acknowledgements 1350 The Routing Area Yang Architecture design team members included Acee 1351 Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Ebben Aries, 1352 Lou Berger, Qin Wu, Rob Shakir, Xufeng Liu, and Yingzhen Qu. 1354 8. References 1356 8.1. Normative References 1358 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1359 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 1360 RFC2119, March 1997, 1361 . 1363 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1364 the Network Configuration Protocol (NETCONF)", RFC 6020, 1365 DOI 10.17487/RFC6020, October 2010, 1366 . 1368 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 1369 6021, DOI 10.17487/RFC6021, October 2010, 1370 . 1372 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1373 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1374 . 1376 8.2. Informative References 1378 [IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE 1379 Std 754-2008, August 2008. 1381 [I-D.ietf-bfd-yang] 1382 Rahman, R., Zheng, L., Networks, J., Jethanandani, M., and 1383 G. Mirsky, "Yang Data Model for Bidirectional Forwarding 1384 Detection (BFD)", draft-ietf-bfd-yang-05 (work in 1385 progress), March 2017. 1387 [I-D.ietf-idr-bgp-model] 1388 Shaikh, A., Shakir, R., Patel, K., Hares, S., D'Souza, K., 1389 Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and 1390 X. Liu, "BGP Model for Service Provider Networks", draft- 1391 ietf-idr-bgp-model-02 (work in progress), July 2016. 1393 [I-D.ietf-ospf-yang] 1394 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 1395 "Yang Data Model for OSPF Protocol", draft-ietf-ospf- 1396 yang-07 (work in progress), March 2017. 1398 [I-D.ietf-pim-yang] 1399 Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, 1400 Y., and f. hu, "A YANG data model for Protocol-Independent 1401 Multicast (PIM)", draft-ietf-pim-yang-08 (work in 1402 progress), April 2017. 1404 [I-D.ietf-teas-yang-rsvp] 1405 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 1406 and H. Shah, "A YANG Data Model for Resource Reservation 1407 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-07 (work in 1408 progress), March 2017. 1410 [I-D.ietf-teas-yang-te] 1411 Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and 1412 I. Bryskin, "A YANG Data Model for Traffic Engineering 1413 Tunnels and Interfaces", draft-ietf-teas-yang-te-06 (work 1414 in progress), March 2017. 1416 [I-D.ietf-bess-l2vpn-yang] 1417 Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., 1418 and K. Tiruveedhula, "YANG Data Model for MPLS-based 1419 L2VPN", draft-ietf-bess-l2vpn-yang-05 (work in progress), 1420 March 2017. 1422 [I-D.ietf-mpls-base-yang] 1423 Raza, K., Gandhi, R., Liu, X., Beeram, V., Saad, T., 1424 Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data 1425 Model for MPLS Base", draft-ietf-mpls-base-yang-04 (work 1426 in progress), March 2017. 1428 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 1429 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 1430 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 1431 . 1433 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1434 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1435 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1436 . 1438 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 1439 Switching (GMPLS) Signaling Functional Description", RFC 1440 3471, DOI 10.17487/RFC3471, January 2003, 1441 . 1443 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1444 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1445 2006, . 1447 [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer 1448 2 Virtual Private Networks (L2VPNs)", RFC 4664, DOI 1449 10.17487/RFC4664, September 2006, 1450 . 1452 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1453 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 1454 . 1456 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 1457 6991, DOI 10.17487/RFC6991, July 2013, 1458 . 1460 [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating 1461 and Retiring Special-Purpose MPLS Labels", RFC 7274, DOI 1462 10.17487/RFC7274, June 2014, 1463 . 1465 8.3. URIs 1467 [1] http://www.iana.org/assignments/address-family-numbers/address- 1468 family-numbers.xhtml 1470 [2] http://www.iana.org/assignments/address-family-numbers/address- 1471 family-numbers.xhtml 1473 [3] https://www.iana.org/assignments/safi-namespace/safi- 1474 namespace.xhtml#safi-namespace-2 1476 Authors' Addresses 1478 Xufeng Liu 1479 Jabil 1480 8281 Greensboro Drive, Suite 200 1481 McLean VA 22102 1482 USA 1484 EMail: Xufeng_Liu@jabil.com 1485 Yingzhen Qu 1486 Futurewei Technologies, Inc. 1487 2330 Central Expressway 1488 Santa Clara CA 95050 1489 USA 1491 EMail: yingzhen.qu@huawei.com 1493 Acee Lindem 1494 Cisco Systems 1495 301 Midenhall Way 1496 Cary, NC 27513 1497 USA 1499 EMail: acee@cisco.com 1501 Christian Hopps 1502 Deutsche Telekom 1504 EMail: chopps@chopps.org 1506 Lou Berger 1507 LabN Consulting, L.L.C. 1509 EMail: lberger@labn.net