idnits 2.17.1 draft-ietf-rtgwg-routing-types-06.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 date (June 13, 2017) is 2508 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-ADDRESS-FAMILY-REGISTRY' -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-SAFI-REGISTRY' == Outdated reference: A later version (-17) exists of draft-ietf-bfd-yang-05 == Outdated reference: A later version (-17) 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 (-19) exists of draft-ietf-teas-yang-rsvp-07 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-06 == Outdated reference: A later version (-10) exists of draft-ietf-bess-l2vpn-yang-05 == Outdated reference: A later version (-17) exists of draft-ietf-mpls-base-yang-04 Summary: 0 errors (**), 0 flaws (~~), 10 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: December 15, 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 June 13, 2017 14 Routing Area Common YANG Data Types 15 draft-ietf-rtgwg-routing-types-06 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 December 15, 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. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 60 3. IETF Routing Types YANG Module . . . . . . . . . . . . . . . 6 61 4. IANA Routing Types YANG Module . . . . . . . . . . . . . . . 18 62 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 63 5.1. IANA-Maintained iana-routing-types Module . . . . . . . . 28 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 30 65 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 66 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 67 8.1. Normative References . . . . . . . . . . . . . . . . . . 30 68 8.2. Informative References . . . . . . . . . . . . . . . . . 31 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 71 1. Introduction 73 The YANG [RFC6020] [RFC7950] is a data modeling language used to 74 model configuration data, state data, Remote Procedure Calls, and 75 notifications for network management protocols. The YANG language 76 supports a small set of built-in data types and provides mechanisms 77 to derive other types from the built-in types. 79 This document introduces a collection of common data types derived 80 from the built-in YANG data types. The derived types are designed to 81 be the common types applicable for modeling in the routing area. 83 1.1. Terminology 85 The terminology for describing YANG data models is found in 86 [RFC7950]. 88 2. Overview 90 This document defines the two models for common routing types, ietf- 91 routing-types and iana-routing-types. The only module imports are 92 from [RFC6991]. The ietf-routing-types model contains common routing 93 types other than those corresponding directly to IANA mappings. 94 These include: 96 router-id 97 Router Identifiers are commonly used to identify a nodes in 98 routing and other control plane protocols. An example usage of 99 router-id can be found in [I-D.ietf-ospf-yang]. 101 route-target 102 Route Targets (RTs) are commonly used to control the distribution 103 of virtual routing and forwarding (VRF) information, see 104 [RFC4364], in support of virtual private networks (VPNs). An 105 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 107 route-target-type 108 This type defines the import and export rules of Route Targets, as 109 descibed in Section 4.3.1 of [RFC4364]. An example usage can be 110 found in [I-D.ietf-idr-bgp-model]. 112 route-distinguisher 113 Route Distinguishers (RDs) are commonly used to identify separate 114 routes in support of virtual private networks (VPNs). For 115 example, in [RFC4364], RDs are commonly used to identify 116 independent VPNs and VRFs, and more generally, to identify 117 multiple routes to the same prefix. An example usage can be found 118 in [I-D.ietf-idr-bgp-model]. 120 ipv4-multicast-group-address 121 This type defines the representation of an IPv4 multicast group 122 address, which is in the range from 224.0.0.0 to 239.255.255.255. 123 An example usage can be found in [I-D.ietf-pim-yang]. 125 ipv6-multicast-group-address 126 This type defines the representation of an IPv6 multicast group 127 address, which is in the range of FF00::/8. An example usage can 128 be found in [I-D.ietf-pim-yang]. 130 ip-multicast-group-address 131 This type represents an IP multicast group address and is IP 132 version neutral. The format of the textual representation implies 133 the IP version. An example usage can be found in 134 [I-D.ietf-pim-yang]. 136 ipv4-multicast-source-address 137 IPv4 source address type for use in multicast control protocols. 138 This type also allows the indication of wildcard sources, i.e., 139 "*". An example of where this type may/will be used is 140 [I-D.ietf-pim-yang]. 142 ipv6-multicast-source-address 143 IPv6 source address type for use in multicast control protocols. 144 This type also allows the indication of wildcard sources, i.e., 145 "*". An example of where this type may/will be used is 146 [I-D.ietf-pim-yang]. 148 bandwidth-ieee-float32 149 Bandwidth in IEEE 754 floating point 32-bit binary format 150 [IEEE754]. Commonly used in Traffic Engineering control plane 151 protocols. An example of where this type may/will be used is 152 [I-D.ietf-ospf-yang]. 154 link-access-type 155 This type identifies the IGP link type. An example of where this 156 type may/will be used is [I-D.ietf-ospf-yang]. 158 timer-multiplier 159 This type is used in conjunction with a timer-value type. It is 160 generally used to indicate define the number of timer-value 161 intervals that may expire before a specific event must occur. 162 Examples of this include the arrival of any BFD packets, see 163 [RFC5880] Section 6.8.4, or hello_interval in [RFC3209]. Example 164 of where this type may/will be used is [I-D.ietf-idr-bgp-model] 165 and [I-D.ietf-teas-yang-rsvp]. 167 timer-value-seconds16 168 This type covers timers which can be set in seconds, not set, or 169 set to infinity. This type supports a range of values that can be 170 represented in a uint16 (2 octets). An example of where this type 171 may/will be used is [I-D.ietf-ospf-yang]. 173 timer-value-seconds32 174 This type covers timers which can be set in seconds, not set, or 175 set to infinity. This type supports a range of values that can be 176 represented in a uint32 (4 octets). An example of where this type 177 may/will be used is [I-D.ietf-teas-yang-rsvp]. 179 timer-value-milliseconds 180 This type covers timers which can be set in milliseconds, not set, 181 or set to infinity. This type supports a range of values that can 182 be represented in a uint32 (4 octets). Examples of where this 183 type may/will be used include [I-D.ietf-teas-yang-rsvp] and 184 [I-D.ietf-bfd-yang]. 186 percentage 187 This type defines a percentage with a range of 0-100%. An example 188 usage can be found in [I-D.ietf-idr-bgp-model]. 190 timeticks64 191 This type is based on the timeticks type defined in [RFC6991] but 192 with 64-bit precision. It represents the time in hundredths of a 193 second between two epochs. An example usage can be found in 194 [I-D.ietf-idr-bgp-model]. 196 generalized-label 197 This type represents a generalized label for Generalized Multi- 198 Protocol Label Switching (GMPLS) [RFC3471]. The Generalized Label 199 does not identify its type, which is known from the context. An 200 example usage can be found in [I-D.ietf-teas-yang-te]. 202 mpls-label-special-purpose 203 This type represents the special-purpose Multiprotocol Label 204 Switching (MPLS) label values [RFC7274]. An example usage can be 205 found in [I-D.ietf-mpls-base-yang]. 207 mpls-label-general-use 208 The 20 bits label values in an MPLS label stack entry, specified 209 in [RFC3032]. This label value does not include the encodings of 210 Traffic Class and TTL (time to live). The label range specified 211 by this type is for general use, with special-purpose MPLS label 212 values excluded. An example usage can be found in 213 [I-D.ietf-mpls-base-yang]. 215 mpls-label 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 covers the general use values and the special-purpose 220 label values. An example usage can be found in 221 [I-D.ietf-mpls-base-yang]. 223 This document defines the following YANG groupings: 225 mpls-label-stack 226 This grouping defines a reusable collection of schema nodes 227 representing an MPLS label stack [RFC3032]. An example usage can 228 be found in [I-D.ietf-mpls-base-yang]. 230 vpn-route-targets 231 This grouping defines a reusable collection of schema nodes 232 representing Route Target import-export rules used in the BGP 233 enabled Virtual Private Networks (VPNs). [RFC4364][RFC4664]. An 234 example usage can be found in [I-D.ietf-bess-l2vpn-yang]. 236 The iana-routing-types model contains common routing types 237 corresponding directly to IANA mappings. These include: 239 address-family 240 This type defines values for use in address family identifiers. 241 The values are based on the IANA Address Family Numbers Registry 242 [IANA-ADDRESS-FAMILY-REGISTRY]. An example usage can be found in 243 [I-D.ietf-idr-bgp-model]. 245 subsequent-address-family 246 This type defines values for use in subsequent address family 247 (SAFI) identifiers. The values are based on the IANA Subsequent 248 Address Family Identifiers (SAFI) Parameters Registry 249 [IANA-SAFI-REGISTRY]. 251 3. IETF Routing Types YANG Module 253 file "ietf-routing-types@2017-06-13.yang" 254 module ietf-routing-types { 256 namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types"; 257 prefix "rt-types"; 259 import ietf-yang-types { 260 prefix "yang"; 261 } 263 import ietf-inet-types { 264 prefix "inet"; 265 } 267 organization 268 "IETF RTGWG - Routing Area Working Group"; 270 contact 271 "WG Web: 272 WG List: 274 Editor: Xufeng Lui 275 276 Yingzhen Qu 277 278 Acee Lindem 279 280 Christian Hopps 281 282 Lou Berger 283 "; 285 description 286 "This module contains a collection of YANG data types 287 considered generally useful for routing protocols. 289 Copyright (c) 2017 IETF Trust and the persons 290 identified as authors of the code. All rights reserved. 292 Redistribution and use in source and binary forms, with or 293 without modification, is permitted pursuant to, and subject 294 to the license terms contained in, the Simplified BSD License 295 set forth in Section 4.c of the IETF Trust's Legal Provisions 296 Relating to IETF Documents 297 (http://trustee.ietf.org/license-info). 299 This version of this YANG module is part of RFC XXXX; see 300 the RFC itself for full legal notices."; 302 reference "RFC XXXX"; 304 revision 2017-06-13 { 305 description 306 "Initial revision."; 307 reference 308 "RFC TBD: Routing YANG Data Types"; 309 } 311 /*** Identities related to MPLS/GMPLS ***/ 312 identity mpls-label-special-purpose-value { 313 description 314 "Base identity for deriving identities describing 315 special-purpose Multiprotocol Label Switching (MPLS) label 316 values."; 317 reference 318 "RFC7274: Allocating and Retiring Special-Purpose MPLS 319 Labels."; 320 } 322 identity ipv4-explicit-null-label { 323 base mpls-label-special-purpose-value; 324 description 325 "This identity represents the IPv4 Explicit NULL Label."; 326 reference 327 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 328 } 330 identity router-alert-label { 331 base mpls-label-special-purpose-value; 332 description 333 "This identity represents the Router Alert Label."; 334 reference 335 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 336 } 337 identity ipv6-explicit-null-label { 338 base mpls-label-special-purpose-value; 339 description 340 "This identity represents the IPv6 Explicit NULL Label."; 341 reference 342 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 343 } 345 identity implicit-null-label { 346 base mpls-label-special-purpose-value; 347 description 348 "This identity represents the Implicit NULL Label."; 349 reference 350 "RFC3032: MPLS Label Stack Encoding. Section 2.1."; 351 } 353 identity entropy-label-indicator { 354 base mpls-label-special-purpose-value; 355 description 356 "This identity represents the Entropy Label Indicator."; 357 reference 358 "RFC6790: The Use of Entropy Labels in MPLS Forwarding. 359 Sections 3 and 10.1."; 360 } 362 identity gal-label { 363 base mpls-label-special-purpose-value; 364 description 365 "This identity represents the Generic Associated Channel Label 366 (GAL)."; 367 reference 368 "RFC5586: MPLS Generic Associated Channel. 369 Sections 4 and 10."; 370 } 372 identity oam-alert-label { 373 base mpls-label-special-purpose-value; 374 description 375 "This identity represents the OAM Alert Label."; 376 reference 377 "RFC3429: Assignment of the 'OAM Alert Label' for Multiprotocol 378 Label Switching Architecture (MPLS) Operation and Maintenance 379 (OAM) Functions. 380 Sections 3 and 6."; 381 } 383 identity extension-label { 384 base mpls-label-special-purpose-value; 385 description 386 "This identity represents the Extension Label."; 387 reference 388 "RFC7274: Allocating and Retiring Special-Purpose MPLS Labels. 389 Sections 3.1 and 5."; 390 } 392 /*** Collection of types related to routing ***/ 393 typedef router-id { 394 type yang:dotted-quad; 395 description 396 "A 32-bit number in the dotted quad format assigned to each 397 router. This number uniquely identifies the router within an 398 Autonomous System."; 399 } 401 /*** Collection of types related to VPN ***/ 402 typedef route-target { 403 type string { 404 pattern 405 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 406 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 407 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 408 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 409 + '[0-3]?\d{0,8}\d))|' 410 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 411 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 412 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 413 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 414 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 415 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 416 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 417 + '[0-5]?\d{0,3}\d))'; 418 } 419 description 420 "A route target is an 8-octet BGP extended community 421 initially identifying a set of sites in a BGP 422 VPN (RFC 4364). However, it has since taken on a more 423 general role in BGP route filtering. 424 A route target consists of three fields: 425 a 2-octet type field, an administrator field, 426 and an assigned number field. 427 According to the data formats for type 0, 1, and 2 defined in 428 RFC4360 and RFC5668, the encoding pattern is defined as: 430 0:2-octet-asn:4-octet-number 431 1:4-octet-ipv4addr:2-octet-number 432 2:4-octet-asn:2-octet-number. 434 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 435 2:1234567890:203."; 436 reference 437 "RFC4360: BGP Extended Communities Attribute. 438 RFC5668: 4-Octet AS Specific BGP Extended Community."; 439 } 441 typedef route-target-type { 442 type enumeration { 443 enum "import" { 444 value "0"; 445 description 446 "The route target applies to route import."; 447 } 448 enum "export" { 449 value "1"; 450 description 451 "The route target applies to route export."; 452 } 453 enum "both" { 454 value "2"; 455 description 456 "The route target applies to both route import and 457 route export."; 458 } 459 } 460 description 461 "Indicates the role a route target takes 462 in route filtering."; 463 reference 464 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 465 } 467 typedef route-distinguisher { 468 type string { 469 pattern 470 '(0:(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 471 + '[0-5]?\d{0,3}\d):(429496729[0-5]|42949672[0-8]\d|' 472 + '4294967[01]\d{2}|429496[0-6]\d{3}|42949[0-5]\d{4}|' 473 + '4294[0-8]\d{5}|429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|' 474 + '[0-3]?\d{0,8}\d))|' 475 + '(1:(((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|' 476 + '1\d{2}|2[0-4]\d|25[0-5])):(6553[0-5]|655[0-2]\d|' 477 + '65[0-4]\d{2}|6[0-4]\d{3}|[0-5]?\d{0,3}\d))|' 478 + '(2:(429496729[0-5]|42949672[0-8]\d|4294967[01]\d{2}|' 479 + '429496[0-6]\d{3}|42949[0-5]\d{4}|4294[0-8]\d{5}|' 480 + '429[0-3]\d{6}|42[0-8]\d{7}|4[01]\d{8}|[0-3]?\d{0,8}\d):' 481 + '(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|' 482 + '[0-5]?\d{0,3}\d))|' 483 + '(([3-9a-fA-F]|[1-9a-fA-F][\da-fA-F]{1,3}):' 484 + '[\da-fA-F]{1,12})'; 485 } 486 description 487 "A route distinguisher is an 8-octet value used to distinguish 488 routes from different BGP VPNs (RFC 4364). A route 489 distinguisher consists of three fields: A 2-octet type field, 490 an administrator field, and an assigned number field. 491 According to the data formats for type 0, 1, and 2 defined in 492 RFC4364, the encoding pattern is defined as: 494 0:2-octet-asn:4-octet-number 495 1:4-octet-ipv4addr:2-octet-number 496 2:4-octet-asn:2-octet-number. 497 2-octet-other-hex-number:6-octet-hex-number 499 Some valid examples are: 0:100:100, 1:1.1.1.1:100, and 500 2:1234567890:203."; 501 reference 502 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)."; 503 } 505 /*** Collection of types common to multicast ***/ 506 typedef ipv4-multicast-group-address { 507 type inet:ipv4-address { 508 pattern '(2((2[4-9])|(3[0-9]))\.).*'; 509 } 510 description 511 "This type represents an IPv4 multicast group address, 512 which is in the range from 224.0.0.0 to 239.255.255.255."; 513 reference 514 "RFC1112: Host Extensions for IP Multicasting."; 515 } 517 typedef ipv6-multicast-group-address { 518 type inet:ipv6-address { 519 pattern 520 '(([fF]{2}[0-9a-fA-F]{2}):).*'; 521 } 522 description 523 "This type represents an IPv6 multicast group address, 524 which is in the range of FF00::/8."; 525 reference 526 "RFC4291: IP Version 6 Addressing Architecture. Sec 2.7. 527 RFC7346: IPv6 Multicast Address Scopes."; 528 } 529 typedef ip-multicast-group-address { 530 type union { 531 type ipv4-multicast-group-address; 532 type ipv6-multicast-group-address; 533 } 534 description 535 "This type represents a version-neutral IP multicast group 536 address. The format of the textual representation implies 537 the IP version."; 538 } 540 typedef ipv4-multicast-source-address { 541 type union { 542 type enumeration { 543 enum '*' { 544 description 545 "Any source address."; 546 } 547 } 548 type inet:ipv4-address; 549 } 550 description 551 "Multicast source IPv4 address type."; 552 } 554 typedef ipv6-multicast-source-address { 555 type union { 556 type enumeration { 557 enum '*' { 558 description 559 "Any source address."; 560 } 561 } 562 type inet:ipv6-address; 563 } 564 description 565 "Multicast source IPv6 address type."; 566 } 568 /*** Collection of types common to protocols ***/ 569 typedef bandwidth-ieee-float32 { 570 type string { 571 pattern 572 '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 573 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 574 + '1[01]\d|0?\d?\d)?)'; 575 } 576 description 577 "Bandwidth in IEEE 754 floating point 32-bit binary format: 578 (-1)**(S) * 2**(Exponent-127) * (1 + Fraction), 579 where Exponent uses 8 bits, and Fraction uses 23 bits. 580 The units are octets per second. 581 The encoding format is the external hexadecimal-significant 582 character sequences specified in IEEE 754 and C99. The 583 format is restricted to be normalized, non-negative, and 584 non-fraction: 0x1.hhhhhhp{+}d or 0X1.HHHHHHP{+}D 585 where 'h' and 'H' are hexadecimal digits, 'd' and 'D' are 586 integers in the range of [0..127]. 587 When six hexadecimal digits are used for 'hhhhhh' or 'HHHHHH', 588 the least significant digit must be an even number. 589 'x' and 'X' indicate hexadecimal; 'p' and 'P' indicate power 590 of two. Some examples are: 0x0p0, 0x1p10, and 591 0x1.abcde2p+20"; 592 reference 593 "IEEE Std 754-2008: IEEE Standard for Floating-Point 594 Arithmetic."; 595 } 597 typedef link-access-type { 598 type enumeration { 599 enum "broadcast" { 600 description 601 "Specify broadcast multi-access network."; 602 } 603 enum "non-broadcast-multiaccess" { 604 description 605 "Specify Non-Broadcast Multi-Access (NBMA) network."; 606 } 607 enum "point-to-multipoint" { 608 description 609 "Specify point-to-multipoint network."; 610 } 611 enum "point-to-point" { 612 description 613 "Specify point-to-point network."; 614 } 615 } 616 description 617 "Link access type."; 618 } 620 typedef timer-multiplier { 621 type uint8; 622 description 623 "The number of timer value intervals that should be 624 interpreted as a failure."; 626 } 628 typedef timer-value-seconds16 { 629 type union { 630 type uint16 { 631 range "1..65535"; 632 } 633 type enumeration { 634 enum "infinity" { 635 description "The timer is set to infinity."; 636 } 637 enum "not-set" { 638 description "The timer is not set."; 639 } 640 } 641 } 642 units seconds; 643 description "Timer value type, in seconds (16-bit range)."; 644 } 646 typedef timer-value-seconds32 { 647 type union { 648 type uint32 { 649 range "1..4294967295"; 650 } 651 type enumeration { 652 enum "infinity" { 653 description "The timer is set to infinity."; 654 } 655 enum "not-set" { 656 description "The timer is not set."; 657 } 658 } 659 } 660 units seconds; 661 description "Timer value type, in seconds (32-bit range)."; 662 } 664 typedef timer-value-milliseconds { 665 type union { 666 type uint32{ 667 range "1..4294967295"; 668 } 669 type enumeration { 670 enum "infinity" { 671 description "The timer is set to infinity."; 672 } 673 enum "not-set" { 674 description "The timer is not set."; 675 } 676 } 677 } 678 units milliseconds; 679 description "Timer value type, in milliseconds."; 680 } 682 typedef percentage { 683 type uint8 { 684 range "0..100"; 685 } 686 description 687 "Integer indicating a percentage value"; 688 } 690 typedef timeticks64 { 691 type uint64; 692 description 693 "This type is based on the timeticks type defined in 694 RFC 6991, but with 64-bit width. It represents the time, 695 modulo 2^64, in hundredths of a second between two epochs."; 696 reference 697 "RFC 6991 - Common YANG Data Types"; 698 } 700 /*** Collection of types related to MPLS/GMPLS ***/ 701 typedef generalized-label { 702 type binary; 703 description 704 "Generalized label. Nodes sending and receiving the 705 Generalized Label are aware of the link-specific 706 label context and type."; 707 reference "RFC3471: Section 3.2"; 708 } 710 typedef mpls-label-special-purpose { 711 type identityref { 712 base mpls-label-special-purpose-value; 713 } 714 description 715 "This type represents the special-purpose Multiprotocol Label 716 Switching (MPLS) label values."; 717 reference 718 "RFC3032: MPLS Label Stack Encoding. 719 RFC7274: Allocating and Retiring Special-Purpose MPLS 720 Labels."; 721 } 722 typedef mpls-label-general-use { 723 type uint32 { 724 range "16..1048575"; 725 } 726 description 727 "The 20-bit label values in an MPLS label stack entry, 728 specified in RFC3032. This label value does not include 729 the encodings of Traffic Class and TTL (time to live). 730 The label range specified by this type is for general use, 731 with special-purpose MPLS label values excluded."; 732 reference 733 "RFC3032: MPLS Label Stack Encoding."; 734 } 736 typedef mpls-label { 737 type union { 738 type mpls-label-special-purpose; 739 type mpls-label-general-use; 740 } 741 description 742 "The 20-bit label values in an MPLS label stack entry, 743 specified in RFC3032. This label value does not include 744 the encodings of Traffic Class and TTL (time to live)."; 745 reference 746 "RFC3032: MPLS Label Stack Encoding."; 747 } 749 /*** Groupings **/ 750 grouping mpls-label-stack { 751 description 752 "A grouping that specifies an MPLS label stack."; 753 container mpls-label-stack { 754 description 755 "Container for a list of MPLS label stack entries."; 756 list entry { 757 key "id"; 758 description 759 "List of MPLS label stack entries."; 760 leaf id { 761 type uint8; 762 description 763 "Identifies the sequence of an MPLS label stack entries. 764 An entry with smaller ID value is precedes an entry in 765 the label stack with a smaller ID."; 766 } 767 leaf label { 768 type rt-types:mpls-label; 769 description 770 "Label value."; 771 } 772 leaf ttl { 773 type uint8; 774 description 775 "Time to Live (TTL)."; 776 reference 777 "RFC3032: MPLS Label Stack Encoding."; 778 } 779 leaf traffic-class { 780 type uint8 { 781 range "0..7"; 782 } 783 description 784 "Traffic Class (TC)."; 785 reference 786 "RFC5462: Multiprotocol Label Switching (MPLS) Label 787 Stack Entry: 'EXP' Field Renamed to 'Traffic Class' 788 Field."; 789 } 790 } 791 } 792 } 794 grouping vpn-route-targets { 795 description 796 "A grouping that specifies Route Target import-export rules 797 used in the BGP enabled Virtual Private Networks (VPNs)."; 798 reference 799 "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs). 800 RFC4664: Framework for Layer 2 Virtual Private Networks 801 (L2VPNs)"; 802 list vpn-target { 803 key route-target; 804 description 805 "List of Route Targets."; 806 leaf route-target { 807 type rt-types:route-target; 808 description 809 "Route Target value"; 810 } 811 leaf route-target-type { 812 type rt-types:route-target-type; 813 mandatory true; 814 description 815 "Import/export type of the Route Target."; 816 } 817 } 819 } 820 } 821 823 4. IANA Routing Types YANG Module 825 file "iana-routing-types@2017-06-13.yang" 826 module iana-routing-types { 828 namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; 829 prefix "iana-rt-types"; 831 organization "IANA"; 833 contact 834 " Internet Assigned Numbers Authority 836 Postal: ICANN 837 4676 Admiralty Way, Suite 330 838 Marina del Rey, CA 90292 840 Tel: +1 310 823 9358 841 "; 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 849 identified as 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 853 to the license terms contained in, the Simplified BSD License 854 set 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 This version of this YANG module is part of RFC XXXX; see 859 the RFC itself for full legal notices."; 861 reference "RFC XXXX"; 863 revision 2017-06-13 { 864 description 865 "Initial revision."; 866 reference 867 "RFC TBD: IANA Routing YANG Data Types"; 868 } 870 /*** Collection of IANA types related to routing ***/ 872 /*** IANA address family Identities ***/ 873 identity address-family { 874 description 875 "Base identity from which identities describing address 876 families are derived."; 877 } 878 identity ipv4 { 879 base address-family; 880 description 881 "IPv4 Address Family - IANA Registry Assigned Number: 1"; 882 } 883 identity ipv6 { 884 base address-family; 885 description 886 "IPv6 Address Family - IANA Registry Assigned Number: 2"; 887 } 888 identity nsap { 889 base address-family; 890 description 891 "OSI Network Service Access Point (NSAP) Address Family - 892 IANA Registry Assigned Number: 3"; 893 } 894 identity hdlc { 895 base address-family; 896 description 897 "High-Level Data Link Control (HDLC) Address Family - 898 IANA Registry Assigned Number: 4"; 899 } 900 identity bbn1822 { 901 base address-family; 902 description 903 "Bolt, Beranek, and Newman Report 1822 (BBN 1822) 904 Address Family - IANA Registry Assigned Number: 5"; 905 } 906 identity ieee802 { 907 base address-family; 908 description 909 "IEEE 802 Committee Address Family (aka, MAC address) - 910 IANA Registry Assigned Number: 6"; 911 } 912 identity e163 { 913 base address-family; 914 description 915 "ITU-T E.163 Address Family - 916 IANA Registry Assigned Number: 7"; 917 } 918 identity e164 { 919 base address-family; 920 description 921 "ITU-T E.164 (SMDS, Frame Relay, ATM) Address Family - 922 IANA Registry Assigned Number: 8"; 923 } 924 identity f69 { 925 base address-family; 926 description 927 "ITU-T F.69 (Telex) Address Family - 928 IANA Registry Assigned Number: 9"; 929 } 930 identity x121 { 931 base address-family; 932 description 933 "ITU-T X.121 (X.25, Frame Relay) Address Family - 934 IANA Registry Assigned Number: 10"; 935 } 936 identity ipx { 937 base address-family; 938 description 939 "Novell Internetwork Packet Exchange (IPX) 940 Address Family - IANA Registry Assigned Number: 11"; 941 } 942 identity appletalk { 943 base address-family; 944 description 945 "Apple AppleTalk Address Family - 946 IANA Registry Assigned Number: 12"; 947 } 948 identity decnet-iv { 949 base address-family; 950 description 951 "Digital Equipment DECnet Phase IV Address Family - 952 IANA Registry Assigned Number: 13"; 953 } 954 identity vines { 955 base address-family; 956 description 957 "Banyan Vines Address Family - 958 IANA Registry Assigned Number: 14"; 959 } 960 identity e164-nsap { 961 base address-family; 962 description 963 "ITU-T E.164 with NSAP sub-address Address Family - 964 IANA Registry Assigned Number: 15"; 965 } 966 identity dns { 967 base address-family; 968 description 969 "Domain Name System (DNS) Address Family - 970 IANA Registry Assigned Number: 16"; 971 } 972 identity distinguished-name { 973 base address-family; 974 description 975 "Distinguished Name Address Family - 976 IANA Registry Assigned Number: 17"; 977 } 978 identity as-num { 979 base address-family; 980 description 981 "AS Number Family - 982 IANA Registry Assigned Number: 18"; 983 } 984 identity xtp-v4 { 985 base address-family; 986 description 987 "Xpress Transport Protocol (XTP) over IPv4 988 Address Family - IANA Registry Assigned Number: 19"; 989 } 990 identity xtp-v6 { 991 base address-family; 992 description 993 "Xpress Transport Protocol (XTP) over IPv4 994 Address Family - IANA Registry Assigned Number: 20"; 995 } 996 identity xtp-native { 997 base address-family; 998 description 999 "Xpress Transport Protocol (XTP) native mode 1000 Address Family - IANA Registry Assigned Number: 21"; 1001 } 1002 identity fc-port { 1003 base address-family; 1004 description 1005 "Fibre Channel (FC) World-Wide Port Name 1006 Address Family - IANA Registry Assigned Number: 22"; 1007 } 1008 identity fc-node { 1009 base address-family; 1010 description 1011 "Fibre Channel (FC) World-Wide Node Name 1012 Address Family - IANA Registry Assigned Number: 23"; 1013 } 1014 identity gwid { 1015 base address-family; 1016 description 1017 "ATM Gateway Identifier (GWID) Number Family - 1018 IANA Registry Assigned Number: 24"; 1019 } 1020 identity l2vpn { 1021 base address-family; 1022 description 1023 "Layer-2 VPN (L2VPN) Address Family - 1024 IANA Registry Assigned Number: 25"; 1025 } 1026 identity mpls-tp-section-eid { 1027 base address-family; 1028 description 1029 "MPLS-TP Section Endpoint Identifier Address Family - 1030 IANA Registry Assigned Number: 26"; 1031 } 1032 identity mpls-tp-lsp-eid { 1033 base address-family; 1034 description 1035 "MPLS-TP LSP Endpoint Identifier Address Family - 1036 IANA Registry Assigned Number: 27"; 1037 } 1038 identity mpls-tp-pwe-eid { 1039 base address-family; 1040 description 1041 "MPLS-TP Pseudowire Endpoint Identifier 1042 Address Family - IANA Registry Assigned Number: 28"; 1043 } 1044 identity mt-v4 { 1045 base address-family; 1046 description 1047 "Multi-Topology IPv4 Address Family - 1048 Address Family - IANA Registry Assigned Number: 29"; 1049 } 1050 identity mt-v6 { 1051 base address-family; 1052 description 1053 "Multi-Topology IPv6 Address Family - 1054 Address Family - IANA Registry Assigned Number: 30"; 1055 } 1056 identity eigrp-common-sf { 1057 base address-family; 1058 description 1059 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1060 Common Service Family Address Family - 1061 IANA Registry Assigned Number: 16384"; 1062 } 1063 identity eigrp-v4-sf { 1064 base address-family; 1065 description 1066 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1067 IPv4 Service Family Address Family - 1068 IANA Registry Assigned Number: 16385"; 1069 } 1070 identity eigrp-v6-sf { 1071 base address-family; 1072 description 1073 "Enhanced Interior Gateway Routing Protocol (EIGRP) 1074 IPv6 Service Family Address Family - 1075 IANA Registry Assigned Number: 16386"; 1076 } 1077 identity lcaf { 1078 base address-family; 1079 description 1080 "LISP Canonical Address Format (LCAF) 1081 Address Family - IANA Registry Assigned Number: 16387"; 1082 } 1083 identity bgp-ls { 1084 base address-family; 1085 description 1086 "Border Gatway Protocol - Link State (BGP-LS) 1087 Address Family - IANA Registry Assigned Number: 16388"; 1088 } 1089 identity mac-48 { 1090 base address-family; 1091 description 1092 "IEEE 48-bit Media Access Control (MAC) 1093 Address Family - IANA Registry Assigned Number: 16389"; 1094 } 1095 identity mac-64 { 1096 base address-family; 1097 description 1098 "IEEE 64-bit Media Access Control (MAC) 1099 Address Family - IANA Registry Assigned Number: 16390"; 1100 } 1101 identity trill-oui { 1102 base address-family; 1103 description 1104 "TRILL IEEE Organizationally Unique Identifier (OUI) - 1105 Address Family - IANA Registry Assigned Number: 16391"; 1106 } 1107 identity trill-mac-24 { 1108 base address-family; 1109 description 1110 "TRILL Final 3 octets of 48-bit MAC address 1111 Address Family - IANA Registry Assigned Number: 16392"; 1112 } 1113 identity trill-mac-48 { 1114 base address-family; 1115 description 1116 "TRILL Final 5 octets of 64-bit MAC address 1117 Address Family - IANA Registry Assigned Number: 16393"; 1118 } 1119 identity trill-rbridge-port-id { 1120 base address-family; 1121 description 1122 "TRILL Remote Bridge (RBridge) Port ID 1123 Address Family - IANA Registry Assigned Number: 16394"; 1124 } 1125 identity trill-nickname { 1126 base address-family; 1127 description 1128 "TRILL Nickname 1129 Address Family - IANA Registry Assigned Number: 16395"; 1130 } 1132 /*** SAFIs for Multi-Protocol BGP Identities ***/ 1133 identity bgp-safi { 1134 description 1135 "Base identity from which identities describing BGP 1136 Subsequent Address Family Identifier (SAFI) - RFC 4760."; 1137 } 1139 identity unicast-safi { 1140 base bgp-safi; 1141 description 1142 "Unicast SAFI - 1143 IANA Registry Assigned Number: 1"; 1144 } 1146 identity multicast-safi { 1147 base bgp-safi; 1148 description 1149 "Multicast SAFI - 1150 IANA Registry Assigned Number: 2"; 1151 } 1153 identity labeled-unicast-safi { 1154 base bgp-safi; 1155 description 1156 "Labeled Unicast SAFI - 1157 IANA Registry Assigned Number: 4"; 1158 } 1160 identity multicast-vpn-safi { 1161 base bgp-safi; 1162 description 1163 "Multicast VPN SAFI - 1164 IANA Registry Assigned Number: 5"; 1165 } 1167 identity pseudowire-safi { 1168 base bgp-safi; 1169 description 1170 "Multi-segment Pseudowire VPN SAFI - 1171 IANA Registry Assigned Number: 6"; 1172 } 1174 identity tunnel-enap-safi { 1175 base bgp-safi; 1176 description 1177 "Tunnel Encap SAFI - 1178 IANA Registry Assigned Number: 7"; 1179 } 1181 identity mcast-vpls-safi { 1182 base bgp-safi; 1183 description 1184 "Multicast Virtual Private LAN Service (VPLS) SAFI - 1185 IANA Registry Assigned Number: 8"; 1186 } 1188 identity tunnel-safi { 1189 base bgp-safi; 1190 description 1191 "Tunnel SAFI - 1192 IANA Registry Assigned Number: 64"; 1193 } 1195 identity vpls-safi { 1196 base bgp-safi; 1197 description 1198 "Virtual Private LAN Service (VPLS) SAFI - 1199 IANA Registry Assigned Number: 65"; 1200 } 1202 identity mdt-safi { 1203 base bgp-safi; 1204 description 1205 "Multicast Distribution Tree (MDT) SAFI - 1206 IANA Registry Assigned Number: 66"; 1207 } 1209 identity v4-over-v6-safi { 1210 base bgp-safi; 1211 description 1212 "IPv4 over IPv6 SAFI - 1213 IANA Registry Assigned Number: 67"; 1214 } 1216 identity v6-over-v4-safi { 1217 base bgp-safi; 1218 description 1219 "IPv6 over IPv4 SAFI - 1220 IANA Registry Assigned Number: 68"; 1221 } 1223 identity l1-vpn-auto-discovery-safi { 1224 base bgp-safi; 1225 description 1226 "Layer-1 VPN Auto Discovery SAFI - 1227 IANA Registry Assigned Number: 69"; 1228 } 1230 identity evpn-safi { 1231 base bgp-safi; 1232 description 1233 "Ethernet VPN (EVPN) SAFI - 1234 IANA Registry Assigned Number: 70"; 1235 } 1237 identity bgp-ls-safi { 1238 base bgp-safi; 1239 description 1240 "BGP Link-State (BGP-LS) SAFI - 1241 IANA Registry Assigned Number: 71"; 1242 } 1244 identity bgp-ls-vpn-safi { 1245 base bgp-safi; 1246 description 1247 "BGP Link-State (BGP-LS) VPN SAFI - 1248 IANA Registry Assigned Number: 72"; 1249 } 1250 identity sr-te-safi { 1251 base bgp-safi; 1252 description 1253 "Segment Routing - Traffic Engineering (SR-TE) SAFI - 1254 IANA Registry Assigned Number: 73"; 1255 } 1257 identity labeled-vpn-safi { 1258 base bgp-safi; 1259 description 1260 "MPLS Labeled VPN SAFI - 1261 IANA Registry Assigned Number: 128"; 1262 } 1264 identity multicast-mpls-vpn-safi { 1265 base bgp-safi; 1266 description 1267 "Multicast for BGP/MPLS IP VPN SAFI - 1268 IANA Registry Assigned Number: 129"; 1269 } 1271 identity route-target-safi { 1272 base bgp-safi; 1273 description 1274 "Route Target SAFI - 1275 IANA Registry Assigned Number: 132"; 1276 } 1278 identity ipv4-flow-spec-safi { 1279 base bgp-safi; 1280 description 1281 "IPv4 Flow Specification SAFI - 1282 IANA Registry Assigned Number: 133"; 1283 } 1285 identity vpnv4-flow-spec-safi { 1286 base bgp-safi; 1287 description 1288 "IPv4 VPN Flow Specification SAFI - 1289 IANA Registry Assigned Number: 134"; 1290 } 1291 } 1292 1294 5. IANA Considerations 1296 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1297 actual RFC number (and remove this note). 1299 This document registers the following namespace URIs in the IETF XML 1300 registry [RFC3688]: 1302 -------------------------------------------------------------------- 1303 URI: urn:ietf:params:xml:ns:yang:ietf-routing-types 1304 Registrant Contact: The IESG. 1305 XML: N/A, the requested URI is an XML namespace. 1306 -------------------------------------------------------------------- 1308 -------------------------------------------------------------------- 1309 URI: urn:ietf:params:xml:ns:yang:iana-routing-types 1310 Registrant Contact: IANA 1311 XML: N/A, the requested URI is an XML namespace. 1312 -------------------------------------------------------------------- 1314 This document registers the following YANG modules in the YANG Module 1315 Names registry [RFC6020]: 1317 -------------------------------------------------------------------- 1318 name: ietf-routing-types 1319 namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types 1320 prefix: rt-types 1321 reference: RFC XXXX 1322 -------------------------------------------------------------------- 1324 -------------------------------------------------------------------- 1325 name: iana-routing-types 1326 namespace: urn:ietf:params:xml:ns:yang:iana-routing-types 1327 prefix: iana-rt-types 1328 reference: RFC XXXX 1329 -------------------------------------------------------------------- 1331 5.1. IANA-Maintained iana-routing-types Module 1333 This document defines the initial version of the IANA-maintained 1334 iana-routing-types YANG module. 1336 The iana-routing-types YANG module is intended to reflect the 1337 "Address Family Numbers" registry [IANA-ADDRESS-FAMILY-REGISTRY] and 1338 "Subsequent Address Family Identifiers (SAFI) Parameters" registry 1339 [IANA-SAFI-REGISTRY]. 1341 IANA has added this notes to the "iana-routing-types YANG Module" 1342 registry: 1344 Address Families and Subsequent Address Families must not be 1345 directly added to the iana-routing-types YANG module. They must 1346 instead be respectively added to the "Address Family Numbers" 1347 and "Subsequent Address Family Identifiers (SAFI) Parameters" 1348 registries. 1350 When an Address Family or Subsequent Address Family is respectively 1351 added to the "Address Family Numbers" registry or the "Subsequent 1352 Address Family Identifiers (SAFI) Parameters" registry, a new 1353 "identity" statement must be added to the iana-routing-types YANG 1354 module. The name of the "identity" is the same as the corresponding 1355 address family or SAFI only it willl be a valid YANG identifier in 1356 all lowercase and with hyphens separating individual words in 1357 compound identifiers. The following substatements to the "identity" 1358 statement should be defined: 1360 "base": Contains the value "address-family" for address families 1361 or "bgp-safi" for subsequent address families. 1363 "status": Include only if a registration has been deprecated (use 1364 the value "deprecated") or obsoleted (use the value 1365 "obsolete"). 1367 "description": Replicate the description from the registry, 1368 if any. Insert line breaks as needed so that the 1369 line does not exceed 72 characters. 1371 "reference": Replicate the reference from the registry, if any, 1372 and add the title of the document. 1374 Unassigned or reserved values are not present in these modules. 1376 When the iana-routing-types YANG module is updated, a new "revision" 1377 statement must be added in front of the existing revision statements. 1379 IANA has added this new note to the the "Address Family Numbers" and 1380 "Subsequent Address Family Identifiers (SAFI) Parameters" registries: 1382 When this registry is modified, the YANG module 1383 iana-routing-types must be updated as defined in RFC XXXX. 1385 6. Security Considerations 1387 This document defines common data types using the YANG data modeling 1388 language. The definitions themselves have no security impact on the 1389 Internet, but the usage of these definitions in concrete YANG modules 1390 might have. The security considerations spelled out in the YANG 1391 specification [RFC7950] apply for this document as well. 1393 7. Acknowledgements 1395 The Routing Area Yang Architecture design team members included Acee 1396 Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Ebben Aries, 1397 Lou Berger, Qin Wu, Rob Shakir, Xufeng Liu, and Yingzhen Qu. 1399 Thanks to Martin Bjorkland, Tom Petch, Stewart Bryant, and Radek 1400 Krejci for comments on the model and document text. 1402 8. References 1404 8.1. Normative References 1406 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1407 DOI 10.17487/RFC3688, January 2004, 1408 . 1410 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1411 the Network Configuration Protocol (NETCONF)", RFC 6020, 1412 DOI 10.17487/RFC6020, October 2010, 1413 . 1415 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 1416 RFC 6991, DOI 10.17487/RFC6991, July 2013, 1417 . 1419 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1420 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1421 . 1423 [IANA-ADDRESS-FAMILY-REGISTRY] 1424 "IANA Address Family Registry", 1425 . 1428 [IANA-SAFI-REGISTRY] 1429 "IANA Subsequent Address Family Identities (SAFI) 1430 Parameters Registry", . 1433 8.2. Informative References 1435 [IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE 1436 Std 754-2008, August 2008. 1438 [I-D.ietf-bfd-yang] 1439 Rahman, R., Zheng, L., Networks, J., Jethanandani, M., and 1440 G. Mirsky, "Yang Data Model for Bidirectional Forwarding 1441 Detection (BFD)", draft-ietf-bfd-yang-05 (work in 1442 progress), March 2017. 1444 [I-D.ietf-idr-bgp-model] 1445 Shaikh, A., Shakir, R., Patel, K., Hares, S., D'Souza, K., 1446 Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and 1447 X. Liu, "BGP Model for Service Provider Networks", draft- 1448 ietf-idr-bgp-model-02 (work in progress), July 2016. 1450 [I-D.ietf-ospf-yang] 1451 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 1452 "Yang Data Model for OSPF Protocol", draft-ietf-ospf- 1453 yang-07 (work in progress), March 2017. 1455 [I-D.ietf-pim-yang] 1456 Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, 1457 Y., and f. hu, "A YANG data model for Protocol-Independent 1458 Multicast (PIM)", draft-ietf-pim-yang-08 (work in 1459 progress), April 2017. 1461 [I-D.ietf-teas-yang-rsvp] 1462 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 1463 and H. Shah, "A YANG Data Model for Resource Reservation 1464 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-07 (work in 1465 progress), March 2017. 1467 [I-D.ietf-teas-yang-te] 1468 Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and 1469 I. Bryskin, "A YANG Data Model for Traffic Engineering 1470 Tunnels and Interfaces", draft-ietf-teas-yang-te-06 (work 1471 in progress), March 2017. 1473 [I-D.ietf-bess-l2vpn-yang] 1474 Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., 1475 and K. Tiruveedhula, "YANG Data Model for MPLS-based 1476 L2VPN", draft-ietf-bess-l2vpn-yang-05 (work in progress), 1477 March 2017. 1479 [I-D.ietf-mpls-base-yang] 1480 Raza, K., Gandhi, R., Liu, X., Beeram, V., Saad, T., 1481 Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data 1482 Model for MPLS Base", draft-ietf-mpls-base-yang-04 (work 1483 in progress), March 2017. 1485 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 1486 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 1487 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 1488 . 1490 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1491 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1492 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1493 . 1495 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 1496 Switching (GMPLS) Signaling Functional Description", 1497 RFC 3471, DOI 10.17487/RFC3471, January 2003, 1498 . 1500 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1501 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1502 2006, . 1504 [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer 1505 2 Virtual Private Networks (L2VPNs)", RFC 4664, 1506 DOI 10.17487/RFC4664, September 2006, 1507 . 1509 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1510 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 1511 . 1513 [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating 1514 and Retiring Special-Purpose MPLS Labels", RFC 7274, 1515 DOI 10.17487/RFC7274, June 2014, 1516 . 1518 Authors' Addresses 1520 Xufeng Liu 1521 Jabil 1522 8281 Greensboro Drive, Suite 200 1523 McLean VA 22102 1524 USA 1526 EMail: Xufeng_Liu@jabil.com 1527 Yingzhen Qu 1528 Futurewei Technologies, Inc. 1529 2330 Central Expressway 1530 Santa Clara CA 95050 1531 USA 1533 EMail: yingzhen.qu@huawei.com 1535 Acee Lindem 1536 Cisco Systems 1537 301 Midenhall Way 1538 Cary, NC 27513 1539 USA 1541 EMail: acee@cisco.com 1543 Christian Hopps 1544 Deutsche Telekom 1546 EMail: chopps@chopps.org 1548 Lou Berger 1549 LabN Consulting, L.L.C. 1551 EMail: lberger@labn.net