idnits 2.17.1 draft-ietf-pce-stateful-pce-auto-bandwidth-11.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 -- The document date (August 29, 2019) is 1696 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) -- Obsolete informational reference (is this intentional?): RFC 7525 (Obsoleted by RFC 9325) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group D. Dhody, Ed. 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track R. Gandhi, Ed. 5 Expires: March 01, 2020 Cisco Systems, Inc. 6 U. Palle 7 R. Singh 8 Individual Contributor 9 L. Fang 10 Expedia, Inc. 11 August 29, 2019 13 PCEP Extensions for MPLS-TE LSP Automatic Bandwidth Adjustment with 14 Stateful PCE 15 draft-ietf-pce-stateful-pce-auto-bandwidth-11 17 Abstract 19 The Path Computation Element Communication Protocol (PCEP) provides 20 mechanisms for Path Computation Elements (PCEs) to perform path 21 computations in response to Path Computation Clients (PCCs) requests. 22 The Stateful PCE extensions allow stateful control of Multi-Protocol 23 Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE 24 LSPs) using PCEP. 26 The automatic bandwidth feature allows automatic and dynamic 27 adjustment of the TE LSP bandwidth reservation based on the volume of 28 traffic flowing through the LSP. This document describes PCEP 29 extensions for automatic bandwidth adjustment when employing an 30 Active Stateful PCE for both PCE-Initiated and PCC-Initiated LSPs. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 Copyright Notice 49 Copyright (c) 2019 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (https://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 65 2. Conventions Used in This Document . . . . . . . . . . . . . . 4 66 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 67 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4 68 2.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 69 3. Requirements for PCEP Extensions . . . . . . . . . . . . . . . 7 70 4. Architectural Overview . . . . . . . . . . . . . . . . . . . . 8 71 4.1. Auto-Bandwidth Overview . . . . . . . . . . . . . . . . . 8 72 4.2. Auto-bandwidth Theory of Operation . . . . . . . . . . . . 8 73 4.3. Scaling Considerations . . . . . . . . . . . . . . . . . . 10 74 5. PCEP Extensions . . . . . . . . . . . . . . . . . . . . . . . 10 75 5.1. Capability Advertisement . . . . . . . . . . . . . . . . . 10 76 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV . . . . . . . . . . . . 11 77 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV . . . . . . . . . . . . . . 11 78 5.2.1. Sample-Interval sub-TLV . . . . . . . . . . . . . . . 13 79 5.2.2. Adjustment Intervals . . . . . . . . . . . . . . . . . 13 80 5.2.2.1. Adjustment-Interval sub-TLV . . . . . . . . . . . 13 81 5.2.2.2. Down-Adjustment-Interval sub-TLV . . . . . . . . . 14 82 5.2.3. Adjustment Thresholds . . . . . . . . . . . . . . . . 15 83 5.2.3.1. Adjustment-Threshold sub-TLV . . . . . . . . . . . 15 84 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV . . . . . 16 85 5.2.3.3. Down-Adjustment-Threshold sub-TLV . . . . . . . . 16 86 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV . . . 17 87 5.2.4. Minimum and Maximum Bandwidth Values . . . . . . . . . 18 88 5.2.4.1. Minimum-Bandwidth sub-TLV . . . . . . . . . . . . 18 89 5.2.4.2. Maximum-Bandwidth sub-TLV . . . . . . . . . . . . 18 90 5.2.5. Overflow and Underflow Conditions . . . . . . . . . . 19 91 5.2.5.1. Overflow-Threshold sub-TLV . . . . . . . . . . . . 19 92 5.2.5.2. Overflow-Threshold-Percentage sub-TLV . . . . . . 20 93 5.2.5.3. Underflow-Threshold sub-TLV . . . . . . . . . . . 21 94 5.2.5.4. Underflow-Threshold-Percentage sub-TLV . . . . . . 21 95 5.3. BANDWIDTH Object . . . . . . . . . . . . . . . . . . . . . 22 96 5.4. The PCInitiate Message . . . . . . . . . . . . . . . . . . 23 97 5.5. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 23 98 5.6. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 23 99 5.7. The PCNtf Message . . . . . . . . . . . . . . . . . . . . 23 100 6. Manageability Considerations . . . . . . . . . . . . . . . . . 24 101 6.1. Control of Function and Policy . . . . . . . . . . . . . . 24 102 6.2. Information and Data Models . . . . . . . . . . . . . . . 24 103 6.3. Liveness Detection and Monitoring . . . . . . . . . . . . 25 104 6.4. Verify Correct Operations . . . . . . . . . . . . . . . . 25 105 6.5. Requirements On Other Protocols . . . . . . . . . . . . . 25 106 6.6. Impact On Network Operations . . . . . . . . . . . . . . . 25 107 7. Security Considerations . . . . . . . . . . . . . . . . . . . 26 108 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 109 8.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . . 26 110 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field . . . . . . . . . 26 111 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV . . . . . . . . . . . . 26 112 8.4. Error Object . . . . . . . . . . . . . . . . . . . . . . . 27 113 8.5. Notification Object . . . . . . . . . . . . . . . . . . . 28 114 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 115 9.1. Normative References . . . . . . . . . . . . . . . . . . . 29 116 9.2. Informative References . . . . . . . . . . . . . . . . . . 29 117 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 31 118 Contributors' Addresses . . . . . . . . . . . . . . . . . . . . . 31 119 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 32 121 1. Introduction 123 [RFC5440] describes the Path Computation Element Protocol (PCEP) as a 124 communication mechanism between a Path Computation Client (PCC) and a 125 Path Computation Element (PCE), or between PCE and PCE, that enables 126 computation of Multi-Protocol Label Switching (MPLS) Traffic 127 Engineering Label Switched Paths (TE LSPs). 129 [RFC8231] specifies extensions to PCEP to enable stateful control of 130 MPLS TE LSPs. It describes two mode of operations - Passive stateful 131 PCE and Active stateful PCE. Further, [RFC8281] describes the setup, 132 maintenance and teardown of PCE-Initiated LSPs for the stateful PCE 133 model. In this document, the focus is on Active stateful PCE where 134 the LSPs are controlled by the PCE. 136 Over time, based on the varying traffic pattern, an LSP established 137 with a certain bandwidth may require to adjust the bandwidth reserved 138 in the network dynamically. The head-end Label Switch Router (LSR) 139 monitors the actual bandwidth demand of the established LSP and 140 periodically computes new bandwidth. The head-end LSR adjusts the 141 bandwidth reservation of the LSP based on the computed bandwidth 142 automatically. This feature is commonly referred to as Auto- 143 Bandwidth. The Auto-Bandwidth feature is described in detail in 144 Section 4 of this document. 146 In the model considered in this document, the PCC (head-end of the 147 LSP) collects the traffic rate samples flowing through the LSP and 148 calculates the new adjusted bandwidth. The PCC reports the 149 calculated bandwidth to be adjusted to the PCE. This is similar to 150 the Passive stateful PCE model, while the Passive stateful PCE uses 151 path request/reply mechanism, the Active stateful PCE uses 152 report/update mechanism. In case of PCE-Initiated LSP, the PCC is 153 requested during the LSP initiation to monitor and calculate the new 154 adjusted bandwidth. [RFC8051] describes the use-case for Auto- 155 Bandwidth adjustment for Passive and Active stateful PCE. 157 This document defines the PCEP extensions needed to support Auto- 158 Bandwidth feature in a Active stateful PCE model where the LSP 159 bandwidth to be adjusted is calculated on the PCC (head-end of the 160 LSP). The use of PCE to calculate the bandwidth to be adjusted is out 161 of scope of this document. 163 2. Conventions Used in This Document 165 2.1. Requirements Language 167 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 168 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 169 "OPTIONAL" in this document are to be interpreted as described in BCP 170 14 [RFC2119] [RFC8174] when, and only when, they appear in all 171 capitals, as shown here. 173 2.2. Abbreviations 175 PCC: Path Computation Client. 177 PCE: Path Computation Element. 179 PCEP: Path Computation Element Communication Protocol. 181 TE LSP: Traffic Engineering Label Switched Path. 183 2.3. Terminology 185 The reader is assumed to be familiar with the terminology defined in 186 [RFC5440], [RFC8231], and [RFC8281]. 188 The following auto-bandwidth terminology is defined in this document. 190 Maximum Average Bandwidth (MaxAvgBw): The maximum average bandwidth 191 represents the current traffic bandwidth demand of the LSP during 192 a time interval. This is the maximum value of the traffic 193 bandwidth rate samples (Bandwidth-Samples) in a given time 194 interval. 196 Adjusted Bandwidth: This is the Auto-Bandwidth computed bandwidth 197 that is used to adjust the bandwidth reservation of the LSP. 199 Sample-Interval: The periodic time interval at which the measured 200 traffic rate of the LSP is collected as a Bandwidth-Sample. 202 Bandwidth-Sample: The bandwidth sample of the measured traffic rate 203 of the LSP collected at every Sample-Interval. 205 Maximum-Bandwidth: The maximum bandwidth that can be reserved for 206 the LSP. 208 Minimum-Bandwidth: The minimum bandwidth that can be reserved for 209 the LSP. 211 Up-Adjustment-Interval: The periodic time interval at which the 212 bandwidth adjustment should be made using the MaxAvgBw, when 213 MaxAvgBw is greater than the current bandwidth reservation of the 214 LSP. 216 Down-Adjustment-Interval: The periodic time interval at which the 217 bandwidth adjustment should be made using the MaxAvgBw, when 218 MaxAvgBw is less than the current bandwidth reservation of the 219 LSP. 221 Up-Adjustment-Threshold: This parameter is used to decide when the 222 LSP bandwidth should be adjusted. If the percentage or absolute 223 difference between the current MaxAvgBw and the current bandwidth 224 reservation is greater than or equal to the threshold value, the 225 LSP bandwidth is adjusted (upsized) to the current bandwidth 226 demand (Adjusted Bandwidth) at the Up-Adjustment-Interval expiry. 228 Down-Adjustment-Threshold: This parameter is used to decide when the 229 LSP bandwidth should be adjusted. If the percentage or absolute 230 difference between the current bandwidth reservation and the 231 current MaxAvgBw is greater than or equal to the threshold value, 232 the LSP bandwidth is adjusted (downsized) to the current bandwidth 233 demand (Adjusted Bandwidth) at the Down-Adjustment-Interval 234 expiry. 236 Overflow-Count: This parameter is used to decide when the LSP 237 bandwidth should be adjusted when there is a sudden increase in 238 traffic demand. This value indicates how many times 239 consecutively, the percentage or absolute difference between the 240 current MaxAvgBw and the current bandwidth reservation of the LSP 241 is greater than or equal to the Overflow-Threshold value. 243 Overflow-Threshold: This parameter is used to decide when the LSP 244 bandwidth should be adjusted when there is a sudden increase in 245 traffic demand. If the percentage or absolute difference between 246 the current MaxAvgBw and the current bandwidth reservation of the 247 LSP is greater than or equal to the threshold value, the overflow 248 condition is set to be met. The LSP bandwidth is adjusted to the 249 current bandwidth demand bypassing the Up-Adjustment-Interval if 250 the overflow condition is met consecutively for the Overflow- 251 Count. 253 Underflow-Count: This parameter is used to decide when the LSP 254 bandwidth should be adjusted when there is a sudden decrease in 255 traffic demand. This value indicates how many times 256 consecutively, the percentage or absolute difference between the 257 current MaxAvgBw and the current bandwidth reservation of the LSP 258 is greater than or equal to the Underflow-Threshold value. 260 Underflow-Threshold: This parameter is used to decide when the LSP 261 bandwidth should be adjusted when there is a sudden decrease in 262 traffic demand. If the percentage or absolute difference between 263 the current MaxAvgBw and the current bandwidth reservation of the 264 LSP is greater than or equal to the threshold value, the underflow 265 condition is set to be met. The LSP bandwidth is adjusted to the 266 current bandwidth demand bypassing the Down-Adjustment-Interval if 267 the underflow condition is met consecutively for the Underflow- 268 Count. 270 Minimum-Threshold: The increase or decrease of the LSP bandwidth 271 should be at least or above the minimum-threshold represented as 272 an absolute bandwidth value before the bandwidth adjustment for 273 the LSP is made. This threshold can be seen as a suppression 274 threshold that is used along with a percentage threshold to avoid 275 unnecessary auto-bandwidth adjustments and re-signaling of the LSP 276 at low bandwidth values. 278 3. Requirements for PCEP Extensions 280 The PCEP extensions required for auto-bandwidth are summarized in the 281 following table as well as in Figure 1. 283 +---------------------------------+---------------------------------+ 284 | PCC Initiated | PCE Initiated | 285 +---------------------------------+---------------------------------+ 286 | | | 287 | PCC monitors the traffic | At the time of initiation, | 288 | and reports the calculated | PCE request PCC to monitor | 289 | bandwidth to be adjusted | the traffic and report the | 290 | to the PCE. | calculated bandwidth to be | 291 | | adjusted to the PCE. | 292 | | | 293 | Extension is needed for PCC | Extension is needed for PCE | 294 | to pass on the adjustment | to pass on the adjustment | 295 | parameters at the time of | parameters at the time of | 296 | LSP Delegation. | LSP Initiation. | 297 | | | 298 +---------------------------------+---------------------------------+ 300 Table 1: Requirements for Auto-Bandwidth PCEP extensions 302 ---------- 303 | | 304 | PCE | 305 | | 306 ---------- 307 | ^ 308 AUTO-BANDWIDTH CAPABILITY | | AUTO-BANDWIDTH CAPABILITY 309 | | 310 AUTO-BANDWIDTH ATTRIBUTES | | AUTO-BANDWIDTH ATTRIBUTES 311 | | (For Delegated LSPs) 312 | | 313 | | REQUESTED BANDWIDTH 314 v | 315 ---------- 316 | | 317 | PCC | 318 | | 319 ---------- 321 Figure 1: Overview of Auto-Bandwidth PCEP extensions 323 The PCEP speaker supporting this document must have a mechanism to 324 advertise the automatic bandwidth adjustment capability for both PCC- 325 Initiated and PCE-Initiated LSPs. 327 Auto-bandwidth deployment considerations for PCEP extensions are 328 summarized below: 330 o It is required to identify and inform the PCC, which LSPs are 331 enabled with Auto-Bandwidth feature. Not all LSPs in some 332 deployments would like their bandwidth to be dependent on the 333 real-time bandwidth usage but be constant as set by the operator. 335 o In addition, an operator should be able to specify the auto- 336 bandwidth adjustment parameters (i.e. configuration knobs) to 337 control this feature (e.g. minimum/ maximum bandwidth range). The 338 PCC should be informed about these adjustment parameters. 340 4. Architectural Overview 342 4.1. Auto-Bandwidth Overview 344 The Auto-Bandwidth feature allows automatic and dynamic adjustment of 345 the reserved bandwidth of an LSP over time (i.e., without network 346 operator intervention) to accommodate the varying traffic demand of 347 the LSP. If the traffic flowing through the LSP is lower than the 348 configured or current reserved bandwidth of the LSP, the extra 349 bandwidth is being reserved needlessly and being wasted. Conversely, 350 if the actual traffic flowing through the LSP is higher than the 351 configured or current reserved bandwidth of the LSP, it can 352 potentially cause congestion or packet loss in the network. The 353 initial LSP bandwidth can be set to an arbitrary value (including 354 zero), in practice, it can be operator expected value based on design 355 and planning. The head-end Label Switch Router (LSR) monitors the 356 actual traffic flowing through the LSP and uses that information to 357 adjust the bandwidth reservation of the LSP in the network. 358 Bandwidth adjustment must not cause disruption to the traffic flow 359 carried by the LSP. One way to achieve this is to use the 360 make-before-break signaling method [RFC3209]. 362 4.2. Auto-bandwidth Theory of Operation 364 This section describes the Auto-Bandwidth feature in a general way. 365 When the Auto-Bandwidth feature is enabled, the measured traffic rate 366 is periodically sampled at each Sample-Interval (which can be 367 configured by an operator and the default value as 5 minutes) by the 368 PCC, when the PCC is the head-end node of the LSP. The traffic rate 369 samples are accumulated over the Adjustment-Interval period (in the 370 Up or Down direction) (which can be configured by an operator and the 371 default value as 24 hours). The PCC, in-charge of calculating the 372 bandwidth to be adjusted, can decide to adjust the bandwidth of the 373 LSP to the highest traffic rate sample (MaxAvgBw) amongst the set of 374 bandwidth samples collected over the adjustment-interval period (in 375 the Up or Down direction) depending on the operator policy. 377 Note that the highest traffic rate sample could be higher or lower 378 than the current LSP bandwidth. Only if the difference between the 379 current bandwidth demand (MaxAvgBw) and the current bandwidth 380 reservation is greater than or equal to the Adjustment-Threshold 381 (percentage or absolute value) (which can be configured by an 382 operator and the default as 5 percentage), the LSP bandwidth is 383 adjusted (upsized) to the current bandwidth demand (MaxAvgBw). 384 Similarly, if the difference between the current bandwidth 385 reservation and the current bandwidth demand (MaxAvgBw) is greater 386 than or equal to the Down-Adjustment-Threshold (percentage or 387 absolute value), the LSP bandwidth is adjusted (downsized) to the 388 current bandwidth demand (MaxAvgBw). Some LSPs are less eventful 389 while other LSPs may encounter a lot of changes in the traffic 390 pattern. The thresholds and intervals for bandwidth adjustment are 391 configured based on the traffic pattern of the LSP. 393 In order to avoid frequent re-signaling, an operator may set a longer 394 adjustment-interval value (Up and/or Down). However, longer 395 adjustment-interval can result in an undesirable effect of masking 396 sudden changes in traffic demands of an LSP. To avoid this, the 397 Auto-Bandwidth feature may pre-maturely expire the adjustment- 398 interval and adjust the LSP bandwidth to accommodate the sudden 399 bursts of increase in traffic demand as an overflow condition or 400 decrease in traffic demand as an underflow condition. An operator 401 needs to configure appropriate values for the Overflow-Threshold 402 and/or Underflow-Threshold parameters and they do not have default 403 values defined in this document. 405 All thresholds in this document could be represented in both absolute 406 value and percentage, and could be used together. This is provided 407 to accommodate the cases where the LSP bandwidth reservation may 408 become very large or very small over time. For example, an operator 409 may use the percentage threshold to handle small to large bandwidth 410 values and absolute values to handle very large bandwidth values. 411 The auto-bandwidth adjustment is made when either one of the two 412 thresholds, the absolute or percentage, is crossed. 414 When using the (adjustment/overflow/underflow) percentage thresholds, 415 if the LSP bandwidth changes rapidly at very low values, it may 416 trigger frequent auto-bandwidth adjustments due to the crossing of 417 the percentage thresholds. This can lead to unnecessary re-signaling 418 of the LSPs in the network. This is suppressed by setting the 419 minimum-threshold parameters along with the percentage thresholds. 420 The auto-bandwidth adjustment is only made if the LSP bandwidth 421 crosses both the percentage threshold and the minimum-threshold 422 parameters. 424 4.3. Scaling Considerations 426 It should be noted that any bandwidth change requires re-signaling of 427 an LSP, which can further trigger preemption of lower priority LSPs 428 in the network. When deployed under scale, this can lead to a 429 signaling churn in the network. The Auto-bandwidth application 430 algorithm is thus advised to take this into consideration before 431 adjusting the LSP bandwidth. Operators are advised to set the values 432 of various auto-bandwidth adjustment parameters appropriate for the 433 deployed LSP scale. 435 If a PCE gets overwhelmed, it can notify the PCC to temporarily 436 suspend the reporting of the new LSP bandwidth to be adjusted (see 437 Section 5.7 of this document). Similarly, if a PCC gets overwhelmed 438 due to signaling churn, it can notify the PCE to temporarily suspend 439 new LSP setup requests (see Section 5.7 of this document). 441 5. PCEP Extensions 443 5.1. Capability Advertisement 445 During PCEP Initialization Phase, PCEP speakers (PCE or PCC) 446 advertise their support of Automatic Bandwidth adjustment feature. A 447 PCEP speaker includes the "Auto-Bandwidth Capability" TLV, in the 448 OPEN Object to advertise its support for PCEP Auto-Bandwidth 449 extensions. The presence of the "Auto-Bandwidth Capability" TLV in 450 the OPEN Object indicates that the Automatic Bandwidth feature is 451 supported as described in this document. 453 o The PCEP protocol extensions for Auto-Bandwidth adjustments MUST 454 NOT be used if one or both PCEP speakers have not included the 455 "Auto-Bandwidth Capability" TLV in their respective OPEN message. 457 o The PCEP speaker that does not recognize the extensions defined in 458 this document sends the PCErr message with error-type 2 459 (capability not supported) as per Section 6.9 in [RFC5440]. 461 o If the PCEP speaker that supports the extensions defined in this 462 document but did not advertise this capability, then upon receipt 463 of AUTO-BANDWIDTH-ATTRIBUTES TLV in the LSP Attributes (LSPA) 464 object, it SHOULD generate a PCErr with error-type 19 (Invalid 465 Operation), error-value TBD4 (Auto-Bandwidth capability was not 466 advertised) and ignore the AUTO-BANDWIDTH-ATTRIBUTES TLV. 468 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV 470 The AUTO-BANDWIDTH-CAPABILITY TLV is an optional TLV for use in the 471 OPEN Object for Automatic Bandwidth Adjustment via PCEP capability 472 advertisement. Its format is shown in the following figure: 474 0 1 2 3 475 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 476 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 477 | Type=TBD2 | Length=4 | 478 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 479 | Flags | 480 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 482 AUTO-BANDWIDTH-CAPABILITY TLV format 484 The Type of the TLV is (TBD2) and it has a fixed Length of 4 octets. 486 The value comprises a single field - Flags (32 bits). No flags are 487 defined for this TLV in this document. 489 Unassigned bits are considered reserved. They MUST be set to 0 on 490 transmission and MUST be ignored on receipt. 492 Advertisement of the Auto-Bandwidth capability TLV implies support of 493 auto-bandwidth adjustment, as well as the objects, TLVs and 494 procedures defined in this document. 496 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV 498 The AUTO-BANDWIDTH-ATTRIBUTES TLV provides the 'configurable knobs' 499 of the feature and it can be included as an optional TLV in the LSPA 500 Object (as described in [RFC5440]). 502 For PCE-Initiated LSP [RFC8281], this TLV is included in the LSPA 503 Object with the PCInitiate message. For the PCC-Initiated delegated 504 LSPs, this TLV is carried in the PCRpt message in LSPA Object. This 505 TLV is also carried in the LSPA object with the PCUpd message to 506 direct the PCC (LSP head-end) to make updates to auto-bandwidth 507 attributes such as Adjustment-Interval. 509 The TLV is encoded in all PCEP messages for the LSP while the auto- 510 bandwidth adjustment feature is enabled, the absence of the TLV 511 indicates the PCEP speaker wishes to disable the feature. This TLV 512 includes multiple AUTO-BANDWIDTH-ATTRIBUTES sub-TLVs. The 513 AUTO-BANDWIDTH-ATTRIBUTES sub-TLVs are included if there is a change 514 since the last information sent in the PCEP message. The default 515 values for missing sub-TLVs apply for the first PCEP message for the 516 LSP. 518 The format of the AUTO-BANDWIDTH-ATTRIBUTES TLV is shown in the 519 following figure: 521 0 1 2 3 522 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 523 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 524 | Type=TBD1 | Length | 525 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 526 | | 527 // sub-TLVs // 528 | | 529 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 531 AUTO-BANDWIDTH-ATTRIBUTES TLV format 533 Type: TBD1 535 Length: The Length field defines the length of the value portion 536 in octets as per [RFC5440]. 538 Value: This comprises one or more sub-TLVs. 540 Following sub-TLVs are defined in this document: 542 Type Len Name 543 ------------------------------------------------------------------- 544 1 4 Sample-Interval sub-TLV 545 2 4 Adjustment-Interval sub-TLV 546 3 4 Down-Adjustment-Interval sub-TLV 547 4 4 Adjustment-Threshold sub-TLV 548 5 8 Adjustment-Threshold-Percentage sub-TLV 549 6 4 Down-Adjustment-Threshold sub-TLV 550 7 8 Down-Adjustment-Threshold-Percentage sub-TLV 551 8 4 Minimum-Bandwidth sub-TLV 552 9 4 Maximum-Bandwidth sub-TLV 553 10 8 Overflow-Threshold sub-TLV 554 11 8 Overflow-Threshold-Percentage sub-TLV 555 12 8 Underflow-Threshold sub-TLV 556 13 8 Underflow-Threshold-Percentage sub-TLV 558 Future specification can define additional sub-TLVs. 560 The sub-TLVs are encoded to inform the PCEP peer of the various 561 sampling and adjustment parameters. If sub-TLVs are not present, the 562 default values as specified in this document are used or otherwise 563 based on the local policy are assumed. 565 All sub-TLVs are optional and any unrecognized sub-TLV MUST be 566 ignored. If a sub-TLV of the same type appears more than once, only 567 the first occurrence is processed and all others MUST be ignored. 569 The following sub-sections describe the sub-TLVs which are currently 570 defined to be carried within the AUTO-BANDWIDTH-ATTRIBUTES TLV. 572 5.2.1. Sample-Interval sub-TLV 574 The Sample-Interval sub-TLV specifies a time interval in seconds at 575 which traffic samples are collected at the PCC. 577 0 1 2 3 578 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 580 | Type=1 | Length=4 | 581 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 582 | Sample-Interval | 583 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 585 Sample-Interval sub-TLV format 587 The Type is 1, Length is 4 octets, and the value comprises of - 589 o Sample-Interval: The 4-octet time interval for bandwidth sample 590 collection. The valid range is from 1 to 604800 (7 days), in 591 seconds. The default value is 300 seconds. The sample-interval 592 parameter MUST NOT be greater than the (down) adjustment-interval, 593 otherwise the Sub-TLV MUST be ignored and the previous value is 594 maintained. 596 5.2.2. Adjustment Intervals 598 The sub-TLVs in this section are encoded to inform the PCEP peer the 599 adjustment interval parameters. An implementation MAY require to set 600 different adjustment interval values for when the bandwidth usage 601 trend is moving upwards or downwards. The Adjustment-Interval sub- 602 TLV specifies the time interval for both upward and downward trend. 603 If the operator would like to use a different adjustment interval 604 during the downward trend, the Down-Adjustment-Interval sub-TLV is 605 included. 607 5.2.2.1. Adjustment-Interval sub-TLV 608 The Adjustment-Interval sub-TLV specifies a time interval in seconds 609 at which bandwidth adjustment should be made when MaxAvgBw is greater 610 than or less than the current bandwidth reservation of the LSP. 612 0 1 2 3 613 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 614 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 615 | Type=2 | Length=4 | 616 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 617 | Adjustment-Interval | 618 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 Adjustment-Interval sub-TLV format 622 The Type is 2, Length is 4 octets, and the value comprises of - 624 o Adjustment-Interval: The 4-octet time interval for bandwidth 625 adjustments. The valid range is from 1 to 604800 (7 days), in 626 seconds. The default value is 86400 seconds (1 day). The 627 adjustment-interval parameter MUST NOT be less than the 628 sample-interval, otherwise the Sub-TLV MUST be ignored and the 629 previous value is maintained. 631 5.2.2.2. Down-Adjustment-Interval sub-TLV 633 The Down-Adjustment-Interval sub-TLV specifies a time interval in 634 seconds at which bandwidth adjustment should be made when MaxAvgBw is 635 less than the current bandwidth reservation of the LSP. This 636 parameter overwrites the Adjustment-Interval for the downward trend. 638 0 1 2 3 639 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 640 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 641 | Type=3 | Length=4 | 642 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 643 | Down-Adjustment-Interval | 644 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 646 Down-Adjustment-Interval sub-TLV format 648 The Type is 3, Length is 4 octets, and the value comprises of - 650 o Down-Adjustment-Interval: The 4-octet time interval for downward 651 bandwidth adjustments. The valid range is from 1 to 604800, in 652 seconds. The default value equals the adjustment-interval. The 653 down-adjustment-interval parameter MUST NOT be less than the 654 sample-interval, otherwise the Sub-TLV MUST be ignored and the 655 previous value is maintained. 657 5.2.3. Adjustment Thresholds 659 The sub-TLVs in this section are encoded to inform the PCEP peer of 660 the adjustment threshold parameters. An implementation MAY include 661 both sub-TLVs for the absolute value and the percentage, in which 662 case the bandwidth is adjusted when either of the adjustment 663 threshold conditions are met. The Adjustment-Threshold sub-TLV 664 specifies the threshold for both upward and downward trend. If the 665 operator would like to use a different adjustment threshold during 666 the downward trend, the Down-Adjustment-Threshold sub-TLV is 667 included. Similarly, the Adjustment-Threshold-Percentage sub-TLV 668 specifies the threshold percentage for both upward and downward 669 trend. If the operator would like to use a different adjustment 670 threshold percentage during the downward trend, the 671 Down-Adjustment-Threshold-Percentage sub-TLV is included. It is 672 worth noting that regardless of how the threshold are set, the 673 adjustment will not be made until at least one sample-interval simply 674 because no sample will be made on which to base a comparison with a 675 threshold. 677 5.2.3.1. Adjustment-Threshold sub-TLV 679 The Adjustment-Threshold sub-TLV is used to decide when the LSP 680 bandwidth should be adjusted when MaxAvgBw is greater than or less 681 than the current bandwidth reservation. 683 0 1 2 3 684 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 685 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 686 | Type=4 | Length=4 | 687 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 688 | Adjustment-Threshold | 689 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 691 Adjustment-Threshold sub-TLV format 693 The Type is 4, Length is 4 octets, and the value comprises of - 695 o Adjustment-Threshold: The absolute Adjustment-Threshold bandwidth 696 value, encoded in IEEE floating point format (see 697 [IEEE.754.1985]), expressed in bytes per second. The default 698 adjustment-threshold value is not set. Refer to Section 3.1.2 of 699 [RFC3471] for a table of commonly used values. 701 If the modulus of difference between the current MaxAvgBw and the 702 current bandwidth reservation is greater than or equal to the 703 threshold value, the LSP bandwidth is adjusted to the current 704 bandwidth demand (MaxAvgBw). 706 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV 708 The Adjustment-Threshold-Percentage sub-TLV is used to decide when 709 the LSP bandwidth should be adjusted when MaxAvgBw is greater than or 710 less than the current bandwidth reservation. 712 0 1 2 3 713 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 715 | Type=5 | Length=8 | 716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 717 | Reserved | Percentage | 718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 719 | Minimum-Threshold | 720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 722 Adjustment-Threshold-Percentage sub-TLV format 724 The Type is 5, Length is 8 octets, and the value comprises of - 726 o Reserved: SHOULD be set to zero on transmission and MUST be 727 ignored on receipt. 729 o Percentage: The Adjustment-Threshold value (7 bits), encoded in 730 percentage (an integer from 1 to 100). The value 0 is considered 731 to be invalid. The default value is 5 percent. 733 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 734 encoded in IEEE floating point format (see [IEEE.754.1985]), 735 expressed in bytes per second. The increase or decrease of the 736 LSP bandwidth MUST be at least or above the minimum-threshold 737 before the bandwidth adjustment is made. The default value is 0. 739 If the percentage difference between the current MaxAvgBw and the 740 current bandwidth reservation is greater than or less than or equal 741 to the threshold percentage, the LSP bandwidth is adjusted to the 742 current bandwidth demand (MaxAvgBw) (as long as the difference in the 743 bandwidth is at least or above the Minimum-Threshold). 745 5.2.3.3. Down-Adjustment-Threshold sub-TLV 747 The Down-Adjustment-Threshold sub-TLV is used to decide when the LSP 748 bandwidth should be adjusted when MaxAvgBw is lesser than the current 749 bandwidth reservation. This parameter overwrites the Adjustment- 750 Threshold for the downward trend. 752 0 1 2 3 753 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 755 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 756 | Type=6 | Length=4 | 757 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 758 | Down-Adjustment-Threshold | 759 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 761 Down-Adjustment-Threshold sub-TLV format 763 The Type is 6, Length is 4 octets, and the value comprises of - 765 o Down-Adjustment-Threshold: The absolute Down-Adjustment-Threshold 766 bandwidth value, encoded in IEEE floating point format (see 767 [IEEE.754.1985]), expressed in bytes per second. The default 768 value equals the adjustment-threshold. Refer to Section 3.1.2 of 769 [RFC3471] for a table of commonly used values. 771 If the difference between current bandwidth reservation and the 772 current MaxAvgBw is greater than or equal to the threshold value, the 773 LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw). 775 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV 777 The Down-Adjustment-Threshold-Percentage sub-TLV is used to decide 778 when the LSP bandwidth should be adjusted when MaxAvgBw is lesser 779 than the current bandwidth reservation. This parameter overwrites 780 the Adjustment-Threshold-Percentage for the downward trend. 782 0 1 2 3 783 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 784 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 785 | Type=7 | Length=8 | 786 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 787 | Reserved | Percentage | 788 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 789 | Minimum-Threshold | 790 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 792 Down-Adjustment-Threshold-Percentage sub-TLV format 794 The Type is 7, Length is 8 octets, and the value comprises of - 796 o Reserved: SHOULD be set to zero on transmission and MUST be 797 ignored on receipt. 799 o Percentage: The Down-Adjustment-Threshold value (7 bits), encoded 800 in percentage (an integer from 1 to 100). The value 0 is 801 considered to be invalid. The default value equals the 802 adjustment-threshold-percentage. 804 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 805 encoded in IEEE floating point format (see [IEEE.754.1985]), 806 expressed in bytes per second. The decrease of the LSP bandwidth 807 MUST be at least or above the minimum-threshold before the 808 bandwidth adjustment is made. The default value equals the 809 minimum-threshold for the adjustment-threshold-percentage. 811 If the percentage difference between the current bandwidth 812 reservation and the current MaxAvgBw is greater than or equal to the 813 threshold percentage, the LSP bandwidth is adjusted to the current 814 bandwidth demand (MaxAvgBw) (as long as the difference in the 815 bandwidth is at least or above the Minimum-Threshold). 817 5.2.4. Minimum and Maximum Bandwidth Values 819 5.2.4.1. Minimum-Bandwidth sub-TLV 821 The Minimum-Bandwidth sub-TLV specify the minimum bandwidth allowed 822 for the LSP, and is expressed in bytes per second. The LSP bandwidth 823 cannot be adjusted below the minimum bandwidth value. 825 0 1 2 3 826 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 827 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 828 | Type=8 | Length=4 | 829 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 830 | Minimum-Bandwidth | 831 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 833 Minimum-Bandwidth sub-TLV format 835 The Type is 8, Length is 4 octets, and the value comprises of - 837 o Minimum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 838 floating point format (see [IEEE.754.1985]), expressed in bytes 839 per second. The default minimum-bandwidth value is set to 0. 840 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 841 values. 843 5.2.4.2. Maximum-Bandwidth sub-TLV 845 The Maximum-Bandwidth sub-TLV specify the maximum bandwidth allowed 846 for the LSP, and is expressed in bytes per second. The LSP bandwidth 847 cannot be adjusted above the maximum bandwidth value. 849 0 1 2 3 850 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 851 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 852 | Type=9 | Length=4 | 853 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 854 | Maximum-Bandwidth | 855 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 857 Maximum-Bandwidth sub-TLV format 859 The Type is 9, Length is 4 octets, and the value comprises of - 861 o Maximum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 862 floating point format (see [IEEE.754.1985]), expressed in bytes 863 per second. The default maximum-bandwidth value is not set. 864 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 865 values. 867 5.2.5. Overflow and Underflow Conditions 869 The sub-TLVs in this section are encoded to inform the PCEP peer the 870 overflow and underflow threshold parameters. An implementation MAY 871 include sub-TLVs for an absolute value and/or a percentage for the 872 threshold, in which case the bandwidth is immediately adjusted when 873 either of the threshold conditions is met consecutively for the given 874 count (as long as the difference in the bandwidth is at least or 875 above the Minimum-Threshold). By default, the threshold values for 876 overflow and underflow conditions are not set. 878 5.2.5.1. Overflow-Threshold sub-TLV 880 The Overflow-Threshold sub-TLV is used to decide if the LSP bandwidth 881 should be adjusted immediately. 883 0 1 2 3 884 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 885 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 886 | Type=10 | Length=8 | 887 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 888 | Reserved | Count | 889 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 890 | Overflow-Threshold | 891 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 893 Overflow-Threshold sub-TLV format 895 The Type is 10, Length is 8 octets, and the value comprises of - 897 o Reserved: SHOULD be set to zero on transmission and MUST be 898 ignored on receipt. 900 o Count: The Overflow-Count value (5 bits), encoded in integer. The 901 value 0 is considered to be invalid. The number of consecutive 902 samples for which the overflow condition MUST be met for the LSP 903 bandwidth to be immediately adjusted to the current bandwidth 904 demand, bypassing the (up) adjustment-interval. 906 o Overflow-Threshold: The absolute Overflow-Threshold bandwidth 907 value, encoded in IEEE floating point format (see 908 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 909 3.1.2 of [RFC3471] for a table of commonly used values. If the 910 increase of the current MaxAvgBw from the current bandwidth 911 reservation is greater than or equal to the threshold value, the 912 overflow condition is met. 914 5.2.5.2. Overflow-Threshold-Percentage sub-TLV 916 The Overflow-Threshold-Percentage sub-TLV is used to decide if the 917 LSP bandwidth should be adjusted immediately. 919 0 1 2 3 920 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 921 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 922 | Type=11 | Length=8 | 923 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 924 | Percentage | Reserved | Count | 925 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 926 | Minimum-Threshold | 927 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 929 Overflow-Threshold-Percentage sub-TLV format 931 The Type is 11, Length is 8 octets, and the value comprises of - 933 o Percentage: The Overflow-Threshold value (7 bits), encoded in 934 percentage (an integer from 1 to 100). The value 0 is considered 935 to be invalid. If the percentage increase of the current MaxAvgBw 936 from the current bandwidth reservation is greater than or equal to 937 the threshold percentage, the overflow condition is met. 939 o Reserved: SHOULD be set to zero on transmission and MUST be 940 ignored on receipt. 942 o Count: The Overflow-Count value (5 bits), encoded in integer. The 943 value 0 is considered to be invalid. The number of consecutive 944 samples for which the overflow condition MUST be met for the LSP 945 bandwidth to be immediately adjusted to the current bandwidth 946 demand, bypassing the (up) adjustment-interval. 948 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 949 encoded in IEEE floating point format (see [IEEE.754.1985]), 950 expressed in bytes per second. The increase of the LSP bandwidth 951 MUST be at least or above the minimum-threshold before the 952 bandwidth adjustment is made. 954 5.2.5.3. Underflow-Threshold sub-TLV 956 The Underflow-Threshold sub-TLV is used to decide if the LSP 957 bandwidth should be adjusted immediately. 959 0 1 2 3 960 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 961 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 962 | Type=12 | Length=8 | 963 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 964 | Reserved | Count | 965 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 966 | Underflow-Threshold | 967 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 969 Underflow-Threshold sub-TLV format 971 The Type is 12, Length is 8 octets, and the value comprises of - 973 o Reserved: SHOULD be set to zero on transmission and MUST be 974 ignored on receipt. 976 o Count: The Underflow-Count value (5 bits), encoded in integer. 977 The value 0 is considered to be invalid. The number of 978 consecutive samples for which the underflow condition MUST be met 979 for the LSP bandwidth to be immediately adjusted to the current 980 bandwidth demand, bypassing the down-adjustment-interval. 982 o Underflow-Threshold: The absolute Underflow-Threshold bandwidth 983 value, encoded in IEEE floating point format (see 984 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 985 3.1.2 of [RFC3471] for a table of commonly used values. If the 986 decrease of the current MaxAvgBw from the current bandwidth 987 reservation is greater than or equal to the threshold value, the 988 underflow condition is met. 990 5.2.5.4. Underflow-Threshold-Percentage sub-TLV 992 The Underflow-Threshold-Percentage sub-TLV is used to decide if the 993 LSP bandwidth should be adjusted immediately. 995 0 1 2 3 996 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 997 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 998 | Type=13 | Length=8 | 999 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1000 | Percentage | Reserved | Count | 1001 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1002 | Minimum-Threshold | 1003 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1005 Underflow-Threshold-Percentage sub-TLV format 1007 The Type is 13, Length is 8 octets, and the value comprises of - 1009 o Percentage: The Underflow-Threshold value (7 bits), encoded in 1010 percentage (an integer from 1 to 100). The value 0 is considered 1011 to be invalid. If the percentage decrease of the current MaxAvgBw 1012 from the current bandwidth reservation is greater than or equal to 1013 the threshold percentage, the underflow condition is met. 1015 o Reserved: SHOULD be set to zero on transmission and MUST be 1016 ignored on receipt. 1018 o Count: The Underflow-Count value (5 bits), encoded in integer. 1019 The value 0 is considered to be invalid. The number of 1020 consecutive samples for which the underflow condition MUST be met 1021 for the LSP bandwidth to be immediately adjusted to the current 1022 bandwidth demand, bypassing the down-adjustment-interval. 1024 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 1025 encoded in IEEE floating point format (see [IEEE.754.1985]), 1026 expressed in bytes per second. The decrease of the LSP bandwidth 1027 MUST be at least or above the minimum-threshold before the 1028 bandwidth adjustment is made. 1030 5.3. BANDWIDTH Object 1032 As per [RFC5440], the BANDWIDTH object (Object-Class value 5) is 1033 defined with two Object-Type values as following: 1035 o Requested Bandwidth: BANDWIDTH Object-Type value is 1. 1037 o Re-optimization Bandwidth: Bandwidth of an existing TE LSP for 1038 which a re-optimization is requested. BANDWIDTH Object-Type value 1039 is 2. 1041 The PCC reports the calculated bandwidth to be adjusted (MaxAvgBw) to 1042 the Stateful PCE using the existing 'Requested Bandwidth' with 1043 BANDWIDTH Object-Type as 1. The reporting of the 're-optimization 1044 bandwidth' with BANDWIDTH Object-Type as 2 is not required as the 1045 Stateful PCE is aware of the existing LSP bandwidth. 1047 5.4. The PCInitiate Message 1049 A PCInitiate message is a PCEP message sent by a PCE to a PCC to 1050 trigger LSP instantiation or deletion [RFC8281]. 1052 For the PCE-Initiated LSP with Auto-Bandwidth feature enabled, AUTO- 1053 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1054 PCInitiate message. 1056 The Routing Backus-Naur Format (RBNF) definition of the PCInitiate 1057 message [RFC8281] is unchanged by this document. 1059 5.5. The PCUpd Message 1061 A PCUpd message is a PCEP message sent by a PCE to a PCC to update 1062 the LSP parameters [RFC8231]. 1064 For PCE-Initiated LSPs with Auto-Bandwidth feature enabled, AUTO- 1065 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1066 PCUpd message. The PCE can send this TLV to direct the PCC to change 1067 the auto-bandwidth parameters. 1069 The RBNF definition of the PCUpd message [RFC8231] is unchanged by 1070 this document. 1072 5.6. The PCRpt Message 1074 The PCRpt message [RFC8231] is a PCEP message sent by a PCC to a PCE 1075 to report the status of one or more LSPs. 1077 For PCE-Initiated LSPs [RFC8281], the PCC creates the LSP using the 1078 attributes communicated by the PCE, and using the local values for 1079 the unspecified parameters. After the successful instantiation of 1080 the LSP, PCC automatically delegates the LSP to the PCE and generates 1081 a PCRpt message to provide the status report for the LSP. 1083 For both PCE-Initiated and PCC-Initiated LSPs, when the LSP is 1084 delegated to a PCE for the very first time as well as after the 1085 successful delegation, the BANDWIDTH object of type 1 is used to 1086 specify the requested bandwidth in the PCRpt message. 1088 The RBNF definition of the PCRpt message [RFC8231] is unchanged by 1089 this document. 1091 5.7. The PCNtf Message 1092 As per [RFC5440], the PCEP Notification message (PCNtf) can be sent 1093 by a PCEP speaker to notify its peer of a specific event. 1095 A PCEP speaker (PCE or PCC) SHOULD notify its PCEP peer (PCC or PCE) 1096 when it is in overwhelmed state due to the auto-bandwidth feature. 1097 Upon receipt of such notification, the peer SHOULD NOT send any PCEP 1098 messages related to auto-bandwidth adjustment. If a PCEP message 1099 related to auto-bandwidth is received during in overwhelmed state, it 1100 MUST be ignored. 1102 o When a PCEP speaker is overwhelmed, it SHOULD notify its peer by 1103 sending a PCNtf message with Notification Type = TBD3 (Auto- 1104 bandwidth Overwhelm State) and Notification Value = 1 (Entering 1105 auto-bandwidth overwhelm state). Optionally, OVERLOADED-DURATION 1106 TLV [RFC5440] MAY be included that specifies the time period 1107 during which no further PCEP messages related to auto-bandwidth 1108 adjustment should be sent. 1110 o When the PCEP speaker is no longer in the overwhelm state and is 1111 available to process the auto-bandwidth adjustments, it SHOULD 1112 notify its peer by sending a PCNtf message with Notification Type 1113 = TBD3 (Auto-bandwidth Overwhelm State) and Notification Value = 2 1114 (Clearing auto-bandwidth overwhelm state). 1116 When Auto-Bandwidth feature is deployed, a PCE can send this 1117 notification to PCC when a PCC is reporting frequent auto-bandwidth 1118 adjustments. If a PCC is overwhelmed with re-signaling, it can also 1119 notify the PCE to not adjust the LSP bandwidth while in overwhelm 1120 state. 1122 6. Manageability Considerations 1124 6.1. Control of Function and Policy 1126 The Auto-Bandwidth feature SHOULD be controlled per LSP (at PCC 1127 (head-end of the LSP) or PCE) and the values for auto-bandwidth 1128 parameters e.g. sample-interval, adjustment-interval (up/down), 1129 minimum-bandwidth, maximum-bandwidth, adjustment-threshold (up/down) 1130 SHOULD be configurable by an operator. 1132 6.2. Information and Data Models 1134 A MIB module for gathering operational information about PCEP is 1135 defined in [RFC7420]. Additionally, the YANG module defined in 1136 [I-D.ietf-pce-pcep-yang] provides for both configuration of PCEP as 1137 well as operational management. These could be enhanced to provide 1138 controls and indicators for support of auto-bandwidth feature. 1140 Support for various configuration knobs as well as counters of 1141 messages sent/received containing the TLVs defined in this document 1142 could be added. 1144 6.3. Liveness Detection and Monitoring 1146 The mechanisms defined in this document do not imply any new liveness 1147 detection and monitoring requirements in addition to those already 1148 listed in [RFC5440]. 1150 6.4. Verify Correct Operations 1152 The mechanisms defined in this document do not imply any new 1153 operation verification requirements in addition to those already 1154 listed in [RFC5440]. 1156 6.5. Requirements On Other Protocols 1158 The mechanisms defined in this document do not add any new 1159 requirements on other protocols. 1161 6.6. Impact On Network Operations 1163 In order to avoid any unacceptable impact on network operations, an 1164 implementation SHOULD allow a limit to be placed on the number of 1165 LSPs that can be enabled with auto-bandwidth feature. For each LSP 1166 enabled with auto-bandwidth feature there is an extra load on PCC, as 1167 it needs to monitor the traffic and report the calculated bandwidth 1168 to be adjusted to the PCE. The PCE further re-compute paths based on 1169 the requested bandwidth and update the path to the PCC, which in 1170 turns triggers the re-signalling of the path. All these steps adds 1171 extra load and churn in the network and thus operator needs to take 1172 due care while enabling this features on a number of LSPs. 1174 An implementation MAY allow a limit to be placed on the rate of auto- 1175 bandwidth related messages sent by a PCEP speaker and received by a 1176 peer. An implementation MAY also allow sending a notification when a 1177 PCEP speaker is overwhelmed or the rate of messages reach a 1178 threshold. 1180 Due care is required by the operator if a Sample-Interval value 1181 significantly smaller than the default (5 minute) is used, as a small 1182 Sample-Interval values, e.g., 1 minute or less, could cause 1183 undesirable interactions with transport protocols. These undesirable 1184 interactions result from providing insufficient time for transport 1185 protocol reactions to a prior bandwidth adjustment to settle out 1186 before bandwidth samples are taken for the next bandwidth adjustment. 1188 7. Security Considerations 1190 This document defines AUTO-BANDWIDTH-CAPABILITY TLV and AUTO- 1191 BANDWIDTH-ATTRIBUTES sub-TLVs which do not add any new security 1192 concerns beyond those already discussed in [RFC8231] and [RFC8281] 1193 for stateful PCE operations. As per [RFC8231], it is RECOMMENDED 1194 that these PCEP extensions only be activated on authenticated and 1195 encrypted sessions across PCEs and PCCs belonging to the same 1196 administrative authority, using Transport Layer Security (TLS) 1197 [RFC8253], as per the recommendations and best current practices in 1198 [RFC7525] (unless explicitly set aside in [RFC8253]). 1200 8. IANA Considerations 1202 8.1. PCEP TLV Type Indicators 1204 This document defines the following new PCEP TLVs; IANA is requested 1205 to make the following allocations from the "PCEP TLV Type Indicators" 1206 sub-registry of the PCEP Numbers registry, as follows: 1208 Value Name Reference 1209 ----------------------------------------------------------------- 1210 TBD2 AUTO-BANDWIDTH-CAPABILITY [This document] 1211 TBD1 AUTO-BANDWIDTH-ATTRIBUTES [This document] 1213 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field 1215 IANA is requested to create a sub-registry to manage the Flag field 1216 of the AUTO-BANDWIDTH-CAPABILITY TLV. 1218 New bit numbers are to be assigned by Standards Action [RFC8126]. 1219 Each bit should be tracked with the following qualities: 1221 o Bit number (counting from bit 0 as the most significant bit) 1223 o Capability description 1225 o Defining RFC 1227 There is no bit defined for the AUTO-BANDWIDTH-CAPABILITY TLV Object 1228 flag field in this document. 1230 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV 1232 This document specifies the AUTO-BANDWIDTH-ATTRIBUTES Sub-TLVs. IANA 1233 is requested to create an "AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV Types" 1234 sub-registry within the "Path Computation Element Protocol (PCEP) 1235 Numbers" registry to manage the type indicator space for sub-TLVs of 1236 the AUTO-BANDWIDTH-ATTRIBUTES TLV. The valid range of values in the 1237 registry is 0-65535. IANA is requested to initialize the registry 1238 with the following values. All other values in the registry should 1239 be marked as "Unassigned". 1241 IANA is requested to set the registration procedure for this registry 1242 to read as follows: 1244 0-65503 IETF Review 1245 65504-65535 Experimental Use 1247 This document defines the following types: 1249 Type Name Reference 1250 ----------------------------------------------------------------- 1251 0 Reserved [This document] 1252 1 Sample-Interval sub-TLV [This document] 1253 2 Adjustment-Interval sub-TLV [This document] 1254 3 Down-Adjustment-Interval sub-TLV [This document] 1255 4 Adjustment-Threshold sub-TLV [This document] 1256 5 Adjustment-Threshold-Percentage sub-TLV [This document] 1257 6 Down-Adjustment-Threshold sub-TLV [This document] 1258 7 Down-Adjustment-Threshold-Percentage sub-TLV [This document] 1259 8 Minimum-Bandwidth sub-TLV [This document] 1260 9 Maximum-Bandwidth sub-TLV [This document] 1261 10 Overflow-Threshold sub-TLV [This document] 1262 11 Overflow-Threshold-Percentage sub-TLV [This document] 1263 12 Underflow-Threshold sub-TLV [This document] 1264 13 Underflow-Threshold-Percentage sub-TLV [This document] 1265 14- Unassigned [This document] 1266 65503 1268 8.4. Error Object 1270 This document defines a new Error-Value for PCErr message of Error- 1271 Type 19 (Invalid Operation) [RFC8231]. IANA is requested to allocate 1272 new error-value within the "PCEP-ERROR Object Error Types and Values" 1273 subregistry of the PCEP Numbers registry, as follows: 1275 Error-Type Meaning & error values Reference 1276 ----------------------------------------------------------------- 1277 19 Invalid Operations 1279 Error-Value = TBD4: [This document] 1280 Auto-Bandwidth Capability 1281 was not Advertised 1283 8.5. Notification Object 1285 IANA is requested to allocate new Notification Type and Notification 1286 Values within the "Notification Object" sub-registry of the PCEP 1287 Numbers registry, as follows: 1289 Type Meaning Reference 1290 ----------------------------------------------------------------- 1291 TBD3 Auto-Bandwidth Overwhelm State [This document] 1293 Notification-value=1: Entering Auto-Bandwidth 1294 overwhelm state 1295 Notification-value=2: Clearing Auto-Bandwidth 1296 overwhelm state 1298 9. References 1300 9.1. Normative References 1302 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1303 Requirement Levels", BCP 14, RFC 2119, March 1997. 1305 [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element 1306 (PCE) Communication Protocol (PCEP)", RFC 5440, March 1307 2009. 1309 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1310 Writing an IANA Considerations Section in RFCs", BCP 26, 1311 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1312 . 1314 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1315 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1316 May 2017, . 1318 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Pah 1319 Computation Element Communication Protocol (PCEP) 1320 Extensions for Stateful PCE", RFC 8231, DOI 1321 10.17487/RFC8231, September 2017, 1322 . 1324 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 1325 Computation Element Communication Protocol (PCEP) 1326 Extensions for PCE-Initiated LSP Setup in a Stateful PCE, 1327 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 1328 . 1330 9.2. Informative References 1332 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1333 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1334 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1335 . 1337 [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching 1338 (GMPLS) Signaling Functional Description", RFC 3471, 1339 January 2003. 1341 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 1342 Hardwick, "Path Computation Element Communication Protocol 1343 (PCEP) Management Information Base (MIB) Module", RFC 1344 7420, December 2014. 1346 [RFC7525] Sheffer, Y., Holz, R. and P. Saint-Andre, "Recommendations 1347 for Secure Use of Transport Layer Security (TLS) and 1348 Datagram Transport Layer Security (DTLS)", BCP 195, RFC 1349 7525, DOI 10.17487/RFC7525, May 2015. 1351 [RFC8051] Zhang, X. and I. Minei, "Applicability of a Stateful Path 1352 Computation Element (PCE)", RFC 8051, January 2017. 1354 [RFC8253] Lopez, D., Dios, O., Wu, W., and D. Dhody, "PCEPS: Usage 1355 of TLS to Provide a Secure Transport for the Path 1356 Computation Element Communication Protocol (PCEP)", RFC 1357 8253, October 2017, 1358 . 1360 [I-D.ietf-pce-pcep-yang] Dhody, D., Hardwick, J., Beeram, V., and J. 1361 Tantsura, "A YANG Data Model for Path Computation Element 1362 Communications Protocol (PCEP)", draft-ietf-pce-pcep-yang 1363 (work in progress). 1365 [IEEE.754.1985] Institute of Electrical and Electronics Engineers, 1366 "Standard for Binary Floating-Point Arithmetic", IEEE 1367 Standard 754, August 1985. 1369 Acknowledgments 1371 Authors would like to thank Robert Varga, Venugopal Reddy, Reeja 1372 Paul, Sandeep Boina, Avantika, JP Vasseur, Himanshu Shah, Jonathan 1373 Hardwick and Adrian Farrel for their useful comments and suggestions. 1375 Thanks to Daniel Franke, Joe Clarke, David Black, and Erik Kline for 1376 the directorate reviews. 1378 Contributors' Addresses 1380 He Zekun 1381 Tencent Holdings Ltd, 1382 Shenzhen P.R.China 1384 Email: kinghe@tencent.com 1386 Xian Zhang 1387 Huawei Technologies 1388 Research Area F3-1B, 1389 Huawei Industrial Base, 1390 Shenzhen, 518129 1391 China 1393 Phone: +86-755-28972645 1394 Email: zhang.xian@huawei.com 1396 Young Lee 1397 Futurewei Technologies 1398 Futurewei Technologies 1399 5340 Legacy Drive, Building 3 1400 Plano, TX 75023 1401 USA 1403 Email: younglee.tx@gmail.com 1405 Authors' Addresses 1407 Dhruv Dhody (editor) 1408 Huawei Technologies 1409 Divyashree Techno Park, Whitefield 1410 Bangalore, Karnataka 560066 1411 India 1413 Email: dhruv.ietf@gmail.com 1415 Rakesh Gandhi (editor) 1416 Cisco Systems, Inc. 1417 Canada 1419 Email: rgandhi@cisco.com 1421 Udayasree Palle 1422 Individual Contributor 1424 Email: udayasreereddy@gmail.com 1426 Ravi Singh 1427 Individual Contributor 1429 Email: ravi.singh.ietf@gmail.com 1431 Luyuan Fang 1432 Expedia, Inc. 1433 USA 1435 Email: luyuanf@gmail.com