idnits 2.17.1 draft-ietf-teas-yang-rsvp-14.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 326 has weird spacing: '...on-port ine...' == Line 533 has weird spacing: '...ce-name lea...' == Line 543 has weird spacing: '...on-port ine...' == Line 546 has weird spacing: '...ce-name lea...' == Line 554 has weird spacing: '...ce-name lea...' == (1 more instance...) -- The document date (July 27, 2020) is 1362 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 (-09) exists of draft-ietf-teas-yang-rsvp-te-08 Summary: 0 errors (**), 0 flaws (~~), 8 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: January 28, 2021 R. Gandhi 6 Cisco Systems, Inc. 7 X. Liu 8 Volta Networks 9 I. Bryskin 10 Individual 11 July 27, 2020 13 A YANG Data Model for Resource Reservation Protocol (RSVP) 14 draft-ietf-teas-yang-rsvp-14 16 Abstract 18 This document defines a YANG data model for the configuration and 19 management of RSVP Protocol. The model covers the building blocks of 20 the RSVP protocol that can be augmented and used by other RSVP 21 extension models such as RSVP extensions to Traffic-Engineering 22 (RSVP-TE). The model is divided into base and extended modules that 23 cover data for configuration, operational state, remote procedure 24 calls, and event notifications. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at https://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on January 28, 2021. 43 Copyright Notice 45 Copyright (c) 2020 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (https://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 62 2.1. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 63 2.2. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 4 64 3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 4 65 3.1. Module(s) Relationship . . . . . . . . . . . . . . . . . 4 66 3.2. Design Considerations . . . . . . . . . . . . . . . . . . 5 67 3.3. Model Notifications . . . . . . . . . . . . . . . . . . . 6 68 4. RSVP Base YANG Model . . . . . . . . . . . . . . . . . . . . 6 69 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 6 70 4.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 8 71 4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 13 72 5. RSVP Extended YANG Model . . . . . . . . . . . . . . . . . . 34 73 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 34 74 5.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 34 75 5.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 36 76 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 44 77 7. Security Considerations . . . . . . . . . . . . . . . . . . . 45 78 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 46 79 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 46 80 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 81 10.1. Normative References . . . . . . . . . . . . . . . . . . 47 82 10.2. Informative References . . . . . . . . . . . . . . . . . 49 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 50 85 1. Introduction 87 YANG [RFC6020] and [RFC7950] is a data modeling language that was 88 introduced to define the contents of a conceptual data store that 89 allows networked devices to be managed using NETCONF [RFC6241]. YANG 90 has proved relevant beyond its initial confines, as bindings to other 91 interfaces (e.g. RESTCONF [RFC8040]) and encoding other than XML 92 (e.g. JSON) are being defined. Furthermore, YANG data models can be 93 used as the basis of implementation for other interfaces, such as CLI 94 and programmatic APIs. 96 This document defines a YANG data model that can be used to configure 97 and manage the RSVP protocol [RFC2205]. The model is separated into 98 two modules: a base and RSVP extended YANG modules. The RSVP base 99 YANG module models the data that is core to the function of the RSVP 100 protocol and MUST be supported by vendors that support RSVP protocol 101 [RFC2205]. The RSVP extended module models data that is either 102 optional or provides ability to tune basic RSVP protocol 103 functionality. The support for RSVP extended 104 features by all vendors is considered optional. 106 The RSVP YANG model provides the building blocks needed to allow 107 augmentation by other models that extend the RSVP protocol- such as 108 using RSVP extensions to signal Label Switched Paths (LSPs) as 109 defined in [RFC3209]. 111 The YANG module(s) defined in this document are compatible with the 112 Network Management Datastore Architecture (NMDA) [RFC7950]. 114 2. Requirements Language 116 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 117 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 118 "OPTIONAL" in this document are to be interpreted as described in BCP 119 14 [RFC2119] [RFC8174] when, and only when, they appear in all 120 capitals, as shown here. 122 The terminology for describing YANG data models is found in 123 [RFC7950]. 125 2.1. Prefixes in Data Node Names 127 In this document, names of data nodes and other data model objects 128 are prefixed using the standard prefix associated with the 129 corresponding YANG imported modules, as shown in Table 1. 131 +-----------+--------------------+-----------+ 132 | Prefix | YANG module | Reference | 133 +-----------+--------------------+-----------+ 134 | yang | ietf-yang-types | [RFC6991] | 135 | | | | 136 | inet | ietf-inet-types | [RFC6991] | 137 | | | | 138 | rt-types | ietf-routing-types | [RFC8294] | 139 | | | | 140 | key-chain | ietf-key-chain | [RFC8177] | 141 +-----------+--------------------+-----------+ 143 Table 1: Prefixes and corresponding YANG modules 145 2.2. Model Tree Diagram 147 A full tree diagram of the module(s) defined in this document is 148 given in subsequent sections as per the syntax defined in [RFC8340]. 150 3. Model Overview 152 The RSVP base YANG module augments the "control-plane-protocol" list 153 in ietf-routing [RFC8349] module with specific RSVP parameters in an 154 "rsvp" container. It also defines an extension identity "rsvp" of 155 base "rt:routing-protocol" to identify the RSVP protocol. 157 The augmentation of the RSVP model by other models (e.g. YANG models 158 that support RSVP Traffic Engineering (TE) extensions for signaling 159 Label Switched Paths (LSPs)) are outside the scope of this document 160 and are discussed in separate document(s), e.g. 161 [I-D.ietf-teas-yang-rsvp-te]. 163 3.1. Module(s) Relationship 165 This document divides the RSVP model into two modules: base and RSVP 166 extended modules. Some RSVP data are categorized as core to the 167 function of the protocol and MUST be supported by vendors claiming 168 the support for RSVP protocol [RFC2205]. Such configuration and 169 state data are grouped in the RSVP base module. 171 Other RSVP extended features are categorized as either optional or 172 providing ability to better tune the basic functionality of the RSVP 173 protocol. The support for RSVP extended features by all vendors is 174 considered optional. Such features are grouped in a separate RSVP 175 extended module. 177 The relationship between the base and RSVP extended YANG modules and 178 the IETF routing YANG model is shown in Figure 1. 180 +--------------+ 181 Routing | ietf-routing | 182 +--------------+ 183 o 184 | 185 +-----------+ 186 RSVP module | ietf-rsvp | 187 +-----------+ 188 o 189 | o: augment relationship 190 RSVP extended | 191 module +--------------------+ 192 | ietf-rsvp-extended | 193 +--------------------+ 195 Figure 1: Relationship of RSVP and RSVP extended modules with other 196 protocol modules 198 3.2. Design Considerations 200 The RSVP base model does not aim to be feature complete. The primary 201 intent is to cover a set of standard core features that are commonly 202 in use. For example: 204 o Authentication ([RFC2747]) 206 o Refresh Reduction ([RFC2961]) 208 o Hellos ([RFC3209]) 210 o Graceful Restart ([RFC3473], [RFC5063]) 212 The RSVP extended YANG module covers the configuration for optional 213 features that are not must for basic RSVP protocol operation. 215 The defined data model supports configuration inheritance for 216 neighbors, and interfaces. Data nodes defined under the main 217 container (e.g. the container that encompasses the list of 218 interfaces, or neighbors) are assumed to apply equally to all 219 elements of the list, unless overridden explicitly for a certain 220 element (e.g. interface). Vendors are expected to augment the above 221 container(s) to provide the list of inheritance command for their 222 implementations. 224 3.3. Model Notifications 226 Notifications data modeling is key in any defined data model. 228 [RFC8639] and [RFC8641] define a subscription and push mechanism for 229 YANG datastores. This mechanism currently allows the user to: 231 o Subscribe notifications on a per client basis 233 o Specify subtree filters or xpath filters so that only interested 234 contents will be sent. 236 o Specify either periodic or on-demand notifications. 238 4. RSVP Base YANG Model 240 The RSVP base module defines the main building blocks for modeling 241 the RSVP protocol and augments the IETF routing module. 243 4.1. Module Structure 245 The RSVP base YANG data model defines the container "rsvp" as the top 246 level container in this data model. The presence of this container 247 enables the RSVP protocol functionality. 249 The derived state data is contained in "read-only" nodes directly 250 under the intended object as shown in Figure 2. 252 module: ietf-rsvp 253 +--rw rsvp! 254 +--rw globals 255 . 256 . 257 +--rw interfaces 258 . 259 +-- ro <> 260 . 261 . 262 +--rw neighbors 263 . 264 +-- ro <> 265 . 266 . 267 +--rw sessions 268 . 269 +-- ro <> 270 . 271 rpcs: 272 +--x clear-session 273 +--x clear-neighbor 274 +--x clear-authentication 276 Figure 2: RSVP high-level tree model view 278 Configuration and state data are grouped to those applicable on per 279 node (global), per interface, per neighbor, or per session. 281 'globals': 283 The globals container includes configuration and state data that 284 is applicable globally and affects the RSVP protocol behavior. 286 'interfaces': 288 The 'interfaces' container includes a list of RSVP enabled 289 interfaces. It also includes configuration and state data that 290 are applicable to all interfaces. An entry in the interfaces list 291 MAY carry its own configuration or state data. Any data or state 292 under the "interfaces" container level is equally applicable to 293 all interfaces unless it is explicitly overridden by configuration 294 or state under a specific interface. 296 'neighbors' : 298 The 'neighbors' container includes a list of RSVP neighbors. An 299 entry in the RSVP neighbor list MAY carry its own configuration 300 and state relevant to the specific RSVP neighbor. RSVP neighbors 301 can be dynamically discovered using RSVP signaling or explicitly 302 configured. 304 'sessions': 306 The 'sessions' container includes a list RSVP sessions. An entry 307 in the RSVP session list MAY carry its own configuration and state 308 relevant to a specific RSVP session. RSVP sessions are usually 309 derived state that are created as result of signaling. This model 310 defines attributes related to IP RSVP sessions as defined in 311 [RFC2205]. 313 4.2. Tree Diagram 315 Figure 3 shows the YANG tree representation for configuration and 316 state data that is augmenting the RSVP base module: 318 module: ietf-rsvp 319 augment /rt:routing/rt:control-plane-protocols 320 /rt:control-plane-protocol: 321 +--rw rsvp! 322 +--rw globals 323 | +--rw sessions 324 | | +--ro session-ip* 325 | | [destination protocol-id destination-port] 326 | | +--ro destination-port inet:port-number 327 | | +--ro protocol-id uint8 328 | | +--ro source? inet:ip-address 329 | | +--ro destination inet:ip-address 330 | | +--ro session-name? string 331 | | +--ro session-status? enumeration 332 | | +--ro session-type? identityref 333 | | +--ro psbs 334 | | | +--ro psb* [] 335 | | | +--ro source-port? inet:port-number 336 | | | +--ro expires-in? uint32 337 | | +--ro rsbs 338 | | +--ro rsb* [] 339 | | +--ro source-port? inet:port-number 340 | | +--ro reservation-style? identityref 341 | | +--ro expires-in? uint32 342 | +--ro statistics 343 | | +--ro messages 344 | | | +--ro ack-sent? yang:counter64 345 | | | +--ro ack-received? yang:counter64 346 | | | +--ro bundle-sent? yang:counter64 347 | | | +--ro bundle-received? yang:counter64 348 | | | +--ro hello-sent? yang:counter64 349 | | | +--ro hello-received? yang:counter64 350 | | | +--ro integrity-challenge-sent? yang:counter64 351 | | | +--ro integrity-challenge-received? yang:counter64 352 | | | +--ro integrity-response-sent? yang:counter64 353 | | | +--ro integrity-response-received? yang:counter64 354 | | | +--ro notify-sent? yang:counter64 355 | | | +--ro notify-received? yang:counter64 356 | | | +--ro path-sent? yang:counter64 357 | | | +--ro path-received? yang:counter64 358 | | | +--ro path-err-sent? yang:counter64 359 | | | +--ro path-err-received? yang:counter64 360 | | | +--ro path-tear-sent? yang:counter64 361 | | | +--ro path-tear-received? yang:counter64 362 | | | +--ro resv-sent? yang:counter64 363 | | | +--ro resv-received? yang:counter64 364 | | | +--ro resv-confirm-sent? yang:counter64 365 | | | +--ro resv-confirm-received? yang:counter64 366 | | | +--ro resv-err-sent? yang:counter64 367 | | | +--ro resv-err-received? yang:counter64 368 | | | +--ro resv-tear-sent? yang:counter64 369 | | | +--ro resv-tear-received? yang:counter64 370 | | | +--ro summary-refresh-sent? yang:counter64 371 | | | +--ro summary-refresh-received? yang:counter64 372 | | | +--ro unknown-messages-received? yang:counter64 373 | | +--ro packets 374 | | | +--ro sent? yang:counter64 375 | | | +--ro received? yang:counter64 376 | | +--ro errors 377 | | +--ro authenticate? yang:counter64 378 | | +--ro checksum? yang:counter64 379 | | +--ro packet-length? yang:counter64 380 | +--rw graceful-restart 381 | +--rw enabled? boolean 382 +--rw interfaces 383 | +--rw refresh-reduction 384 | | +--rw enabled? boolean 385 | +--rw hellos 386 | | +--rw enabled? boolean 387 | +--rw authentication 388 | | +--rw enabled? boolean 389 | | +--rw authentication-key? string 390 | | +--rw crypto-algorithm identityref 391 | +--ro statistics 392 | | +--ro messages 393 | | | +--ro ack-sent? yang:counter64 394 | | | +--ro ack-received? yang:counter64 395 | | | +--ro bundle-sent? yang:counter64 396 | | | +--ro bundle-received? yang:counter64 397 | | | +--ro hello-sent? yang:counter64 398 | | | +--ro hello-received? yang:counter64 399 | | | +--ro integrity-challenge-sent? yang:counter64 400 | | | +--ro integrity-challenge-received? yang:counter64 401 | | | +--ro integrity-response-sent? yang:counter64 402 | | | +--ro integrity-response-received? yang:counter64 403 | | | +--ro notify-sent? yang:counter64 404 | | | +--ro notify-received? yang:counter64 405 | | | +--ro path-sent? yang:counter64 406 | | | +--ro path-received? yang:counter64 407 | | | +--ro path-err-sent? yang:counter64 408 | | | +--ro path-err-received? yang:counter64 409 | | | +--ro path-tear-sent? yang:counter64 410 | | | +--ro path-tear-received? yang:counter64 411 | | | +--ro resv-sent? yang:counter64 412 | | | +--ro resv-received? yang:counter64 413 | | | +--ro resv-confirm-sent? yang:counter64 414 | | | +--ro resv-confirm-received? yang:counter64 415 | | | +--ro resv-err-sent? yang:counter64 416 | | | +--ro resv-err-received? yang:counter64 417 | | | +--ro resv-tear-sent? yang:counter64 418 | | | +--ro resv-tear-received? yang:counter64 419 | | | +--ro summary-refresh-sent? yang:counter64 420 | | | +--ro summary-refresh-received? yang:counter64 421 | | | +--ro unknown-messages-received? yang:counter64 422 | | +--ro packets 423 | | | +--ro sent? yang:counter64 424 | | | +--ro received? yang:counter64 425 | | +--ro errors 426 | | +--ro authenticate? yang:counter64 427 | | +--ro checksum? yang:counter64 428 | | +--ro packet-length? yang:counter64 429 | +--rw interface* [interface] 430 | +--rw interface if:interface-ref 431 | +--rw refresh-reduction 432 | | +--rw enabled? boolean 433 | +--rw hellos 434 | | +--rw enabled? boolean 435 | +--rw authentication 436 | | +--rw enabled? boolean 437 | | +--rw authentication-key? string 438 | | +--rw crypto-algorithm identityref 439 | +--ro statistics 440 | +--ro messages 441 | | +--ro ack-sent? 442 | | | yang:counter64 443 | | +--ro ack-received? 444 | | | yang:counter64 445 | | +--ro bundle-sent? 446 | | | yang:counter64 447 | | +--ro bundle-received? 448 | | | yang:counter64 449 | | +--ro hello-sent? 450 | | | yang:counter64 451 | | +--ro hello-received? 452 | | | yang:counter64 453 | | +--ro integrity-challenge-sent? 454 | | | yang:counter64 455 | | +--ro integrity-challenge-received? 456 | | | yang:counter64 457 | | +--ro integrity-response-sent? 458 | | | yang:counter64 459 | | +--ro integrity-response-received? 460 | | | yang:counter64 461 | | +--ro notify-sent? 462 | | | yang:counter64 463 | | +--ro notify-received? 464 | | | yang:counter64 465 | | +--ro path-sent? 466 | | | yang:counter64 467 | | +--ro path-received? 468 | | | yang:counter64 469 | | +--ro path-err-sent? 470 | | | yang:counter64 471 | | +--ro path-err-received? 472 | | | yang:counter64 473 | | +--ro path-tear-sent? 474 | | | yang:counter64 475 | | +--ro path-tear-received? 476 | | | yang:counter64 477 | | +--ro resv-sent? 478 | | | yang:counter64 479 | | +--ro resv-received? 480 | | | yang:counter64 481 | | +--ro resv-confirm-sent? 482 | | | yang:counter64 483 | | +--ro resv-confirm-received? 484 | | | yang:counter64 485 | | +--ro resv-err-sent? 486 | | | yang:counter64 487 | | +--ro resv-err-received? 488 | | | yang:counter64 489 | | +--ro resv-tear-sent? 490 | | | yang:counter64 491 | | +--ro resv-tear-received? 492 | | | yang:counter64 493 | | +--ro summary-refresh-sent? 494 | | | yang:counter64 495 | | +--ro summary-refresh-received? 496 | | | yang:counter64 497 | | +--ro unknown-messages-received? 498 | | yang:counter64 499 | +--ro packets 500 | | +--ro sent? yang:counter64 501 | | +--ro received? yang:counter64 502 | +--ro errors 503 | +--ro authenticate? yang:counter64 504 | +--ro checksum? yang:counter64 505 | +--ro packet-length? yang:counter64 506 +--rw neighbors 507 +--rw neighbor* [address] 508 +--rw address inet:ip-address 509 +--rw epoch? uint32 510 +--rw expiry-time? uint32 511 +--rw graceful-restart 512 | +--rw enabled? boolean 513 | +--rw local-restart-time? uint32 514 | +--rw local-recovery-time? uint32 515 | +--rw neighbor-restart-time? uint32 516 | +--rw neighbor-recovery-time? uint32 517 | +--rw helper-mode 518 | +--rw enabled? boolean 519 | +--rw max-helper-restart-time? uint32 520 | +--rw max-helper-recovery-time? uint32 521 | +--rw neighbor-restart-time-remaining? uint32 522 | +--rw neighbor-recovery-time-remaining? uint32 523 +--rw hello-status? enumeration 524 +--rw interface? if:interface-ref 525 +--rw neighbor-status? enumeration 526 +--rw refresh-reduction-capable? boolean 527 +--rw restart-count? yang:counter32 528 +--rw restart-time? yang:date-and-time 530 rpcs: 531 +---x clear-session 532 | +---w input 533 | +---w routing-protocol-instance-name leafref 534 | +---w (filter-type) 535 | +--:(match-all) 536 | | +---w all empty 537 | +--:(match-one) 538 | +---w session-info 539 | +---w (session-type) 540 | +--:(rsvp-session-ip) 541 | +---w destination leafref 542 | +---w protocol-id uint8 543 | +---w destination-port inet:ip-address 544 +---x clear-neighbor 545 | +---w input 546 | +---w routing-protocol-instance-name leafref 547 | +---w (filter-type) 548 | +--:(match-all) 549 | | +---w all empty 550 | +--:(match-one) 551 | +---w neighbor-address leafref 552 +---x clear-authentication 553 +---w input 554 +---w routing-protocol-instance-name leafref 555 +---w (filter-type) 556 +--:(match-all) 557 | +---w all empty 558 +--:(match-one-interface) 559 +---w interface? if:interface-ref 561 Figure 3: RSVP model tree diagram 563 4.3. YANG Module 565 The ietf-rsvp module imports from the following modules: 567 o ietf-interfaces defined in [RFC8343] 569 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 571 o ietf-routing defined in [RFC8349] 573 o ietf-key-chain defined in [RFC8177] 575 This module references the following documents: [RFC2205], [RFC2747], 576 and [RFC2961]. 578 file "ietf-rsvp@2020-07-24.yang" 579 module ietf-rsvp { 580 yang-version 1.1; 581 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp"; 583 /* Replace with IANA when assigned */ 585 prefix rsvp; 586 import ietf-interfaces { 587 prefix if; 588 reference 589 "RFC8343: A YANG Data Model for Interface Management"; 590 } 591 import ietf-inet-types { 592 prefix inet; 593 reference 594 "RFC6991: Common YANG Data Types"; 595 } 596 import ietf-yang-types { 597 prefix yang; 598 reference 599 "RFC6991: Common YANG Data Types"; 600 } 601 import ietf-routing { 602 prefix rt; 603 reference 604 "RFC8349: A YANG Data Model for Routing Management 605 (NMDA Version)"; 606 } 607 import ietf-key-chain { 608 prefix key-chain; 609 reference 610 "RFC8177: YANG Data Model for Key Chains"; 611 } 612 import ietf-netconf-acm { 613 prefix nacm; 614 reference 615 "RFC8341: Network Configuration Access Control Model"; 616 } 617 organization 618 "IETF Traffic Engineering Architecture and Signaling (TEAS) 619 Working Group"; 620 contact 621 "WG Web: 622 WG List: 624 Editor: Vishnu Pavan Beeram 625 627 Editor: Tarek Saad 628 630 Editor: Rakesh Gandhi 631 633 Editor: Xufeng Liu 634 636 Editor: Igor Bryskin 637 "; 638 description 639 "This module contains the RSVP YANG data model. 640 The model fully conforms to the Network Management Datastore 641 Architecture (NMDA). 643 Copyright (c) 2019 IETF Trust and the persons 644 identified as authors of the code. All rights reserved. 646 Redistribution and use in source and binary forms, with or 647 without modification, is permitted pursuant to, and subject 648 to the license terms contained in, the Simplified BSD License 649 set forth in Section 4.c of the IETF Trust's Legal Provisions 650 Relating to IETF Documents 651 (https://trustee.ietf.org/license-info). 652 This version of this YANG module is part of RFC XXXX; see 653 the RFC itself for full legal notices."; 655 // RFC Ed.: replace XXXX with actual RFC number and remove this 656 // note. 657 // RFC Ed.: update the date below with the date of RFC publication 658 // and remove this note. 660 revision 2020-07-24 { 661 description 662 "Initial version."; 663 reference 664 "RFCXXXX: A YANG Data Model for Resource Reservation Protocol 665 (RSVP)"; 666 } 668 identity rsvp { 669 base rt:routing-protocol; 670 description 671 "RSVP protocol"; 672 } 674 identity rsvp-session-type { 675 description 676 "Base RSVP session type"; 677 } 679 identity rsvp-session-ip { 680 base rsvp-session-type; 681 description 682 "RSVP IP session type"; 683 } 685 identity reservation-style { 686 description 687 "Base identity for reservation style."; 688 } 690 identity reservation-wildcard-filter { 691 base reservation-style; 692 description 693 "Wildcard-Filter (WF) Style."; 694 reference 695 "RFC2205"; 696 } 698 identity reservation-fixed-filter { 699 base reservation-style; 700 description 701 "Fixed-Filter (FF) Style."; 702 reference 703 "RFC2205"; 704 } 706 identity reservation-shared-explicit { 707 base reservation-style; 708 description 709 "Shared Explicit (SE) Style."; 710 reference 711 "RFC2205"; 712 } 714 grouping graceful-restart-config { 715 description 716 "Base configuration parameters relating to RSVP 717 Graceful-Restart."; 718 leaf enabled { 719 type boolean; 720 description 721 "'true' if RSVP Graceful Restart is enabled. 722 'false' if RSVP Graceful Restart is disabled."; 723 } 724 } 726 grouping graceful-restart { 727 description 728 "RSVP graceful restart parameters grouping."; 729 container graceful-restart { 730 description 731 "RSVP graceful restart parameters container."; 732 uses graceful-restart-config; 733 } 734 } 736 grouping refresh-reduction-config { 737 description 738 "Configuration parameters related to RSVP refresh reduction."; 739 leaf enabled { 740 type boolean; 741 description 742 "'true' if RSVP Refresh Reduction is enabled. 743 'false' if RSVP Refresh Reduction is disabled."; 744 } 745 } 747 grouping refresh-reduction { 748 description 749 "Top level grouping for RSVP refresh reduction parameters."; 750 container refresh-reduction { 751 description 752 "Top level container for RSVP refresh reduction parameters."; 753 uses refresh-reduction-config; 754 } 755 } 757 grouping authentication-config { 758 description 759 "Configuration parameters relating to RSVP authentication"; 760 leaf enabled { 761 type boolean; 762 description 763 "'true' if RSVP Authentication is enabled. 764 'false' if RSVP Authentication is disabled."; 765 } 766 leaf authentication-key { 767 type string; 768 description 769 "An authentication key string."; 770 reference 771 "RFC2747: RSVP Cryptographic Authentication"; 772 } 773 leaf crypto-algorithm { 774 type identityref { 775 base key-chain:crypto-algorithm; 776 } 777 mandatory true; 778 description 779 "Cryptographic algorithm associated with key."; 780 } 781 } 783 grouping authentication { 784 description 785 "Top level grouping for RSVP authentication parameters."; 786 container authentication { 787 description 788 "Top level container for RSVP authentication parameters."; 789 uses authentication-config; 790 } 791 } 793 grouping hellos-config { 794 description 795 "Configuration parameters relating to RSVP hellos."; 796 leaf enabled { 797 type boolean; 798 description 799 "'true' if RSVP Hello is enabled. 800 'false' if RSVP Hello is disabled."; 801 } 802 } 804 grouping hellos { 805 description 806 "Top level grouping for RSVP hellos parameters."; 807 container hellos { 808 description 809 "Top level container for RSVP hello parameters."; 810 uses hellos-config; 811 } 812 } 814 grouping signaling-parameters-config { 815 description 816 "Configuration parameters relating to RSVP signaling."; 817 } 819 grouping signaling-parameters { 820 description 821 "Top level grouping for RSVP signaling parameters."; 822 uses signaling-parameters-config; 823 } 825 grouping session-attributes { 826 description 827 "Top level grouping for RSVP session properties."; 828 leaf destination-port { 829 type inet:port-number; 830 description 831 "RSVP destination port."; 832 reference 833 "RFC2205"; 834 } 835 leaf protocol-id { 836 type uint8; 837 description 838 "The IP protocol ID."; 839 reference 840 "RFC2205, section 3.2"; 841 } 842 leaf source { 843 type inet:ip-address; 844 description 845 "RSVP source address."; 846 reference 847 "RFC2205"; 848 } 849 leaf destination { 850 type inet:ip-address; 851 description 852 "RSVP destination address."; 853 reference 854 "RFC2205"; 855 } 856 leaf session-name { 857 type string; 858 description 859 "The signaled name of this RSVP session."; 860 } 861 leaf session-status { 862 type enumeration { 863 enum up { 864 description 865 "RSVP session is up."; 866 } 867 enum down { 868 description 869 "RSVP session is down."; 870 } 871 } 872 description 873 "Enumeration of RSVP session states."; 875 } 876 leaf session-type { 877 type identityref { 878 base rsvp-session-type; 879 } 880 description 881 "RSVP session type."; 882 } 883 container psbs { 884 description 885 "Path State Block (PSB) container."; 886 list psb { 887 description 888 "List of Path State Blocks."; 889 leaf source-port { 890 type inet:port-number; 891 description 892 "RSVP source port."; 893 reference 894 "RFC2205"; 895 } 896 leaf expires-in { 897 type uint32; 898 units "seconds"; 899 description 900 "Time to expiry (in seconds)."; 901 } 902 } 903 } 904 container rsbs { 905 description 906 "Reservation State Block (RSB) container."; 907 list rsb { 908 description 909 "List of Reservation State Blocks."; 910 leaf source-port { 911 type inet:port-number; 912 description 913 "RSVP source port."; 914 reference 915 "RFC2205"; 916 } 917 leaf reservation-style { 918 type identityref { 919 base reservation-style; 920 } 921 description 922 "RSVP reservation style."; 924 } 925 leaf expires-in { 926 type uint32; 927 units "seconds"; 928 description 929 "Time to expiry (in seconds)."; 930 } 931 } 932 } 933 } 935 grouping neighbor-attributes { 936 description 937 "Top level grouping for RSVP neighbor properties."; 938 leaf address { 939 type inet:ip-address; 940 description 941 "Address of the RSVP neighbor."; 942 } 943 leaf epoch { 944 type uint32; 945 description 946 "Neighbor epoch."; 947 } 948 leaf expiry-time { 949 type uint32; 950 units "seconds"; 951 description 952 "Neighbor expiry time after which the neighbor state is 953 purged if no states associated with it."; 954 } 955 container graceful-restart { 956 description 957 "Graceful restart information."; 958 leaf enabled { 959 type boolean; 960 description 961 "'true' if graceful restart is enabled for the neighbor."; 962 } 963 leaf local-restart-time { 964 type uint32; 965 units "seconds"; 966 description 967 "Local node restart time."; 968 } 969 leaf local-recovery-time { 970 type uint32; 971 units "seconds"; 972 description 973 "Local node recover time."; 974 } 975 leaf neighbor-restart-time { 976 type uint32; 977 units "seconds"; 978 description 979 "Neighbor restart time."; 980 } 981 leaf neighbor-recovery-time { 982 type uint32; 983 units "seconds"; 984 description 985 "Neighbor recovery time."; 986 } 987 container helper-mode { 988 description 989 "Helper mode information."; 990 leaf enabled { 991 type boolean; 992 description 993 "'true' if helper mode is enabled."; 994 } 995 leaf max-helper-restart-time { 996 type uint32; 997 units "seconds"; 998 description 999 "The time the router or switch waits after it discovers 1000 that a neighboring router has gone down before it 1001 declares the neighbor down."; 1002 } 1003 leaf max-helper-recovery-time { 1004 type uint32; 1005 units "seconds"; 1006 description 1007 "The amount of time the router retains the state of its 1008 RSVP neighbors while they undergo a graceful restart."; 1009 } 1010 leaf neighbor-restart-time-remaining { 1011 type uint32; 1012 units "seconds"; 1013 description 1014 "Number of seconds remaining for neighbor to send Hello 1015 message after restart."; 1016 } 1017 leaf neighbor-recovery-time-remaining { 1018 type uint32; 1019 units "seconds"; 1020 description 1021 "Number of seconds remaining for neighbor to refresh."; 1022 } 1023 } 1024 // helper-mode 1025 } 1026 // graceful-restart 1027 leaf hello-status { 1028 type enumeration { 1029 enum enabled { 1030 description 1031 "RSVP Hellos enabled."; 1032 } 1033 enum disabled { 1034 description 1035 "RSVP Hellos disabled."; 1036 } 1037 enum restarting { 1038 description 1039 "RSVP restarting."; 1040 } 1041 } 1042 description 1043 "RSVP Hello status."; 1044 } 1045 leaf interface { 1046 type if:interface-ref; 1047 description 1048 "Interface where RSVP neighbor was detected."; 1049 } 1050 leaf neighbor-status { 1051 type enumeration { 1052 enum up { 1053 description 1054 "Neighbor state up."; 1055 } 1056 enum down { 1057 description 1058 "Neighbor state down."; 1059 } 1060 enum hello-disable { 1061 description 1062 "RSVP Hellos disabled."; 1063 } 1064 enum restarting { 1065 description 1066 "RSVP neighbor restarting."; 1067 } 1069 } 1070 description 1071 "RSVP neighbor state."; 1072 } 1073 leaf refresh-reduction-capable { 1074 type boolean; 1075 description 1076 "Enables all RSVP refresh reduction message bundling, RSVP 1077 message ID, reliable message delivery and summary refresh."; 1078 reference 1079 "RFC2961 RSVP Refresh Overhead Reduction Extensions"; 1080 } 1081 leaf restart-count { 1082 type yang:counter32; 1083 description 1084 "Number of times this RSVP neighbor has restarted."; 1085 } 1086 leaf restart-time { 1087 type yang:date-and-time; 1088 description 1089 "Last restart time of the RSVP neighbor."; 1090 } 1091 } 1093 grouping packet-statistics { 1094 description 1095 "Packet statistics grouping."; 1096 container packets { 1097 description 1098 "Packet statistics container."; 1099 leaf sent { 1100 type yang:counter64; 1101 description 1102 "RSVP packet sent count."; 1103 } 1104 leaf received { 1105 type yang:counter64; 1106 description 1107 "RSVP packet received count."; 1108 } 1109 } 1110 } 1112 grouping message-statistics { 1113 description 1114 "RSVP protocol statistics grouping."; 1115 container messages { 1116 description 1117 "RSVP protocol statistics container."; 1118 leaf ack-sent { 1119 type yang:counter64; 1120 description 1121 "RSVP Hello sent count."; 1122 } 1123 leaf ack-received { 1124 type yang:counter64; 1125 description 1126 "RSVP Hello received count."; 1127 } 1128 leaf bundle-sent { 1129 type yang:counter64; 1130 description 1131 "RSVP Bundle message sent count."; 1132 } 1133 leaf bundle-received { 1134 type yang:counter64; 1135 description 1136 "RSVP Bundle message received count."; 1137 } 1138 leaf hello-sent { 1139 type yang:counter64; 1140 description 1141 "RSVP Hello message sent count."; 1142 } 1143 leaf hello-received { 1144 type yang:counter64; 1145 description 1146 "RSVP Hello message received count."; 1147 } 1148 leaf integrity-challenge-sent { 1149 type yang:counter64; 1150 description 1151 "RSVP Integrity Challenge message sent count."; 1152 } 1153 leaf integrity-challenge-received { 1154 type yang:counter64; 1155 description 1156 "RSVP Integrity Challenge message received count."; 1157 } 1158 leaf integrity-response-sent { 1159 type yang:counter64; 1160 description 1161 "RSVP Integrity Response message sent count."; 1162 } 1163 leaf integrity-response-received { 1164 type yang:counter64; 1165 description 1166 "RSVP Integrity Response message received count."; 1167 } 1168 leaf notify-sent { 1169 type yang:counter64; 1170 description 1171 "RSVP Notify message sent count."; 1172 } 1173 leaf notify-received { 1174 type yang:counter64; 1175 description 1176 "RSVP Notify message received count."; 1177 } 1178 leaf path-sent { 1179 type yang:counter64; 1180 description 1181 "RSVP Path message sent count."; 1182 } 1183 leaf path-received { 1184 type yang:counter64; 1185 description 1186 "RSVP Path message received count."; 1187 } 1188 leaf path-err-sent { 1189 type yang:counter64; 1190 description 1191 "RSVP Path error message sent count."; 1192 } 1193 leaf path-err-received { 1194 type yang:counter64; 1195 description 1196 "RSVP Path error message received count."; 1197 } 1198 leaf path-tear-sent { 1199 type yang:counter64; 1200 description 1201 "RSVP Path tear message sent count."; 1202 } 1203 leaf path-tear-received { 1204 type yang:counter64; 1205 description 1206 "RSVP Path tear message received count."; 1207 } 1208 leaf resv-sent { 1209 type yang:counter64; 1210 description 1211 "RSVP Resv message sent count."; 1212 } 1213 leaf resv-received { 1214 type yang:counter64; 1215 description 1216 "RSVP Resv message received count."; 1217 } 1218 leaf resv-confirm-sent { 1219 type yang:counter64; 1220 description 1221 "RSVP Confirm message sent count."; 1222 } 1223 leaf resv-confirm-received { 1224 type yang:counter64; 1225 description 1226 "RSVP Confirm message received count."; 1227 } 1228 leaf resv-err-sent { 1229 type yang:counter64; 1230 description 1231 "RSVP Resv error message sent count."; 1232 } 1233 leaf resv-err-received { 1234 type yang:counter64; 1235 description 1236 "RSVP Resv error message received count."; 1237 } 1238 leaf resv-tear-sent { 1239 type yang:counter64; 1240 description 1241 "RSVP Resv tear message sent count."; 1242 } 1243 leaf resv-tear-received { 1244 type yang:counter64; 1245 description 1246 "RSVP Resv tear message received count."; 1247 } 1248 leaf summary-refresh-sent { 1249 type yang:counter64; 1250 description 1251 "RSVP Summary refresh message sent count."; 1252 } 1253 leaf summary-refresh-received { 1254 type yang:counter64; 1255 description 1256 "RSVP Summary refresh message received count."; 1257 } 1258 leaf unknown-messages-received { 1259 type yang:counter64; 1260 description 1261 "Unknown messages received count."; 1262 } 1263 } 1264 } 1266 grouping errors-statistics { 1267 description 1268 "Error statistics grouping."; 1269 container errors { 1270 description 1271 "Error statistics container."; 1272 leaf authenticate { 1273 type yang:counter64; 1274 description 1275 "The total number of RSVP packets received with an 1276 authentication failure."; 1277 } 1278 leaf checksum { 1279 type yang:counter64; 1280 description 1281 "The total number of RSVP packets received with an invalid 1282 checksum value."; 1283 } 1284 leaf packet-length { 1285 type yang:counter64; 1286 description 1287 "The total number of packets received with an invalid 1288 packet length."; 1289 } 1290 } 1291 } 1293 grouping statistics { 1294 description 1295 "RSVP statistic attributes."; 1296 container statistics { 1297 config false; 1298 description 1299 "RSVP statistics container."; 1300 uses message-statistics; 1301 uses packet-statistics; 1302 uses errors-statistics; 1303 } 1304 } 1306 grouping global-attributes { 1307 description 1308 "Top level grouping for RSVP global properties."; 1310 container sessions { 1311 description 1312 "RSVP sessions container."; 1313 list session-ip { 1314 key "destination protocol-id destination-port"; 1315 config false; 1316 description 1317 "List of RSVP sessions."; 1318 uses session-attributes; 1319 } 1320 } 1321 uses statistics; 1322 } 1324 grouping intf-attributes { 1325 description 1326 "Top level grouping for RSVP interface properties."; 1327 uses signaling-parameters; 1328 uses refresh-reduction; 1329 uses hellos; 1330 uses authentication; 1331 uses statistics; 1332 } 1334 augment "/rt:routing/rt:control-plane-protocols/" 1335 + "rt:control-plane-protocol" { 1336 when "rt:type = 'rsvp:rsvp'" { 1337 description 1338 "This augment is only valid when routing protocol instance 1339 type is RSVP."; 1340 } 1341 description 1342 "RSVP protocol augmentation."; 1343 container rsvp { 1344 presence "Enable RSVP feature"; 1345 description 1346 "RSVP feature container"; 1347 container globals { 1348 description 1349 "RSVP global properties."; 1350 uses global-attributes; 1351 uses graceful-restart; 1352 } 1353 container interfaces { 1354 description 1355 "RSVP interfaces container."; 1356 uses intf-attributes; 1357 list interface { 1358 key "interface"; 1359 description 1360 "RSVP interfaces."; 1361 leaf interface { 1362 type if:interface-ref; 1363 description 1364 "RSVP interface."; 1365 } 1366 uses intf-attributes; 1367 } 1368 } 1369 container neighbors { 1370 description 1371 "RSVP neighbors container"; 1372 list neighbor { 1373 key "address"; 1374 description 1375 "List of RSVP neighbors"; 1376 uses neighbor-attributes; 1377 } 1378 } 1379 } 1380 } 1382 grouping session-ref { 1383 description 1384 "Session reference information"; 1385 leaf destination { 1386 type leafref { 1387 path "/rt:routing/rt:control-plane-protocols" 1388 + "/rt:control-plane-protocol/rsvp:rsvp/rsvp:globals" 1389 + "/rsvp:sessions/rsvp:session-ip/destination"; 1390 } 1391 mandatory true; 1392 description 1393 "The RSVP session destination."; 1394 } 1395 leaf protocol-id { 1396 type uint8; 1397 mandatory true; 1398 description 1399 "The RSVP session protocol ID."; 1400 } 1401 leaf destination-port { 1402 type inet:ip-address; 1403 mandatory true; 1404 description 1405 "The RSVP session destination port."; 1407 } 1408 } 1410 rpc clear-session { 1411 nacm:default-deny-all; 1412 description 1413 "Clears RSVP sessions RPC"; 1414 input { 1415 leaf routing-protocol-instance-name { 1416 type leafref { 1417 path "/rt:routing/rt:control-plane-protocols/" 1418 + "rt:control-plane-protocol/rt:name"; 1419 } 1420 mandatory true; 1421 description 1422 "Name of the RSVP protocol instance whose session 1423 is being cleared. 1425 If the corresponding RSVP instance doesn't exist, 1426 then the operation will fail with an error-tag of 1427 'data-missing' and an error-app-tag of 1428 'routing-protocol-instance-not-found'."; 1429 } 1430 choice filter-type { 1431 mandatory true; 1432 description 1433 "Filter choice"; 1434 case match-all { 1435 leaf all { 1436 type empty; 1437 mandatory true; 1438 description 1439 "Match all RSVP sessions."; 1440 } 1441 } 1442 case match-one { 1443 container session-info { 1444 description 1445 "Specifies the specific session to invoke operation on"; 1446 choice session-type { 1447 mandatory true; 1448 description 1449 "The RSVP session type."; 1450 case rsvp-session-ip { 1451 uses session-ref; 1452 } 1453 } 1454 } 1456 } 1457 } 1458 } 1459 } 1461 rpc clear-neighbor { 1462 nacm:default-deny-all; 1463 description 1464 "RPC to clear the RSVP Hello session to a neighbor."; 1465 input { 1466 leaf routing-protocol-instance-name { 1467 type leafref { 1468 path "/rt:routing/rt:control-plane-protocols/" 1469 + "rt:control-plane-protocol/rt:name"; 1470 } 1471 mandatory true; 1472 description 1473 "Name of the RSVP protocol instance whose session 1474 is being cleared. 1476 If the corresponding RSVP instance doesn't exist, 1477 then the operation will fail with an error-tag of 1478 'data-missing' and an error-app-tag of 1479 'routing-protocol-instance-not-found'."; 1480 } 1481 choice filter-type { 1482 mandatory true; 1483 description 1484 "The Filter choice."; 1485 case match-all { 1486 leaf all { 1487 type empty; 1488 mandatory true; 1489 description 1490 "Match all RSVP neighbor sessions."; 1491 } 1492 } 1493 case match-one { 1494 leaf neighbor-address { 1495 type leafref { 1496 path "/rt:routing/rt:control-plane-protocols" 1497 + "/rt:control-plane-protocol/rsvp:rsvp" 1498 + "/rsvp:neighbors/rsvp:neighbor/address"; 1499 } 1500 mandatory true; 1501 description 1502 "Match the specific RSVP neighbor session."; 1503 } 1505 } 1506 } 1507 } 1508 } 1510 rpc clear-authentication { 1511 nacm:default-deny-all; 1512 description 1513 "Clears the RSVP Security Association (SA) before the 1514 lifetime expires."; 1515 input { 1516 leaf routing-protocol-instance-name { 1517 type leafref { 1518 path "/rt:routing/rt:control-plane-protocols/" 1519 + "rt:control-plane-protocol/rt:name"; 1520 } 1521 mandatory true; 1522 description 1523 "Name of the RSVP protocol instance whose session 1524 is being cleared. 1526 If the corresponding RSVP instance doesn't exist, 1527 then the operation will fail with an error-tag of 1528 'data-missing' and an error-app-tag of 1529 'routing-protocol-instance-not-found'."; 1530 } 1531 choice filter-type { 1532 mandatory true; 1533 description 1534 "Filter choice"; 1535 case match-all { 1536 leaf all { 1537 type empty; 1538 mandatory true; 1539 description 1540 "Match all RSVP security associations."; 1541 } 1542 } 1543 case match-one-interface { 1544 leaf interface { 1545 type if:interface-ref; 1546 description 1547 "Interface where RSVP security association(s) to be 1548 detected."; 1549 } 1550 } 1551 } 1552 } 1554 } 1555 } 1556 1558 5. RSVP Extended YANG Model 1560 The RSVP extended module augments the RSVP base module with 1561 additional and optional feature data. 1563 5.1. Module Structure 1565 The RSVP extended YANG module covers non-core RSVP feature(s). It 1566 also covers feature(s) that MAY be supported vendors claiming support 1567 for RSVP protocol. 1569 5.2. Tree Diagram 1571 Figure 4 shows the YANG tree representation for configuration and 1572 state data that is augmenting the RSVP extended module: 1574 module: ietf-rsvp-extended 1575 augment /rt:routing/rt:control-plane-protocols 1576 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 1577 /rsvp:graceful-restart: 1578 +--rw restart-time? uint32 1579 +--rw recovery-time? uint32 1580 augment /rt:routing/rt:control-plane-protocols 1581 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 1582 /rsvp:statistics/rsvp:packets: 1583 +--ro discontinuity-time? yang:date-and-time 1584 +--ro out-dropped? yang:counter64 1585 +--ro in-dropped? yang:counter64 1586 +--ro out-errors? yang:counter64 1587 +--ro in-errors? yang:counter64 1588 augment /rt:routing/rt:control-plane-protocols 1589 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 1590 /rsvp:statistics/rsvp:messages: 1591 augment /rt:routing/rt:control-plane-protocols 1592 /rt:control-plane-protocol/rsvp:rsvp/rsvp:globals 1593 /rsvp:statistics/rsvp:errors: 1594 augment /rt:routing/rt:control-plane-protocols 1595 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces: 1596 +--rw refresh-interval? uint32 1597 +--rw refresh-misses? uint32 1598 +--rw checksum? boolean 1599 +--rw patherr-state-removal? empty 1600 augment /rt:routing/rt:control-plane-protocols 1601 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1602 /rsvp:refresh-reduction: 1603 +--rw bundle-message-max-size? uint32 1604 +--rw reliable-ack-hold-time? uint32 1605 +--rw reliable-ack-max-size? uint32 1606 +--rw reliable-retransmit-time? uint32 1607 +--rw reliable-srefresh? empty 1608 +--rw summary-max-size? uint32 1609 augment /rt:routing/rt:control-plane-protocols 1610 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1611 /rsvp:hellos: 1612 +--rw interface-based? empty 1613 +--rw hello-interval? uint32 1614 +--rw hello-misses? uint32 1615 augment /rt:routing/rt:control-plane-protocols 1616 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1617 /rsvp:authentication: 1618 +--rw lifetime? uint32 1619 +--rw window-size? uint32 1620 +--rw challenge? empty 1621 +--rw retransmits? uint32 1622 +--rw key-chain? key-chain:key-chain-ref 1623 augment /rt:routing/rt:control-plane-protocols 1624 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1625 /rsvp:interface: 1626 +--rw refresh-interval? uint32 1627 +--rw refresh-misses? uint32 1628 +--rw checksum? boolean 1629 +--rw patherr-state-removal? empty 1630 augment /rt:routing/rt:control-plane-protocols 1631 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1632 /rsvp:interface/rsvp:refresh-reduction: 1633 +--rw bundle-message-max-size? uint32 1634 +--rw reliable-ack-hold-time? uint32 1635 +--rw reliable-ack-max-size? uint32 1636 +--rw reliable-retransmit-time? uint32 1637 +--rw reliable-srefresh? empty 1638 +--rw summary-max-size? uint32 1639 augment /rt:routing/rt:control-plane-protocols 1640 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1641 /rsvp:interface/rsvp:hellos: 1642 +--rw interface-based? empty 1643 +--rw hello-interval? uint32 1644 +--rw hello-misses? uint32 1645 augment /rt:routing/rt:control-plane-protocols 1646 /rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces 1647 /rsvp:interface/rsvp:authentication: 1648 +--rw lifetime? uint32 1649 +--rw window-size? uint32 1650 +--rw challenge? empty 1651 +--rw retransmits? uint32 1652 +--rw key-chain? key-chain:key-chain-ref 1654 Figure 4: RSVP extended module tree diagram 1656 5.3. YANG Module 1658 The ietf-rsvp-extended module imports from the following modules: 1660 o ietf-rsvp defined in this document 1662 o ietf-routing defined in [RFC8349] 1664 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 1666 o ietf-key-chain defined in [RFC8177] 1668 Figure 5 shows the RSVP extended YANG module: 1670 This module references the following documents: [RFC2747], [RFC3209], 1671 and [RFC5495]. 1673 file "ietf-rsvp-extended@2020-07-24.yang" 1674 module ietf-rsvp-extended { 1675 yang-version 1.1; 1676 namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended"; 1677 prefix rsvp-ext; 1679 import ietf-rsvp { 1680 prefix rsvp; 1681 reference 1682 "RFCXXXX: A YANG Data Model for Resource Reservation Protocol 1683 (RSVP)"; 1684 } 1685 import ietf-routing { 1686 prefix rt; 1687 reference 1688 "RFC8349: A YANG Data Model for Routing Management 1689 (NMDA Version)"; 1690 } 1691 import ietf-yang-types { 1692 prefix yang; 1693 reference 1694 "RFC6991: Common YANG Data Types"; 1695 } 1696 import ietf-key-chain { 1697 prefix key-chain; 1698 reference 1699 "RFC8177: YANG Data Model for Key Chains"; 1700 } 1702 organization 1703 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1704 Working Group"; 1705 contact 1706 "WG Web: 1707 WG List: 1709 Editor: Vishnu Pavan Beeram 1710 1712 Editor: Tarek Saad 1713 1715 Editor: Rakesh Gandhi 1716 1718 Editor: Xufeng Liu 1719 1721 Editor: Igor Bryskin 1722 "; 1723 description 1724 "This module contains the Extended RSVP YANG data model. 1725 The model fully conforms to the Network Management Datastore 1726 Architecture (NMDA). 1728 Copyright (c) 2019 IETF Trust and the persons 1729 identified as authors of the code. All rights reserved. 1731 Redistribution and use in source and binary forms, with or 1732 without modification, is permitted pursuant to, and subject 1733 to the license terms contained in, the Simplified BSD License 1734 set forth in Section 4.c of the IETF Trust's Legal Provisions 1735 Relating to IETF Documents 1736 (https://trustee.ietf.org/license-info). 1737 This version of this YANG module is part of RFC XXXX; see 1738 the RFC itself for full legal notices."; 1740 // RFC Ed.: replace XXXX with actual RFC number and remove this 1741 // note. 1742 // RFC Ed.: update the date below with the date of RFC publication 1743 // and remove this note. 1745 revision 2020-07-24 { 1746 description 1747 "Initial version."; 1748 reference 1749 "RFCXXXX: A YANG Data Model for Resource Reservation Protocol 1750 (RSVP)"; 1751 } 1753 grouping graceful-restart-extended-config { 1754 description 1755 "Configuration parameters relating to RSVP Graceful-Restart."; 1756 leaf restart-time { 1757 type uint32; 1758 units "seconds"; 1759 description 1760 "Graceful restart time (seconds)."; 1761 reference 1762 "RFC5495: Description of the Resource Reservation Protocol - 1763 Traffic-Engineered (RSVP-TE) Graceful Restart Procedures."; 1764 } 1765 leaf recovery-time { 1766 type uint32; 1767 units "seconds"; 1768 description 1769 "RSVP state recovery time."; 1770 } 1771 } 1773 grouping authentication-extended-config { 1774 description 1775 "Configuration parameters relating to RSVP authentication."; 1776 leaf lifetime { 1777 type uint32 { 1778 range "30..86400"; 1779 } 1780 units "seconds"; 1781 description 1782 "Life time for each security association."; 1783 reference 1784 "RFC2747: RSVP Cryptographic Authentication"; 1785 } 1786 leaf window-size { 1787 type uint32 { 1788 range "1..64"; 1789 } 1790 description 1791 "Window-size to limit number of out-of-order messages."; 1792 reference 1793 "RFC2747: RSVP Cryptographic Authentication"; 1795 } 1796 leaf challenge { 1797 type empty; 1798 description 1799 "Enable challenge messages."; 1800 reference 1801 "RFC2747: RSVP Cryptographic Authentication"; 1802 } 1803 leaf retransmits { 1804 type uint32 { 1805 range "1..10000"; 1806 } 1807 description 1808 "Number of retransmits when messages are 1809 dropped."; 1810 reference 1811 "RFC2747: RSVP Cryptographic 1812 Authentication"; 1813 } 1814 leaf key-chain { 1815 type key-chain:key-chain-ref; 1816 description 1817 "Key chain name to authenticate RSVP 1818 signaling messages."; 1819 reference 1820 "RFC2747: RSVP Cryptographic Authentication"; 1821 } 1822 } 1824 grouping hellos-extended-config { 1825 description 1826 "Configuration parameters relating to RSVP 1827 hellos"; 1828 leaf interface-based { 1829 type empty; 1830 description 1831 "Enable interface-based Hello adjacency if present."; 1832 } 1833 leaf hello-interval { 1834 type uint32; 1835 units "milliseconds"; 1836 description 1837 "Configure interval between successive Hello messages in 1838 milliseconds."; 1839 reference 1840 "RFC3209: RSVP-TE: Extensions to RSVP for LSP Tunnels. 1841 RFC5495: Description of the Resource Reservation Protocol - 1842 Traffic-Engineered (RSVP-TE) Graceful Restart Procedures."; 1844 } 1845 leaf hello-misses { 1846 type uint32 { 1847 range "1..10"; 1848 } 1849 description 1850 "Configure max number of consecutive missed Hello messages."; 1851 reference 1852 "RFC3209: RSVP-TE: Extensions to RSVP for LSP Tunnels. 1853 RFC5495: Description of the Resource Reservation Protocol - 1854 Traffic- Engineered (RSVP-TE) Graceful Restart Procedures."; 1855 } 1856 } 1858 grouping signaling-parameters-extended-config { 1859 description 1860 "Configuration parameters relating to RSVP signaling"; 1861 leaf refresh-interval { 1862 type uint32; 1863 description 1864 "Set interval between successive refreshes"; 1865 } 1866 leaf refresh-misses { 1867 type uint32; 1868 description 1869 "Set max number of consecutive missed messages for state 1870 expiry"; 1871 } 1872 leaf checksum { 1873 type boolean; 1874 description 1875 "Enable RSVP message checksum computation"; 1876 } 1877 leaf patherr-state-removal { 1878 type empty; 1879 description 1880 "State-Removal flag in Path Error message if present."; 1881 } 1882 } 1884 grouping refresh-reduction-extended-config { 1885 description 1886 "Configuration parameters relating to RSVP refresh reduction."; 1887 leaf bundle-message-max-size { 1888 type uint32 { 1889 range "512..65000"; 1890 } 1891 description 1892 "Configure maximum size (bytes) of a single RSVP Bundle 1893 message."; 1894 } 1895 leaf reliable-ack-hold-time { 1896 type uint32; 1897 units "milliseconds"; 1898 description 1899 "Configure hold time in milliseconds for sending RSVP ACK 1900 message(s)."; 1901 } 1902 leaf reliable-ack-max-size { 1903 type uint32; 1904 description 1905 "Configure max size of a single RSVP ACK message."; 1906 } 1907 leaf reliable-retransmit-time { 1908 type uint32; 1909 units "milliseconds"; 1910 description 1911 "Configure min delay in milliseconds to wait for an ACK 1912 before a retransmit."; 1913 } 1914 leaf reliable-srefresh { 1915 type empty; 1916 description 1917 "Configure use of reliable messaging for summary refresh if 1918 present."; 1919 } 1920 leaf summary-max-size { 1921 type uint32 { 1922 range "20..65000"; 1923 } 1924 description 1925 "Configure max size (bytes) of a single RSVP summary refresh 1926 message."; 1927 } 1928 } 1930 grouping packets-extended-statistics { 1931 description 1932 "Packet statistics."; 1933 leaf discontinuity-time { 1934 type yang:date-and-time; 1935 description 1936 "The time on the most recent occasion at which any one or 1937 more of the statistic counters suffered a discontinuity. 1938 If no such discontinuities have occurred since the last 1939 re-initialization of the local management subsystem, then 1940 this node contains the time the local management subsystem 1941 re-initialized itself."; 1942 } 1943 leaf out-dropped { 1944 type yang:counter64; 1945 description 1946 "Out RSVP packet drop count."; 1947 } 1948 leaf in-dropped { 1949 type yang:counter64; 1950 description 1951 "In RSVP packet drop count."; 1952 } 1953 leaf out-errors { 1954 type yang:counter64; 1955 description 1956 "Out RSVP packet errors count."; 1957 } 1958 leaf in-errors { 1959 type yang:counter64; 1960 description 1961 "In RSVP packet rx errors count."; 1962 } 1963 } 1965 /** 1966 * RSVP extensions augmentations 1967 */ 1968 /* RSVP globals graceful restart*/ 1970 augment "/rt:routing/rt:control-plane-protocols/" 1971 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1972 + "rsvp:graceful-restart" { 1973 description 1974 "RSVP globals configuration extensions"; 1975 uses graceful-restart-extended-config; 1976 } 1978 /* RSVP statistics augmentation */ 1980 augment "/rt:routing/rt:control-plane-protocols/" 1981 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" 1982 + "rsvp:statistics/rsvp:packets" { 1983 description 1984 "RSVP packet stats extensions"; 1985 uses packets-extended-statistics; 1986 } 1987 /** 1988 * RSVP all interfaces extensions 1989 */ 1990 /* RSVP interface signaling extensions */ 1992 augment "/rt:routing/rt:control-plane-protocols/" 1993 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" { 1994 description 1995 "RSVP signaling all interfaces configuration extensions"; 1996 uses signaling-parameters-extended-config; 1997 } 1999 /* RSVP refresh reduction extension */ 2001 augment "/rt:routing/rt:control-plane-protocols/" 2002 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2003 + "rsvp:refresh-reduction" { 2004 description 2005 "RSVP refresh-reduction all interface configuration 2006 extensions"; 2007 uses refresh-reduction-extended-config; 2008 } 2010 /* RSVP hellos extension */ 2012 augment "/rt:routing/rt:control-plane-protocols/" 2013 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2014 + "rsvp:hellos" { 2015 description 2016 "RSVP hello all interfaces configuration extensions"; 2017 uses hellos-extended-config; 2018 } 2020 /* RSVP authentication extension */ 2022 augment "/rt:routing/rt:control-plane-protocols/" 2023 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2024 + "rsvp:authentication" { 2025 description 2026 "RSVP authentication all interfaces configuration extensions"; 2027 uses authentication-extended-config; 2028 } 2030 /** 2031 * RSVP interface extensions 2032 */ 2033 /* RSVP interface signaling extensions */ 2034 augment "/rt:routing/rt:control-plane-protocols/" 2035 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2036 + "rsvp:interface" { 2037 description 2038 "RSVP signaling interface configuration extensions"; 2039 uses signaling-parameters-extended-config; 2040 } 2042 /* RSVP refresh reduction extension */ 2044 augment "/rt:routing/rt:control-plane-protocols/" 2045 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2046 + "rsvp:interface/rsvp:refresh-reduction" { 2047 description 2048 "RSVP refresh-reduction interface configuration extensions"; 2049 uses refresh-reduction-extended-config; 2050 } 2052 /* RSVP hellos extension */ 2054 augment "/rt:routing/rt:control-plane-protocols/" 2055 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2056 + "rsvp:interface/rsvp:hellos" { 2057 description 2058 "RSVP hello interface configuration extensions"; 2059 uses hellos-extended-config; 2060 } 2062 /* RSVP authentication extension */ 2064 augment "/rt:routing/rt:control-plane-protocols/" 2065 + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" 2066 + "rsvp:interface/rsvp:authentication" { 2067 description 2068 "RSVP authentication interface configuration extensions"; 2069 uses authentication-extended-config; 2070 } 2071 } 2072 2074 Figure 5: RSVP extended YANG module 2076 6. IANA Considerations 2078 This document registers the following URIs in the IETF XML registry 2079 [RFC3688]. Following the format in [RFC3688], the following 2080 registration is requested to be made. 2082 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp 2083 Registrant Contact: The IESG. 2084 XML: N/A, the requested URI is an XML namespace. 2086 URI: urn:ietf:params:xml:ns:yang:ietf-rsvp-extended 2087 Registrant Contact: The IESG. 2088 XML: N/A, the requested URI is an XML namespace. 2090 This document registers two YANG modules in the YANG Module Names 2091 registry [RFC6020]. 2093 name: ietf-rsvp 2094 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp 2095 prefix: rsvp 2096 reference: RFCXXXX 2098 name: ietf-rsvp-extended 2099 namespace: urn:ietf:params:xml:ns:yang:ietf-rsvp-extended 2100 prefix: rsvp-extendeed 2101 reference: RFCXXXX 2103 7. Security Considerations 2105 The YANG module specified in this document defines a schema for data 2106 that is designed to be accessed via network management protocols such 2107 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 2108 is the secure transport layer, and the mandatory-to-implement secure 2109 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 2110 is HTTPS, and the mandatory-to-implement secure transport is TLS 2111 [RFC8446]. 2113 The Network Configuration Access Control Model (NACM) [RFC8341] 2114 provides the means to restrict access for particular NETCONF or 2115 RESTCONF users to a preconfigured subset of all available NETCONF or 2116 RESTCONF protocol operations and content. 2118 There are a number of data nodes defined in the YANG module(s) 2119 defined in this document that are writable/creatable/deletable (i.e., 2120 config true, which is the default). These data nodes may be 2121 considered sensitive or vulnerable in some network environments. 2122 Write operations (e.g., ) to these data nodes without 2123 proper protection can have a negative effect on network operations. 2124 These are the subtrees and data nodes and their sensitivity/ 2125 vulnerability: 2127 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ 2128 rsvp:rsvp/ /rsvp:globals /rsvp:interfaces /rsvp:sessions 2129 All of which are considered sensitive and if access to either of 2130 these is compromised, it can result in temporary network outages 2131 or be employed to mount DoS attacks. 2133 Some of the readable data nodes in this YANG module may be considered 2134 sensitive or vulnerable in some network environments. It is thus 2135 important to control read access (e.g., via get, get-config, or 2136 notification) to these data nodes. These are the subtrees and data 2137 nodes and their sensitivity/vulnerability: 2139 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ 2140 rsvp:rsvp/ /rsvp:globals /rsvp:interfaces /rsvp:sessions 2142 Additional information from these state data nodes can be inferred 2143 with respect to the network topology, and device location and 2144 subsequently be used to mount other attacks in the network. 2146 For RSVP authentication, the configuration supported is via the 2147 specification of key-chains [RFC8177] or the direct specification of 2148 key and authentication algorithm, and hence security considerations 2149 of [RFC8177] are inherited. This includes the considerations with 2150 respect to the local storage and handling of authentication keys. 2152 Some of the RPC operations defined in this YANG module may be 2153 considered sensitive or vulnerable in some network environments. It 2154 is thus important to control access to these operations. The RSVP 2155 YANG module support the "clear-session" and "clear-neighbor" RPCs. 2156 If access to either of these is compromised, they can result in 2157 temporary network outages be employed to mount DoS attacks. 2159 The security considerations spelled out in the YANG 1.1 specification 2160 [RFC7950] apply for this document as well. 2162 8. Acknowledgement 2164 The authors would like to thank Tom Petch for reviewing and providing 2165 useful feedback about the document. The authors would also like to 2166 thank Lou Berger for reviewing and providing valuable feedback on 2167 this document. 2169 9. Contributors 2170 Himanshu Shah 2171 Ciena 2173 Email: hshah@ciena.com 2175 Xia Chen 2176 Huawei Technologies 2178 Email: jescia.chenxia@huawei.com 2180 Raqib Jones 2181 Brocade 2183 Email: raqib@Brocade.com 2185 Bin Wen 2186 Comcast 2188 Email: Bin_Wen@cable.comcast.com 2190 10. References 2192 10.1. Normative References 2194 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2195 Requirement Levels", BCP 14, RFC 2119, 2196 DOI 10.17487/RFC2119, March 1997, 2197 . 2199 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 2200 DOI 10.17487/RFC3688, January 2004, 2201 . 2203 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 2204 the Network Configuration Protocol (NETCONF)", RFC 6020, 2205 DOI 10.17487/RFC6020, October 2010, 2206 . 2208 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2209 and A. Bierman, Ed., "Network Configuration Protocol 2210 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2211 . 2213 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 2214 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 2215 . 2217 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 2218 RFC 6991, DOI 10.17487/RFC6991, July 2013, 2219 . 2221 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2222 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2223 . 2225 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 2226 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 2227 . 2229 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2230 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2231 May 2017, . 2233 [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. 2234 Zhang, "YANG Data Model for Key Chains", RFC 8177, 2235 DOI 10.17487/RFC8177, June 2017, 2236 . 2238 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 2239 "Common YANG Data Types for the Routing Area", RFC 8294, 2240 DOI 10.17487/RFC8294, December 2017, 2241 . 2243 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 2244 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 2245 . 2247 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 2248 Access Control Model", STD 91, RFC 8341, 2249 DOI 10.17487/RFC8341, March 2018, 2250 . 2252 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 2253 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 2254 . 2256 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 2257 Routing Management (NMDA Version)", RFC 8349, 2258 DOI 10.17487/RFC8349, March 2018, 2259 . 2261 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 2262 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 2263 . 2265 [RFC8639] Voit, E., Clemm, A., Gonzalez Prieto, A., Nilsen-Nygaard, 2266 E., and A. Tripathy, "Subscription to YANG Notifications", 2267 RFC 8639, DOI 10.17487/RFC8639, September 2019, 2268 . 2270 [RFC8641] Clemm, A. and E. Voit, "Subscription to YANG Notifications 2271 for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641, 2272 September 2019, . 2274 10.2. Informative References 2276 [I-D.ietf-teas-yang-rsvp-te] 2277 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 2278 and H. Shah, "A YANG Data Model for RSVP-TE Protocol", 2279 draft-ietf-teas-yang-rsvp-te-08 (work in progress), March 2280 2020. 2282 [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. 2283 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 2284 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, 2285 September 1997, . 2287 [RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic 2288 Authentication", RFC 2747, DOI 10.17487/RFC2747, January 2289 2000, . 2291 [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F., 2292 and S. Molendini, "RSVP Refresh Overhead Reduction 2293 Extensions", RFC 2961, DOI 10.17487/RFC2961, April 2001, 2294 . 2296 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 2297 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 2298 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 2299 . 2301 [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label 2302 Switching (GMPLS) Signaling Resource ReserVation Protocol- 2303 Traffic Engineering (RSVP-TE) Extensions", RFC 3473, 2304 DOI 10.17487/RFC3473, January 2003, 2305 . 2307 [RFC5063] Satyanarayana, A., Ed. and R. Rahman, Ed., "Extensions to 2308 GMPLS Resource Reservation Protocol (RSVP) Graceful 2309 Restart", RFC 5063, DOI 10.17487/RFC5063, October 2007, 2310 . 2312 [RFC5495] Li, D., Gao, J., Satyanarayana, A., and S. Bardalai, 2313 "Description of the Resource Reservation Protocol - 2314 Traffic-Engineered (RSVP-TE) Graceful Restart Procedures", 2315 RFC 5495, DOI 10.17487/RFC5495, March 2009, 2316 . 2318 Authors' Addresses 2320 Vishnu Pavan Beeram 2321 Juniper Networks 2323 Email: vbeeram@juniper.net 2325 Tarek Saad 2326 Juniper Networks 2328 Email: tsaad@juniper.net 2330 Rakesh Gandhi 2331 Cisco Systems, Inc. 2333 Email: rgandhi@cisco.com 2335 Xufeng Liu 2336 Volta Networks 2338 Email: xufeng.liu.ietf@gmail.com 2340 Igor Bryskin 2341 Individual 2343 Email: i_bryskin@yahoo.com