idnits 2.17.1 draft-ietf-teas-yang-rsvp-te-05.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 268 has weird spacing: '...k-tp-id te-...' == Line 273 has weird spacing: '...k-tp-id te-...' == Line 279 has weird spacing: '...-number ine...' == Line 297 has weird spacing: '...k-tp-id te-...' == Line 302 has weird spacing: '...k-tp-id te-...' == (31 more instances...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. == Couldn't figure out when the document was first submitted -- there may comments or warnings related to the use of a disclaimer for pre-RFC5378 work that could not be issued because of this. Please check the Legal Provisions document at https://trustee.ietf.org/license-info to determine if you need the pre-RFC5378 disclaimer. -- The document date (February 18, 2019) is 1865 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) == Outdated reference: A later version (-19) exists of draft-ietf-teas-yang-rsvp-10 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-19 == Outdated reference: A later version (-13) exists of draft-ietf-teas-yang-te-types-06 Summary: 0 errors (**), 0 flaws (~~), 12 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS Working Group V. Beeram 3 Internet-Draft Juniper Networks 4 Intended status: Standards Track T. Saad 5 Expires: August 22, 2019 R. Gandhi 6 Cisco Systems, Inc. 7 X. Liu 8 Volta Networks 9 I. Bryskin 10 Huawei Technologies 11 H. Shah 12 Ciena 13 February 18, 2019 15 A YANG Data Model for RSVP-TE Protocol 16 draft-ietf-teas-yang-rsvp-te-05 18 Abstract 20 This document defines a YANG data model for the configuration and 21 management of RSVP (Resource Reservation Protocol) to establish 22 Traffic-Engineered (TE) Label-Switched Paths (LSPs) for MPLS (Multi- 23 Protocol Label Switching) and other technologies. 25 The model defines a generic RSVP-TE module for signaling LSPs that is 26 technology agnostic. The generic RSVP-TE module is to be augmented 27 by technology specific RSVP-TE modules that define technology 28 specific data. This document also defines the augmentation for RSVP- 29 TE MPLS LSPs model. 31 This model covers data for the configuration, operational state, 32 remote procedural calls, and event notifications. 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at https://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on August 22, 2019. 50 Copyright Notice 52 Copyright (c) 2019 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 69 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 70 2. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 4 71 2.1. Module Relationship . . . . . . . . . . . . . . . . . . . 4 72 2.2. Model Tree Diagrams . . . . . . . . . . . . . . . . . . . 5 73 2.2.1. RSVP-TE Model Tree Diagram . . . . . . . . . . . . . 5 74 2.2.2. RSVP-TE MPLS Model Tree Diagram . . . . . . . . . . . 13 75 2.3. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 15 76 2.3.1. RSVP-TE YANG Module . . . . . . . . . . . . . . . . . 15 77 2.3.2. RSVP-TE MPLS YANG Module . . . . . . . . . . . . . . 26 78 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 79 4. Security Considerations . . . . . . . . . . . . . . . . . . . 38 80 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 39 81 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 39 82 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 40 83 7.1. Normative References . . . . . . . . . . . . . . . . . . 40 84 7.2. Informative References . . . . . . . . . . . . . . . . . 42 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42 87 1. Introduction 89 YANG [RFC7950] is a data modeling language that was introduced to 90 define the contents of a conceptual data store that allows networked 91 devices to be managed using NETCONF [RFC6241]. YANG has proved 92 relevant beyond its initial confines, as bindings to other interfaces 93 (e.g. RESTCONF [RFC8040]) and encoding other than XML (e.g. JSON) 94 are being defined. Furthermore, YANG data models can be used as the 95 basis of implementation for other interfaces, such as CLI and 96 programmatic APIs. 98 This document defines a generic YANG data model for configuring and 99 managing RSVP-TE LSP(s) [RFC3209]. The RSVP-TE generic model 100 augments the RSVP base and extended models defined in 101 [I-D.ietf-teas-yang-rsvp], and adds TE extensions to the RSVP 102 protocol [RFC2205] model configuration and state data. The 103 technology specific RSVP-TE models augment the generic RSVP-TE model 104 with additional technology specific parameters. For example, this 105 document also defines the MPLS RSVP-TE model for configuring and 106 managing MPLS RSVP TE LSP(s). 108 In addition to augmenting the RSVP YANG module, the modules defined 109 in this document augment the TE Interfaces, Tunnels and LSP(s) YANG 110 module defined in [I-D.ietf-teas-yang-te] to define additional 111 parameters to enable signaling for RSVP-TE. 113 1.1. Terminology 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 117 "OPTIONAL" in this document are to be interpreted as described in BCP 118 14 [RFC2119] [RFC8174] when, and only when, they appear in all 119 capitals, as shown here. 121 The terminology for describing YANG data models is found in 122 [RFC7950]. 124 1.2. Prefixes in Data Node Names 126 In this document, names of data nodes and other data model objects 127 are prefixed using the standard prefix associated with the 128 corresponding YANG imported modules, as shown in Table 1. 130 +---------------+--------------------+-------------------------------+ 131 | Prefix | YANG module | Reference | 132 +---------------+--------------------+-------------------------------+ 133 | yang | ietf-yang-types | [RFC6991] | 134 | inet | ietf-inet-types | [RFC6991] | 135 | te | ietf-te | [I-D.ietf-teas-yang-te] | 136 | rsvp | ietf-rsvp | [I-D.ietf-teas-yang-rsvp] | 137 | te-dev | ietf-te-device | [I-D.ietf-teas-yang-te] | 138 | te-types | ietf-te-types | [I-D.ietf-teas-yang-te-types] | 139 | te-mpls-types | ietf-te-mpls-types | [I-D.ietf-teas-yang-te-types] | 140 | rsvp-te | ietf-rsvp-te | this document | 141 | rsvp-te-mpls | ietf-rsvp-te-mpls | this document | 142 +---------------+--------------------+-------------------------------+ 144 Table 1: Prefixes and corresponding YANG modules 146 2. Model Overview 148 The RSVP-TE generic model augments the RSVP base and extended YANG 149 models defined in [I-D.ietf-teas-yang-rsvp]. It also augments the TE 150 tunnels and interfaces module defined in [I-D.ietf-teas-yang-te] to 151 cover parameters specific to the configuration and management of 152 RSVP-TE interfaces, tunnels and LSP(s). 154 The RSVP-TE MPLS YANG model augments the RSVP-TE generic model with 155 parameters to configure and manage signaling of MPLS RSVP-TE LSPs. 156 RSVP-TE model augmentation for other dataplane technologies (e.g. 157 OTN or WDM) are outside the scope of this document. 159 There are three types of configuration and state data nodes in 160 module(s) defined in this document: 162 o those augmenting or extending the base RSVP module that is defined 163 in [I-D.ietf-teas-yang-rsvp] 165 o those augmenting or extending the base TE module defined in 166 [I-D.ietf-teas-yang-te] 168 o those that are specific to the RSVP-TE and RSVP-TE MPLS modules 169 defined in this document. 171 2.1. Module Relationship 173 The data pertaining to RSVP-TE in this document is divided into two 174 modules: a technology agnostic RSVP-TE module that holds generic 175 parameters for RSVP-TE applicable to all technologies, and a MPLS 176 technology specific RSVP-TE module that holds parameters specific to 177 MPLS technology. 179 The relationship between the different modules is shown in Figure 1. 181 TE basic +---------+ 182 module | ietf-te | o: augment 183 +---------+ 184 o 185 | 186 | 187 +--------------+ 188 RSVP-TE module | ietf-rsvp-te |o . . . 189 +--------------+ \ 190 | \ 191 o +--------------------+ 192 +-----------+ | ietf-rsvp-te-mpls | 193 RSVP module | ietf-rsvp | +--------------------+ 194 +-----------+ RSVP-TE with MPLS 195 o 196 | 197 RSVP extended | 198 module +--------------------+ 199 | ietf-rsvp-extended | 200 +--------------------+ 202 Figure 1: Relationship of RSVP and RSVP-TE modules with other 203 protocol modules 205 2.2. Model Tree Diagrams 207 A full tree diagram of the module(s) defined in this document as per 208 the syntax defined in [RFC8340] are given in subsequent sections. 210 2.2.1. RSVP-TE Model Tree Diagram 212 Figure 2 shows the YANG tree diagram of the RSVP-TE generic YANG 213 model defined in module ietf-rsvp-te.yang. 215 module: ietf-rsvp-te 216 augment /rt:routing/rt:control-plane-protocols 217 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals: 218 +--rw global-soft-preemption! 219 +--rw soft-preemption-timeout? uint16 220 augment /rt:routing/rt:control-plane-protocols 221 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces: 222 +--rw rsvp-te-interface-attributes 223 +--ro state 224 augment /rt:routing/rt:control-plane-protocols 225 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 226 /rsvp:interface: 228 +--rw rsvp-te-interface-attributes 229 +--ro state 230 augment /rt:routing/rt:control-plane-protocols 231 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 232 /rsvp:sessions/rsvp:session/rsvp:state/rsvp:psbs/rsvp:psb: 233 +--ro tspec-average-rate? rt-types:bandwidth-ieee-float32 234 +--ro tspec-size? rt-types:bandwidth-ieee-float32 235 +--ro tspec-peak-rate? rt-types:bandwidth-ieee-float32 236 +--ro min-policed-unit? uint32 237 +--ro max-packet-size? uint32 238 augment /rt:routing/rt:control-plane-protocols 239 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 240 /rsvp:sessions/rsvp:session/rsvp:state/rsvp:rsbs/rsvp:rsb: 241 +--ro fspec-average-rate? rt-types:bandwidth-ieee-float32 242 +--ro fspec-size? rt-types:bandwidth-ieee-float32 243 +--ro fspec-peak-rate? rt-types:bandwidth-ieee-float32 244 +--ro min-policed-unit? uint32 245 +--ro max-packet-size? uint32 246 augment /rt:routing/rt:control-plane-protocols 247 /rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors: 248 augment /te:te/te:tunnels/te:tunnel: 249 +--rw lsp-signaled-name? string 250 +--rw session-attribute* identityref 251 +--rw lsp-attribute* identityref 252 +--rw retry-timer? uint16 253 augment /te:te/te:lsps-state/te:lsp: 254 +--ro associated-rsvp-session? leafref 255 +--ro lsp-signaled-name? string 256 +--ro session-attribute* identityref 257 +--ro lsp-attribute* identityref 258 +--ro explicit-route-objects 259 | +--ro incoming-explicit-route-hop* [index] 260 | | +--ro index uint32 261 | | +--ro (type)? 262 | | +--:(numbered-node-hop) 263 | | | +--ro numbered-node-hop 264 | | | +--ro node-id te-node-id 265 | | | +--ro hop-type? te-hop-type 266 | | +--:(numbered-link-hop) 267 | | | +--ro numbered-link-hop 268 | | | +--ro link-tp-id te-tp-id 269 | | | +--ro hop-type? te-hop-type 270 | | | +--ro direction? te-link-direction 271 | | +--:(unnumbered-link-hop) 272 | | | +--ro unnumbered-link-hop 273 | | | +--ro link-tp-id te-tp-id 274 | | | +--ro node-id te-node-id 275 | | | +--ro hop-type? te-hop-type 276 | | | +--ro direction? te-link-direction 277 | | +--:(as-number) 278 | | | +--ro as-number-hop 279 | | | +--ro as-number inet:as-number 280 | | | +--ro hop-type? te-hop-type 281 | | +--:(label) 282 | | +--ro label-hop 283 | | +--ro te-label 284 | | +--ro (technology)? 285 | | | +--:(generic) 286 | | | +--ro generic? rt-types:generalized-label 287 | | +--ro direction? te-label-direction 288 | +--ro outgoing-explicit-route-hop* [index] 289 | +--ro index uint32 290 | +--ro (type)? 291 | +--:(numbered-node-hop) 292 | | +--ro numbered-node-hop 293 | | +--ro node-id te-node-id 294 | | +--ro hop-type? te-hop-type 295 | +--:(numbered-link-hop) 296 | | +--ro numbered-link-hop 297 | | +--ro link-tp-id te-tp-id 298 | | +--ro hop-type? te-hop-type 299 | | +--ro direction? te-link-direction 300 | +--:(unnumbered-link-hop) 301 | | +--ro unnumbered-link-hop 302 | | +--ro link-tp-id te-tp-id 303 | | +--ro node-id te-node-id 304 | | +--ro hop-type? te-hop-type 305 | | +--ro direction? te-link-direction 306 | +--:(as-number) 307 | | +--ro as-number-hop 308 | | +--ro as-number inet:as-number 309 | | +--ro hop-type? te-hop-type 310 | +--:(label) 311 | +--ro label-hop 312 | +--ro te-label 313 | +--ro (technology)? 314 | | +--:(generic) 315 | | +--ro generic? rt-types:generalized-label 316 | +--ro direction? te-label-direction 317 +--ro incoming-record-route-subobjects 318 | +--ro incoming-record-route-subobject* [index] 319 | +--ro index uint32 320 | +--ro (type)? 321 | +--:(numbered-node-hop) 322 | | +--ro numbered-node-hop 323 | | +--ro node-id te-node-id 324 | | +--ro flags* path-attribute-flags 325 | +--:(numbered-link-hop) 326 | | +--ro numbered-link-hop 327 | | +--ro link-tp-id te-tp-id 328 | | +--ro flags* path-attribute-flags 329 | +--:(unnumbered-link-hop) 330 | | +--ro unnumbered-link-hop 331 | | +--ro link-tp-id te-tp-id 332 | | +--ro node-id? te-node-id 333 | | +--ro flags* path-attribute-flags 334 | +--:(label) 335 | +--ro label-hop 336 | +--ro te-label 337 | | +--ro (technology)? 338 | | | +--:(generic) 339 | | | +--ro generic? rt-types:generalized-label 340 | | +--ro direction? te-label-direction 341 | +--ro flags* path-attribute-flags 342 +--ro outgoing-record-route-subobjects 343 +--ro outgoing-record-route-subobject* [index] 344 +--ro index uint32 345 +--ro (type)? 346 +--:(numbered-node-hop) 347 | +--ro numbered-node-hop 348 | +--ro node-id te-node-id 349 | +--ro flags* path-attribute-flags 350 +--:(numbered-link-hop) 351 | +--ro numbered-link-hop 352 | +--ro link-tp-id te-tp-id 353 | +--ro flags* path-attribute-flags 354 +--:(unnumbered-link-hop) 355 | +--ro unnumbered-link-hop 356 | +--ro link-tp-id te-tp-id 357 | +--ro node-id? te-node-id 358 | +--ro flags* path-attribute-flags 359 +--:(label) 360 +--ro label-hop 361 +--ro te-label 362 | +--ro (technology)? 363 | | +--:(generic) 364 | | +--ro generic? rt-types:generalized-label 365 | +--ro direction? te-label-direction 366 +--ro flags* path-attribute-flags 367 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 368 /te:p2p-primary-path/te:lsps/te:lsp: 369 +--ro associated-rsvp-session? leafref 370 +--ro lsp-signaled-name? string 371 +--ro session-attribute* identityref 372 +--ro lsp-attribute* identityref 373 +--ro explicit-route-objects 374 | +--ro incoming-explicit-route-hop* [index] 375 | | +--ro index uint32 376 | | +--ro (type)? 377 | | +--:(numbered-node-hop) 378 | | | +--ro numbered-node-hop 379 | | | +--ro node-id te-node-id 380 | | | +--ro hop-type? te-hop-type 381 | | +--:(numbered-link-hop) 382 | | | +--ro numbered-link-hop 383 | | | +--ro link-tp-id te-tp-id 384 | | | +--ro hop-type? te-hop-type 385 | | | +--ro direction? te-link-direction 386 | | +--:(unnumbered-link-hop) 387 | | | +--ro unnumbered-link-hop 388 | | | +--ro link-tp-id te-tp-id 389 | | | +--ro node-id te-node-id 390 | | | +--ro hop-type? te-hop-type 391 | | | +--ro direction? te-link-direction 392 | | +--:(as-number) 393 | | | +--ro as-number-hop 394 | | | +--ro as-number inet:as-number 395 | | | +--ro hop-type? te-hop-type 396 | | +--:(label) 397 | | +--ro label-hop 398 | | +--ro te-label 399 | | +--ro (technology)? 400 | | | +--:(generic) 401 | | | +--ro generic? rt-types:generalized-label 402 | | +--ro direction? te-label-direction 403 | +--ro outgoing-explicit-route-hop* [index] 404 | +--ro index uint32 405 | +--ro (type)? 406 | +--:(numbered-node-hop) 407 | | +--ro numbered-node-hop 408 | | +--ro node-id te-node-id 409 | | +--ro hop-type? te-hop-type 410 | +--:(numbered-link-hop) 411 | | +--ro numbered-link-hop 412 | | +--ro link-tp-id te-tp-id 413 | | +--ro hop-type? te-hop-type 414 | | +--ro direction? te-link-direction 415 | +--:(unnumbered-link-hop) 416 | | +--ro unnumbered-link-hop 417 | | +--ro link-tp-id te-tp-id 418 | | +--ro node-id te-node-id 419 | | +--ro hop-type? te-hop-type 420 | | +--ro direction? te-link-direction 421 | +--:(as-number) 422 | | +--ro as-number-hop 423 | | +--ro as-number inet:as-number 424 | | +--ro hop-type? te-hop-type 425 | +--:(label) 426 | +--ro label-hop 427 | +--ro te-label 428 | +--ro (technology)? 429 | | +--:(generic) 430 | | +--ro generic? rt-types:generalized-label 431 | +--ro direction? te-label-direction 432 +--ro incoming-record-route-subobjects 433 | +--ro incoming-record-route-subobject* [index] 434 | +--ro index uint32 435 | +--ro (type)? 436 | +--:(numbered-node-hop) 437 | | +--ro numbered-node-hop 438 | | +--ro node-id te-node-id 439 | | +--ro flags* path-attribute-flags 440 | +--:(numbered-link-hop) 441 | | +--ro numbered-link-hop 442 | | +--ro link-tp-id te-tp-id 443 | | +--ro flags* path-attribute-flags 444 | +--:(unnumbered-link-hop) 445 | | +--ro unnumbered-link-hop 446 | | +--ro link-tp-id te-tp-id 447 | | +--ro node-id? te-node-id 448 | | +--ro flags* path-attribute-flags 449 | +--:(label) 450 | +--ro label-hop 451 | +--ro te-label 452 | | +--ro (technology)? 453 | | | +--:(generic) 454 | | | +--ro generic? rt-types:generalized-label 455 | | +--ro direction? te-label-direction 456 | +--ro flags* path-attribute-flags 457 +--ro outgoing-record-route-subobjects 458 +--ro outgoing-record-route-subobject* [index] 459 +--ro index uint32 460 +--ro (type)? 461 +--:(numbered-node-hop) 462 | +--ro numbered-node-hop 463 | +--ro node-id te-node-id 464 | +--ro flags* path-attribute-flags 465 +--:(numbered-link-hop) 466 | +--ro numbered-link-hop 467 | +--ro link-tp-id te-tp-id 468 | +--ro flags* path-attribute-flags 469 +--:(unnumbered-link-hop) 470 | +--ro unnumbered-link-hop 471 | +--ro link-tp-id te-tp-id 472 | +--ro node-id? te-node-id 473 | +--ro flags* path-attribute-flags 474 +--:(label) 475 +--ro label-hop 476 +--ro te-label 477 | +--ro (technology)? 478 | | +--:(generic) 479 | | +--ro generic? rt-types:generalized-label 480 | +--ro direction? te-label-direction 481 +--ro flags* path-attribute-flags 482 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 483 /te:p2p-secondary-path/te:lsps/te:lsp: 484 +--ro associated-rsvp-session? leafref 485 +--ro lsp-signaled-name? string 486 +--ro session-attribute* identityref 487 +--ro lsp-attribute* identityref 488 +--ro explicit-route-objects 489 | +--ro incoming-explicit-route-hop* [index] 490 | | +--ro index uint32 491 | | +--ro (type)? 492 | | +--:(numbered-node-hop) 493 | | | +--ro numbered-node-hop 494 | | | +--ro node-id te-node-id 495 | | | +--ro hop-type? te-hop-type 496 | | +--:(numbered-link-hop) 497 | | | +--ro numbered-link-hop 498 | | | +--ro link-tp-id te-tp-id 499 | | | +--ro hop-type? te-hop-type 500 | | | +--ro direction? te-link-direction 501 | | +--:(unnumbered-link-hop) 502 | | | +--ro unnumbered-link-hop 503 | | | +--ro link-tp-id te-tp-id 504 | | | +--ro node-id te-node-id 505 | | | +--ro hop-type? te-hop-type 506 | | | +--ro direction? te-link-direction 507 | | +--:(as-number) 508 | | | +--ro as-number-hop 509 | | | +--ro as-number inet:as-number 510 | | | +--ro hop-type? te-hop-type 511 | | +--:(label) 512 | | +--ro label-hop 513 | | +--ro te-label 514 | | +--ro (technology)? 515 | | | +--:(generic) 516 | | | +--ro generic? rt-types:generalized-label 517 | | +--ro direction? te-label-direction 518 | +--ro outgoing-explicit-route-hop* [index] 519 | +--ro index uint32 520 | +--ro (type)? 521 | +--:(numbered-node-hop) 522 | | +--ro numbered-node-hop 523 | | +--ro node-id te-node-id 524 | | +--ro hop-type? te-hop-type 525 | +--:(numbered-link-hop) 526 | | +--ro numbered-link-hop 527 | | +--ro link-tp-id te-tp-id 528 | | +--ro hop-type? te-hop-type 529 | | +--ro direction? te-link-direction 530 | +--:(unnumbered-link-hop) 531 | | +--ro unnumbered-link-hop 532 | | +--ro link-tp-id te-tp-id 533 | | +--ro node-id te-node-id 534 | | +--ro hop-type? te-hop-type 535 | | +--ro direction? te-link-direction 536 | +--:(as-number) 537 | | +--ro as-number-hop 538 | | +--ro as-number inet:as-number 539 | | +--ro hop-type? te-hop-type 540 | +--:(label) 541 | +--ro label-hop 542 | +--ro te-label 543 | +--ro (technology)? 544 | | +--:(generic) 545 | | +--ro generic? rt-types:generalized-label 546 | +--ro direction? te-label-direction 547 +--ro incoming-record-route-subobjects 548 | +--ro incoming-record-route-subobject* [index] 549 | +--ro index uint32 550 | +--ro (type)? 551 | +--:(numbered-node-hop) 552 | | +--ro numbered-node-hop 553 | | +--ro node-id te-node-id 554 | | +--ro flags* path-attribute-flags 555 | +--:(numbered-link-hop) 556 | | +--ro numbered-link-hop 557 | | +--ro link-tp-id te-tp-id 558 | | +--ro flags* path-attribute-flags 559 | +--:(unnumbered-link-hop) 560 | | +--ro unnumbered-link-hop 561 | | +--ro link-tp-id te-tp-id 562 | | +--ro node-id? te-node-id 563 | | +--ro flags* path-attribute-flags 564 | +--:(label) 565 | +--ro label-hop 566 | +--ro te-label 567 | | +--ro (technology)? 568 | | | +--:(generic) 569 | | | +--ro generic? rt-types:generalized-label 570 | | +--ro direction? te-label-direction 571 | +--ro flags* path-attribute-flags 572 +--ro outgoing-record-route-subobjects 573 +--ro outgoing-record-route-subobject* [index] 574 +--ro index uint32 575 +--ro (type)? 576 +--:(numbered-node-hop) 577 | +--ro numbered-node-hop 578 | +--ro node-id te-node-id 579 | +--ro flags* path-attribute-flags 580 +--:(numbered-link-hop) 581 | +--ro numbered-link-hop 582 | +--ro link-tp-id te-tp-id 583 | +--ro flags* path-attribute-flags 584 +--:(unnumbered-link-hop) 585 | +--ro unnumbered-link-hop 586 | +--ro link-tp-id te-tp-id 587 | +--ro node-id? te-node-id 588 | +--ro flags* path-attribute-flags 589 +--:(label) 590 +--ro label-hop 591 +--ro te-label 592 | +--ro (technology)? 593 | | +--:(generic) 594 | | +--ro generic? rt-types:generalized-label 595 | +--ro direction? te-label-direction 596 +--ro flags* path-attribute-flags 597 augment /te:te/te-dev:interfaces/te-dev:interface: 599 Figure 2: RSVP-TE model Tree diagram 601 2.2.2. RSVP-TE MPLS Model Tree Diagram 603 Figure 5 shows the YANG tree diagram of the RSVP-TE MPLS YANG model 604 defined in module ietf-rsvp-te-mpls.yang and that augments RSVP-TE 605 module as well as RSVP and TE YANG modules. 607 module: ietf-rsvp-te-mpls 608 augment /rt:routing/rt:control-plane-protocols 609 /rt:control-plane-protocol/rsvp:rsvp: 610 +--rw fast-reroute-local-revertive 611 +--rw rsvp-frr-local-revert-delay? uint32 613 augment /rt:routing/rt:control-plane-protocols 614 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces: 615 augment /rt:routing/rt:control-plane-protocols 616 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 617 /rsvp:interface: 618 augment /rt:routing/rt:control-plane-protocols 619 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 620 /rsvp:sessions/rsvp:session/rsvp:state: 621 augment /rt:routing/rt:control-plane-protocols 622 /rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors: 623 augment /te:te/te:tunnels/te:tunnel: 624 +--rw session-attribute* identityref 625 augment /te:te/te:lsps-state/te:lsp: 626 +--ro session-attribute* identityref 627 +--ro backup-info 628 +--ro backup-tunnel-name? string 629 +--ro backup-frr-on? uint8 630 +--ro backup-protected-lsp-num? uint32 631 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 632 /te:p2p-primary-path/te:lsps/te:lsp: 633 +--ro session-attribute* identityref 634 +--ro backup-info 635 +--ro backup-tunnel-name? string 636 +--ro backup-frr-on? uint8 637 +--ro backup-protected-lsp-num? uint32 638 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 639 /te:p2p-secondary-path/te:lsps/te:lsp: 640 +--ro session-attribute* identityref 641 +--ro backup-info 642 +--ro backup-tunnel-name? string 643 +--ro backup-frr-on? uint8 644 +--ro backup-protected-lsp-num? uint32 645 augment /te:te/te-dev:interfaces/te-dev:interface: 646 +--rw bandwidth-mpls-reservable 647 +--rw (bandwidth-value)? 648 | +--:(absolute) 649 | | +--rw absolute-value? te-packet-types:bandwidth-kbps 650 | +--:(percentage) 651 | +--rw percent-value? uint32 652 +--rw (bc-model-type)? 653 +--:(bc-model-rdm) 654 | +--rw bc-model-rdm 655 | +--rw bandwidth-mpls-constraints 656 | +--rw maximum-reservable? 657 | | te-packet-types:bandwidth-kbps 658 | +--rw bc-value* uint32 659 +--:(bc-model-mam) 660 | +--rw bc-model-mam 661 | +--rw bandwidth-mpls-constraints 662 | +--rw maximum-reservable? 663 | | te-packet-types:bandwidth-kbps 664 | +--rw bc-value* uint32 665 +--:(bc-model-mar) 666 +--rw bc-model-mar 667 +--rw bandwidth-mpls-constraints 668 +--rw maximum-reservable? 669 | te-packet-types:bandwidth-kbps 670 +--rw bc-value* uint32 671 augment /te:te/te-dev:interfaces/te-dev:interface: 672 +--rw rsvp-te-frr-backups 673 +--rw (type)? 674 +--:(static-tunnel) 675 | +--rw static-backups 676 | +--rw static-backup* [backup-tunnel-name] 677 | +--rw backup-tunnel-name 678 | -> /te:te/tunnels/tunnel/name 679 +--:(auto-tunnel) 680 +--rw auto-tunnel-backups 681 +--rw auto-backup-protection? identityref 682 +--rw auto-backup-path-computation? identityref 684 Figure 3: RSVP-TE MPLS Tree diagram 686 2.3. YANG Modules 688 2.3.1. RSVP-TE YANG Module 690 The RSVP-TE generic YANG module "ietf-rsvp-te" imports the following 691 modules: 693 o ietf-rsvp defined in [I-D.ietf-teas-yang-rsvp] 695 o ietf-routing-types defined in [RFC8294] 697 o ietf-te-types defined in [I-D.ietf-teas-yang-te-types] 699 o ietf-te and ietf-te-dev defined in [I-D.ietf-teas-yang-te] 701 This module references the following documents: 702 [I-D.ietf-teas-yang-rsvp], [RFC8349], [I-D.ietf-teas-yang-te], 703 [I-D.ietf-teas-yang-te-types], [RFC2210], [RFC4920], [RFC5420], 704 [RFC7570], [RFC4859]. 706 file "ietf-rsvp-te@2019-02-18.yang" 707 module ietf-rsvp-te { 708 yang-version 1.1; 709 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te"; 711 prefix "rsvp-te"; 713 import ietf-rsvp { 714 prefix rsvp; 715 reference "draft-ietf-teas-yang-rsvp: A YANG Data Model for 716 Resource Reservation Protocol (RSVP)"; 717 } 719 import ietf-routing { 720 prefix "rt"; 721 reference "RFC8349: A YANG Data Model for Routing Management"; 722 } 724 import ietf-routing-types { 725 prefix rt-types; 726 reference "RFC8294: Common YANG Data Types for the Routing Area"; 727 } 729 import ietf-te { 730 prefix te; 731 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 732 Engineering Tunnels and Interfaces"; 733 } 735 import ietf-te-device { 736 prefix te-dev; 737 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 738 Engineering Tunnels and Interfaces"; 739 } 741 /* Import TE generic types */ 742 import ietf-te-types { 743 prefix te-types; 744 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 745 Common Traffic Engineering Types"; 746 } 748 organization 749 "IETF Traffic Engineering Architecture and Signaling (TEAS) 750 Working Group"; 752 contact 753 "WG Web: 754 WG List: 756 WG Chair: Lou Berger 757 759 WG Chair: Vishnu Pavan Beeram 760 762 Editor: Vishnu Pavan Beeram 763 765 Editor: Tarek Saad 766 768 Editor: Rakesh Gandhi 769 771 Editor: Xufeng Liu 772 774 Editor: Igor Bryskin 775 777 Editor: Himanshu Shah 778 "; 780 description 781 "This module contains the RSVP-TE YANG generic data model. 782 The model fully conforms to the Network Management Datastore 783 Architecture (NMDA). 785 Copyright (c) 2018 IETF Trust and the persons 786 identified as authors of the code. All rights reserved. 788 Redistribution and use in source and binary forms, with or 789 without modification, is permitted pursuant to, and subject 790 to the license terms contained in, the Simplified BSD License 791 set forth in Section 4.c of the IETF Trust's Legal Provisions 792 Relating to IETF Documents 793 (https://trustee.ietf.org/license-info). 794 This version of this YANG module is part of RFC XXXX; see 795 the RFC itself for full legal notices."; 797 // RFC Ed.: replace XXXX with actual RFC number and remove this 798 // note. 800 // RFC Ed.: update the date below with the date of RFC publication 801 // and remove this note. 803 revision "2019-02-18" { 804 description "A YANG Data Model for RSVP-TE"; 805 reference 806 "RFCXXXX: A YANG Data Model for RSVP-TE Protocol"; 807 } 809 /** 810 * RSVP-TE LSPs groupings. 811 */ 812 grouping lsp-record-route-information-state { 813 description "recorded route information grouping"; 814 container incoming-record-route-subobjects { 815 description "RSVP recorded route object incoming information"; 816 list incoming-record-route-subobject { 817 when "../../te:origin-type != 'ingress'" { 818 description "Applicable on non-ingress LSPs only"; 819 } 820 key "index"; 821 ordered-by user; 822 description 823 "List of RSVP Path record-route objects"; 824 uses te-types:record-route_state; 825 } 826 } 827 container outgoing-record-route-subobjects { 828 description "RSVP recorded route object outgoing information"; 829 list outgoing-record-route-subobject { 830 when "../../te:origin-type != 'egress'" { 831 description "Applicable on non-egress LSPs only"; 832 } 833 key "index"; 834 ordered-by user; 835 description 836 "List of RSVP Resv record-route objects"; 837 uses te-types:record-route_state; 838 } 839 } 840 } 842 grouping lsp-explicit-route-information-state { 843 description "RSVP-TE LSP explicit-route information"; 844 container explicit-route-objects { 845 description "Explicit route object information"; 846 list incoming-explicit-route-hop { 847 when "../../te:origin-type != 'ingress'" { 848 description "Applicable on non-ingress LSPs only"; 849 } 850 key "index"; 851 ordered-by user; 852 description 853 "List of incoming RSVP Path explicit-route objects"; 854 leaf index { 855 type uint32; 856 description 857 "Explicit route hop index. The index is used to 858 identify an entry in the list. The order of entries 859 is defined by the user without relying on key values"; 860 } 861 uses te-types:explicit-route-hop; 862 } 863 list outgoing-explicit-route-hop { 864 when "../../te:origin-type != 'egress'" { 865 description "Applicable on non-egress LSPs only"; 866 } 867 key "index"; 868 ordered-by user; 869 description 870 "List of outgoing RSVP Path explicit-route objects"; 871 leaf index { 872 type uint32; 873 description 874 "Explicit route hop index. The index is used to 875 identify an entry in the list. The order of entries 876 is defined by the user without relying on key values"; 877 } 878 uses te-types:explicit-route-hop; 879 } 880 } 881 } 883 grouping lsp-attributes-flags-config { 884 description 885 "Configuration parameters relating to RSVP-TE LSP 886 attribute flags"; 887 leaf-list lsp-attribute { 888 type identityref { 889 base te-types:lsp-attributes-flags; 890 } 891 description "RSVP per LSP attributes flags"; 892 reference 893 "RFC4920, RFC5420, RFC7570"; 894 } 895 } 897 grouping lsp-session-attributes-obj-flags-config { 898 description 899 "Configuration parameters relating to RSVP-TE LSP 900 session attribute flags"; 901 reference 902 "RFC4859: Registry for RSVP-TE Session Flags"; 903 leaf-list session-attribute { 904 when "../session-attribute != 905 'te-types:bandwidth-protection-desired' or 906 ../session-attribute != 907 'te-types:soft-preemption-desired'"; 908 type identityref { 909 base te-types:session-attributes-flags; 910 } 911 description "RSVP session attributes flags"; 912 reference 913 "RFC4859: Registry for RSVP-TE Session Flags"; 914 } 915 } 917 grouping lsp-properties-config { 918 description 919 "Configuration parameters relating to RSVP-TE LSP 920 session attribute flags"; 921 leaf lsp-signaled-name { 922 type string; 923 description 924 "Sets the session name to use in the session 925 attribute object."; 926 } 927 uses lsp-session-attributes-obj-flags-config; 928 uses lsp-attributes-flags-config; 929 } 931 grouping tunnel-properties-config { 932 description "RSVP-TE Tunnel properties grouping"; 933 leaf retry-timer { 934 type uint16 { 935 range 1..600; 936 } 937 units seconds; 938 description 939 "sets the time between attempts to establish the 940 LSP"; 941 } 942 } 944 /*** End of RSVP-TE LSP groupings ***/ 946 /** 947 * RSVP-TE generic global properties. 949 */ 950 grouping global-soft-preemption-config { 951 description 952 "Configuration for global RSVP-TE soft preemption"; 953 leaf soft-preemption-timeout { 954 type uint16 { 955 range 0..300; 956 } 957 default 0; 958 description 959 "Timeout value for soft preemption to revert 960 to hard preemption"; 961 } 962 } 964 grouping global-soft-preemption { 965 description 966 "Top level group for RSVP-TE soft-preemption"; 967 container global-soft-preemption { 968 presence "Enables soft preemption on a node."; 969 description 970 "Top level container for RSVP-TE soft-preemption"; 971 uses global-soft-preemption-config; 972 } 973 } 974 /*** End of RSVP-TE generic global properties. ***/ 976 /** 977 * RSVP-TE interface generic groupings. 978 */ 979 grouping rsvp-te-interface-attributes { 980 description 981 "Top level grouping for RSVP-TE interface properties."; 982 container rsvp-te-interface-attributes { 983 description 984 "Top level container for RSVP-TE interface 985 properties"; 986 container state { 987 config false; 988 description 989 "State information associated with RSVP-TE 990 bandwidth"; 991 } 992 } 993 } 994 /*** End of RSVP-TE generic groupings ***/ 995 /* RSVP-TE global properties */ 996 augment "/rt:routing/rt:control-plane-protocols/" 997 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals" { 998 description 999 "RSVP-TE augmentation to RSVP globals"; 1000 uses global-soft-preemption; 1001 } 1003 /* Linkage to the base RSVP all links */ 1004 augment "/rt:routing/rt:control-plane-protocols/" 1005 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" { 1006 description 1007 "RSVP-TE generic data augmentation pertaining to interfaces"; 1008 uses rsvp-te-interface-attributes; 1009 } 1011 /* Linkage to per RSVP interface */ 1012 augment "/rt:routing/rt:control-plane-protocols/" 1013 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + 1014 "rsvp:interface" { 1015 description 1016 "RSVP-TE generic data augmentation pertaining to specific 1017 interface"; 1018 uses rsvp-te-interface-attributes; 1019 } 1021 /* add augmentation for sessions and neighbors */ 1022 augment "/rt:routing/rt:control-plane-protocols/" 1023 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1024 + "rsvp:sessions/rsvp:session/rsvp:state/rsvp:psbs/rsvp:psb" { 1025 description 1026 "RSVP-TE generic data augmentation pertaining to session"; 1027 /* To be added */ 1028 leaf tspec-average-rate { 1029 type rt-types:bandwidth-ieee-float32; 1030 units "Bytes per second"; 1031 description "Tspec Token Bucket Average Rate"; 1032 reference "RFC2210: RSVP with INTSERV"; 1033 } 1034 leaf tspec-size { 1035 type rt-types:bandwidth-ieee-float32; 1036 units "Bytes per second"; 1037 description "Tspec Token Bucket Burst Rate"; 1038 reference "RFC2210"; 1039 } 1040 leaf tspec-peak-rate { 1041 type rt-types:bandwidth-ieee-float32; 1042 units "Bytes per second"; 1043 description "Tspec Token Bucket Peak Data Rate"; 1044 reference "RFC2210"; 1045 } 1046 leaf min-policed-unit { 1047 type uint32; 1048 description "Tspec Minimum Policed Unit"; 1049 reference "RFC2210"; 1050 } 1051 leaf max-packet-size { 1052 type uint32; 1053 description "Tspec Maximum Packet Size"; 1054 reference "RFC2210"; 1055 } 1056 } 1057 augment "/rt:routing/rt:control-plane-protocols/" 1058 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1059 + "rsvp:sessions/rsvp:session/rsvp:state/rsvp:rsbs/rsvp:rsb" { 1060 description 1061 "RSVP-TE generic data augmentation pertaining to session"; 1062 leaf fspec-average-rate { 1063 type rt-types:bandwidth-ieee-float32; 1064 units "Bytes per second"; 1065 description "Fspec Token Bucket Average Rate"; 1066 reference "RFC2210"; 1067 } 1068 leaf fspec-size { 1069 type rt-types:bandwidth-ieee-float32; 1070 units "Bytes per second"; 1071 description "Fspec Token Bucket Burst Rate"; 1072 reference "RFC2210"; 1073 } 1074 leaf fspec-peak-rate { 1075 type rt-types:bandwidth-ieee-float32; 1076 units "Bytes per second"; 1077 description "Fspec Token Bucket Peak Data Rate"; 1078 reference "RFC2210"; 1079 } 1080 leaf min-policed-unit { 1081 type uint32; 1082 description "Fspec Minimum Policed Unit"; 1083 reference "RFC2210"; 1084 } 1085 leaf max-packet-size { 1086 type uint32; 1087 description "Fspec Maximum Packet Size"; 1088 reference "RFC2210"; 1089 } 1090 } 1091 augment "/rt:routing/rt:control-plane-protocols/" 1092 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" { 1093 description 1094 "RSVP-TE generic data augmentation pertaining to neighbors"; 1095 /* To be added */ 1096 } 1098 /** 1099 * RSVP-TE generic augmentations of generic TE model. 1100 */ 1102 /* TE tunnel augmentation */ 1103 augment "/te:te/te:tunnels/te:tunnel" { 1104 when "/te:te/te:tunnels/te:tunnel" + 1105 "/te:p2p-primary-paths/te:p2p-primary-path" + 1106 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1107 description 1108 "When the path signaling protocol is RSVP-TE "; 1109 } 1110 description 1111 "RSVP-TE generic data augmentation pertaining to TE tunnels"; 1112 uses lsp-properties-config; 1113 uses tunnel-properties-config; 1114 } 1116 /* TE LSP augmentation */ 1117 grouping rsvp-te-lsp-properties { 1118 description "RSVP-TE LSP properties grouping"; 1119 leaf associated-rsvp-session { 1120 type leafref { 1121 path "/rt:routing/rt:control-plane-protocols/" 1122 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1123 + "rsvp:sessions/rsvp:session/rsvp:local-index"; 1124 } 1125 config false; 1126 description 1127 "If the signalling protocol specified for this path is 1128 RSVP-TE, this leaf provides a reference to the associated 1129 session within the RSVP-TE protocol sessions list, such 1130 that details of the signaling can be retrieved."; 1131 } 1133 uses lsp-properties-config; 1134 uses lsp-explicit-route-information-state; 1135 uses lsp-record-route-information-state; 1136 } 1138 augment "/te:te/te:lsps-state/te:lsp" { 1139 when "/te:te/te:lsps-state/te:lsp" + 1140 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1141 description 1142 "When the signaling protocol is RSVP-TE "; 1143 } 1144 description 1145 "RSVP-TE generic data augmentation pertaining to specific TE 1146 LSP"; 1147 uses rsvp-te-lsp-properties; 1148 } 1150 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1151 "/te:p2p-primary-path/te:lsps/te:lsp" { 1152 when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1153 "/te:p2p-primary-path/te:lsps/te:lsp" + 1154 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1155 description 1156 "When the signaling protocol is RSVP-TE "; 1157 } 1158 description 1159 "RSVP-TE generic data augmentation pertaining to specific TE 1160 LSP"; 1161 uses rsvp-te-lsp-properties; 1162 } 1164 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1165 "/te:p2p-secondary-path/te:lsps/te:lsp" { 1166 when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1167 "/te:p2p-primary-path/te:lsps/te:lsp" + 1168 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1169 description 1170 "When the signaling protocol is RSVP-TE "; 1171 } 1172 description 1173 "RSVP-TE generic data augmentation pertaining to specific TE 1174 LSP"; 1175 uses rsvp-te-lsp-properties; 1176 } 1178 /* TE interface augmentation */ 1179 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1180 description 1181 "RSVP-TE generic data augmentation pertaining to specific TE 1182 interface"; 1183 } 1184 } 1185 1186 Figure 4: RSVP TE generic YANG module 1188 2.3.2. RSVP-TE MPLS YANG Module 1190 The RSVP-TE MPLS YANG module "ietf-rsvp-te-mpls" imports the 1191 following module(s): 1193 o ietf-rsvp defined in [I-D.ietf-teas-yang-rsvp] 1195 o ietf-routing-types defined in [RFC8294] 1197 o ietf-te-mpls-types defined in [I-D.ietf-teas-yang-te-types] 1199 o ietf-te and ietf-te-dev defined in [I-D.ietf-teas-yang-te] 1201 This module references the following documents: 1202 [I-D.ietf-teas-yang-rsvp], [RFC8349], [I-D.ietf-teas-yang-te-types], 1203 [I-D.ietf-teas-yang-te], [RFC3209]. 1205 file "ietf-rsvp-te-mpls@2019-02-18.yang" 1206 module ietf-rsvp-te-mpls { 1207 yang-version 1.1; 1209 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls"; 1211 prefix "rsvp-te-mpls"; 1213 import ietf-rsvp { 1214 prefix "rsvp"; 1215 reference "draft-ietf-teas-yang-rsvp: A YANG Data Model for 1216 Resource Reservation Protocol (RSVP)"; 1217 } 1219 import ietf-routing { 1220 prefix "rt"; 1221 reference "RFC8349: A YANG Data Model for Routing Management"; 1222 } 1224 import ietf-te-packet-types { 1225 prefix "te-packet-types"; 1226 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 1227 Common Traffic Engineering Types"; 1228 } 1230 import ietf-te-types { 1231 prefix "te-types"; 1232 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 1233 Common Traffic Engineering Types"; 1235 } 1237 import ietf-te { 1238 prefix "te"; 1239 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 1240 Engineering Tunnels and Interfaces"; 1241 } 1243 import ietf-te-device { 1244 prefix "te-dev"; 1245 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 1246 Engineering Tunnels and Interfaces"; 1247 } 1249 organization 1250 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1251 Working Group"; 1253 contact 1254 "WG Web: 1255 WG List: 1257 WG Chair: Lou Berger 1258 1260 WG Chair: Vishnu Pavan Beeram 1261 1263 Editor: Vishnu Pavan Beeram 1264 1266 Editor: Tarek Saad 1267 1269 Editor: Rakesh Gandhi 1270 1272 Editor: Xufeng Liu 1273 1275 Editor: Igor Bryskin 1276 1278 Editor: Himanshu Shah 1279 "; 1281 description 1282 "Latest update to MPLS RSVP-TE YANG data model. 1284 The model fully conforms to the Network Management Datastore 1285 Architecture (NMDA). 1287 Copyright (c) 2018 IETF Trust and the persons 1288 identified as authors of the code. All rights reserved. 1290 Redistribution and use in source and binary forms, with or 1291 without modification, is permitted pursuant to, and subject 1292 to the license terms contained in, the Simplified BSD License 1293 set forth in Section 4.c of the IETF Trust's Legal Provisions 1294 Relating to IETF Documents 1295 (https://trustee.ietf.org/license-info). 1296 This version of this YANG module is part of RFC XXXX; see 1297 the RFC itself for full legal notices."; 1299 // RFC Ed.: replace XXXX with actual RFC number and remove this 1300 // note. 1302 // RFC Ed.: update the date below with the date of RFC publication 1303 // and remove this note. 1305 revision "2019-02-18" { 1306 description "Update to MPLS RSVP-TE YANG initial revision."; 1307 reference 1308 "RFCXXXX: A YANG Data Model for RSVP-TE Protocol"; 1309 } 1311 /* RSVP-TE MPLS LSPs groupings */ 1312 grouping lsp-attributes-flags-mpls-config { 1313 description 1314 "Configuration parameters relating to RSVP-TE MPLS LSP 1315 attribute flags"; 1316 } 1318 grouping lsp-session-attributes-obj-flags-mpls-config { 1319 description 1320 "Configuration parameters relating to RSVP-TE MPLS LSP 1321 session attribute flags"; 1322 reference 1323 "RFC4859: Registry for RSVP-TE Session Flags"; 1324 leaf-list session-attribute { 1325 when "../session-attribute = 1326 'te-types:bandwidth-protection-desired' or 1327 ../session-attribute = 1328 'te-types:soft-preemption-desired'"; 1329 type identityref { 1330 base te-types:session-attributes-flags; 1331 } 1332 description "RSVP session attributes flags"; 1333 reference 1334 "RFC4859: Registry for RSVP-TE Session Flags"; 1335 } 1336 } 1338 grouping tunnel-properties-mpls-config { 1339 description 1340 "Top level grouping for LSP properties."; 1341 uses lsp-session-attributes-obj-flags-mpls-config; 1342 uses lsp-attributes-flags-mpls-config; 1343 } 1345 grouping lsp-properties-mpls { 1346 description 1347 "Top level grouping for LSP properties."; 1348 uses lsp-session-attributes-obj-flags-mpls-config; 1349 uses lsp-attributes-flags-mpls-config; 1350 } 1351 /* End of RSVP-TE MPLS LSPs groupings */ 1353 /* MPLS RSVP-TE interface groupings */ 1354 grouping rsvp-te-interface-state { 1355 description 1356 "The RSVP-TE interface state grouping"; 1357 leaf over-subscribed-bandwidth { 1358 type te-packet-types:bandwidth-kbps; 1359 description 1360 "The amount of over-subscribed bandwidth on 1361 the interface"; 1362 } 1363 } 1365 grouping rsvp-te-interface-softpreemption-state { 1366 description 1367 "The RSVP-TE interface preeemptions state grouping"; 1368 container interface-softpreemption-state { 1369 description 1370 "The RSVP-TE interface preeemptions state grouping"; 1371 leaf soft-preempted-bandwidth { 1372 type te-packet-types:bandwidth-kbps; 1373 description 1374 "The amount of soft-preempted bandwidth on 1375 this interface"; 1376 } 1377 list lsps { 1378 key 1379 "source destination tunnel-id lsp-id "+ 1380 "extended-tunnel-id"; 1381 description 1382 "List of LSPs that are soft-preempted"; 1383 leaf source { 1384 type leafref { 1385 path "/te:te/te:lsps-state/te:lsp/"+ 1386 "te:source"; 1387 } 1388 description 1389 "Tunnel sender address extracted from 1390 SENDER_TEMPLATE object"; 1391 reference "RFC3209"; 1392 } 1393 leaf destination { 1394 type leafref { 1395 path "/te:te/te:lsps-state/te:lsp/"+ 1396 "te:destination"; 1397 } 1398 description 1399 "Tunnel endpoint address extracted from 1400 SESSION object"; 1401 reference "RFC3209"; 1402 } 1403 leaf tunnel-id { 1404 type leafref { 1405 path "/te:te/te:lsps-state/te:lsp/"+ 1406 "te:tunnel-id"; 1407 } 1408 description 1409 "Tunnel identifier used in the SESSION 1410 that remains constant over the life 1411 of the tunnel."; 1412 reference "RFC3209"; 1413 } 1414 leaf lsp-id { 1415 type leafref { 1416 path "/te:te/te:lsps-state/te:lsp/"+ 1417 "te:lsp-id"; 1418 } 1419 description 1420 "Identifier used in the SENDER_TEMPLATE 1421 and the FILTER_SPEC that can be changed 1422 to allow a sender to share resources with 1423 itself."; 1424 reference "RFC3209"; 1425 } 1426 leaf extended-tunnel-id { 1427 type leafref { 1428 path "/te:te/te:lsps-state/te:lsp/"+ 1429 "te:extended-tunnel-id"; 1430 } 1431 description 1432 "Extended Tunnel ID of the LSP."; 1433 reference "RFC3209"; 1434 } 1435 leaf type { 1436 type leafref { 1437 path "/te:te/te:lsps-state/te:lsp/"+ 1438 "te:type"; 1439 } 1440 description "LSP type P2P or P2MP"; 1441 } 1442 } 1443 } 1444 } 1446 grouping bandwidth-mpls-constraints { 1447 description "Bandwidth constraints."; 1448 container bandwidth-mpls-constraints { 1449 description 1450 "Holds the bandwidth constraints properties"; 1451 leaf maximum-reservable { 1452 type te-packet-types:bandwidth-kbps; 1453 description 1454 "The maximum reservable bandwidth on the 1455 interface in kbps"; 1456 } 1457 leaf-list bc-value { 1458 type uint32 { 1459 range "0..4294967295"; 1460 } 1461 max-elements 8; 1462 description 1463 "The bandwidth constraint type"; 1464 } 1465 } 1466 } 1468 grouping bandwidth-constraint-values { 1469 description 1470 "Packet bandwidth contraints values"; 1471 choice value-type { 1472 description 1473 "Value representation"; 1474 case percentages { 1475 container perc-values { 1476 uses bandwidth-mpls-constraints; 1477 description 1478 "Percentage values"; 1479 } 1480 } 1481 case absolutes { 1482 container abs-values { 1483 uses bandwidth-mpls-constraints; 1484 description 1485 "Absolute values"; 1486 } 1487 } 1488 } 1489 } 1491 grouping bandwidth-mpls-reservable-config { 1492 description 1493 "Interface bandwidth reservable configuration grouping"; 1494 choice bandwidth-value { 1495 description "Reservable bandwidth configuration choice"; 1496 case absolute { 1497 leaf absolute-value { 1498 type te-packet-types:bandwidth-kbps; 1499 description "Absolute value of the bandwidth"; 1500 } 1501 } 1502 case percentage { 1503 leaf percent-value { 1504 type uint32 { 1505 range "0..4294967295"; 1506 } 1507 description "Percentage reservable bandwidth"; 1508 } 1509 description 1510 "The maximum reservable bandwidth on the 1511 interface"; 1512 } 1513 } 1514 choice bc-model-type { 1515 description 1516 "Reservable bandwidth percentage capacity 1517 values."; 1518 case bc-model-rdm { 1519 container bc-model-rdm { 1520 description 1521 "Russian Doll Model Bandwidth Constraints."; 1522 uses bandwidth-mpls-constraints; 1523 } 1525 } 1526 case bc-model-mam { 1527 container bc-model-mam { 1528 uses bandwidth-mpls-constraints; 1529 description 1530 "Maximum Allocation Model Bandwidth 1531 Constraints."; 1532 } 1533 } 1534 case bc-model-mar { 1535 container bc-model-mar { 1536 uses bandwidth-mpls-constraints; 1537 description 1538 "Maximum Allocation with Reservation Model 1539 Bandwidth Constraints."; 1540 } 1541 } 1542 } 1543 } 1545 grouping bandwidth-mpls-reservable { 1546 description 1547 "Packet reservable bandwidth"; 1548 container bandwidth-mpls-reservable { 1549 description 1550 "Interface bandwidth reservable container"; 1551 uses bandwidth-mpls-reservable-config; 1552 } 1553 } 1554 /* End of RSVP-TE interface groupings */ 1556 /* RSVP-TE FRR groupings */ 1557 grouping rsvp-te-frr-auto-tunnel-backup-config { 1558 description 1559 "Auto-tunnel backup configuration grouping"; 1560 leaf auto-backup-protection { 1561 type identityref { 1562 base te-packet-types:backup-protection-type; 1563 } 1564 default 1565 te-packet-types:backup-protection-node-link; 1566 description 1567 "Describes whether the backup should offer 1568 protection against link, node, or either"; 1569 } 1570 leaf auto-backup-path-computation { 1571 type identityref { 1572 base 1573 te-types:path-computation-srlg-type; 1574 } 1575 description 1576 "FRR backup computation type"; 1577 } 1578 } 1580 grouping rsvp-te-frr-backups-config { 1581 description 1582 "Top level container for RSVP-TE FRR backup parameters"; 1583 choice type { 1584 description 1585 "FRR backup tunnel type"; 1586 case static-tunnel { 1587 container static-backups { 1588 description "List of static backups"; 1589 list static-backup { 1590 key "backup-tunnel-name"; 1591 description 1592 "List of static backup tunnels that 1593 protect the RSVP-TE interface."; 1594 leaf backup-tunnel-name { 1595 type leafref { 1596 path "/te:te/te:tunnels/te:tunnel/te:name"; 1597 } 1598 description "FRR Backup tunnel name"; 1599 } 1600 } 1601 } 1602 } 1603 case auto-tunnel { 1604 container auto-tunnel-backups { 1605 description "Auto-tunnel choice"; 1606 uses rsvp-te-frr-auto-tunnel-backup-config; 1607 } 1608 } 1609 } 1610 } 1612 grouping rsvp-te-frr-backups { 1613 description 1614 "RSVP-TE facility backup grouping"; 1615 container rsvp-te-frr-backups { 1616 description 1617 "RSVP-TE facility backup properties"; 1618 uses rsvp-te-frr-backups-config; 1619 } 1620 } 1621 grouping lsp-backup-info-state { 1622 description "LSP backup information grouping"; 1623 leaf backup-tunnel-name { 1624 type string; 1625 description 1626 "If an LSP has an FRR backup LSP that can protect it, 1627 this field identifies the tunnel name of the backup LSP. 1628 Otherwise, this field is empty."; 1629 } 1630 leaf backup-frr-on { 1631 type uint8; 1632 description 1633 "Whether currently this backup is carrying traffic"; 1634 } 1635 leaf backup-protected-lsp-num { 1636 type uint32; 1637 description 1638 "Number of LSPs protected by this backup"; 1639 } 1640 } 1642 grouping lsp-backup-info { 1643 description "Backup/bypass LSP related information"; 1644 container backup-info { 1645 description 1646 "backup information"; 1647 uses lsp-backup-info-state; 1648 } 1649 } 1651 grouping fast-reroute-local-revertive-config { 1652 description "RSVP-TE FRR local revertive grouping"; 1653 leaf rsvp-frr-local-revert-delay { 1654 type uint32; 1655 description 1656 "Time to wait after primary link is restored 1657 before node attempts local revertive 1658 procedures."; 1659 } 1660 } 1662 /*** End of RSVP-TE FRR backup information ***/ 1664 grouping fast-reroute-local-revertive { 1665 description 1666 "Top level grouping for globals properties"; 1667 container fast-reroute-local-revertive { 1668 description "RSVP-TE FRR local revertive container"; 1669 uses fast-reroute-local-revertive-config; 1670 } 1671 } 1673 /* RSVP-TE global properties */ 1674 augment "/rt:routing/rt:control-plane-protocols/" 1675 + "rt:control-plane-protocol/rsvp:rsvp" { 1676 description 1677 "RSVP-TE augmentation to RSVP globals"; 1678 uses fast-reroute-local-revertive; 1679 } 1681 /* Linkage to the base RSVP all interfaces */ 1682 augment "/rt:routing/rt:control-plane-protocols/" 1683 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" { 1684 description 1685 "Augmentations for RSVP-TE MPLS all interfaces properties"; 1686 /* To be added */ 1687 } 1689 /* Linkage to per RSVP interface */ 1690 augment "/rt:routing/rt:control-plane-protocols/" 1691 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + 1692 "rsvp:interface" { 1693 description 1694 "Augmentations for RSVP-TE MPLS per interface properties"; 1695 /* To be added */ 1696 } 1698 /* add augmentation for sessions neighbors */ 1699 augment "/rt:routing/rt:control-plane-protocols/" 1700 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1701 + "rsvp:sessions/rsvp:session/rsvp:state" { 1702 description 1703 "Augmentations for RSVP-TE MPLS sessions"; 1704 /* To be added */ 1705 } 1707 augment "/rt:routing/rt:control-plane-protocols/" 1708 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" { 1709 description 1710 "Augmentations for RSVP-TE MPLS neighbors properties"; 1711 /* To be added */ 1712 } 1714 /** 1715 * Augmentation to TE generic module 1716 */ 1718 augment "/te:te/te:tunnels/te:tunnel" { 1719 description 1720 "Augmentations for RSVP-TE MPLS TE tunnel properties"; 1721 uses tunnel-properties-mpls-config; 1722 } 1724 augment "/te:te/te:lsps-state/te:lsp" { 1725 when "/te:te/te:lsps-state/te:lsp" + 1726 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1727 description 1728 "When the signaling protocol is RSVP-TE "; 1729 } 1730 description 1731 "RSP-TE MPLS LSP state properties"; 1732 uses lsp-properties-mpls; 1733 uses lsp-backup-info; 1734 } 1736 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1737 "/te:p2p-primary-path/te:lsps/te:lsp" { 1738 when "/te:te/te:tunnels/te:tunnel" + 1739 "/te:p2p-secondary-paths/te:p2p-secondary-path/" + 1740 "te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1741 description 1742 "When the signaling protocol is RSVP-TE "; 1743 } 1744 description 1745 "RSVP-TE MPLS LSP state properties"; 1746 uses lsp-properties-mpls; 1747 uses lsp-backup-info; 1748 } 1750 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1751 "/te:p2p-secondary-path/te:lsps/te:lsp" { 1752 when "/te:te/te:tunnels/te:tunnel" + 1753 "/te:p2p-secondary-paths/te:p2p-secondary-path/" + 1754 "te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1755 description 1756 "When the signaling protocol is RSVP-TE "; 1757 } 1758 description 1759 "RSVP-TE MPLS LSP state properties"; 1760 uses lsp-properties-mpls; 1761 uses lsp-backup-info; 1762 } 1764 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1765 description 1766 "RSVP reservable bandwidth configuration properties"; 1767 uses bandwidth-mpls-reservable; 1768 } 1770 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1771 description 1772 "RSVP reservable bandwidth configuration properties"; 1773 uses rsvp-te-frr-backups; 1774 } 1775 } 1776 1778 Figure 5: RSVP TE MPLS YANG module 1780 3. IANA Considerations 1782 This document registers the following URIs in the IETF XML registry 1783 [RFC3688]. Following the format in [RFC3688], the following 1784 registration is requested to be made. 1786 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp-te 1787 XML: N/A, the requested URI is an XML namespace. 1789 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls 1790 XML: N/A, the requested URI is an XML namespace. 1792 This document registers two YANG modules in the YANG Module Names 1793 registry [RFC6020]. 1795 name: ietf-rsvp 1796 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp-te 1797 prefix: ietf-rsvp 1798 reference: RFCXXXX 1800 name: ietf-rsvp-te 1801 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls 1802 prefix: ietf-rsvp-te 1803 reference: RFCXXXX 1805 4. Security Considerations 1807 The YANG module defined in this memo is designed to be accessed via 1808 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 1809 secure transport layer and the mandatory-to-implement secure 1810 transport is SSH [RFC6242]. The NETCONF access control model 1811 [RFC8341] provides means to restrict access for particular NETCONF 1812 users to a pre-configured subset of all available NETCONF protocol 1813 operations and content. 1815 There are a number of data nodes defined in the YANG module(s) 1816 defined in this document which are writable/creatable/deletable 1817 (i.e., config true, which is the default). These data nodes may be 1818 considered sensitive or vulnerable in some network environments. 1819 Write operations (e.g., ) to these data nodes without 1820 proper protection can have a negative effect on network operations. 1822 /rt:routing/rt:control-plane-protocols/rt:control-plane- 1823 protocol/rsvp:rsvp/globals: The data nodes defined defined in this 1824 document and under this branch are applicable device-wide and can 1825 affect all RSVP established sessions. Unauthorized access to this 1826 container can potentially cause disruptive event(s) on all 1827 established sessions. 1829 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ 1830 rsvp:rsvp/rsvp:globals/rsvp:sessions: The data nodes defined in this 1831 document and under this branch are applicable to one or all RSVP-TE 1832 session(s). Unauthorized access to this container can potentially 1833 affect the impacted RSVP session(s). 1835 /rt:routing/rt:control-plane-protocols/rt:control-plane- 1836 protocol/rsvp:rsvp/rsvp:interfaces: The data nodes defined defined in 1837 this document and under this branch are applicable to one or all RSVP 1838 interfaces. Unauthorized access to this container can potentially 1839 affect established session(s) over impacted interface(s). 1841 5. Acknowledgement 1843 The authors would like to thank Lou Berger for reviewing and 1844 providing valuable feedback on this document. 1846 6. Contributors 1847 Xia Chen 1848 Huawei Technologies 1850 Email: jescia.chenxia@huawei.com 1852 Raqib Jones 1853 Brocade 1855 Email: raqib@Brocade.com 1857 Bin Wen 1858 Comcast 1860 Email: Bin_Wen@cable.comcast.com 1862 7. References 1864 7.1. Normative References 1866 [I-D.ietf-teas-yang-rsvp] 1867 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 1868 and H. Shah, "A YANG Data Model for Resource Reservation 1869 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-10 (work in 1870 progress), February 2019. 1872 [I-D.ietf-teas-yang-te] 1873 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1874 "A YANG Data Model for Traffic Engineering Tunnels and 1875 Interfaces", draft-ietf-teas-yang-te-19 (work in 1876 progress), February 2019. 1878 [I-D.ietf-teas-yang-te-types] 1879 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1880 "Traffic Engineering Common YANG Types", draft-ietf-teas- 1881 yang-te-types-06 (work in progress), February 2019. 1883 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1884 Requirement Levels", BCP 14, RFC 2119, 1885 DOI 10.17487/RFC2119, March 1997, 1886 . 1888 [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. 1889 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 1890 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, 1891 September 1997, . 1893 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1894 DOI 10.17487/RFC3688, January 2004, 1895 . 1897 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1898 the Network Configuration Protocol (NETCONF)", RFC 6020, 1899 DOI 10.17487/RFC6020, October 2010, 1900 . 1902 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1903 and A. Bierman, Ed., "Network Configuration Protocol 1904 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1905 . 1907 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1908 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1909 . 1911 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 1912 RFC 6991, DOI 10.17487/RFC6991, July 2013, 1913 . 1915 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1916 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1917 . 1919 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1920 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1921 . 1923 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1924 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1925 May 2017, . 1927 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 1928 "Common YANG Data Types for the Routing Area", RFC 8294, 1929 DOI 10.17487/RFC8294, December 2017, 1930 . 1932 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 1933 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 1934 . 1936 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 1937 Access Control Model", STD 91, RFC 8341, 1938 DOI 10.17487/RFC8341, March 2018, 1939 . 1941 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 1942 Routing Management (NMDA Version)", RFC 8349, 1943 DOI 10.17487/RFC8349, March 2018, 1944 . 1946 7.2. Informative References 1948 [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated 1949 Services", RFC 2210, DOI 10.17487/RFC2210, September 1997, 1950 . 1952 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1953 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1954 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1955 . 1957 [RFC4859] Farrel, A., "Codepoint Registry for the Flags Field in the 1958 Resource Reservation Protocol-Traffic Engineering (RSVP- 1959 TE) Session Attribute Object", RFC 4859, 1960 DOI 10.17487/RFC4859, April 2007, 1961 . 1963 [RFC4920] Farrel, A., Ed., Satyanarayana, A., Iwata, A., Fujita, N., 1964 and G. Ash, "Crankback Signaling Extensions for MPLS and 1965 GMPLS RSVP-TE", RFC 4920, DOI 10.17487/RFC4920, July 2007, 1966 . 1968 [RFC5420] Farrel, A., Ed., Papadimitriou, D., Vasseur, JP., and A. 1969 Ayyangarps, "Encoding of Attributes for MPLS LSP 1970 Establishment Using Resource Reservation Protocol Traffic 1971 Engineering (RSVP-TE)", RFC 5420, DOI 10.17487/RFC5420, 1972 February 2009, . 1974 [RFC7570] Margaria, C., Ed., Martinelli, G., Balls, S., and B. 1975 Wright, "Label Switched Path (LSP) Attribute in the 1976 Explicit Route Object (ERO)", RFC 7570, 1977 DOI 10.17487/RFC7570, July 2015, 1978 . 1980 Authors' Addresses 1982 Vishnu Pavan Beeram 1983 Juniper Networks 1985 Email: vbeeram@juniper.net 1986 Tarek Saad 1987 Cisco Systems, Inc. 1989 Email: tsaad@cisco.com 1991 Rakesh Gandhi 1992 Cisco Systems, Inc. 1994 Email: rgandhi@cisco.com 1996 Xufeng Liu 1997 Volta Networks 1999 Email: xufeng.liu.ietf@gmail.com 2001 Igor Bryskin 2002 Huawei Technologies 2004 Email: Igor.Bryskin@huawei.com 2006 Himanshu Shah 2007 Ciena 2009 Email: hshah@ciena.com