idnits 2.17.1 draft-ietf-teas-yang-rsvp-te-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 : ---------------------------------------------------------------------------- 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. -- The document date (April 09, 2019) is 1843 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-21 == Outdated reference: A later version (-13) exists of draft-ietf-teas-yang-te-types-08 Summary: 0 errors (**), 0 flaws (~~), 11 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 T. Saad 4 Intended status: Standards Track Juniper Networks 5 Expires: October 11, 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 April 09, 2019 15 A YANG Data Model for RSVP-TE Protocol 16 draft-ietf-teas-yang-rsvp-te-06 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 October 11, 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 . . . . . . . . . . . 14 75 2.3. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 16 76 2.3.1. RSVP-TE YANG Module . . . . . . . . . . . . . . . . . 16 77 2.3.2. RSVP-TE MPLS YANG Module . . . . . . . . . . . . . . 29 78 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 79 4. Security Considerations . . . . . . . . . . . . . . . . . . . 41 80 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 42 81 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 42 82 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 43 83 7.1. Normative References . . . . . . . . . . . . . . . . . . 43 84 7.2. Informative References . . . . . . . . . . . . . . . . . 45 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 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-primary-paths 483 /te:p2p-primary-path/te:lsp-provisioning-error-infos 484 /te:lsp-provisioning-error-info: 485 +--ro rsvp-message-type? identityref 486 +--ro rsvp-error-code? uint8 487 +--ro rsvp-error-subcode? uint16 488 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 489 /te:p2p-primary-path/te:lsps/te:lsp 490 /te:lsp-provisioning-error-infos 491 /te:lsp-provisioning-error-info: 492 +--ro rsvp-message-type? identityref 493 +--ro rsvp-error-code? uint8 494 +--ro rsvp-error-subcode? uint16 495 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 496 /te:p2p-secondary-path/te:lsps/te:lsp: 497 +--ro associated-rsvp-session? leafref 498 +--ro lsp-signaled-name? string 499 +--ro session-attribute* identityref 500 +--ro lsp-attribute* identityref 501 +--ro explicit-route-objects 502 | +--ro incoming-explicit-route-hop* [index] 503 | | +--ro index uint32 504 | | +--ro (type)? 505 | | +--:(numbered-node-hop) 506 | | | +--ro numbered-node-hop 507 | | | +--ro node-id te-node-id 508 | | | +--ro hop-type? te-hop-type 509 | | +--:(numbered-link-hop) 510 | | | +--ro numbered-link-hop 511 | | | +--ro link-tp-id te-tp-id 512 | | | +--ro hop-type? te-hop-type 513 | | | +--ro direction? te-link-direction 514 | | +--:(unnumbered-link-hop) 515 | | | +--ro unnumbered-link-hop 516 | | | +--ro link-tp-id te-tp-id 517 | | | +--ro node-id te-node-id 518 | | | +--ro hop-type? te-hop-type 519 | | | +--ro direction? te-link-direction 520 | | +--:(as-number) 521 | | | +--ro as-number-hop 522 | | | +--ro as-number inet:as-number 523 | | | +--ro hop-type? te-hop-type 524 | | +--:(label) 525 | | +--ro label-hop 526 | | +--ro te-label 527 | | +--ro (technology)? 528 | | | +--:(generic) 529 | | | +--ro generic? rt-types:generalized-label 530 | | +--ro direction? te-label-direction 531 | +--ro outgoing-explicit-route-hop* [index] 532 | +--ro index uint32 533 | +--ro (type)? 534 | +--:(numbered-node-hop) 535 | | +--ro numbered-node-hop 536 | | +--ro node-id te-node-id 537 | | +--ro hop-type? te-hop-type 538 | +--:(numbered-link-hop) 539 | | +--ro numbered-link-hop 540 | | +--ro link-tp-id te-tp-id 541 | | +--ro hop-type? te-hop-type 542 | | +--ro direction? te-link-direction 543 | +--:(unnumbered-link-hop) 544 | | +--ro unnumbered-link-hop 545 | | +--ro link-tp-id te-tp-id 546 | | +--ro node-id te-node-id 547 | | +--ro hop-type? te-hop-type 548 | | +--ro direction? te-link-direction 549 | +--:(as-number) 550 | | +--ro as-number-hop 551 | | +--ro as-number inet:as-number 552 | | +--ro hop-type? te-hop-type 553 | +--:(label) 554 | +--ro label-hop 555 | +--ro te-label 556 | +--ro (technology)? 557 | | +--:(generic) 558 | | +--ro generic? rt-types:generalized-label 559 | +--ro direction? te-label-direction 560 +--ro incoming-record-route-subobjects 561 | +--ro incoming-record-route-subobject* [index] 562 | +--ro index uint32 563 | +--ro (type)? 564 | +--:(numbered-node-hop) 565 | | +--ro numbered-node-hop 566 | | +--ro node-id te-node-id 567 | | +--ro flags* path-attribute-flags 568 | +--:(numbered-link-hop) 569 | | +--ro numbered-link-hop 570 | | +--ro link-tp-id te-tp-id 571 | | +--ro flags* path-attribute-flags 572 | +--:(unnumbered-link-hop) 573 | | +--ro unnumbered-link-hop 574 | | +--ro link-tp-id te-tp-id 575 | | +--ro node-id? te-node-id 576 | | +--ro flags* path-attribute-flags 577 | +--:(label) 578 | +--ro label-hop 579 | +--ro te-label 580 | | +--ro (technology)? 581 | | | +--:(generic) 582 | | | +--ro generic? rt-types:generalized-label 583 | | +--ro direction? te-label-direction 584 | +--ro flags* path-attribute-flags 585 +--ro outgoing-record-route-subobjects 586 +--ro outgoing-record-route-subobject* [index] 587 +--ro index uint32 588 +--ro (type)? 589 +--:(numbered-node-hop) 590 | +--ro numbered-node-hop 591 | +--ro node-id te-node-id 592 | +--ro flags* path-attribute-flags 593 +--:(numbered-link-hop) 594 | +--ro numbered-link-hop 595 | +--ro link-tp-id te-tp-id 596 | +--ro flags* path-attribute-flags 597 +--:(unnumbered-link-hop) 598 | +--ro unnumbered-link-hop 599 | +--ro link-tp-id te-tp-id 600 | +--ro node-id? te-node-id 601 | +--ro flags* path-attribute-flags 602 +--:(label) 603 +--ro label-hop 604 +--ro te-label 605 | +--ro (technology)? 606 | | +--:(generic) 607 | | +--ro generic? rt-types:generalized-label 608 | +--ro direction? te-label-direction 609 +--ro flags* path-attribute-flags 610 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 611 /te:p2p-secondary-path/te:lsp-provisioning-error-infos 612 /te:lsp-provisioning-error-info: 613 +--ro rsvp-message-type? identityref 614 +--ro rsvp-error-code? uint8 615 +--ro rsvp-error-subcode? uint16 616 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 617 /te:p2p-secondary-path/te:lsps/te:lsp 618 /te:lsp-provisioning-error-infos 619 /te:lsp-provisioning-error-info: 620 +--ro rsvp-message-type? identityref 621 +--ro rsvp-error-code? uint8 622 +--ro rsvp-error-subcode? uint16 623 augment /te:te/te-dev:interfaces/te-dev:interface: 625 Figure 2: RSVP-TE model Tree diagram 627 2.2.2. RSVP-TE MPLS Model Tree Diagram 629 Figure 5 shows the YANG tree diagram of the RSVP-TE MPLS YANG model 630 defined in module ietf-rsvp-te-mpls.yang and that augments RSVP-TE 631 module as well as RSVP and TE YANG modules. 633 module: ietf-rsvp-te-mpls 634 augment /rt:routing/rt:control-plane-protocols 635 /rt:control-plane-protocol/rsvp:rsvp: 636 +--rw fast-reroute-local-revertive 637 +--rw rsvp-frr-local-revert-delay? uint32 638 augment /rt:routing/rt:control-plane-protocols 639 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces: 640 augment /rt:routing/rt:control-plane-protocols 641 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 642 /rsvp:interface: 643 augment /rt:routing/rt:control-plane-protocols 644 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 645 /rsvp:sessions/rsvp:session/rsvp:state: 646 augment /rt:routing/rt:control-plane-protocols 647 /rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors: 648 augment /te:te/te:tunnels/te:tunnel: 649 +--rw session-attribute* identityref 650 augment /te:te/te:lsps-state/te:lsp: 651 +--ro session-attribute* identityref 652 +--ro backup-info 653 +--ro backup-tunnel-name? string 654 +--ro backup-frr-on? uint8 655 +--ro backup-protected-lsp-num? uint32 656 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 657 /te:p2p-primary-path/te:lsps/te:lsp: 658 +--ro session-attribute* identityref 659 +--ro backup-info 660 +--ro backup-tunnel-name? string 661 +--ro backup-frr-on? uint8 662 +--ro backup-protected-lsp-num? uint32 663 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 664 /te:p2p-secondary-path/te:lsps/te:lsp: 665 +--ro session-attribute* identityref 666 +--ro backup-info 667 +--ro backup-tunnel-name? string 668 +--ro backup-frr-on? uint8 669 +--ro backup-protected-lsp-num? uint32 670 augment /te:te/te-dev:interfaces/te-dev:interface: 671 +--rw bandwidth-mpls-reservable 672 +--rw (bandwidth-value)? 673 | +--:(absolute) 674 | | +--rw absolute-value? te-packet-types:bandwidth-kbps 675 | +--:(percentage) 676 | +--rw percent-value? uint32 677 +--rw (bc-model-type)? 678 +--:(bc-model-rdm) 679 | +--rw bc-model-rdm 680 | +--rw bandwidth-mpls-constraints 681 | +--rw maximum-reservable? 682 | | te-packet-types:bandwidth-kbps 683 | +--rw bc-value* uint32 684 +--:(bc-model-mam) 685 | +--rw bc-model-mam 686 | +--rw bandwidth-mpls-constraints 687 | +--rw maximum-reservable? 688 | | te-packet-types:bandwidth-kbps 689 | +--rw bc-value* uint32 690 +--:(bc-model-mar) 691 +--rw bc-model-mar 692 +--rw bandwidth-mpls-constraints 693 +--rw maximum-reservable? 694 | te-packet-types:bandwidth-kbps 695 +--rw bc-value* uint32 696 augment /te:te/te-dev:interfaces/te-dev:interface: 697 +--rw rsvp-te-frr-backups 698 +--rw (type)? 699 +--:(static-tunnel) 700 | +--rw static-backups 701 | +--rw static-backup* [backup-tunnel-name] 702 | +--rw backup-tunnel-name 703 | -> /te:te/tunnels/tunnel/name 704 +--:(auto-tunnel) 705 +--rw auto-tunnel-backups 706 +--rw auto-backup-protection? identityref 707 +--rw auto-backup-path-computation? identityref 708 Figure 3: RSVP-TE MPLS Tree diagram 710 2.3. YANG Modules 712 2.3.1. RSVP-TE YANG Module 714 The RSVP-TE generic YANG module "ietf-rsvp-te" imports the following 715 modules: 717 o ietf-rsvp defined in [I-D.ietf-teas-yang-rsvp] 719 o ietf-routing-types defined in [RFC8294] 721 o ietf-te-types defined in [I-D.ietf-teas-yang-te-types] 723 o ietf-te and ietf-te-dev defined in [I-D.ietf-teas-yang-te] 725 This module references the following documents: 726 [I-D.ietf-teas-yang-rsvp], [RFC8349], [I-D.ietf-teas-yang-te], 727 [I-D.ietf-teas-yang-te-types], [RFC2210], [RFC4920], [RFC5420], 728 [RFC7570], [RFC4859]. 730 file "ietf-rsvp-te@2019-04-09.yang" 731 module ietf-rsvp-te { 732 yang-version 1.1; 734 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te"; 736 prefix "rsvp-te"; 738 import ietf-rsvp { 739 prefix rsvp; 740 reference "draft-ietf-teas-yang-rsvp: A YANG Data Model for 741 Resource Reservation Protocol (RSVP)"; 742 } 744 import ietf-routing { 745 prefix "rt"; 746 reference "RFC8349: A YANG Data Model for Routing Management"; 747 } 749 import ietf-routing-types { 750 prefix rt-types; 751 reference "RFC8294: Common YANG Data Types for the Routing Area"; 752 } 754 import ietf-te { 755 prefix te; 756 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 757 Engineering Tunnels and Interfaces"; 758 } 760 import ietf-te-device { 761 prefix te-dev; 762 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 763 Engineering Tunnels and Interfaces"; 764 } 766 /* Import TE generic types */ 767 import ietf-te-types { 768 prefix te-types; 769 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 770 Common Traffic Engineering Types"; 771 } 773 organization 774 "IETF Traffic Engineering Architecture and Signaling (TEAS) 775 Working Group"; 777 contact 778 "WG Web: 779 WG List: 781 WG Chair: Lou Berger 782 784 WG Chair: Vishnu Pavan Beeram 785 787 Editor: Vishnu Pavan Beeram 788 790 Editor: Tarek Saad 791 793 Editor: Rakesh Gandhi 794 796 Editor: Xufeng Liu 797 799 Editor: Igor Bryskin 800 802 Editor: Himanshu Shah 803 "; 805 description 806 "This module contains the RSVP-TE YANG generic data model. 807 The model fully conforms to the Network Management Datastore 808 Architecture (NMDA). 810 Copyright (c) 2018 IETF Trust and the persons 811 identified as authors of the code. All rights reserved. 813 Redistribution and use in source and binary forms, with or 814 without modification, is permitted pursuant to, and subject 815 to the license terms contained in, the Simplified BSD License 816 set forth in Section 4.c of the IETF Trust's Legal Provisions 817 Relating to IETF Documents 818 (https://trustee.ietf.org/license-info). 819 This version of this YANG module is part of RFC XXXX; see 820 the RFC itself for full legal notices."; 822 // RFC Ed.: replace XXXX with actual RFC number and remove this 823 // note. 825 // RFC Ed.: update the date below with the date of RFC publication 826 // and remove this note. 828 revision "2019-04-09" { 829 description "A YANG Data Model for RSVP-TE"; 830 reference 831 "RFCXXXX: A YANG Data Model for RSVP-TE Protocol"; 832 } 834 identity rsvp-message-type { 835 description "RSVP message types"; 836 } 838 identity rsvp-message-path { 839 base rsvp-message-type; 840 description "RSVP Path message"; 841 reference "RFC2205"; 842 } 843 identity rsvp-message-resv { 844 base rsvp-message-type; 845 description "RSVP Resv message"; 846 reference "RFC2205"; 847 } 848 identity rsvp-message-path-err { 849 base rsvp-message-type; 850 description "RSVP Path-Err message"; 851 reference "RFC2205"; 852 } 853 identity rsvp-message-resv-err { 854 base rsvp-message-type; 855 description "RSVP Resv-Err message"; 856 reference "RFC2205"; 857 } 858 identity rsvp-message-path-tear { 859 base rsvp-message-type; 860 description "RSVP Path Tear message"; 861 reference "RFC2205"; 862 } 863 identity rsvp-message-resv-conf { 864 base rsvp-message-type; 865 description "RSVP Resv Confirm message"; 866 reference "RFC2205"; 867 } 868 identity rsvp-message-srefresh { 869 base rsvp-message-type; 870 description "RSVP SRefresh message"; 871 reference "RFC2961"; 872 } 873 identity rsvp-message-hello { 874 base rsvp-message-type; 875 description "RSVP Hello message"; 876 reference "RFC3209"; 877 } 878 identity rsvp-message-bundle { 879 base rsvp-message-type; 880 description "RSVP Bundle message"; 881 reference "RFC2961"; 882 } 883 identity rsvp-message-notify { 884 base rsvp-message-type; 885 description "RSVP Notify message"; 886 reference "RFC3473"; 887 } 889 /** 890 * RSVP-TE LSPs groupings. 891 */ 892 grouping lsp-record-route-information-state { 893 description "recorded route information grouping"; 894 container incoming-record-route-subobjects { 895 description "RSVP recorded route object incoming information"; 896 list incoming-record-route-subobject { 897 when "../../te:origin-type != 'ingress'" { 898 description "Applicable on non-ingress LSPs only"; 899 } 900 key "index"; 901 ordered-by user; 902 description 903 "List of RSVP Path record-route objects"; 904 uses te-types:record-route-state; 905 } 906 } 907 container outgoing-record-route-subobjects { 908 description "RSVP recorded route object outgoing information"; 909 list outgoing-record-route-subobject { 910 when "../../te:origin-type != 'egress'" { 911 description "Applicable on non-egress LSPs only"; 912 } 913 key "index"; 914 ordered-by user; 915 description 916 "List of RSVP Resv record-route objects"; 917 uses te-types:record-route-state; 918 } 919 } 920 } 922 grouping lsp-explicit-route-information-state { 923 description "RSVP-TE LSP explicit-route information"; 924 container explicit-route-objects { 925 description "Explicit route object information"; 926 list incoming-explicit-route-hop { 927 when "../../te:origin-type != 'ingress'" { 928 description "Applicable on non-ingress LSPs only"; 929 } 930 key "index"; 931 ordered-by user; 932 description 933 "List of incoming RSVP Path explicit-route objects"; 934 leaf index { 935 type uint32; 936 description 937 "Explicit route hop index. The index is used to 938 identify an entry in the list. The order of entries 939 is defined by the user without relying on key values"; 940 } 941 uses te-types:explicit-route-hop; 942 } 943 list outgoing-explicit-route-hop { 944 when "../../te:origin-type != 'egress'" { 945 description "Applicable on non-egress LSPs only"; 946 } 947 key "index"; 948 ordered-by user; 949 description 950 "List of outgoing RSVP Path explicit-route objects"; 951 leaf index { 952 type uint32; 953 description 954 "Explicit route hop index. The index is used to 955 identify an entry in the list. The order of entries 956 is defined by the user without relying on key values"; 957 } 958 uses te-types:explicit-route-hop; 959 } 960 } 961 } 963 grouping lsp-attributes-flags-config { 964 description 965 "Configuration parameters relating to RSVP-TE LSP 966 attribute flags"; 967 leaf-list lsp-attribute { 968 type identityref { 969 base te-types:lsp-attributes-flags; 970 } 971 description "RSVP per LSP attributes flags"; 972 reference 973 "RFC4920, RFC5420, RFC7570"; 974 } 975 } 977 grouping lsp-session-attributes-obj-flags-config { 978 description 979 "Configuration parameters relating to RSVP-TE LSP 980 session attribute flags"; 981 reference 982 "RFC4859: Registry for RSVP-TE Session Flags"; 983 leaf-list session-attribute { 984 when "../session-attribute != 985 'te-types:bandwidth-protection-desired' or 986 ../session-attribute != 987 'te-types:soft-preemption-desired'"; 988 type identityref { 989 base te-types:session-attributes-flags; 990 } 991 description "RSVP session attributes flags"; 992 reference 993 "RFC4859: Registry for RSVP-TE Session Flags"; 994 } 995 } 996 grouping lsp-properties-config { 997 description 998 "Configuration parameters relating to RSVP-TE LSP 999 session attribute flags"; 1000 leaf lsp-signaled-name { 1001 type string; 1002 description 1003 "Sets the session name to use in the session 1004 attribute object."; 1005 } 1006 uses lsp-session-attributes-obj-flags-config; 1007 uses lsp-attributes-flags-config; 1008 } 1010 grouping tunnel-properties-config { 1011 description "RSVP-TE Tunnel properties grouping"; 1012 leaf retry-timer { 1013 type uint16 { 1014 range 1..600; 1015 } 1016 units seconds; 1017 description 1018 "sets the time between attempts to establish the 1019 LSP"; 1020 } 1021 } 1023 /*** End of RSVP-TE LSP groupings ***/ 1025 /** 1026 * RSVP-TE generic global properties. 1027 */ 1028 grouping global-soft-preemption-config { 1029 description 1030 "Configuration for global RSVP-TE soft preemption"; 1031 leaf soft-preemption-timeout { 1032 type uint16 { 1033 range 0..300; 1034 } 1035 default 0; 1036 description 1037 "Timeout value for soft preemption to revert 1038 to hard preemption"; 1039 } 1040 } 1042 grouping global-soft-preemption { 1043 description 1044 "Top level group for RSVP-TE soft-preemption"; 1045 container global-soft-preemption { 1046 presence "Enables soft preemption on a node."; 1047 description 1048 "Top level container for RSVP-TE soft-preemption"; 1049 uses global-soft-preemption-config; 1050 } 1051 } 1052 /*** End of RSVP-TE generic global properties. ***/ 1054 /** 1055 * RSVP-TE interface generic groupings. 1056 */ 1057 grouping rsvp-te-interface-attributes { 1058 description 1059 "Top level grouping for RSVP-TE interface properties."; 1060 container rsvp-te-interface-attributes { 1061 description 1062 "Top level container for RSVP-TE interface 1063 properties"; 1064 container state { 1065 config false; 1066 description 1067 "State information associated with RSVP-TE 1068 bandwidth"; 1069 } 1070 } 1071 } 1072 /*** End of RSVP-TE generic groupings ***/ 1074 /* RSVP-TE global properties */ 1075 augment "/rt:routing/rt:control-plane-protocols/" 1076 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals" { 1077 description 1078 "RSVP-TE augmentation to RSVP globals"; 1079 uses global-soft-preemption; 1080 } 1082 /* Linkage to the base RSVP all links */ 1083 augment "/rt:routing/rt:control-plane-protocols/" 1084 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" { 1085 description 1086 "RSVP-TE generic data augmentation pertaining to interfaces"; 1087 uses rsvp-te-interface-attributes; 1088 } 1090 /* Linkage to per RSVP interface */ 1091 augment "/rt:routing/rt:control-plane-protocols/" 1092 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + 1093 "rsvp:interface" { 1094 description 1095 "RSVP-TE generic data augmentation pertaining to specific 1096 interface"; 1097 uses rsvp-te-interface-attributes; 1098 } 1100 /* add augmentation for sessions and neighbors */ 1101 augment "/rt:routing/rt:control-plane-protocols/" 1102 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1103 + "rsvp:sessions/rsvp:session/rsvp:state/rsvp:psbs/rsvp:psb" { 1104 description 1105 "RSVP-TE generic data augmentation pertaining to session"; 1106 /* To be added */ 1107 leaf tspec-average-rate { 1108 type rt-types:bandwidth-ieee-float32; 1109 units "Bytes per second"; 1110 description "Tspec Token Bucket Average Rate"; 1111 reference "RFC2210: RSVP with INTSERV"; 1112 } 1113 leaf tspec-size { 1114 type rt-types:bandwidth-ieee-float32; 1115 units "Bytes per second"; 1116 description "Tspec Token Bucket Burst Rate"; 1117 reference "RFC2210"; 1118 } 1119 leaf tspec-peak-rate { 1120 type rt-types:bandwidth-ieee-float32; 1121 units "Bytes per second"; 1122 description "Tspec Token Bucket Peak Data Rate"; 1123 reference "RFC2210"; 1124 } 1125 leaf min-policed-unit { 1126 type uint32; 1127 description "Tspec Minimum Policed Unit"; 1128 reference "RFC2210"; 1129 } 1130 leaf max-packet-size { 1131 type uint32; 1132 description "Tspec Maximum Packet Size"; 1133 reference "RFC2210"; 1134 } 1135 } 1136 augment "/rt:routing/rt:control-plane-protocols/" 1137 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1138 + "rsvp:sessions/rsvp:session/rsvp:state/rsvp:rsbs/rsvp:rsb" { 1139 description 1140 "RSVP-TE generic data augmentation pertaining to session"; 1141 leaf fspec-average-rate { 1142 type rt-types:bandwidth-ieee-float32; 1143 units "Bytes per second"; 1144 description "Fspec Token Bucket Average Rate"; 1145 reference "RFC2210"; 1146 } 1147 leaf fspec-size { 1148 type rt-types:bandwidth-ieee-float32; 1149 units "Bytes per second"; 1150 description "Fspec Token Bucket Burst Rate"; 1151 reference "RFC2210"; 1152 } 1153 leaf fspec-peak-rate { 1154 type rt-types:bandwidth-ieee-float32; 1155 units "Bytes per second"; 1156 description "Fspec Token Bucket Peak Data Rate"; 1157 reference "RFC2210"; 1158 } 1159 leaf min-policed-unit { 1160 type uint32; 1161 description "Fspec Minimum Policed Unit"; 1162 reference "RFC2210"; 1163 } 1164 leaf max-packet-size { 1165 type uint32; 1166 description "Fspec Maximum Packet Size"; 1167 reference "RFC2210"; 1168 } 1169 } 1171 augment "/rt:routing/rt:control-plane-protocols/" 1172 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" { 1173 description 1174 "RSVP-TE generic data augmentation pertaining to neighbors"; 1175 /* To be added */ 1176 } 1178 /** 1179 * RSVP-TE generic augmentations of generic TE model. 1180 */ 1182 /* TE tunnel augmentation */ 1183 augment "/te:te/te:tunnels/te:tunnel" { 1184 when "/te:te/te:tunnels/te:tunnel" + 1185 "/te:p2p-primary-paths/te:p2p-primary-path" + 1186 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1187 description 1188 "When the path signaling protocol is RSVP-TE "; 1189 } 1190 description 1191 "RSVP-TE generic data augmentation pertaining to TE tunnels"; 1192 uses lsp-properties-config; 1193 uses tunnel-properties-config; 1194 } 1196 /* TE LSP augmentation */ 1197 grouping rsvp-te-lsp-error-info { 1198 description 1199 "Grouping for RSVP-TE error reporting information"; 1200 leaf rsvp-message-type { 1201 type identityref { 1202 base rsvp-message-type; 1203 } 1204 description 1205 "The RSVP message type that delivered the error"; 1206 } 1207 leaf rsvp-error-code { 1208 type uint8; 1209 description "RSVP error code"; 1210 reference "RFC2205"; 1211 } 1212 leaf rsvp-error-subcode { 1213 type uint16; 1214 description "RSVP Error sub-codes"; 1215 reference "RFC2205"; 1216 } 1217 } 1219 grouping rsvp-te-lsp-properties { 1220 description "RSVP-TE LSP properties grouping"; 1221 leaf associated-rsvp-session { 1222 type leafref { 1223 path "/rt:routing/rt:control-plane-protocols/" 1224 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1225 + "rsvp:sessions/rsvp:session/rsvp:local-index"; 1226 } 1227 config false; 1228 description 1229 "If the signalling protocol specified for this path is 1230 RSVP-TE, this leaf provides a reference to the associated 1231 session within the RSVP-TE protocol sessions list, such 1232 that details of the signaling can be retrieved."; 1233 } 1234 uses lsp-properties-config; 1235 uses lsp-explicit-route-information-state; 1236 uses lsp-record-route-information-state; 1237 } 1239 augment "/te:te/te:lsps-state/te:lsp" { 1240 when "/te:te/te:lsps-state/te:lsp" + 1241 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1242 description 1243 "When the signaling protocol is RSVP-TE "; 1244 } 1245 description 1246 "RSVP-TE generic data augmentation pertaining to specific TE 1247 LSP"; 1248 uses rsvp-te-lsp-properties; 1249 } 1251 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1252 "/te:p2p-primary-path/te:lsps/te:lsp" { 1253 when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1254 "/te:p2p-primary-path/te:lsps/te:lsp" + 1255 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1256 description 1257 "When the signaling protocol is RSVP-TE "; 1258 } 1259 description 1260 "RSVP-TE generic data augmentation pertaining to specific TE 1261 LSP"; 1262 uses rsvp-te-lsp-properties; 1263 } 1264 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1265 "/te:p2p-primary-path" + 1266 "/te:lsp-provisioning-error-infos" + 1267 "/te:lsp-provisioning-error-info" { 1268 description 1269 "Augmentation for RSVP-TE per LSP error reason"; 1270 uses rsvp-te-lsp-error-info; 1271 } 1272 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1273 "/te:p2p-primary-path/te:lsps/te:lsp" + 1274 "/te:lsp-provisioning-error-infos" + 1275 "/te:lsp-provisioning-error-info" { 1276 when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1277 "/te:p2p-primary-path/te:lsps/te:lsp" + 1278 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1279 description 1280 "When the signaling protocol is RSVP-TE "; 1281 } 1282 description 1283 "Augmentation for RSVP-TE per path error reason"; 1284 uses rsvp-te-lsp-error-info; 1285 } 1287 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1288 "/te:p2p-secondary-path/te:lsps/te:lsp" { 1289 when "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1290 "/te:p2p-secondary-path/te:lsps/te:lsp" + 1291 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1292 description 1293 "When the signaling protocol is RSVP-TE "; 1294 } 1295 description 1296 "RSVP-TE generic data augmentation pertaining to specific TE 1297 LSP"; 1298 uses rsvp-te-lsp-properties; 1299 } 1300 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1301 "/te:p2p-secondary-path" + 1302 "/te:lsp-provisioning-error-infos" + 1303 "/te:lsp-provisioning-error-info" { 1304 description 1305 "Augmentation for RSVP-TE per path error reason"; 1306 uses rsvp-te-lsp-error-info; 1307 } 1308 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1309 "/te:p2p-secondary-path/te:lsps/te:lsp" + 1310 "/te:lsp-provisioning-error-infos" + 1311 "/te:lsp-provisioning-error-info" { 1312 when "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1313 "/te:p2p-secondary-path/te:lsps/te:lsp" + 1314 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1315 description 1316 "When the signaling protocol is RSVP-TE "; 1317 } 1318 description 1319 "Augmentation for RSVP-TE per LSP error reason"; 1320 uses rsvp-te-lsp-error-info; 1321 } 1323 /* TE interface augmentation */ 1324 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1325 description 1326 "RSVP-TE generic data augmentation pertaining to specific TE 1327 interface"; 1328 } 1329 } 1330 1332 Figure 4: RSVP TE generic YANG module 1334 2.3.2. RSVP-TE MPLS YANG Module 1336 The RSVP-TE MPLS YANG module "ietf-rsvp-te-mpls" imports the 1337 following module(s): 1339 o ietf-rsvp defined in [I-D.ietf-teas-yang-rsvp] 1341 o ietf-routing-types defined in [RFC8294] 1343 o ietf-te-mpls-types defined in [I-D.ietf-teas-yang-te-types] 1345 o ietf-te and ietf-te-dev defined in [I-D.ietf-teas-yang-te] 1347 This module references the following documents: 1348 [I-D.ietf-teas-yang-rsvp], [RFC8349], [I-D.ietf-teas-yang-te-types], 1349 [I-D.ietf-teas-yang-te], [RFC3209]. 1351 file "ietf-rsvp-te-mpls@2019-04-09.yang" 1352 module ietf-rsvp-te-mpls { 1353 yang-version 1.1; 1355 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls"; 1357 prefix "rsvp-te-mpls"; 1359 import ietf-rsvp { 1360 prefix "rsvp"; 1361 reference "draft-ietf-teas-yang-rsvp: A YANG Data Model for 1362 Resource Reservation Protocol (RSVP)"; 1363 } 1365 import ietf-routing { 1366 prefix "rt"; 1367 reference "RFC8349: A YANG Data Model for Routing Management"; 1368 } 1370 import ietf-te-packet-types { 1371 prefix "te-packet-types"; 1372 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 1373 Common Traffic Engineering Types"; 1374 } 1376 import ietf-te-types { 1377 prefix "te-types"; 1378 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 1379 Common Traffic Engineering Types"; 1380 } 1382 import ietf-te { 1383 prefix "te"; 1384 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 1385 Engineering Tunnels and Interfaces"; 1386 } 1388 import ietf-te-device { 1389 prefix "te-dev"; 1390 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 1391 Engineering Tunnels and Interfaces"; 1392 } 1394 organization 1395 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1396 Working Group"; 1398 contact 1399 "WG Web: 1400 WG List: 1402 WG Chair: Lou Berger 1403 1405 WG Chair: Vishnu Pavan Beeram 1406 1408 Editor: Vishnu Pavan Beeram 1409 1411 Editor: Tarek Saad 1412 1414 Editor: Rakesh Gandhi 1415 1417 Editor: Xufeng Liu 1418 1420 Editor: Igor Bryskin 1421 1423 Editor: Himanshu Shah 1424 "; 1426 description 1427 "Latest update to MPLS RSVP-TE YANG data model. 1428 The model fully conforms to the Network Management Datastore 1429 Architecture (NMDA). 1431 Copyright (c) 2018 IETF Trust and the persons 1432 identified as authors of the code. All rights reserved. 1434 Redistribution and use in source and binary forms, with or 1435 without modification, is permitted pursuant to, and subject 1436 to the license terms contained in, the Simplified BSD License 1437 set forth in Section 4.c of the IETF Trust's Legal Provisions 1438 Relating to IETF Documents 1439 (https://trustee.ietf.org/license-info). 1440 This version of this YANG module is part of RFC XXXX; see 1441 the RFC itself for full legal notices."; 1443 // RFC Ed.: replace XXXX with actual RFC number and remove this 1444 // note. 1446 // RFC Ed.: update the date below with the date of RFC publication 1447 // and remove this note. 1449 revision "2019-04-09" { 1450 description "Update to MPLS RSVP-TE YANG initial revision."; 1451 reference 1452 "RFCXXXX: A YANG Data Model for RSVP-TE Protocol"; 1453 } 1455 /* RSVP-TE MPLS LSPs groupings */ 1456 grouping lsp-attributes-flags-mpls-config { 1457 description 1458 "Configuration parameters relating to RSVP-TE MPLS LSP 1459 attribute flags"; 1460 } 1462 grouping lsp-session-attributes-obj-flags-mpls-config { 1463 description 1464 "Configuration parameters relating to RSVP-TE MPLS LSP 1465 session attribute flags"; 1466 reference 1467 "RFC4859: Registry for RSVP-TE Session Flags"; 1468 leaf-list session-attribute { 1469 when "../session-attribute = 1470 'te-types:bandwidth-protection-desired' or 1471 ../session-attribute = 1472 'te-types:soft-preemption-desired'"; 1473 type identityref { 1474 base te-types:session-attributes-flags; 1475 } 1476 description "RSVP session attributes flags"; 1477 reference 1478 "RFC4859: Registry for RSVP-TE Session Flags"; 1479 } 1480 } 1482 grouping tunnel-properties-mpls-config { 1483 description 1484 "Top level grouping for LSP properties."; 1485 uses lsp-session-attributes-obj-flags-mpls-config; 1486 uses lsp-attributes-flags-mpls-config; 1487 } 1489 grouping lsp-properties-mpls { 1490 description 1491 "Top level grouping for LSP properties."; 1492 uses lsp-session-attributes-obj-flags-mpls-config; 1493 uses lsp-attributes-flags-mpls-config; 1494 } 1495 /* End of RSVP-TE MPLS LSPs groupings */ 1497 /* MPLS RSVP-TE interface groupings */ 1498 grouping rsvp-te-interface-state { 1499 description 1500 "The RSVP-TE interface state grouping"; 1501 leaf over-subscribed-bandwidth { 1502 type te-packet-types:bandwidth-kbps; 1503 description 1504 "The amount of over-subscribed bandwidth on 1505 the interface"; 1506 } 1507 } 1509 grouping rsvp-te-interface-softpreemption-state { 1510 description 1511 "The RSVP-TE interface preeemptions state grouping"; 1512 container interface-softpreemption-state { 1513 description 1514 "The RSVP-TE interface preeemptions state grouping"; 1515 leaf soft-preempted-bandwidth { 1516 type te-packet-types:bandwidth-kbps; 1517 description 1518 "The amount of soft-preempted bandwidth on 1519 this interface"; 1520 } 1521 list lsps { 1522 key 1523 "source destination tunnel-id lsp-id "+ 1524 "extended-tunnel-id"; 1525 description 1526 "List of LSPs that are soft-preempted"; 1527 leaf source { 1528 type leafref { 1529 path "/te:te/te:lsps-state/te:lsp/"+ 1530 "te:source"; 1531 } 1532 description 1533 "Tunnel sender address extracted from 1534 SENDER_TEMPLATE object"; 1535 reference "RFC3209"; 1536 } 1537 leaf destination { 1538 type leafref { 1539 path "/te:te/te:lsps-state/te:lsp/"+ 1540 "te:destination"; 1541 } 1542 description 1543 "Tunnel endpoint address extracted from 1544 SESSION object"; 1545 reference "RFC3209"; 1546 } 1547 leaf tunnel-id { 1548 type leafref { 1549 path "/te:te/te:lsps-state/te:lsp/"+ 1550 "te:tunnel-id"; 1551 } 1552 description 1553 "Tunnel identifier used in the SESSION 1554 that remains constant over the life 1555 of the tunnel."; 1556 reference "RFC3209"; 1557 } 1558 leaf lsp-id { 1559 type leafref { 1560 path "/te:te/te:lsps-state/te:lsp/"+ 1561 "te:lsp-id"; 1562 } 1563 description 1564 "Identifier used in the SENDER_TEMPLATE 1565 and the FILTER_SPEC that can be changed 1566 to allow a sender to share resources with 1567 itself."; 1568 reference "RFC3209"; 1569 } 1570 leaf extended-tunnel-id { 1571 type leafref { 1572 path "/te:te/te:lsps-state/te:lsp/"+ 1573 "te:extended-tunnel-id"; 1574 } 1575 description 1576 "Extended Tunnel ID of the LSP."; 1577 reference "RFC3209"; 1578 } 1579 leaf type { 1580 type leafref { 1581 path "/te:te/te:lsps-state/te:lsp/"+ 1582 "te:type"; 1583 } 1584 description "LSP type P2P or P2MP"; 1585 } 1586 } 1587 } 1588 } 1590 grouping bandwidth-mpls-constraints { 1591 description "Bandwidth constraints."; 1592 container bandwidth-mpls-constraints { 1593 description 1594 "Holds the bandwidth constraints properties"; 1595 leaf maximum-reservable { 1596 type te-packet-types:bandwidth-kbps; 1597 description 1598 "The maximum reservable bandwidth on the 1599 interface in kbps"; 1600 } 1601 leaf-list bc-value { 1602 type uint32 { 1603 range "0..4294967295"; 1604 } 1605 max-elements 8; 1606 description 1607 "The bandwidth constraint type"; 1608 } 1609 } 1610 } 1612 grouping bandwidth-constraint-values { 1613 description 1614 "Packet bandwidth contraints values"; 1615 choice value-type { 1616 description 1617 "Value representation"; 1619 case percentages { 1620 container perc-values { 1621 uses bandwidth-mpls-constraints; 1622 description 1623 "Percentage values"; 1624 } 1625 } 1626 case absolutes { 1627 container abs-values { 1628 uses bandwidth-mpls-constraints; 1629 description 1630 "Absolute values"; 1631 } 1632 } 1633 } 1634 } 1636 grouping bandwidth-mpls-reservable-config { 1637 description 1638 "Interface bandwidth reservable configuration grouping"; 1639 choice bandwidth-value { 1640 description "Reservable bandwidth configuration choice"; 1641 case absolute { 1642 leaf absolute-value { 1643 type te-packet-types:bandwidth-kbps; 1644 description "Absolute value of the bandwidth"; 1645 } 1646 } 1647 case percentage { 1648 leaf percent-value { 1649 type uint32 { 1650 range "0..4294967295"; 1651 } 1652 description "Percentage reservable bandwidth"; 1653 } 1654 description 1655 "The maximum reservable bandwidth on the 1656 interface"; 1657 } 1658 } 1659 choice bc-model-type { 1660 description 1661 "Reservable bandwidth percentage capacity 1662 values."; 1663 case bc-model-rdm { 1664 container bc-model-rdm { 1665 description 1666 "Russian Doll Model Bandwidth Constraints."; 1668 uses bandwidth-mpls-constraints; 1669 } 1670 } 1671 case bc-model-mam { 1672 container bc-model-mam { 1673 uses bandwidth-mpls-constraints; 1674 description 1675 "Maximum Allocation Model Bandwidth 1676 Constraints."; 1677 } 1678 } 1679 case bc-model-mar { 1680 container bc-model-mar { 1681 uses bandwidth-mpls-constraints; 1682 description 1683 "Maximum Allocation with Reservation Model 1684 Bandwidth Constraints."; 1685 } 1686 } 1687 } 1688 } 1690 grouping bandwidth-mpls-reservable { 1691 description 1692 "Packet reservable bandwidth"; 1693 container bandwidth-mpls-reservable { 1694 description 1695 "Interface bandwidth reservable container"; 1696 uses bandwidth-mpls-reservable-config; 1697 } 1698 } 1699 /* End of RSVP-TE interface groupings */ 1701 /* RSVP-TE FRR groupings */ 1702 grouping rsvp-te-frr-auto-tunnel-backup-config { 1703 description 1704 "Auto-tunnel backup configuration grouping"; 1705 leaf auto-backup-protection { 1706 type identityref { 1707 base te-packet-types:backup-protection-type; 1708 } 1709 default 1710 te-packet-types:backup-protection-node-link; 1711 description 1712 "Describes whether the backup should offer 1713 protection against link, node, or either"; 1714 } 1715 leaf auto-backup-path-computation { 1716 type identityref { 1717 base 1718 te-types:path-computation-srlg-type; 1719 } 1720 description 1721 "FRR backup computation type"; 1722 } 1723 } 1725 grouping rsvp-te-frr-backups-config { 1726 description 1727 "Top level container for RSVP-TE FRR backup parameters"; 1728 choice type { 1729 description 1730 "FRR backup tunnel type"; 1731 case static-tunnel { 1732 container static-backups { 1733 description "List of static backups"; 1734 list static-backup { 1735 key "backup-tunnel-name"; 1736 description 1737 "List of static backup tunnels that 1738 protect the RSVP-TE interface."; 1739 leaf backup-tunnel-name { 1740 type leafref { 1741 path "/te:te/te:tunnels/te:tunnel/te:name"; 1742 } 1743 description "FRR Backup tunnel name"; 1744 } 1745 } 1746 } 1747 } 1748 case auto-tunnel { 1749 container auto-tunnel-backups { 1750 description "Auto-tunnel choice"; 1751 uses rsvp-te-frr-auto-tunnel-backup-config; 1752 } 1753 } 1754 } 1755 } 1757 grouping rsvp-te-frr-backups { 1758 description 1759 "RSVP-TE facility backup grouping"; 1760 container rsvp-te-frr-backups { 1761 description 1762 "RSVP-TE facility backup properties"; 1763 uses rsvp-te-frr-backups-config; 1765 } 1766 } 1768 grouping lsp-backup-info-state { 1769 description "LSP backup information grouping"; 1770 leaf backup-tunnel-name { 1771 type string; 1772 description 1773 "If an LSP has an FRR backup LSP that can protect it, 1774 this field identifies the tunnel name of the backup LSP. 1775 Otherwise, this field is empty."; 1776 } 1777 leaf backup-frr-on { 1778 type uint8; 1779 description 1780 "Whether currently this backup is carrying traffic"; 1781 } 1782 leaf backup-protected-lsp-num { 1783 type uint32; 1784 description 1785 "Number of LSPs protected by this backup"; 1786 } 1787 } 1789 grouping lsp-backup-info { 1790 description "Backup/bypass LSP related information"; 1791 container backup-info { 1792 description 1793 "backup information"; 1794 uses lsp-backup-info-state; 1795 } 1796 } 1798 grouping fast-reroute-local-revertive-config { 1799 description "RSVP-TE FRR local revertive grouping"; 1800 leaf rsvp-frr-local-revert-delay { 1801 type uint32; 1802 description 1803 "Time to wait after primary link is restored 1804 before node attempts local revertive 1805 procedures."; 1806 } 1807 } 1809 /*** End of RSVP-TE FRR backup information ***/ 1811 grouping fast-reroute-local-revertive { 1812 description 1813 "Top level grouping for globals properties"; 1814 container fast-reroute-local-revertive { 1815 description "RSVP-TE FRR local revertive container"; 1816 uses fast-reroute-local-revertive-config; 1817 } 1818 } 1820 /* RSVP-TE global properties */ 1821 augment "/rt:routing/rt:control-plane-protocols/" 1822 + "rt:control-plane-protocol/rsvp:rsvp" { 1823 description 1824 "RSVP-TE augmentation to RSVP globals"; 1825 uses fast-reroute-local-revertive; 1826 } 1828 /* Linkage to the base RSVP all interfaces */ 1829 augment "/rt:routing/rt:control-plane-protocols/" 1830 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" { 1831 description 1832 "Augmentations for RSVP-TE MPLS all interfaces properties"; 1833 /* To be added */ 1834 } 1836 /* Linkage to per RSVP interface */ 1837 augment "/rt:routing/rt:control-plane-protocols/" 1838 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + 1839 "rsvp:interface" { 1840 description 1841 "Augmentations for RSVP-TE MPLS per interface properties"; 1842 /* To be added */ 1843 } 1845 /* add augmentation for sessions neighbors */ 1846 augment "/rt:routing/rt:control-plane-protocols/" 1847 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1848 + "rsvp:sessions/rsvp:session/rsvp:state" { 1849 description 1850 "Augmentations for RSVP-TE MPLS sessions"; 1851 /* To be added */ 1852 } 1854 augment "/rt:routing/rt:control-plane-protocols/" 1855 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" { 1856 description 1857 "Augmentations for RSVP-TE MPLS neighbors properties"; 1858 /* To be added */ 1859 } 1860 /** 1861 * Augmentation to TE generic module 1862 */ 1863 augment "/te:te/te:tunnels/te:tunnel" { 1864 description 1865 "Augmentations for RSVP-TE MPLS TE tunnel properties"; 1866 uses tunnel-properties-mpls-config; 1867 } 1869 augment "/te:te/te:lsps-state/te:lsp" { 1870 when "/te:te/te:lsps-state/te:lsp" + 1871 "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1872 description 1873 "When the signaling protocol is RSVP-TE "; 1874 } 1875 description 1876 "RSP-TE MPLS LSP state properties"; 1877 uses lsp-properties-mpls; 1878 uses lsp-backup-info; 1879 } 1881 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 1882 "/te:p2p-primary-path/te:lsps/te:lsp" { 1883 when "/te:te/te:tunnels/te:tunnel" + 1884 "/te:p2p-secondary-paths/te:p2p-secondary-path/" + 1885 "te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1886 description 1887 "When the signaling protocol is RSVP-TE "; 1888 } 1889 description 1890 "RSVP-TE MPLS LSP state properties"; 1891 uses lsp-properties-mpls; 1892 uses lsp-backup-info; 1893 } 1895 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 1896 "/te:p2p-secondary-path/te:lsps/te:lsp" { 1897 when "/te:te/te:tunnels/te:tunnel" + 1898 "/te:p2p-secondary-paths/te:p2p-secondary-path/" + 1899 "te:path-setup-protocol = 'te-types:path-setup-rsvp'" { 1900 description 1901 "When the signaling protocol is RSVP-TE "; 1902 } 1903 description 1904 "RSVP-TE MPLS LSP state properties"; 1905 uses lsp-properties-mpls; 1906 uses lsp-backup-info; 1907 } 1908 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1909 description 1910 "RSVP reservable bandwidth configuration properties"; 1911 uses bandwidth-mpls-reservable; 1912 } 1914 augment "/te:te/te-dev:interfaces/te-dev:interface" { 1915 description 1916 "RSVP reservable bandwidth configuration properties"; 1917 uses rsvp-te-frr-backups; 1918 } 1919 } 1920 1922 Figure 5: RSVP TE MPLS YANG module 1924 3. IANA Considerations 1926 This document registers the following URIs in the IETF XML registry 1927 [RFC3688]. Following the format in [RFC3688], the following 1928 registration is requested to be made. 1930 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp-te 1931 XML: N/A, the requested URI is an XML namespace. 1933 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls 1934 XML: N/A, the requested URI is an XML namespace. 1936 This document registers two YANG modules in the YANG Module Names 1937 registry [RFC6020]. 1939 name: ietf-rsvp 1940 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp-te 1941 prefix: ietf-rsvp 1942 reference: RFCXXXX 1944 name: ietf-rsvp-te 1945 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls 1946 prefix: ietf-rsvp-te 1947 reference: RFCXXXX 1949 4. Security Considerations 1951 The YANG module defined in this memo is designed to be accessed via 1952 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 1953 secure transport layer and the mandatory-to-implement secure 1954 transport is SSH [RFC6242]. The NETCONF access control model 1955 [RFC8341] provides means to restrict access for particular NETCONF 1956 users to a pre-configured subset of all available NETCONF protocol 1957 operations and content. 1959 There are a number of data nodes defined in the YANG module(s) 1960 defined in this document which are writable/creatable/deletable 1961 (i.e., config true, which is the default). These data nodes may be 1962 considered sensitive or vulnerable in some network environments. 1963 Write operations (e.g., ) to these data nodes without 1964 proper protection can have a negative effect on network operations. 1966 /rt:routing/rt:control-plane-protocols/rt:control-plane- 1967 protocol/rsvp:rsvp/globals: The data nodes defined defined in this 1968 document and under this branch are applicable device-wide and can 1969 affect all RSVP established sessions. Unauthorized access to this 1970 container can potentially cause disruptive event(s) on all 1971 established sessions. 1973 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ 1974 rsvp:rsvp/rsvp:globals/rsvp:sessions: The data nodes defined in this 1975 document and under this branch are applicable to one or all RSVP-TE 1976 session(s). Unauthorized access to this container can potentially 1977 affect the impacted RSVP session(s). 1979 /rt:routing/rt:control-plane-protocols/rt:control-plane- 1980 protocol/rsvp:rsvp/rsvp:interfaces: The data nodes defined defined in 1981 this document and under this branch are applicable to one or all RSVP 1982 interfaces. Unauthorized access to this container can potentially 1983 affect established session(s) over impacted interface(s). 1985 5. Acknowledgement 1987 The authors would like to thank Lou Berger for reviewing and 1988 providing valuable feedback on this document. 1990 6. Contributors 1991 Xia Chen 1992 Huawei Technologies 1994 Email: jescia.chenxia@huawei.com 1996 Raqib Jones 1997 Brocade 1999 Email: raqib@Brocade.com 2001 Bin Wen 2002 Comcast 2004 Email: Bin_Wen@cable.comcast.com 2006 7. References 2008 7.1. Normative References 2010 [I-D.ietf-teas-yang-rsvp] 2011 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 2012 and H. Shah, "A YANG Data Model for Resource Reservation 2013 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-10 (work in 2014 progress), February 2019. 2016 [I-D.ietf-teas-yang-te] 2017 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 2018 "A YANG Data Model for Traffic Engineering Tunnels and 2019 Interfaces", draft-ietf-teas-yang-te-21 (work in 2020 progress), April 2019. 2022 [I-D.ietf-teas-yang-te-types] 2023 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 2024 "Traffic Engineering Common YANG Types", draft-ietf-teas- 2025 yang-te-types-08 (work in progress), April 2019. 2027 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2028 Requirement Levels", BCP 14, RFC 2119, 2029 DOI 10.17487/RFC2119, March 1997, 2030 . 2032 [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. 2033 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 2034 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, 2035 September 1997, . 2037 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 2038 DOI 10.17487/RFC3688, January 2004, 2039 . 2041 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 2042 the Network Configuration Protocol (NETCONF)", RFC 6020, 2043 DOI 10.17487/RFC6020, October 2010, 2044 . 2046 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2047 and A. Bierman, Ed., "Network Configuration Protocol 2048 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2049 . 2051 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 2052 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 2053 . 2055 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 2056 RFC 6991, DOI 10.17487/RFC6991, July 2013, 2057 . 2059 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2060 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2061 . 2063 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 2064 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 2065 . 2067 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2068 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2069 May 2017, . 2071 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 2072 "Common YANG Data Types for the Routing Area", RFC 8294, 2073 DOI 10.17487/RFC8294, December 2017, 2074 . 2076 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 2077 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 2078 . 2080 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 2081 Access Control Model", STD 91, RFC 8341, 2082 DOI 10.17487/RFC8341, March 2018, 2083 . 2085 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 2086 Routing Management (NMDA Version)", RFC 8349, 2087 DOI 10.17487/RFC8349, March 2018, 2088 . 2090 7.2. Informative References 2092 [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated 2093 Services", RFC 2210, DOI 10.17487/RFC2210, September 1997, 2094 . 2096 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 2097 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 2098 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 2099 . 2101 [RFC4859] Farrel, A., "Codepoint Registry for the Flags Field in the 2102 Resource Reservation Protocol-Traffic Engineering (RSVP- 2103 TE) Session Attribute Object", RFC 4859, 2104 DOI 10.17487/RFC4859, April 2007, 2105 . 2107 [RFC4920] Farrel, A., Ed., Satyanarayana, A., Iwata, A., Fujita, N., 2108 and G. Ash, "Crankback Signaling Extensions for MPLS and 2109 GMPLS RSVP-TE", RFC 4920, DOI 10.17487/RFC4920, July 2007, 2110 . 2112 [RFC5420] Farrel, A., Ed., Papadimitriou, D., Vasseur, JP., and A. 2113 Ayyangarps, "Encoding of Attributes for MPLS LSP 2114 Establishment Using Resource Reservation Protocol Traffic 2115 Engineering (RSVP-TE)", RFC 5420, DOI 10.17487/RFC5420, 2116 February 2009, . 2118 [RFC7570] Margaria, C., Ed., Martinelli, G., Balls, S., and B. 2119 Wright, "Label Switched Path (LSP) Attribute in the 2120 Explicit Route Object (ERO)", RFC 7570, 2121 DOI 10.17487/RFC7570, July 2015, 2122 . 2124 Authors' Addresses 2126 Vishnu Pavan Beeram 2127 Juniper Networks 2129 Email: vbeeram@juniper.net 2130 Tarek Saad 2131 Juniper Networks 2133 Email: tsaad@juniper.net 2135 Rakesh Gandhi 2136 Cisco Systems, Inc. 2138 Email: rgandhi@cisco.com 2140 Xufeng Liu 2141 Volta Networks 2143 Email: xufeng.liu.ietf@gmail.com 2145 Igor Bryskin 2146 Huawei Technologies 2148 Email: Igor.Bryskin@huawei.com 2150 Himanshu Shah 2151 Ciena 2153 Email: hshah@ciena.com