idnits 2.17.00 (12 Aug 2021) /tmp/idnits2720/draft-ietf-rtgwg-routing-types-04.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 16, 2017) is 1830 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) == Missing Reference: 'RFC3688' is mentioned on line 1301, but not defined ** Obsolete normative reference: RFC 6021 (Obsoleted by RFC 6991) -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-ADDRESS-FAMILY-REGISTRY' -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-SAFI-REGISTRY' == 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 (==), 3 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 17, 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 16, 2017 14 Routing Area Common YANG Data Types 15 draft-ietf-rtgwg-routing-types-04 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 17, 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 5.1. IANA-Maintained iana-routing-types Module . . . . . . . . 28 65 6. Security Considerations . . . . . . . . . . . . . . . . . . . 30 66 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 67 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 68 8.1. Normative References . . . . . . . . . . . . . . . . . . 30 69 8.2. Informative References . . . . . . . . . . . . . . . . . 31 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 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 route-target 110 Route Targets (RTs) are commonly used to control the distribution 111 of virtual routing and forwarding (VRF) information, see 112 [RFC4364], in support of virtual private networks (VPNs). An 113 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 115 route-target-type 116 This type defines the import and export rules of Route Targets, as 117 descibed in Section 4.3.1 of [RFC4364]. An example usage can be 118 found in [I-D.ietf-idr-bgp-model]. 120 route-distinguisher 121 Route Distinguishers (RDs) are commonly used to identify separate 122 routes in support of virtual private networks (VPNs). For 123 example, in [RFC4364], RDs are commonly used to identify 124 independent VPNs and VRFs, and more generally, to identify 125 multiple routes to the same prefix. An example usage can be found 126 in [I-D.ietf-idr-bgp-model]. 128 ipv4-multicast-group-address 129 This type defines the representation of an IPv4 multicast group 130 address, which is in the range from 224.0.0.0 to 239.255.255.255. 131 An example usage can be found in [I-D.ietf-pim-yang]. 133 ipv6-multicast-group-address 134 This type defines the representation of an IPv6 multicast group 135 address, which is in the range of FF00::/8. An example usage can 136 be found in [I-D.ietf-pim-yang]. 138 ip-multicast-group-address 139 This type represents an IP multicast group address and is IP 140 version neutral. The format of the textual representation implies 141 the IP version. An example usage can be found in 142 [I-D.ietf-pim-yang]. 144 ipv4-multicast-source-address 145 IPv4 source address type for use in multicast control protocols. 146 This type also allows the indication of wildcard sources, i.e., 147 "*". An example of where this type may/will be used is 148 [I-D.ietf-pim-yang]. 150 ipv6-multicast-source-address 151 IPv6 source address type for use in multicast control protocols. 152 This type also allows the indication of wildcard sources, i.e., 153 "*". An example of where this type may/will be used is 154 [I-D.ietf-pim-yang]. 156 bandwidth-ieee-float32 157 Bandwidth in IEEE 754 floating point 32-bit binary format 158 [IEEE754]. Commonly used in Traffic Engineering control plane 159 protocols. An example of where this type may/will be used is 160 [I-D.ietf-ospf-yang]. 162 link-access-type 163 This type identifies the IGP link type. An example of where this 164 type may/will be used is [I-D.ietf-ospf-yang]. 166 timer-multiplier 167 This type is used in conjunction with a timer-value type. It is 168 generally used to indicate define the number of timer-value 169 intervals that may expire before a specific event must occur. 170 Examples of this include the arrival of any BFD packets, see 171 [RFC5880] Section 6.8.4, or hello_interval in [RFC3209]. Example 172 of where this type may/will be used is [I-D.ietf-idr-bgp-model] 173 and [I-D.ietf-teas-yang-rsvp]. 175 timer-value-seconds16 176 This type covers timers which can be set in seconds, not set, or 177 set to infinity. This type supports a range of values that can be 178 represented in a uint16 (2 octets). An example of where this type 179 may/will be used is [I-D.ietf-ospf-yang]. 181 timer-value-seconds32 182 This type covers timers which can be set in seconds, not set, or 183 set to infinity. This type supports a range of values that can be 184 represented in a uint32 (4 octets). An example of where this type 185 may/will be used is [I-D.ietf-teas-yang-rsvp]. 187 timer-value-milliseconds 188 This type covers timers which can be set in milliseconds, not set, 189 or set to infinity. This type supports a range of values that can 190 be represented in a uint32 (4 octets). Examples of where this 191 type may/will be used include [I-D.ietf-teas-yang-rsvp] and 192 [I-D.ietf-bfd-yang]. 194 percentage 195 This type defines a percentage with a range of 0-100%. An example 196 usage can be found in [I-D.ietf-idr-bgp-model]. 198 timeticks64 199 This type is based on the timeticks type defined in [RFC6991] but 200 with 64-bit precision. It represents the time in hundredths of a 201 second between two epochs. An example usage can be found in 202 [I-D.ietf-idr-bgp-model]. 204 generalized-label 205 This type represents a generalized label for Generalized Multi- 206 Protocol Label Switching (GMPLS) [RFC3471]. The Generalized Label 207 does not identify its type, which is known from the context. An 208 example usage can be found in [I-D.ietf-teas-yang-te]. 210 mpls-label-special-purpose 211 This type represents the special-purpose Multiprotocol Label 212 Switching (MPLS) label values [RFC7274]. An example usage can be 213 found in [I-D.ietf-mpls-base-yang]. 215 mpls-label-general-use 216 The 20 bits label values in an MPLS label stack entry, specified 217 in [RFC3032]. This label value does not include the encodings of 218 Traffic Class and TTL (time to live). The label range specified 219 by this type is for general use, with special-purpose MPLS label 220 values excluded. An example usage can be found in 221 [I-D.ietf-mpls-base-yang]. 223 mpls-label 224 The 20 bits label values in an MPLS label stack entry, specified 225 in [RFC3032]. This label value does not include the encodings of 226 Traffic Class and TTL (time to live). The label range specified 227 by this type covers the general use values and the special-purpose 228 label values. An example usage can be found in 229 [I-D.ietf-mpls-base-yang]. 231 This document defines the following YANG groupings: 233 mpls-label-stack 234 This grouping defines a reusable collection of schema nodes 235 representing an MPLS label stack [RFC3032]. An example usage can 236 be found in [I-D.ietf-mpls-base-yang]. 238 vpn-route-targets 239 This grouping defines a reusable collection of schema nodes 240 representing Route Target import-export rules used in the BGP 241 enabled Virtual Private Networks (VPNs). [RFC4364][RFC4664]. An 242 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 244 The iana-routing-types model contains common routing types 245 corresponding directly to IANA mappings. These include: 247 address-family 248 This type defines values for use in address family identifiers. 249 The values are based on the IANA Address Family Numbers Registry 250 [IANA-ADDRESS-FAMILY-REGISTRY]. An example usage can be found in 251 [I-D.ietf-idr-bgp-model]. 253 subsequent-address-family 254 This type defines values for use in subsequent address family 255 (SAFI) identifiers. The values are based on the IANA Subsequent 256 Address Family Identifiers (SAFI) Parameters Registry 257 [IANA-SAFI-REGISTRY]. 259 3. IETF Routing Types YANG Module 261 file "ietf-routing-types@2017-05-10.yang" 262 module ietf-routing-types { 264 namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types"; 265 prefix "rt-types"; 267 import ietf-yang-types { 268 prefix "yang"; 269 } 271 import ietf-inet-types { 272 prefix "inet"; 273 } 275 organization "IETF Routing Area Working Group (rtgwg)"; 277 contact 278 "Routing Area Working Group - "; 280 description 281 "This module contains a collection of YANG data types 282 considered generally useful for routing protocols. 284 Copyright (c) 2017 IETF Trust and the persons identified as 285 authors of the code. All rights reserved. 287 Redistribution and use in source and binary forms, with or 288 without modification, is permitted pursuant to, and subject to 289 the license terms contained in, the Simplified BSD License set 290 forth in Section 4.c of the IETF Trust's Legal Provisions 291 Relating to IETF Documents 292 (http://trustee.ietf.org/license-info). 294 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 295 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and 296 'OPTIONAL' in the module text are to be interpreted as described 297 in RFC 2119. 299 This version of this YANG module is part of RFC XXXX; 300 see the RFC itself for full legal notices."; 302 revision 2017-05-10 { 303 description 304 "Initial revision."; 305 reference 306 "RFC TBD: Routing YANG Data Types"; 307 } 309 /*** collection of types related to routing ***/ 310 typedef router-id { 311 type yang:dotted-quad; 312 description 313 "A 32-bit number in the dotted quad format assigned to each 314 router. This number uniquely identifies the router within an 315 Autonomous System."; 316 } 318 /*** collection of types related to VPN ***/ 319 typedef route-target { 320 type string { 321 pattern 322 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 323 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 324 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 325 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 326 + '[0-3]?\d{0,8}\d))|' 327 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 328 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 329 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 330 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 331 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 332 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 333 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 334 + '[0-5]?\d{0,3}\d))'; 335 } 336 description 337 "A route target is an 8-octet BGP extended community 338 initially identifying a set of sites in a BGP 339 VPN (RFC 4364). However, it has since taken on a more 340 general role in BGP route filtering. 341 A route target consists of three fields: 342 a 2-octet type field, an administrator field, 343 and an assigned number field. 344 According to the data formats for type 0, 1, and 2 defined in 345 RFC4360 and RFC5668, the encoding pattern is defined as: 347 0:2-octet-asn:4-octet-number 348 1:4-octet-ipv4addr:2-octet-number 349 2:4-octet-asn:2-octet-number. 351 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 352 2:1234567890:203."; 353 reference 354 "RFC4360: BGP Extended Communities Attribute. 355 RFC5668: 4-Octet AS Specific BGP Extended Community."; 356 } 358 typedef route-target-type { 359 type enumeration { 360 enum "import" { 361 value "0"; 362 description 363 "The route target applies to route import."; 364 } 365 enum "export" { 366 value "1"; 367 description 368 "The route target applies to route export."; 369 } 370 enum "both" { 371 value "2"; 372 description 373 "The route target applies to both route import and 374 route export."; 375 } 376 } 377 description 378 "Indicates the role a route target takes 379 in route filtering."; 380 reference 381 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 383 } 385 typedef route-distinguisher { 386 type string { 387 pattern 388 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 389 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 390 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 391 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 392 + '[0-3]?\d{0,8}\d))|' 393 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 394 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 395 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 396 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 397 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 398 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 399 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 400 + '[0-5]?\d{0,3}\d))|' 401 + '(([3-9a-fA-F]|[1-9a-fA-F][\da-fA-F]{1,3}):' 402 + '[\da-fA-F]{1,12})'; 403 } 404 description 405 "A route distinguisher is an 8-octet value used to distinguish 406 routes from different BGP VPNs (RFC 4364). A route 407 distinguisher consists of three fields: A 2-octet type field, 408 an administrator field, and an assigned number field. 409 According to the data formats for type 0, 1, and 2 defined in 410 RFC4364, the encoding pattern is defined as: 412 0:2-octet-asn:4-octet-number 413 1:4-octet-ipv4addr:2-octet-number 414 2:4-octet-asn:2-octet-number. 415 2-octet-other-hex-number:6-octet-hex-number 417 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 418 2:1234567890:203."; 419 reference 420 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 421 } 423 /*** collection of types common to multicast ***/ 424 typedef ipv4-multicast-group-address { 425 type inet:ipv4-address { 426 pattern '(2((2[4-9])|(3[0-9]))\.).*'; 427 } 428 description 429 "This type represents an IPv4 multicast group address, 430 which is in the range from 224.0.0.0 to 239.255.255.255."; 432 reference 433 "RFC1112: Host Extensions for IP Multicasting."; 434 } 436 typedef ipv6-multicast-group-address { 437 type inet:ipv6-address { 438 pattern 439 '(([fF]{2}[0-9a-fA-F]{2}):).*'; 440 } 441 description 442 "This type represents an IPv6 multicast group address, 443 which is in the range of FF00::/8."; 444 reference 445 "RFC4291: IP Version 6 Addressing Architecture. Sec 2.7. 446 RFC7346: IPv6 Multicast Address Scopes."; 447 } 449 typedef ip-multicast-group-address { 450 type union { 451 type ipv4-multicast-group-address; 452 type ipv6-multicast-group-address; 453 } 454 description 455 "This type represents a version-neutral IP multicast group 456 address. The format of the textual representation implies 457 the IP version."; 458 } 460 typedef ipv4-multicast-source-address { 461 type union { 462 type enumeration { 463 enum '*' { 464 description 465 "Any source address."; 466 } 467 } 468 type inet:ipv4-address; 469 } 470 description 471 "Multicast source IPv4 address type."; 472 } 474 typedef ipv6-multicast-source-address { 475 type union { 476 type enumeration { 477 enum '*' { 478 description 479 "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."; 574 } 575 enum "not-set" { 576 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."; 671 } 673 identity entropy-label-indicator { 674 base mpls-label-special-purpose-value; 675 description 676 "This identity represents the Entropy Label Indicator."; 677 reference 678 "RFC6790: The Use of Entropy Labels in MPLS Forwarding. 679 Sections 3 and 10.1."; 680 } 682 identity gal-label { 683 base mpls-label-special-purpose-value; 684 description 685 "This identity represents the Generic Associated Channel Label 686 (GAL)."; 687 reference 688 "RFC5586: MPLS Generic Associated Channel. 689 Sections 4 and 10."; 690 } 692 identity oam-alert-label { 693 base mpls-label-special-purpose-value; 694 description 695 "This identity represents the OAM Alert Label."; 696 reference 697 "RFC3429: Assignment of the 'OAM Alert Label' for Multiprotocol 698 Label Switching Architecture (MPLS) Operation and Maintenance 699 (OAM) Functions. 700 Sections 3 and 6."; 701 } 703 identity extension-label { 704 base mpls-label-special-purpose-value; 705 description 706 "This identity represents the Extension Label."; 707 reference 708 "RFC7274: Allocating and Retiring Special-Purpose MPLS Labels. 709 Sections 3.1 and 5."; 710 } 712 typedef mpls-label-special-purpose { 713 type identityref { 714 base mpls-label-special-purpose-value; 715 } 716 description 717 "This type represents the special-purpose Multiprotocol Label 718 Switching (MPLS) label values."; 719 reference 720 "RFC3032: MPLS Label Stack Encoding. 721 RFC7274: Allocating and Retiring Special-Purpose MPLS 722 Labels."; 723 } 725 typedef mpls-label-general-use { 726 type uint32 { 727 range "16..1048575"; 728 } 729 description 730 "The 20-bit label values in an MPLS label stack entry, 731 specified in RFC3032. This label value does not include 732 the encodings of Traffic Class and TTL (time to live). 733 The label range specified by this type is for general use, 734 with special-purpose MPLS label values excluded."; 735 reference 736 "RFC3032: MPLS Label Stack Encoding."; 737 } 739 typedef mpls-label { 740 type union { 741 type mpls-label-special-purpose; 742 type mpls-label-general-use; 743 } 744 description 745 "The 20-bit label values in an MPLS label stack entry, 746 specified in RFC3032. This label value does not include 747 the encodings of Traffic Class and TTL (time to live)."; 748 reference 749 "RFC3032: MPLS Label Stack Encoding."; 750 } 752 /* 753 * Groupings 754 */ 755 grouping mpls-label-stack { 756 description 757 "A grouping that specifies an MPLS label stack."; 758 container mpls-label-stack { 759 description 760 "Container for a list of MPLS label stack entries."; 761 list entry { 762 key "id"; 763 description 764 "List of MPLS label stack entries."; 765 leaf id { 766 type uint8; 767 description 768 "Identifies the sequence of an MPLS label stack entries. 769 An entry with smaller ID value is precedes an entry in 770 the label stack with a smaller ID."; 771 } 772 leaf label { 773 type rt-types:mpls-label; 774 description 775 "Label value."; 776 } 777 leaf ttl { 778 type uint8; 779 description 780 "Time to Live (TTL)."; 781 reference 782 "RFC3032: MPLS Label Stack Encoding."; 783 } 784 leaf traffic-class { 785 type uint8 { 786 range "0..7"; 787 } 788 description 789 "Traffic Class (TC)."; 790 reference 791 "RFC5462: Multiprotocol Label Switching (MPLS) Label 792 Stack Entry: 'EXP' Field Renamed to 'Traffic Class' 793 Field."; 794 } 795 } 796 } 797 } 799 grouping vpn-route-targets { 800 description 801 "A grouping that specifies Route Target import-export rules 802 used in the BGP enabled Virtual Private Networks (VPNs)."; 803 reference 804 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs). 805 RFC4664: Framework for Layer 2 Virtual Private Networks 806 (L2VPNs)"; 807 list vpn-target { 808 key route-target; 809 description 810 "List of Route Targets."; 811 leaf route-target { 812 type rt-types:route-target; 813 description 814 "Route Target value"; 815 } 816 leaf route-target-type { 817 type rt-types:route-target-type; 818 mandatory true; 819 description 820 "Import/export type of the Route Target."; 821 } 822 } 823 } 824 } 825 827 4. IANA Routing Types YANG Module 829 file "iana-routing-types@2017-05-10.yang" 830 module iana-routing-types { 832 namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; 833 prefix "iana-rt-types"; 835 organization "IETF Routing Area Working Group (rtgwg)"; 837 contact 838 "Routing Area Working Group - "; 840 description 841 "This module contains a collection of YANG data types 842 considered defined by IANA and used for routing 843 protocols. 845 Copyright (c) 2017 IETF Trust and the persons identified as 846 authors of the code. All rights reserved. 848 Redistribution and use in source and binary forms, with or 849 without modification, is permitted pursuant to, and subject to 850 the license terms contained in, the Simplified BSD License set 851 forth in Section 4.c of the IETF Trust's Legal Provisions 852 Relating to IETF Documents 853 (http://trustee.ietf.org/license-info). 855 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 856 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and 857 'OPTIONAL' in the module text are to be interpreted as described 858 in RFC 2119. 860 This version of this YANG module is part of RFC XXXX; 861 see the RFC itself for full legal notices."; 863 revision 2017-05-10 { 864 description 865 "Initial revision."; 867 reference 868 "RFC TBD: IANA Routing YANG Data Types"; 869 } 871 /*** Collection of IANA types related to routing ***/ 873 /*** IANA address family Identies ***/ 874 identity address-family { 875 description 876 "Base identity from which identities describing address 877 families are derived."; 878 } 879 identity ipv4 { 880 base address-family; 881 description 882 "IPv4 Address Family - IANA Registry Assigned Number: 1"; 883 } 884 identity ipv6 { 885 base address-family; 886 description 887 "IPv6 Address Family - IANA Registry Assigned Number: 2"; 888 } 889 identity nsap { 890 base address-family; 891 description 892 "OSI Network Service Access Point (NSAP) Address Family - 893 IANA Registry Assigned Number: 3"; 894 } 895 identity hdlc { 896 base address-family; 897 description 898 "High-Level Data Link Control (HDLC) Address Family - 899 IANA Registry Assigned Number: 4"; 900 } 901 identity bbn1822 { 902 base address-family; 903 description 904 "Bolt, Beranek, and Newman Report 1822 (BBN 1822) 905 Address Family - IANA Registry Assigned Number: 5"; 906 } 907 identity ieee802 { 908 base address-family; 909 description 910 "IEEE 802 Committee Address Family (aka, MAC address) - 911 IANA Registry Assigned Number: 6"; 912 } 913 identity e163 { 914 base address-family; 915 description 916 "ITU-T E.163 Address Family - 917 IANA Registry Assigned Number: 7"; 918 } 919 identity e164 { 920 base address-family; 921 description 922 "ITU-T E.164 (SMDS, Frame Relay, ATM) Address Family - 923 IANA Registry Assigned Number: 8"; 924 } 925 identity f69 { 926 base address-family; 927 description 928 "ITU-T F.69 (Telex) Address Family - 929 IANA Registry Assigned Number: 9"; 930 } 931 identity x121 { 932 base address-family; 933 description 934 "ITU-T X.121 (X.25, Frame Relay) Address Family - 935 IANA Registry Assigned Number: 10"; 936 } 937 identity ipx { 938 base address-family; 939 description 940 "Novell Internetwork Packet Exchange (IPX) 941 Address Family - IANA Registry Assigned Number: 11"; 942 } 943 identity appletalk { 944 base address-family; 945 description 946 "Apple AppleTalk Address Family - 947 IANA Registry Assigned Number: 12"; 948 } 949 identity decnet-iv { 950 base address-family; 951 description 952 "Digital Equipment DECnet Phase IV Address Family - 953 IANA Registry Assigned Number: 13"; 954 } 955 identity vines { 956 base address-family; 957 description 958 "Banyan Vines Address Family - 959 IANA Registry Assigned Number: 14"; 960 } 961 identity e164-nsap { 962 base address-family; 963 description 964 "ITU-T E.164 with NSAP sub-address Address Family - 965 IANA Registry Assigned Number: 15"; 966 } 967 identity dns { 968 base address-family; 969 description 970 "Domain Name System (DNS) Address Family - 971 IANA Registry Assigned Number: 16"; 972 } 973 identity distinguished-name { 974 base address-family; 975 description 976 "Distinguished Name Address Family - 977 IANA Registry Assigned Number: 17"; 978 } 979 identity as-num { 980 base address-family; 981 description 982 "AS Number Family - 983 IANA Registry Assigned Number: 18"; 984 } 985 identity xtp-v4 { 986 base address-family; 987 description 988 "Xpress Transport Protocol (XTP) over IPv4 989 Address Family - IANA Registry Assigned Number: 19"; 990 } 991 identity xtp-v6 { 992 base address-family; 993 description 994 "Xpress Transport Protocol (XTP) over IPv4 995 Address Family - IANA Registry Assigned Number: 20"; 996 } 997 identity xtp-native { 998 base address-family; 999 description 1000 "Xpress Transport Protocol (XTP) native mode 1001 Address Family - IANA Registry Assigned Number: 21"; 1002 } 1003 identity fc-port { 1004 base address-family; 1005 description 1006 "Fibre Channel (FC) World-Wide Port Name 1007 Address Family - IANA Registry Assigned Number: 22"; 1008 } 1009 identity fc-node { 1010 base address-family; 1011 description 1012 "Fibre Channel (FC) World-Wide Node Name 1013 Address Family - IANA Registry Assigned Number: 23"; 1014 } 1015 identity gwid { 1016 base address-family; 1017 description 1018 "ATM Gateway Identifier (GWID) Number Family - 1019 IANA Registry Assigned Number: 24"; 1020 } 1021 identity l2vpn { 1022 base address-family; 1023 description 1024 "Layer-2 VPN (L2VPN) Address Family - 1025 IANA Registry Assigned Number: 25"; 1026 } 1027 identity mpls-tp-section-eid { 1028 base address-family; 1029 description 1030 "MPLS-TP Section Endpoint Identifier Address Family - 1031 IANA Registry Assigned Number: 26"; 1032 } 1033 identity mpls-tp-lsp-eid { 1034 base address-family; 1035 description 1036 "MPLS-TP LSP Endpoint Identifier Address Family - 1037 IANA Registry Assigned Number: 27"; 1038 } 1039 identity mpls-tp-pwe-eid { 1040 base address-family; 1041 description 1042 "MPLS-TP Pseudowire Endpoint Identifier 1043 Address Family - IANA Registry Assigned Number: 28"; 1044 } 1045 identity mt-v4 { 1046 base address-family; 1047 description 1048 "Multi-Topology IPv4 Address Family - 1049 Address Family - IANA Registry Assigned Number: 29"; 1050 } 1051 identity mt-v6 { 1052 base address-family; 1053 description 1054 "Multi-Topology IPv6 Address Family - 1055 Address Family - IANA Registry Assigned Number: 30"; 1056 } 1057 identity eigrp-common-sf { 1058 base address-family; 1059 description 1060 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1061 Common Service Family Address Family - 1062 IANA Registry Assigned Number: 16384"; 1063 } 1064 identity eigrp-v4-sf { 1065 base address-family; 1066 description 1067 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1068 IPv4 Service Family Address Family - 1069 IANA Registry Assigned Number: 16385"; 1070 } 1071 identity eigrp-v6-sf { 1072 base address-family; 1073 description 1074 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1075 IPv6 Service Family Address Family - 1076 IANA Registry Assigned Number: 16386"; 1077 } 1078 identity lcaf { 1079 base address-family; 1080 description 1081 "LISP Canonical Address Format (LCAF) 1082 Address Family - IANA Registry Assigned Number: 16387"; 1083 } 1084 identity bgp-ls { 1085 base address-family; 1086 description 1087 "Border Gatway Protocol - Link State (BGP-LS) 1088 Address Family - IANA Registry Assigned Number: 16388"; 1089 } 1090 identity mac-48 { 1091 base address-family; 1092 description 1093 "IEEE 48-bit Media Access Control (MAC) 1094 Address Family - IANA Registry Assigned Number: 16389"; 1095 } 1096 identity mac-64 { 1097 base address-family; 1098 description 1099 "IEEE 64-bit Media Access Control (MAC) 1100 Address Family - IANA Registry Assigned Number: 16390"; 1101 } 1102 identity trill-oui { 1103 base address-family; 1104 description 1105 "TRILL IEEE Organizationally Unique Identifier (OUI) - 1106 Address Family - IANA Registry Assigned Number: 16391"; 1108 } 1109 identity trill-mac-24 { 1110 base address-family; 1111 description 1112 "TRILL Final 3 octets of 48-bit MAC address 1113 Address Family - IANA Registry Assigned Number: 16392"; 1114 } 1115 identity trill-mac-48 { 1116 base address-family; 1117 description 1118 "TRILL Final 5 octets of 64-bit MAC address 1119 Address Family - IANA Registry Assigned Number: 16393"; 1120 } 1121 identity trill-rbridge-port-id { 1122 base address-family; 1123 description 1124 "TRILL Remote Bridge (RBridge) Port ID 1125 Address Family - IANA Registry Assigned Number: 16394"; 1126 } 1127 identity trill-nickname { 1128 base address-family; 1129 description 1130 "TRILL Nickname 1131 Address Family - IANA Registry Assigned Number: 16395"; 1132 } 1134 /*** Subsequent Address Family for Multi-Protocol BGP */ 1135 identity bgp-safi { 1136 description 1137 "Base identity from which identities describing BGP 1138 Subsequent Address Family Identifier (SAFI) - RFC 4760."; 1139 } 1141 identity unicast-safi { 1142 base bgp-safi; 1143 description 1144 "Unicast SAFI - 1145 IANA Registry Assigned Number: 1"; 1146 } 1148 identity multicast-safi { 1149 base bgp-safi; 1150 description 1151 "Multicast SAFI - 1152 IANA Registry Assigned Number: 2"; 1153 } 1155 identity labeled-unicast-safi { 1156 base bgp-safi; 1157 description 1158 "Labeled Unicast SAFI - 1159 IANA Registry Assigned Number: 4"; 1160 } 1162 identity multicast-vpn-safi { 1163 base bgp-safi; 1164 description 1165 "Multicast VPN SAFI - 1166 IANA Registry Assigned Number: 5"; 1167 } 1169 identity pseudowire-safi { 1170 base bgp-safi; 1171 description 1172 "Multi-segment Pseudowire VPN SAFI - 1173 IANA Registry Assigned Number: 6"; 1174 } 1176 identity tunnel-enap-safi { 1177 base bgp-safi; 1178 description 1179 "Tunnel Encap SAFI - 1180 IANA Registry Assigned Number: 7"; 1181 } 1183 identity mcast-vpls-safi { 1184 base bgp-safi; 1185 description 1186 "Multicast Virtual Private LAN Service (VPLS) SAFI - 1187 IANA Registry Assigned Number: 8"; 1188 } 1190 identity tunnel-safi { 1191 base bgp-safi; 1192 description 1193 "Tunnel SAFI - 1194 IANA Registry Assigned Number: 64"; 1195 } 1197 identity vpls-safi { 1198 base bgp-safi; 1199 description 1200 "Virtual Private LAN Service (VPLS) SAFI - 1201 IANA Registry Assigned Number: 65"; 1202 } 1203 identity mdt-safi { 1204 base bgp-safi; 1205 description 1206 "Multicast Distribution Tree (MDT) SAFI - 1207 IANA Registry Assigned Number: 66"; 1208 } 1210 identity v4-over-v6-safi { 1211 base bgp-safi; 1212 description 1213 "IPv4 over IPv6 SAFI - 1214 IANA Registry Assigned Number: 67"; 1215 } 1217 identity v6-over-v4-safi { 1218 base bgp-safi; 1219 description 1220 "IPv6 over IPv4 SAFI - 1221 IANA Registry Assigned Number: 68"; 1222 } 1224 identity l1-vpn-auto-discovery-safi { 1225 base bgp-safi; 1226 description 1227 "Layer-1 VPN Auto Discovery SAFI - 1228 IANA Registry Assigned Number: 69"; 1229 } 1231 identity evpn-safi { 1232 base bgp-safi; 1233 description 1234 "Ethernet VPN (EVPN) SAFI - 1235 IANA Registry Assigned Number: 70"; 1236 } 1238 identity bgp-ls-safi { 1239 base bgp-safi; 1240 description 1241 "BGP Link-State (BGP-LS) SAFI - 1242 IANA Registry Assigned Number: 71"; 1243 } 1245 identity bgp-ls-vpn-safi { 1246 base bgp-safi; 1247 description 1248 "BGP Link-State (BGP-LS) VPN SAFI - 1249 IANA Registry Assigned Number: 72"; 1250 } 1251 identity sr-te-safi { 1252 base bgp-safi; 1253 description 1254 "Segment Routing - Traffic Engineering (SR-TE) SAFI - 1255 IANA Registry Assigned Number: 73"; 1256 } 1258 identity labeled-vpn-safi { 1259 base bgp-safi; 1260 description 1261 "MPLS Labeled VPN SAFI - 1262 IANA Registry Assigned Number: 128"; 1263 } 1265 identity multicast-mpls-vpn-safi { 1266 base bgp-safi; 1267 description 1268 "Multicast for BGP/MPLS IP VPN SAFI - 1269 IANA Registry Assigned Number: 129"; 1270 } 1272 identity route-target-safi { 1273 base bgp-safi; 1274 description 1275 "Route Target SAFI - 1276 IANA Registry Assigned Number: 132"; 1277 } 1279 identity ipv4-flow-spec-safi { 1280 base bgp-safi; 1281 description 1282 "IPv4 Flow Specification SAFI - 1283 IANA Registry Assigned Number: 133"; 1284 } 1286 identity vpnv4-flow-spec-safi { 1287 base bgp-safi; 1288 description 1289 "IPv4 VPN Flow Specification SAFI - 1290 IANA Registry Assigned Number: 134"; 1291 } 1292 } 1293 1295 5. IANA Considerations 1297 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1298 actual RFC number (and remove this note). 1300 This document registers the following namespace URIs in the IETF XML 1301 registry [RFC3688]: 1303 -------------------------------------------------------------------- 1304 URI: urn:ietf:params:xml:ns:yang:ietf-routing-types 1305 Registrant Contact: The IESG. 1306 XML: N/A, the requested URI is an XML namespace. 1307 -------------------------------------------------------------------- 1309 -------------------------------------------------------------------- 1310 URI: urn:ietf:params:xml:ns:yang:iana-routing-types 1311 Registrant Contact: The IESG. 1312 XML: N/A, the requested URI is an XML namespace. 1313 -------------------------------------------------------------------- 1315 This document registers the following YANG modules in the YANG Module 1316 Names registry [RFC6020]: 1318 -------------------------------------------------------------------- 1319 name: ietf-routing-types 1320 namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types 1321 prefix: rt-types 1322 reference: RFC XXXX 1323 -------------------------------------------------------------------- 1325 -------------------------------------------------------------------- 1326 name: iana-routing-types 1327 namespace: urn:ietf:params:xml:ns:yang:iana-routing-types 1328 prefix: iana-rt-types 1329 reference: RFC XXXX 1330 -------------------------------------------------------------------- 1332 5.1. IANA-Maintained iana-routing-types Module 1334 This document defines the initial version of the IANA-maintained 1335 iana-routing-types YANG module. 1337 The iana-routing-types YANG module is intended to reflect the 1338 "Address Family Numbers" registry [IANA-ADDRESS-FAMILY-REGISTRY] and 1339 "Subsequent Address Family Identifiers (SAFI) Parameters" registry 1340 [IANA-SAFI-REGISTRY]. 1342 IANA has added this notes to the "iana-routing-types YANG Module" 1343 registry: 1345 Address Families and Subsequent Address Families must not be 1346 directly added to the iana-routing-types YANG module. They must 1347 instead be respectively added to the "Address Family Numbers" 1348 and "Subsequent Address Family Identifiers (SAFI) Parameters" 1349 registries. 1351 When an Address Family or Subsequent Address Family is respectively 1352 added to the "Address Family Numbers" registry or the "Subsequent 1353 Address Family Identifiers (SAFI) Parameters" registry, a new 1354 "identity" statement must be added to the iana-routing-types YANG 1355 module. The name of the "identity" is the same as the corresponding 1356 address family or SAFI only it willl be a valid YANG identifier in 1357 all lowercase and with hyphens separating individual words in 1358 compound identifiers. The following substatements to the "identity" 1359 statement should be defined: 1361 "base": Contains the value "address-family" for address families 1362 or "bgp-safi" for subsequent address families. 1364 "status": Include only if a registration has been deprecated (use 1365 the value "deprecated") or obsoleted (use the value 1366 "obsolete"). 1368 "description": Replicate the description from the registry, 1369 if any. Insert line breaks as needed so that the 1370 line does not exceed 72 characters. 1372 "reference": Replicate the reference from the registry, if any, 1373 and add the title of the document. 1375 Unassigned or reserved values are not present in these modules. 1377 When the iana-routing-types YANG module is updated, a new "revision" 1378 statement must be added in front of the existing revision statements. 1380 IANA has added this new note to the the "Address Family Numbers" and 1381 "Subsequent Address Family Identifiers (SAFI) Parameters" registries: 1383 When this registry is modified, the YANG module 1384 iana-routing-types must be updated as defined in RFC XXXX. 1386 6. Security Considerations 1388 This document defines common data types using the YANG data modeling 1389 language. The definitions themselves have no security impact on the 1390 Internet, but the usage of these definitions in concrete YANG modules 1391 might have. The security considerations spelled out in the YANG 1392 specification [RFC7950] apply for this document as well. 1394 7. Acknowledgements 1396 The Routing Area Yang Architecture design team members included Acee 1397 Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Ebben Aries, 1398 Lou Berger, Qin Wu, Rob Shakir, Xufeng Liu, and Yingzhen Qu. 1400 Thanks to Martin Bjorkland, Tom Petch, Stewart Bryant, and Radek 1401 Krejci for comments on the model and document text. 1403 8. References 1405 8.1. Normative References 1407 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1408 Requirement Levels", BCP 14, RFC 2119, 1409 DOI 10.17487/RFC2119, March 1997, 1410 . 1412 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1413 the Network Configuration Protocol (NETCONF)", RFC 6020, 1414 DOI 10.17487/RFC6020, October 2010, 1415 . 1417 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 1418 RFC 6021, DOI 10.17487/RFC6021, October 2010, 1419 . 1421 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1422 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1423 . 1425 [IANA-ADDRESS-FAMILY-REGISTRY] 1426 "IANA Address Family Registry", 1427 . 1430 [IANA-SAFI-REGISTRY] 1431 "IANA Subsequent Address Family Identities (SAFI) 1432 Parameters Registry", . 1435 8.2. Informative References 1437 [IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE 1438 Std 754-2008, August 2008. 1440 [I-D.ietf-bfd-yang] 1441 Rahman, R., Zheng, L., Networks, J., Jethanandani, M., and 1442 G. Mirsky, "Yang Data Model for Bidirectional Forwarding 1443 Detection (BFD)", draft-ietf-bfd-yang-05 (work in 1444 progress), March 2017. 1446 [I-D.ietf-idr-bgp-model] 1447 Shaikh, A., Shakir, R., Patel, K., Hares, S., D'Souza, K., 1448 Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and 1449 X. Liu, "BGP Model for Service Provider Networks", draft- 1450 ietf-idr-bgp-model-02 (work in progress), July 2016. 1452 [I-D.ietf-ospf-yang] 1453 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 1454 "Yang Data Model for OSPF Protocol", draft-ietf-ospf- 1455 yang-07 (work in progress), March 2017. 1457 [I-D.ietf-pim-yang] 1458 Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, 1459 Y., and f. hu, "A YANG data model for Protocol-Independent 1460 Multicast (PIM)", draft-ietf-pim-yang-08 (work in 1461 progress), April 2017. 1463 [I-D.ietf-teas-yang-rsvp] 1464 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 1465 and H. Shah, "A YANG Data Model for Resource Reservation 1466 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-07 (work in 1467 progress), March 2017. 1469 [I-D.ietf-teas-yang-te] 1470 Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and 1471 I. Bryskin, "A YANG Data Model for Traffic Engineering 1472 Tunnels and Interfaces", draft-ietf-teas-yang-te-06 (work 1473 in progress), March 2017. 1475 [I-D.ietf-bess-l2vpn-yang] 1476 Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., 1477 and K. Tiruveedhula, "YANG Data Model for MPLS-based 1478 L2VPN", draft-ietf-bess-l2vpn-yang-05 (work in progress), 1479 March 2017. 1481 [I-D.ietf-mpls-base-yang] 1482 Raza, K., Gandhi, R., Liu, X., Beeram, V., Saad, T., 1483 Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data 1484 Model for MPLS Base", draft-ietf-mpls-base-yang-04 (work 1485 in progress), March 2017. 1487 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 1488 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 1489 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 1490 . 1492 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1493 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1494 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1495 . 1497 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 1498 Switching (GMPLS) Signaling Functional Description", 1499 RFC 3471, DOI 10.17487/RFC3471, January 2003, 1500 . 1502 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1503 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1504 2006, . 1506 [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer 1507 2 Virtual Private Networks (L2VPNs)", RFC 4664, 1508 DOI 10.17487/RFC4664, September 2006, 1509 . 1511 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1512 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 1513 . 1515 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 1516 RFC 6991, DOI 10.17487/RFC6991, July 2013, 1517 . 1519 [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating 1520 and Retiring Special-Purpose MPLS Labels", RFC 7274, 1521 DOI 10.17487/RFC7274, June 2014, 1522 . 1524 Authors' Addresses 1525 Xufeng Liu 1526 Jabil 1527 8281 Greensboro Drive, Suite 200 1528 McLean VA 22102 1529 USA 1531 EMail: Xufeng_Liu@jabil.com 1533 Yingzhen Qu 1534 Futurewei Technologies, Inc. 1535 2330 Central Expressway 1536 Santa Clara CA 95050 1537 USA 1539 EMail: yingzhen.qu@huawei.com 1541 Acee Lindem 1542 Cisco Systems 1543 301 Midenhall Way 1544 Cary, NC 27513 1545 USA 1547 EMail: acee@cisco.com 1549 Christian Hopps 1550 Deutsche Telekom 1552 EMail: chopps@chopps.org 1554 Lou Berger 1555 LabN Consulting, L.L.C. 1557 EMail: lberger@labn.net