idnits 2.17.1 draft-ietf-pce-stateful-pce-auto-bandwidth-07.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 (May 21, 2018) is 2167 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group D. Dhody 3 Internet-Draft U. Palle 4 Intended status: Standards Track Huawei Technologies 5 Expires: November 22, 2018 R. Singh 6 Juniper Networks 7 R. Gandhi 8 Cisco Systems, Inc. 9 L. Fang 10 Expedia, Inc. 11 May 21, 2018 13 PCEP Extensions for MPLS-TE LSP Automatic Bandwidth Adjustment with 14 Stateful PCE 15 draft-ietf-pce-stateful-pce-auto-bandwidth-07 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 Automatic bandwidth allows automatic and dynamic adjustment of the TE 27 LSP bandwidth reservation based on the volume of traffic flowing 28 through the LSP. This document describes PCEP extensions for 29 automatic bandwidth adjustment when employing an Active Stateful PCE 30 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 http://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) 2018 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 (http://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. Extensions to the PCEP . . . . . . . . . . . . . . . . . . . . 10 75 5.1. Capability Advertisement . . . . . . . . . . . . . . . . . 10 76 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV . . . . . . . . . . . . 10 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 . . . . . . . . . . . . . . . . 14 83 5.2.3.1. Adjustment-Threshold sub-TLV . . . . . . . . . . . 15 84 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV . . . . . 15 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 . . . . . . . . . 17 88 5.2.4.1. Minimum-Bandwidth sub-TLV . . . . . . . . . . . . 17 89 5.2.4.2. Maximum-Bandwidth sub-TLV . . . . . . . . . . . . 18 90 5.2.5. Overflow and Underflow Conditions . . . . . . . . . . 18 91 5.2.5.1. Overflow-Threshold sub-TLV . . . . . . . . . . . . 19 92 5.2.5.2. Overflow-Threshold-Percentage sub-TLV . . . . . . 19 93 5.2.5.3. Underflow-Threshold sub-TLV . . . . . . . . . . . 20 94 5.2.5.4. Underflow-Threshold-Percentage sub-TLV . . . . . . 21 95 5.3. BANDWIDTH Object . . . . . . . . . . . . . . . . . . . . . 22 96 5.4. The PCInitiate Message . . . . . . . . . . . . . . . . . . 22 97 5.5. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 22 98 5.6. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 23 99 5.7. The PCNtf Message . . . . . . . . . . . . . . . . . . . . 23 100 6. Security Considerations . . . . . . . . . . . . . . . . . . . 24 101 7. Manageability Considerations . . . . . . . . . . . . . . . . . 24 102 7.1. Control of Function and Policy . . . . . . . . . . . . . . 24 103 7.2. Information and Data Models . . . . . . . . . . . . . . . 24 104 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 25 105 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 25 106 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 25 107 7.6. Impact On Network Operations . . . . . . . . . . . . . . . 25 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 . . . . . . . . . . . . . . . . . . . 27 114 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 115 9.1. Normative References . . . . . . . . . . . . . . . . . . . 28 116 9.2. Informative References . . . . . . . . . . . . . . . . . . 28 117 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 30 118 Contributors' Addresses . . . . . . . . . . . . . . . . . . . . . 30 119 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 31 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 Control 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 194 Adjustment-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 lesser 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, the LSP that 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 Auto-Bandwidth feature allows automatic and dynamic adjustment of the 345 reserved bandwidth of an LSP over time, i.e. without network operator 346 intervention to accommodate the varying traffic demand of the LSP. 347 If the traffic flowing through the LSP is lower than the configured 348 or current reserved bandwidth of the LSP, the extra bandwidth is 349 being reserved needlessly and being wasted. Conversely, if the 350 actual traffic flowing through the LSP is higher than the configured 351 or current reserved bandwidth of the LSP, it can potentially cause 352 congestion or packet loss in the network. The initial LSP bandwidth 353 can be set to an arbitrary value (including zero), in practice, it 354 can be operator expected value based on design and planning. The 355 head-end Label Switch Router (LSR) monitors the actual traffic 356 flowing through the LSP and uses that information to adjust the 357 bandwidth reservation of the LSP in the network. The bandwidth 358 adjustment uses the make-before-break (MBB) signaling method so that 359 there is no disruption to the traffic flow carried by the LSP. 361 4.2. Auto-bandwidth Theory of Operation 363 When the Auto-Bandwidth feature is enabled, the measured traffic rate 364 is periodically sampled at each Sample-Interval (which can be 365 configured by an operator and the default value as 5 minutes) by the 366 PCC which is the head-end node of the LSP. The traffic rate samples 367 are accumulated over the Adjustment-Interval period (which can be 368 configured by an operator and the default value as 24 hours). The 369 PCC, in-charge of calculating the bandwidth to be adjusted, will 370 adjust the bandwidth of the LSP to the highest traffic rate sample 371 (MaxAvgBw) amongst the set of bandwidth samples collected over the 372 adjustment-interval period (in the Up or Down direction). 374 Note that the highest traffic rate sample could be higher or lower 375 than the current LSP bandwidth. Only if the difference between the 376 current bandwidth demand (MaxAvgBw) and the current bandwidth 377 reservation is greater than or equal to the Adjustment-Threshold 378 (percentage or absolute value) (which can be configured by an 379 operator and the default as 5 percentage), the LSP bandwidth is 380 adjusted (upsized) to the current bandwidth demand (MaxAvgBw). 381 Similarly, if the difference between the current bandwidth 382 reservation and the current bandwidth demand (MaxAvgBw) is greater 383 than or equal to the Down-Adjustment-Threshold (percentage or 384 absolute value), the LSP bandwidth is adjusted (downsized) to the 385 current bandwidth demand (MaxAvgBw). Some LSPs are less eventful 386 while other LSPs may encounter a lot of changes in the traffic 387 pattern. The thresholds and intervals for bandwidth adjustment are 388 configured based on the traffic pattern of the LSP. 390 In order to avoid frequent re-signaling, an operator may set a longer 391 adjustment-interval value (Up and/or Down). However, longer 392 adjustment-interval can result in an undesirable effect of masking 393 sudden changes in traffic demands of an LSP. To avoid this, the 394 Auto-Bandwidth feature may pre-maturely expire the adjustment- 395 interval and adjust the LSP bandwidth to accommodate the sudden 396 bursts of increase in traffic demand as an overflow condition or 397 decrease in traffic demand as an underflow condition. An operator 398 needs to configure appropriate values for the Overflow-Threshold 399 and/or Underflow-Threshold parameters and they do not have default 400 values defined in this document. 402 All thresholds in this document could be represented in both absolute 403 value and percentage, and could be used together. This is provided 404 to accommodate the cases where the LSP bandwidth reservation may 405 become very large or very small over time. For example, an operator 406 may use the percentage threshold to handle small to large bandwidth 407 values and absolute values to handle very large bandwidth values. 408 The auto-bandwidth adjustment is made when either one of the two 409 thresholds, the absolute or percentage, is crossed. 411 When using the (adjustment/overflow/underflow) percentage thresholds, 412 if the LSP bandwidth changes rapidly at very low values, it may 413 trigger frequent auto-bandwidth adjustments due to the crossing of 414 the percentage thresholds. This can lead to unnecessary re-signaling 415 of the LSPs in the network. This is suppressed by setting the 416 minimum-threshold parameters along with the percentage thresholds. 417 The auto-bandwidth adjustment is only made if the LSP bandwidth 418 crosses both the percentage threshold and the minimum-threshold 419 parameters. 421 4.3. Scaling Considerations 423 It should be noted that any bandwidth change requires re-signaling of 424 an LSP in a make-before-break fashion, which can further trigger 425 preemption of lower priority LSPs in the network. When deployed 426 under scale, this can lead to a signaling churn in the network. The 427 Auto-bandwidth application algorithm is thus advised to take this 428 into consideration before adjusting the LSP bandwidth. Operators are 429 advised to set the values of various auto-bandwidth adjustment 430 parameters appropriate for the deployed LSP scale. 432 If a PCE gets overwhelmed, it can notify the PCC to temporarily 433 suspend the reporting of the new LSP bandwidth to be adjusted (see 434 Section 5.7 of this document). Similarly, if a PCC gets overwhelmed 435 due to signaling churn, it can notify the PCE to temporarily suspend 436 new LSP setup requests. 438 5. Extensions to the PCEP 440 5.1. Capability Advertisement 442 During PCEP Initialization Phase, PCEP speakers (PCE or PCC) 443 advertise their support of Automatic Bandwidth adjustment feature. A 444 PCEP speaker includes the "Auto-Bandwidth Capability" TLV, in the 445 OPEN Object to advertise its support for PCEP Auto-Bandwidth 446 extensions. The presence of the "Auto-Bandwidth Capability" TLV in 447 the OPEN Object indicates that the Automatic Bandwidth feature is 448 supported as described in this document. 450 o The PCEP protocol extensions for Auto-Bandwidth adjustments MUST 451 NOT be used if one or both PCEP speakers have not included the 452 "Auto-Bandwidth Capability" TLV in their respective OPEN message. 454 o The PCEP speaker that does not recognize the extensions defined in 455 this document sends the PCErr message with error-type 2 456 (capability not supported) as per Section 6.9 in [RFC5440]. 458 o If the PCEP speaker that supports the extensions defined in this 459 document but did not advertise this capability, then upon receipt 460 of AUTO-BANDWIDTH-ATTRIBUTES TLV in the LSPA object, it SHOULD 461 generate a PCErr with error-type 19 (Invalid Operation), error- 462 value TBD4 (Auto-Bandwidth capability was not advertised) and 463 ignore the AUTO-BANDWIDTH-ATTRIBUTES TLV. 465 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV 467 The AUTO-BANDWIDTH-CAPABILITY TLV is an optional TLV for use in the 468 OPEN Object for Automatic Bandwidth Adjustment via PCEP capability 469 advertisement. Its format is shown in the following figure: 471 0 1 2 3 472 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 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 474 | Type=TBD2 | Length=4 | 475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 476 | Flags | 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 479 AUTO-BANDWIDTH-CAPABILITY TLV format 481 The Type of the TLV is (TBD2) and it has a fixed Length of 4 octets. 483 The value comprises a single field - Flags (32 bits). No flags are 484 defined for this TLV in this document. 486 Unassigned bits are considered reserved. They MUST be set to 0 on 487 transmission and MUST be ignored on receipt. 489 Advertisement of the Auto-Bandwidth capability TLV implies support of 490 auto-bandwidth adjustment, as well as the objects, TLVs and 491 procedures defined in this document. 493 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV 495 The AUTO-BANDWIDTH-ATTRIBUTES TLV provides the 'configurable knobs' 496 of the feature and it can be included as an optional TLV in the LSPA 497 Object (as described in [RFC5440]). 499 For PCE-Initiated LSP [RFC8281], this TLV is included in the LSPA 500 Object with the PCInitiate message. For the PCC-Initiated delegated 501 LSPs, this TLV is carried in the PCRpt message in LSPA Object. This 502 TLV is also carried in the LSPA object with the PCUpd message to 503 direct the PCC (LSP head-end) to make updates to auto-bandwidth 504 attributes such as Adjustment-Interval. 506 The TLV is encoded in all PCEP messages for the LSP while the auto- 507 bandwidth adjustment feature is enabled, the absence of the TLV 508 indicates the PCEP speaker wish to disable the feature. 510 The format of the AUTO-BANDWIDTH-ATTRIBUTES TLV is shown in the 511 following figure: 513 0 1 2 3 514 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 516 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 517 | Type=TBD1 | Length | 518 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 519 | | 520 // sub-TLVs // 521 | | 522 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 524 AUTO-BANDWIDTH-ATTRIBUTES TLV format 526 Type: TBD1 528 Length: The Length field defines the length of the value portion 529 in octets as per [RFC5440]. 531 Value: This comprises one or more sub-TLVs. 533 Following sub-TLVs are defined in this document: 535 Type Len Name 536 ------------------------------------------------------------------- 537 1 4 Sample-Interval sub-TLV 538 2 4 Adjustment-Interval sub-TLV 539 3 4 Down-Adjustment-Interval sub-TLV 540 4 4 Adjustment-Threshold sub-TLV 541 5 8 Adjustment-Threshold-Percentage sub-TLV 542 6 4 Down-Adjustment-Threshold sub-TLV 543 7 8 Down-Adjustment-Threshold-Percentage sub-TLV 544 8 4 Minimum-Bandwidth sub-TLV 545 9 4 Maximum-Bandwidth sub-TLV 546 10 8 Overflow-Threshold sub-TLV 547 11 8 Overflow-Threshold-Percentage sub-TLV 548 12 8 Underflow-Threshold sub-TLV 549 13 8 Underflow-Threshold-Percentage sub-TLV 551 Future specification can define additional sub-TLVs. 553 The sub-TLVs are encoded to inform the PCEP peer the various sampling 554 and adjustment parameters. If sub-TLVs are not present, the default 555 values as specified in this document are used or otherwise based on 556 the local policy are assumed. 558 All sub-TLVs are optional and any unrecognized sub-TLV MUST be 559 silently ignored. If a sub-TLV of same type appears more than once, 560 only the first occurrence is processed and all others MUST be 561 ignored. 563 The following sub-sections describe the sub-TLVs which are currently 564 defined to be carried within the AUTO-BANDWIDTH-ATTRIBUTES TLV. 566 5.2.1. Sample-Interval sub-TLV 568 The Sample-Interval sub-TLV specifies a time interval in seconds at 569 which traffic samples are collected at the PCC. 571 0 1 2 3 572 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 573 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 574 | Type=1 | Length=4 | 575 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 576 | Sample-Interval | 577 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 579 Sample-Interval sub-TLV format 581 The Type is 1, Length is 4 octets, and the value comprises of - 583 o Sample-Interval: The 4-octet time interval for bandwidth sample 584 collection. The valid range is from 1 to 604800, in seconds. The 585 default value is 300 seconds. The sample-interval parameter MUST 586 NOT be greater than the (down) adjustment-interval. 588 5.2.2. Adjustment Intervals 590 The sub-TLVs in this section are encoded to inform the PCEP peer the 591 adjustment interval parameters. An implementation MAY require to set 592 different adjustment interval values for when the bandwidth usage 593 trend is moving upwards or downwards. The Adjustment-Interval sub- 594 TLV specifies the time interval for both upward and downward trend. 595 If the operator would like to use a different adjustment interval 596 during the downward trend, the Down-Adjustment-Interval sub-TLV is 597 included. 599 5.2.2.1. Adjustment-Interval sub-TLV 601 The Adjustment-Interval sub-TLV specifies a time interval in seconds 602 at which bandwidth adjustment should be made when MaxAvgBw is greater 603 than or less than the current bandwidth reservation of the LSP. 605 0 1 2 3 606 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 607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 608 | Type=2 | Length=4 | 609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 610 | Adjustment-Interval | 611 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 612 Adjustment-Interval sub-TLV format 614 The Type is 2, Length is 4 octets, and the value comprises of - 616 o Adjustment-Interval: The 4-octet time interval for bandwidth 617 adjustments. The valid range is from 1 to 604800, in seconds. 618 The default value is 86400 seconds. The adjustment-interval 619 parameter MUST NOT be less than the sample-interval. 621 5.2.2.2. Down-Adjustment-Interval sub-TLV 623 The Down-Adjustment-Interval sub-TLV specifies a time interval in 624 seconds at which bandwidth adjustment should be made when MaxAvgBw is 625 less than the current bandwidth reservation of the LSP. This 626 parameter overwrites the Adjustment-Interval for the downward trend. 628 0 1 2 3 629 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 630 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 631 | Type=3 | Length=4 | 632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 633 | Down-Adjustment-Interval | 634 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 636 Down-Adjustment-Interval sub-TLV format 638 The Type is 3, Length is 4 octets, and the value comprises of - 640 o Down-Adjustment-Interval: The 4-octet time interval for downward 641 bandwidth adjustments. The valid range is from 1 to 604800, in 642 seconds. The default value equals the adjustment-interval. The 643 down-adjustment-interval parameter MUST NOT be less than the 644 sample-interval. 646 5.2.3. Adjustment Thresholds 648 The sub-TLVs in this section are encoded to inform the PCEP peer the 649 adjustment threshold parameters. An implementation MAY include both 650 sub-TLVs for the absolute value and the percentage, in which case the 651 bandwidth is adjusted when either of the adjustment threshold 652 conditions are met. The Adjustment-Threshold sub-TLV specifies the 653 threshold for both upward and downward trend. If the operator would 654 like to use a different adjustment threshold during the downward 655 trend, the Down-Adjustment-Threshold sub-TLV is included. Similarly, 656 the Adjustment-Threshold-Percentage sub-TLV specifies the threshold 657 percentage for both upward and downward trend. If the operator would 658 like to use a different adjustment threshold percentage during the 659 downward trend, the Down-Adjustment-Threshold-Percentage sub-TLV is 660 included. 662 5.2.3.1. Adjustment-Threshold sub-TLV 664 The Adjustment-Threshold sub-TLV is used to decide when the LSP 665 bandwidth should be adjusted when MaxAvgBw is greater than or less 666 than the current bandwidth reservation. 668 0 1 2 3 669 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 670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 671 | Type=4 | Length=4 | 672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 673 | Adjustment-Threshold | 674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 676 Adjustment-Threshold sub-TLV format 678 The Type is 4, Length is 4 octets, and the value comprises of - 680 o Adjustment-Threshold: The absolute Adjustment-Threshold bandwidth 681 value, encoded in IEEE floating point format (see 682 [IEEE.754.1985]), expressed in bytes per second. The default 683 adjustment-threshold value is not set. Refer to Section 3.1.2 of 684 [RFC3471] for a table of commonly used values. 686 If the difference between the current MaxAvgBw and the current 687 bandwidth reservation is greater than or less than or equal to the 688 threshold value, the LSP bandwidth is adjusted to the current 689 bandwidth demand (MaxAvgBw). 691 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV 693 The Adjustment-Threshold-Percentage sub-TLV is used to decide when 694 the LSP bandwidth should be adjusted when MaxAvgBw is greater than or 695 less than the current bandwidth reservation. 697 0 1 2 3 698 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 699 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 700 | Type=5 | Length=8 | 701 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 702 | Reserved | Percentage | 703 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 704 | Minimum-Threshold | 705 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 707 Adjustment-Threshold-Percentage sub-TLV format 709 The Type is 5, Length is 8 octets, and the value comprises of - 711 o Reserved: SHOULD be set to zero on transmission and MUST be 712 ignored on receipt. 714 o Percentage: The Adjustment-Threshold value (7 bits), encoded in 715 percentage (an integer from 1 to 100). The value 0 is considered 716 to be invalid. The default value is 5 percent. 718 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 719 encoded in IEEE floating point format (see [IEEE.754.1985]), 720 expressed in bytes per second. The increase or decrease of the 721 LSP bandwidth should be at least or above the minimum-threshold 722 before the bandwidth adjustment is made. The default value is 0. 724 If the percentage difference between the current MaxAvgBw and the 725 current bandwidth reservation is greater than or less than or equal 726 to the threshold percentage, the LSP bandwidth is adjusted to the 727 current bandwidth demand (MaxAvgBw) (as long as the difference in the 728 bandwidth is at least or above the Minimum-Threshold). 730 5.2.3.3. Down-Adjustment-Threshold sub-TLV 732 The Down-Adjustment-Threshold sub-TLV is used to decide when the LSP 733 bandwidth should be adjusted when MaxAvgBw is lesser than the current 734 bandwidth reservation. This parameter overwrites the Adjustment- 735 Threshold for the downward trend. 737 0 1 2 3 738 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 739 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 740 | Type=6 | Length=4 | 741 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 742 | Down-Adjustment-Threshold | 743 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 Down-Adjustment-Threshold sub-TLV format 747 The Type is 6, Length is 4 octets, and the value comprises of - 749 o Down-Adjustment-Threshold: The absolute Down-Adjustment-Threshold 750 bandwidth value, encoded in IEEE floating point format (see 751 [IEEE.754.1985]), expressed in bytes per second. The default 752 value equals the adjustment-threshold. Refer to Section 3.1.2 of 753 [RFC3471] for a table of commonly used values. 755 If the difference between current bandwidth reservation and the 756 current MaxAvgBw is greater than or equal to the threshold value, the 757 LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw). 759 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV 761 The Down-Adjustment-Threshold-Percentage sub-TLV is used to decide 762 when the LSP bandwidth should be adjusted when MaxAvgBw is lesser 763 than the current bandwidth reservation. This parameter overwrites 764 the Adjustment-Threshold-Percentage for the downward trend. 766 0 1 2 3 767 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 768 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 769 | Type=7 | Length=8 | 770 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 771 | Reserved | Percentage | 772 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 773 | Minimum-Threshold | 774 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 776 Down-Adjustment-Threshold-Percentage sub-TLV format 778 The Type is 7, Length is 8 octets, and the value comprises of - 780 o Reserved: SHOULD be set to zero on transmission and MUST be 781 ignored on receipt. 783 o Percentage: The Down-Adjustment-Threshold value (7 bits), encoded 784 in percentage (an integer from 1 to 100). The value 0 is 785 considered to be invalid. The default value equals the 786 adjustment-threshold-percentage. 788 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 789 encoded in IEEE floating point format (see [IEEE.754.1985]), 790 expressed in bytes per second. The decrease of the LSP bandwidth 791 should be at least or above the minimum-threshold before the 792 bandwidth adjustment is made. The default value equals the 793 minimum-threshold for the adjustment-threshold-percentage. 795 If the percentage difference between the current bandwidth 796 reservation and the current MaxAvgBw is greater than or equal to the 797 threshold percentage, the LSP bandwidth is adjusted to the current 798 bandwidth demand (MaxAvgBw) (as long as the difference in the 799 bandwidth is at least or above the Minimum-Threshold). 801 5.2.4. Minimum and Maximum Bandwidth Values 803 5.2.4.1. Minimum-Bandwidth sub-TLV 804 The Minimum-Bandwidth sub-TLV specify the minimum bandwidth allowed 805 for the LSP, and is expressed in bytes per second. The LSP bandwidth 806 cannot be adjusted below the minimum bandwidth value. 808 0 1 2 3 809 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 810 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 811 | Type=8 | Length=4 | 812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 813 | Minimum-Bandwidth | 814 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 816 Minimum-Bandwidth sub-TLV format 818 The Type is 8, Length is 4 octets, and the value comprises of - 820 o Minimum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 821 floating point format (see [IEEE.754.1985]), expressed in bytes 822 per second. The default minimum-bandwidth value is set to 0. 823 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 824 values. 826 5.2.4.2. Maximum-Bandwidth sub-TLV 828 The Maximum-Bandwidth sub-TLV specify the maximum bandwidth allowed 829 for the LSP, and is expressed in bytes per second. The LSP bandwidth 830 cannot be adjusted above the maximum bandwidth value. 832 0 1 2 3 833 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 834 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 835 | Type=9 | Length=4 | 836 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 837 | Maximum-Bandwidth | 838 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 840 Maximum-Bandwidth sub-TLV format 842 The Type is 9, Length is 4 octets, and the value comprises of - 844 o Maximum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 845 floating point format (see [IEEE.754.1985]), expressed in bytes 846 per second. The default maximum-bandwidth value is not set. 847 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 848 values. 850 5.2.5. Overflow and Underflow Conditions 851 The sub-TLVs in this section are encoded to inform the PCEP peer the 852 overflow and underflow threshold parameters. An implementation MAY 853 include sub-TLVs for an absolute value and/or a percentage for the 854 threshold, in which case the bandwidth is immediately adjusted when 855 either of the threshold conditions is met consecutively for the given 856 count (as long as the difference in the bandwidth is at least or 857 above the Minimum-Threshold). By default, the threshold values for 858 overflow and underflow conditions are not set. 860 5.2.5.1. Overflow-Threshold sub-TLV 862 The Overflow-Threshold sub-TLV is used to decide if the LSP bandwidth 863 should be adjusted immediately. 865 0 1 2 3 866 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 867 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 868 | Type=10 | Length=8 | 869 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 870 | Reserved | Count | 871 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 872 | Overflow-Threshold | 873 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 875 Overflow-Threshold sub-TLV format 877 The Type is 10, Length is 8 octets, and the value comprises of - 879 o Reserved: SHOULD be set to zero on transmission and MUST be 880 ignored on receipt. 882 o Count: The Overflow-Count value (5 bits), encoded in integer. The 883 value 0 is considered to be invalid. The number of consecutive 884 samples for which the overflow condition MUST be met for the LSP 885 bandwidth to be immediately adjusted to the current bandwidth 886 demand, bypassing the (up) adjustment-interval. 888 o Overflow-Threshold: The absolute Overflow-Threshold bandwidth 889 value, encoded in IEEE floating point format (see 890 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 891 3.1.2 of [RFC3471] for a table of commonly used values. If the 892 increase of the current MaxAvgBw from the current bandwidth 893 reservation is greater than or equal to the threshold value, the 894 overflow condition is met. 896 5.2.5.2. Overflow-Threshold-Percentage sub-TLV 898 The Overflow-Threshold-Percentage sub-TLV is used to decide if the 899 LSP bandwidth should be adjusted immediately. 901 0 1 2 3 902 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 903 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 904 | Type=11 | Length=8 | 905 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 906 | Percentage | Reserved | Count | 907 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 908 | Minimum-Threshold | 909 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 911 Overflow-Threshold-Percentage sub-TLV format 913 The Type is 11, Length is 8 octets, and the value comprises of - 915 o Percentage: The Overflow-Threshold value (7 bits), encoded in 916 percentage (an integer from 1 to 100). The value 0 is considered 917 to be invalid. If the percentage increase of the current MaxAvgBw 918 from the current bandwidth reservation is greater than or equal to 919 the threshold percentage, the overflow condition is met. 921 o Reserved: SHOULD be set to zero on transmission and MUST be 922 ignored on receipt. 924 o Count: The Overflow-Count value (5 bits), encoded in integer. The 925 value 0 is considered to be invalid. The number of consecutive 926 samples for which the overflow condition MUST be met for the LSP 927 bandwidth to be immediately adjusted to the current bandwidth 928 demand, bypassing the (up) adjustment-interval. 930 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 931 encoded in IEEE floating point format (see [IEEE.754.1985]), 932 expressed in bytes per second. The increase of the LSP bandwidth 933 should be at least or above the minimum-threshold before the 934 bandwidth adjustment is made. 936 5.2.5.3. Underflow-Threshold sub-TLV 938 The Underflow-Threshold sub-TLV is used to decide if the LSP 939 bandwidth should be adjusted immediately. 941 0 1 2 3 942 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 943 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 944 | Type=12 | Length=8 | 945 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 946 | Reserved | Count | 947 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 948 | Underflow-Threshold | 949 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 951 Underflow-Threshold sub-TLV format 953 The Type is 12, Length is 8 octets, and the value comprises of - 955 o Reserved: SHOULD be set to zero on transmission and MUST be 956 ignored on receipt. 958 o Count: The Underflow-Count value (5 bits), encoded in integer. 959 The value 0 is considered to be invalid. The number of 960 consecutive samples for which the underflow condition MUST be met 961 for the LSP bandwidth to be immediately adjusted to the current 962 bandwidth demand, bypassing the down-adjustment-interval. 964 o Underflow-Threshold: The absolute Underflow-Threshold bandwidth 965 value, encoded in IEEE floating point format (see 966 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 967 3.1.2 of [RFC3471] for a table of commonly used values. If the 968 decrease of the current MaxAvgBw from the current bandwidth 969 reservation is greater than or equal to the threshold value, the 970 underflow condition is met. 972 5.2.5.4. Underflow-Threshold-Percentage sub-TLV 974 The Underflow-Threshold-Percentage sub-TLV is used to decide if the 975 LSP bandwidth should be adjusted immediately. 977 0 1 2 3 978 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 979 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 980 | Type=13 | Length=8 | 981 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 982 | Percentage | Reserved | Count | 983 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 984 | Minimum-Threshold | 985 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 987 Underflow-Threshold-Percentage sub-TLV format 989 The Type is 13, Length is 8 octets, and the value comprises of - 991 o Percentage: The Underflow-Threshold value (7 bits), encoded in 992 percentage (an integer from 1 to 100). The value 0 is considered 993 to be invalid. If the percentage decrease of the current MaxAvgBw 994 from the current bandwidth reservation is greater than or equal to 995 the threshold percentage, the underflow condition is met. 997 o Reserved: SHOULD be set to zero on transmission and MUST be 998 ignored on receipt. 1000 o Count: The Underflow-Count value (5 bits), encoded in integer. 1001 The value 0 is considered to be invalid. The number of 1002 consecutive samples for which the underflow condition MUST be met 1003 for the LSP bandwidth to be immediately adjusted to the current 1004 bandwidth demand, bypassing the down-adjustment-interval. 1006 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 1007 encoded in IEEE floating point format (see [IEEE.754.1985]), 1008 expressed in bytes per second. The decrease of the LSP bandwidth 1009 should be at least or above the minimum-threshold before the 1010 bandwidth adjustment is made. 1012 5.3. BANDWIDTH Object 1014 As per [RFC5440], the BANDWIDTH object (Object-Class value 5) is 1015 defined with two Object-Type values as following: 1017 o Requested Bandwidth: BANDWIDTH Object-Type value is 1. 1019 o Re-optimization Bandwidth: Bandwidth of an existing TE LSP for 1020 which a re-optimization is requested. BANDWIDTH Object-Type value 1021 is 2. 1023 The PCC reports the calculated bandwidth to be adjusted (MaxAvgBw) to 1024 the Stateful PCE using the existing 'Requested Bandwidth' with 1025 BANDWIDTH Object-Type as 1. The reporting of the 're-optimization 1026 bandwidth' with BANDWIDTH Object-Type as 2 is not required as the 1027 Stateful PCE is aware of the existing LSP bandwidth. 1029 5.4. The PCInitiate Message 1031 A PCInitiate message is a PCEP message sent by a PCE to a PCC to 1032 trigger LSP instantiation or deletion [RFC8281]. 1034 For the PCE-Initiated LSP with Auto-Bandwidth feature enabled, AUTO- 1035 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1036 PCInitiate message. 1038 The definition (RBNF) of the PCInitiate message [RFC8281] is 1039 unchanged by this document. 1041 5.5. The PCUpd Message 1042 A PCUpd message is a PCEP message sent by a PCE to a PCC to update 1043 the LSP parameters [RFC8231]. 1045 For PCE-Initiated LSPs with Auto-Bandwidth feature enabled, AUTO- 1046 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1047 PCUpd message. The PCE can send this TLV to direct the PCC to change 1048 the auto-bandwidth parameters. 1050 The definition (RBNF) of the PCUpd message [RFC8231] is unchanged by 1051 this document. 1053 5.6. The PCRpt Message 1055 The PCRpt message [RFC8231] is a PCEP message sent by a PCC to a PCE 1056 to report the status of one or more LSPs. 1058 For PCE-Initiated LSPs [RFC8281], the PCC creates the LSP using the 1059 attributes communicated by the PCE, and using the local values for 1060 the unspecified parameters. After the successful instantiation of 1061 the LSP, PCC automatically delegates the LSP to the PCE and generates 1062 a PCRpt message to provide the status report for the LSP. 1064 For both PCE-Initiated and PCC-Initiated LSPs, when the LSP is 1065 delegated to a PCE for the very first time as well as after the 1066 successful delegation, the BANDWIDTH object of type 1 is used to 1067 specify the requested bandwidth in the PCRpt message. 1069 For all LSPs with Auto-Bandwidth feature enabled, AUTO-BANDWIDTH- 1070 ATTRIBUTES TLV MUST be included in the LSPA object of the PCRpt 1071 message. 1073 The definition (RBNF) of the PCRpt message [RFC8231] is unchanged by 1074 this document. 1076 5.7. The PCNtf Message 1078 As per [RFC5440], the PCEP Notification message (PCNtf) can be sent 1079 by a PCEP speaker to notify its peer of a specific event. 1081 A PCEP speaker (PCE or PCC) SHOULD notify its PCEP peer (PCC or PCE) 1082 when it is in overwhelmed state due to the auto-bandwidth feature. 1083 Upon receipt of such notification, the peer SHOULD NOT send any PCEP 1084 messages related to auto-bandwidth adjustment. If a PCEP message 1085 related to auto-bandwidth is received during in overwhelmed state, it 1086 MUST be silently ignored. 1088 o When a PCEP speaker is overwhelmed, it SHOULD notify its peer by 1089 sending a PCNtf message with Notification Type = TBD3 (Auto- 1090 bandwidth Overwhelm State) and Notification Value = 1 (Entering 1091 auto-bandwidth overwhelm state). Optionally, OVERLOADED-DURATION 1092 TLV [RFC5440] MAY be included that specifies the time period 1093 during which no further PCEP messages related to auto-bandwidth 1094 adjustment should be sent. 1096 o When the PCEP speaker is no longer in the overwhelm state and is 1097 available to process the auto-bandwidth adjustments, it SHOULD 1098 notify its peer by sending a PCNtf message with Notification Type 1099 = TBD3 (Auto-bandwidth Overwhelm State) and Notification Value = 2 1100 (Clearing auto-bandwidth overwhelm state). 1102 When Auto-Bandwidth feature is deployed, a PCE can send this 1103 notification to PCC when a PCC is reporting frequent auto-bandwidth 1104 adjustments. If a PCC is overwhelmed with re-signaling, it can also 1105 notify the PCE to not adjust the LSP bandwidth while in overwhelm 1106 state. 1108 6. Security Considerations 1110 This document defines AUTO-BANDWIDTH-CAPABILITY TLV and 1111 AUTO-BANDWIDTH-ATTRIBUTES TLV which do not add any new security 1112 concerns beyond those discussed in [RFC5440] and [RFC8231] in itself. 1113 Some deployments may find the auto-bandwidth information as extra 1114 sensitive as it could be used to influence LSP path computation and 1115 LSP setup with adverse effect. Additionally, snooping of PCEP 1116 messages with such data or using PCEP messages for network 1117 reconnaissance, may give an attacker sensitive information about the 1118 operations of the network. Thus, such deployment should employ 1119 suitable PCEP security mechanisms like TCP Authentication Option 1120 (TCP-AO) [RFC5925] or [RFC8253]. 1122 7. Manageability Considerations 1124 7.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 7.2. Information and Data Models 1134 A Management Information Base (MIB) module for modeling PCEP is 1135 described in [RFC7420]. However, one may prefer the mechanism for 1136 configuration using YANG data model [I-D.ietf-pce-pcep-yang]. These 1137 SHOULD be enhanced to provide controls and indicators for support of 1138 auto-bandwidth feature. Support for various configuration knobs as 1139 well as counters of messages sent/received containing the TLVs 1140 defined in this document SHOULD be added. 1142 7.3. Liveness Detection and Monitoring 1144 The mechanisms defined in this document do not imply any new liveness 1145 detection and monitoring requirements in addition to those already 1146 listed in [RFC5440]. 1148 7.4. Verify Correct Operations 1150 The mechanisms defined in this document do not imply any new 1151 operation verification requirements in addition to those already 1152 listed in [RFC5440]. 1154 7.5. Requirements On Other Protocols 1156 The mechanisms defined in this document do not add any new 1157 requirements on other protocols. 1159 7.6. Impact On Network Operations 1161 In order to avoid any unacceptable impact on network operations, an 1162 implementation SHOULD allow a limit to be placed on the number of 1163 LSPs that can be enabled with auto-bandwidth feature. An 1164 implementation MAY allow a limit to be placed on the rate of auto- 1165 bandwidth related messages sent by a PCEP speaker and received by a 1166 peer. An implementation MAY also allow sending a notification when a 1167 PCEP speaker is overwhelmed or the rate of messages reach a 1168 threshold. 1170 8. IANA Considerations 1172 8.1. PCEP TLV Type Indicators 1174 This document defines the following new PCEP TLVs; IANA is requested 1175 to make the following allocations from the "PCEP TLV Type Indicators" 1176 sub-registry of the PCEP Numbers registry, as follows: 1178 Value Name Reference 1179 ----------------------------------------------------------------- 1180 TBD2 AUTO-BANDWIDTH-CAPABILITY [This document] 1181 TBD1 AUTO-BANDWIDTH-ATTRIBUTES [This document] 1183 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field 1185 IANA is requested to create a sub-registry to manage the Flag field 1186 of the AUTO-BANDWIDTH-CAPABILITY TLV. 1188 New bit numbers are to be assigned by Standards Action [RFC8126]. 1189 Each bit should be tracked with the following qualities: 1191 o Bit number (counting from bit 0 as the most significant bit) 1193 o Capability description 1195 o Defining RFC 1197 There is no bit defined for the AUTO-BANDWIDTH-CAPABILITY TLV Object 1198 flag field in this document. 1200 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV 1202 This document specifies the AUTO-BANDWIDTH-ATTRIBUTES Sub-TLVs. IANA 1203 is requested to create an "AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV Types" 1204 sub-registry in the "PCEP TLV Type Indicators" for the sub-TLVs 1205 carried in the AUTO-BANDWIDTH-ATTRIBUTES TLV. New sub-TLV are 1206 assigned by Standards Action [RFC8126]. 1208 This document defines the following types: 1210 Type Name Reference 1211 ----------------------------------------------------------------- 1212 0 Reserved [This document] 1213 1 Sample-Interval sub-TLV [This document] 1214 2 Adjustment-Interval sub-TLV [This document] 1215 3 Down-Adjustment-Interval sub-TLV [This document] 1216 4 Adjustment-Threshold sub-TLV [This document] 1217 5 Adjustment-Threshold-Percentage sub-TLV [This document] 1218 6 Down-Adjustment-Threshold sub-TLV [This document] 1219 7 Down-Adjustment-Threshold-Percentage sub-TLV [This document] 1220 8 Minimum-Bandwidth sub-TLV [This document] 1221 9 Maximum-Bandwidth sub-TLV [This document] 1222 10 Overflow-Threshold sub-TLV [This document] 1223 11 Overflow-Threshold-Percentage sub-TLV [This document] 1224 12 Underflow-Threshold sub-TLV [This document] 1225 13 Underflow-Threshold-Percentage sub-TLV [This document] 1226 14- Unassigned [This document] 1227 65535 1229 8.4. Error Object 1231 This document defines a new Error-Value for PCErr message of Error- 1232 Type 19 (Invalid Operation) [RFC8231]. IANA is requested to allocate 1233 new error-value within the "PCEP-ERROR Object Error Types and Values" 1234 subregistry of the PCEP Numbers registry, as follows: 1236 Error-Type Meaning & error values Reference 1237 ----------------------------------------------------------------- 1238 19 Invalid Operations 1240 Error-Value = TBD4: [This document] 1241 Auto-Bandwidth Capability 1242 was not Advertised 1244 8.5. Notification Object 1246 IANA is requested to allocate new Notification Types and Notification 1247 Values within the "Notification Object" sub-registry of the PCEP 1248 Numbers registry, as follows: 1250 Type Meaning Reference 1251 ----------------------------------------------------------------- 1252 TBD3 Auto-Bandwidth Overwhelm State [This document] 1254 Notification-value=1: Entering Auto-Bandwidth 1255 overwhelm state 1256 Notification-value=2: Clearing Auto-Bandwidth 1257 overwhelm state 1259 9. References 1261 9.1. Normative References 1263 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1264 Requirement Levels", BCP 14, RFC 2119, March 1997. 1266 [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element 1267 (PCE) Communication Protocol (PCEP)", RFC 5440, March 1268 2009. 1270 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1271 Writing an IANA Considerations Section in RFCs", BCP 26, 1272 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1273 . 1275 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1276 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1277 May 2017, . 1279 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Pah 1280 Computation Element Communication Protocol (PCEP) 1281 Extensions for Stateful PCE", RFC 8231, DOI 1282 10.17487/RFC8231, September 2017, . 1285 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 1286 Computation Element Communication Protocol (PCEP) 1287 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 1288 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 1289 . 1291 9.2. Informative References 1293 [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching 1294 (GMPLS) Signaling Functional Description", RFC 3471, 1295 January 2003. 1297 [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP 1298 Authentication Option", RFC 5925, June 2010. 1300 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 1301 Hardwick, "Path Computation Element Communication Protocol 1302 (PCEP) Management Information Base (MIB) Module", RFC 1303 7420, December 2014. 1305 [RFC8051] Zhang, X. and I. Minei, "Applicability of a Stateful Path 1306 Computation Element (PCE)", RFC 8051, January 2017. 1308 [RFC8253] Lopez, D., Dios, O., Wu, W., and D. Dhody, "PCEPS: Usage 1309 of TLS to Provide a Secure Transport for the Path 1310 Computation Element Communication Protocol (PCEP)", RFC 1311 8253, October 2017, . 1314 [I-D.ietf-pce-pcep-yang] Dhody, D., Hardwick, J., Beeram, V., and J. 1315 Tantsura, "A YANG Data Model for Path Computation Element 1316 Communications Protocol (PCEP)", draft-ietf-pce-pcep-yang 1317 (work in progress). 1319 [IEEE.754.1985] Institute of Electrical and Electronics Engineers, 1320 "Standard for Binary Floating-Point Arithmetic", IEEE 1321 Standard 754, August 1985. 1323 Acknowledgments 1325 Authors would like to thank Robert Varga, Venugopal Reddy, Reeja 1326 Paul, Sandeep Boina, Avantika, JP Vasseur, Himanshu Shah and Adrian 1327 Farrel for their useful comments and suggestions. 1329 Contributors' Addresses 1331 He Zekun 1332 Tencent Holdings Ltd, 1333 Shenzhen P.R.China 1335 Email: kinghe@tencent.com 1337 Xian Zhang 1338 Huawei Technologies 1339 Research Area F3-1B, 1340 Huawei Industrial Base, 1341 Shenzhen, 518129 1342 China 1344 Phone: +86-755-28972645 1345 Email: zhang.xian@huawei.com 1347 Young Lee 1348 Huawei Technologies 1349 1700 Alma Drive, Suite 100 1350 Plano, TX 75075 1351 USA 1353 Phone: +1 972 509 5599 x2240 1354 Fax: +1 469 229 5397 1355 Email: leeyoung@huawei.com 1357 Authors' Addresses 1359 Dhruv Dhody 1360 Huawei Technologies 1361 Divyashree Techno Park, Whitefield 1362 Bangalore, Karnataka 560066 1363 India 1365 Email: dhruv.ietf@gmail.com 1367 Udayasree Palle 1368 Huawei Technologies 1369 Divyashree Techno Park, Whitefield 1370 Bangalore, Karnataka 560037 1371 India 1373 Email: udayasreereddy@gmail.com 1375 Ravi Singh 1376 Juniper Networks 1377 1194 N. Mathilda Ave. 1378 Sunnyvale, CA 94089 1379 USA 1381 Email: ravis@juniper.net 1383 Rakesh Gandhi 1384 Cisco Systems, Inc. 1386 Email: rgandhi@cisco.com 1388 Luyuan Fang 1389 Expedia, Inc. 1390 USA 1392 Email: luyuanf@gmail.com