idnits 2.17.1 draft-ietf-pce-stateful-pce-auto-bandwidth-04.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 (April 17, 2017) is 2566 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 normative reference: RFC 5226 (Obsoleted by RFC 8126) Summary: 1 error (**), 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: October 19, 2017 R. Singh 6 Juniper Networks 7 R. Gandhi 8 Cisco Systems, Inc. 9 L. Fang 10 eBay 11 April 17, 2017 13 PCEP Extensions for MPLS-TE LSP Automatic Bandwidth Adjustment with 14 Stateful PCE 15 draft-ietf-pce-stateful-pce-auto-bandwidth-04 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) 2017 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 . . . . . . . . . . . . . . . . . . . . . . 5 68 2.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 69 3. Requirements for PCEP Extensions . . . . . . . . . . . . . . . 7 70 4. Architectural Overview . . . . . . . . . . . . . . . . . . . . 7 71 4.1. Auto-Bandwidth Overview . . . . . . . . . . . . . . . . . 7 72 4.2. Auto-bandwidth Theory of Operation . . . . . . . . . . . . 8 73 4.3. Scaling Considerations . . . . . . . . . . . . . . . . . . 9 74 5. Extensions to the PCEP . . . . . . . . . . . . . . . . . . . . 9 75 5.1. Capability Advertisement . . . . . . . . . . . . . . . . . 9 76 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV . . . . . . . . . . . . 10 77 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV . . . . . . . . . . . . . . 10 78 5.2.1. Sample-Interval sub-TLV . . . . . . . . . . . . . . . 12 79 5.2.2. Adjustment Intervals . . . . . . . . . . . . . . . . . 12 80 5.2.2.1. Adjustment-Interval sub-TLV . . . . . . . . . . . 12 81 5.2.2.2. Down-Adjustment-Interval sub-TLV . . . . . . . . . 13 82 5.2.3. Adjustment Thresholds . . . . . . . . . . . . . . . . 13 83 5.2.3.1. Adjustment-Threshold sub-TLV . . . . . . . . . . . 14 84 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV . . . . . 14 85 5.2.3.3. Down-Adjustment-Threshold sub-TLV . . . . . . . . 15 86 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV . . . 15 87 5.2.4. Minimum and Maximum Bandwidth Values . . . . . . . . . 16 88 5.2.4.1. Minimum-Bandwidth sub-TLV . . . . . . . . . . . . 16 89 5.2.4.2. Maximum-Bandwidth sub-TLV . . . . . . . . . . . . 17 90 5.2.5. Overflow and Underflow Conditions . . . . . . . . . . 17 91 5.2.5.1. Overflow-Threshold sub-TLV . . . . . . . . . . . . 17 92 5.2.5.2. Overflow-Threshold-Percentage sub-TLV . . . . . . 18 93 5.2.5.3. Underflow-Threshold sub-TLV . . . . . . . . . . . 19 94 5.2.5.4. Underflow-Threshold-Percentage sub-TLV . . . . . . 19 95 5.3. BANDWIDTH Object . . . . . . . . . . . . . . . . . . . . . 20 96 5.4. The PCInitiate Message . . . . . . . . . . . . . . . . . . 20 97 5.5. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 21 98 5.6. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 21 99 5.7. The PCNtf Message . . . . . . . . . . . . . . . . . . . . 21 100 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 101 7. Manageability Considerations . . . . . . . . . . . . . . . . . 22 102 7.1. Control of Function and Policy . . . . . . . . . . . . . . 22 103 7.2. Information and Data Models . . . . . . . . . . . . . . . 23 104 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 23 105 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 23 106 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 23 107 7.6. Impact On Network Operations . . . . . . . . . . . . . . . 23 108 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 109 8.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . . 24 110 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field . . . . . . . . . 24 111 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV . . . . . . . . . . . . 24 112 8.4. Error Object . . . . . . . . . . . . . . . . . . . . . . . 25 113 8.5. Notification Object . . . . . . . . . . . . . . . . . . . 25 114 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26 115 9.1. Normative References . . . . . . . . . . . . . . . . . . . 26 116 9.2. Informative References . . . . . . . . . . . . . . . . . . 26 117 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 28 118 Contributors' Addresses . . . . . . . . . . . . . . . . . . . . . 28 119 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 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 [I-D.ietf-pce-stateful-pce] specifies extensions to PCEP to enable 130 stateful control of MPLS TE LSPs. It describes two mode of 131 operations - Passive stateful PCE and Active stateful PCE. Further, 132 [I-D.ietf-pce-pce-initiated-lsp] describes the setup, maintenance and 133 teardown of PCE-Initiated LSPs for the stateful PCE model. In this 134 document, the focus is on Active stateful PCE where the LSPs are 135 controlled by the PCE. 137 Over time, based on the varying traffic pattern, an LSP established 138 with certain bandwidth may require to adjust the bandwidth reserved 139 in the network automatically. The head-end Label Switch Router (LSR) 140 needs to monitor the actual bandwidth demand of the LSP and adjust 141 the LSP bandwidth reservation periodically. This feature is commonly 142 referred to as Auto-Bandwidth. Enabling Auto-Bandwidth feature on an 143 LSP results in the head-end LSR automatically adjusting the LSP 144 bandwidth reservation based on the traffic flowing through the LSP. 145 The initial LSP bandwidth can be set to an arbitrary value (including 146 zero), in practice, it can be operator expected value based on design 147 and planning. Once the LSP is set-up, the head-end monitors the 148 traffic flow on the LSP and adjusts the bandwidth reservation 149 periodically. The Auto-Bandwidth feature is described in detail in 150 Section 4 of this document. 152 The PCC (head-end of the LSP) collects the traffic rate samples 153 flowing through the LSP and calculates the new adjusted bandwidth. 154 The PCC reports the calculated bandwidth to be adjusted to the PCE. 155 This is similar to a passive stateful PCE model, while the passive 156 stateful PCE uses path request/reply mechanism, the active stateful 157 PCE uses report/update mechanism to adjust the LSP bandwidth. In 158 case of PCE-Initiated LSP, the PCC is requested during the LSP 159 initiation to monitor and calculate the new adjusted bandwidth. 160 [RFC8051] describes the use-case for Auto-Bandwidth adjustment for 161 passive and active stateful PCE. 163 The document [I-D.gandhi-pce-pm] describes the PCEP extensions for 164 reporting the performance measurements to the PCE, and includes the 165 real-time bandwidth utilization information of a TE LSP. Those 166 extensions can be used to implement the auto-bandwidth feature on a 167 stateful PCE, i.e. can be used to calculate the new bandwidth to be 168 adjusted on the stateful PCE. 170 This document defines the extensions needed to support Auto-Bandwidth 171 features on the LSPs in a active stateful PCE model using PCEP where 172 the bandwidth to be adjusted is calculated on the PCC (head-end of 173 the LSP). 175 2. Conventions Used in This Document 177 2.1. Requirements Language 179 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 180 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 181 document are to be interpreted as described in [RFC2119]. 183 2.2. Abbreviations 185 PCC: Path Computation Client. 187 PCE: Path Computation Element. 189 PCEP: Path Computation Element Communication Protocol. 191 TE LSP: Traffic Engineering Label Switched Path. 193 2.3. Terminology 195 The reader is assumed to be familiar with the terminology defined in 196 [RFC5440], [I-D.ietf-pce-pce-initiated-lsp], and [I-D.ietf-pce- 197 stateful-pce]. 199 The following auto-bandwidth terminology is defined in this document. 201 Maximum Average Bandwidth (MaxAvgBw): The maximum average bandwidth 202 represents the current traffic bandwidth demand during a time 203 interval. This is the maximum value of the traffic bandwidth rate 204 samples (Bandwidth-Samples) in a given Adjustment-Interval. 206 Adjusted Bandwidth: This is the Auto-Bandwidth computed bandwidth 207 that is used to adjust the bandwidth reservation of the LSP. 209 Sample-Interval: The periodic time interval at which the measured 210 traffic rate is collected as a Bandwidth-Sample. 212 Bandwidth-Sample: The bandwidth sample of the measured traffic rate 213 collected at every Sample-Interval. 215 Maximum-Bandwidth: The maximum bandwidth that can be reserved for 216 the LSP. 218 Minimum-Bandwidth: The minimum bandwidth that can be reserved for 219 the LSP. 221 Up-Adjustment-Interval: The periodic time interval at which the 222 bandwidth adjustment should be made using the MaxAvgBw, when 223 MaxAvgBw is greater than the current bandwidth reservation. 225 Down-Adjustment-Interval: The periodic time interval at which the 226 bandwidth adjustment should be made using the MaxAvgBw, when 227 MaxAvgBw is lesser than the current bandwidth reservation. 229 Up-Adjustment-Threshold: This parameter is used to decide when the 230 bandwidth should be adjusted. If the percentage or absolute 231 difference between the current MaxAvgBw and the current bandwidth 232 reservation is greater than or equal to the threshold value, the 233 LSP bandwidth is adjusted (upsized) to the current bandwidth 234 demand (Adjusted Bandwidth) at the Up-Adjustment-Interval expiry. 236 Down-Adjustment-Threshold: This parameter is used to decide when the 237 bandwidth should be adjusted. If the percentage or absolute 238 difference between the current bandwidth reservation and the 239 current MaxAvgBw is greater than or equal to the threshold value, 240 the LSP bandwidth is adjusted (downsized) to the current bandwidth 241 demand (Adjusted Bandwidth) at the Down-Adjustment-Interval 242 expiry. 244 Overflow-Count: This parameter is used to decide when the bandwidth 245 should be adjusted when there is a sudden increase in traffic 246 demand. This value indicates how many times consecutively, the 247 percentage or absolute difference between the current MaxAvgBw and 248 the current bandwidth reservation is greater than or equal to the 249 Overflow-Threshold value. 251 Overflow-Threshold: This parameter is used to decide when the 252 bandwidth should be adjusted when there is a sudden increase in 253 traffic demand. If the percentage or absolute difference between 254 the current MaxAvgBw and the current bandwidth reservation is 255 greater than or equal to the threshold value, the overflow 256 condition is set to be met. The LSP bandwidth is adjusted to the 257 current bandwidth demand bypassing the Up-Adjustment-Interval if 258 the overflow condition is met consecutively for the Overflow- 259 Count. 261 Underflow-Count: This parameter is used to decide when the bandwidth 262 should be adjusted when there is a sudden decrease in traffic 263 demand. This value indicates how many times consecutively, the 264 percentage or absolute difference between the current MaxAvgBw and 265 the current bandwidth reservation is greater than or equal to the 266 Underflow-Threshold value. 268 Underflow-Threshold: This parameter is used to decide when the 269 bandwidth should be adjusted when there is a sudden decrease in 270 traffic demand. If the percentage or absolute difference between 271 the current MaxAvgBw and the current bandwidth reservation is 272 greater than or equal to the threshold value, the underflow 273 condition is set to be met. The LSP bandwidth is adjusted to the 274 current bandwidth demand bypassing the Down-Adjustment-Interval if 275 the underflow condition is met consecutively for the Underflow- 276 Count. 278 3. Requirements for PCEP Extensions 280 The PCEP extensions required for auto-bandwidth are summarized in the 281 following table. 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 | Delegation. | Initiation. | 297 | | | 298 +---------------------------------+---------------------------------+ 300 Table 1: Auto-Bandwidth PCEP extensions 302 The PCEP speaker supporting this document must have a mechanism to 303 advertise the automatic bandwidth adjustment capability for both PCC- 304 Initiated and PCE-Initiated LSPs. 306 Auto-bandwidth deployment considerations for PCEP extensions are 307 summarized below: 309 o It is required to identify and inform the PCC, the LSP that are 310 enabled with Auto-Bandwidth feature. Not all LSPs in some 311 deployments would like their bandwidth to be dependent on the 312 real-time bandwidth usage but be constant as set by the operator. 314 o In addition, an operator should be able to specify the auto- 315 bandwidth adjustment parameters (i.e. configuration knobs) to 316 control this feature (e.g. minimum/ maximum bandwidth range). The 317 PCC should be informed about these adjustment parameters. 319 4. Architectural Overview 321 4.1. Auto-Bandwidth Overview 323 Auto-Bandwidth feature allows automatic and dynamic adjustment of the 324 reserved bandwidth of an LSP over time, i.e. without network operator 325 intervention. The new bandwidth reservation is determined by 326 measuring the actual traffic flowing through the LSP. If the traffic 327 flowing through the LSP is lower than the configured or current 328 bandwidth of the LSP, the extra bandwidth is being reserved 329 needlessly and being wasted. Conversely, if the actual traffic 330 flowing through the LSP is higher than the configured or current 331 bandwidth of the LSP, it can potentially cause congestion or packet 332 loss in the network. With Auto-Bandwidth feature, the LSP bandwidth 333 is set to some arbitrary value (including zero) during initial setup 334 time, which will be periodically adjusted based on the actual 335 bandwidth demand. The bandwidth adjustment uses the make-before- 336 break (MBB) signaling method so that there is no disruption to the 337 traffic flow. 339 4.2. Auto-bandwidth Theory of Operation 341 The measured traffic rate is periodically sampled at each Sample- 342 Interval (which can be configured by an operator and the default 343 value as 5 minutes) by the PCC which is the head-end node of the LSP. 344 The traffic rate samples are accumulated over the Adjustment- 345 Interval period (which can be configured by an operator and the 346 default value as 24 hours). The PCC, in-charge of calculating the 347 bandwidth to be adjusted, will adjust the bandwidth of the LSP to the 348 highest traffic rate sample (MaxAvgBw) amongst the set of bandwidth 349 samples collected over the adjustment-interval period (in the Up or 350 Down direction). 352 Note that the highest traffic rate sample could be higher or lower 353 than the current LSP bandwidth. Only if the difference between the 354 current bandwidth demand (MaxAvgBw) and the current bandwidth 355 reservation is greater than or equal to the Adjustment-Threshold 356 (percentage or absolute value) (which can be configured by an 357 operator and the default as 5 percentage), the LSP bandwidth is 358 adjusted (upsized) to the current bandwidth demand (MaxAvgBw). 359 Similarly if the difference between the current bandwidth reservation 360 and the current bandwidth demand (MaxAvgBw) is greater than or equal 361 to the Down-Adjustment-Threshold (percentage or absolute value), the 362 LSP bandwidth is adjusted (downsized) to the current bandwidth demand 363 (MaxAvgBw). Some LSPs are less eventful while other LSPs may 364 encounter a lot of changes in the traffic pattern. The thresholds 365 and intervals for bandwidth adjustment are configured based on the 366 traffic pattern of the LSP. 368 In order to avoid frequent re-signaling, an operator may set a longer 369 adjustment-interval value (Up and/or Down). However, longer 370 adjustment-interval can result in an undesirable effect of masking 371 sudden changes in traffic demands of an LSP. To avoid this, the 372 Auto-Bandwidth feature may pre-maturely expire the adjustment- 373 interval and adjust the LSP bandwidth to accommodate the sudden 374 bursts of increase in traffic demand as an overflow condition or 375 decrease in traffic demand as an underflow condition. An operator 376 needs to configure appropriate values for the Overflow-Threshold 377 and/or Underflow-Threshold parameters and they do not have default 378 values. 380 All thresholds in this document could be represented in both absolute 381 value and percentage, and could be used together. This is provided 382 to accommodate the cases where the LSP bandwidth reservation may 383 become very large or very small over time, the two representations 384 help an operator to handle conditions when the bandwidth usage 385 becomes too large or too small. In any case, the auto-bandwidth 386 adjusted bandwidth is only reported to a PCE when MaxAvgBw crosses a 387 threshold. 389 4.3. Scaling Considerations 391 It should be noted that any bandwidth change requires re-signaling of 392 an LSP in a make-before-break fashion, which can further trigger 393 preemption of lower priority LSPs in the network. When deployed 394 under scale, this can lead to a signaling churn in the network. The 395 Auto-bandwidth application algorithm is thus advised to take this 396 into consideration before adjusting the LSP bandwidth. Operators are 397 advised to set the values of various auto-bandwidth adjustment 398 parameters appropriate for the deployed LSP scale. 400 If a PCE gets overwhelmed, it can notify the PCC to temporarily 401 suspend the reporting of the new LSP bandwidth to be adjusted (see 402 Section 5.7 of this document). Similarly, if a PCC gets overwhelmed 403 due to signaling churn, it can notify the PCE to temporarily suspend 404 new LSP setup requests. 406 5. Extensions to the PCEP 408 5.1. Capability Advertisement 410 During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) 411 advertise their support of Automatic Bandwidth adjustment feature. A 412 PCEP Speaker includes the "Auto-Bandwidth Capability" TLV, in the 413 OPEN Object to advertise its support for PCEP Auto-Bandwidth 414 extensions. The presence of the "Auto-Bandwidth Capability" TLV in 415 the OPEN Object indicates that the Automatic Bandwidth feature is 416 supported as described in this document. 418 The PCEP protocol extensions for Auto-Bandwidth adjustments MUST NOT 419 be used if one or both PCEP Speakers have not included the "Auto- 420 Bandwidth Capability" TLV in their respective OPEN message. If the 421 PCEP speaker that supports the extensions of this document but did 422 not advertise this capability, then upon receipt of AUTO-BANDWIDTH- 423 ATTRIBUTES TLV in LSPA object, it SHOULD generate a PCErr with error- 424 type 19 (Invalid Operation), error-value TBD4 (Auto-Bandwidth 425 capability was not advertised) and terminate the PCEP session. 427 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV 429 The AUTO-BANDWIDTH-CAPABILITY TLV is an optional TLV for use in the 430 OPEN Object for Automatic Bandwidth Adjustment via PCEP capability 431 advertisement. Its format is shown in the following figure: 433 0 1 2 3 434 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 435 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 436 | Type=TBD2 | Length=4 | 437 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 438 | Flags | 439 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 441 AUTO-BANDWIDTH-CAPABILITY TLV format 443 The type of the TLV is (TBD2) and it has a fixed length of 4 octets. 445 The value comprises a single field - Flags (32 bits). No flags are 446 defined for this TLV in this document. 448 Unassigned bits are considered reserved. They MUST be set to 0 on 449 transmission and MUST be ignored on receipt. 451 Advertisement of the Auto-Bandwidth capability TLV implies support of 452 auto-bandwidth adjustment, as well as the objects, TLVs and 453 procedures defined in this document. 455 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV 457 The AUTO-BANDWIDTH-ATTRIBUTES TLV provides the 'configurable knobs' 458 of the feature and it can be included as an optional TLV in the LSPA 459 Object (as described in [RFC5440]). 461 For PCE-Initiated LSP [I-D.ietf-pce-pce-initiated-lsp], this TLV is 462 included in the LSPA Object with the PCInitiate message. For the 463 PCC-Initiated delegated LSPs, this TLV is carried in the PCRpt 464 message in LSPA Object. This TLV is also carried in the LSPA object 465 with the PCUpd message to direct the PCC (LSP head-end) to make 466 updates to auto-bandwidth attributes such as Adjustment-Interval. 468 The TLV is encoded in all PCEP messages for the LSP while the auto- 469 bandwidth adjustment feature is enabled, the absence of the TLV 470 indicate the PCEP speaker wish to disable the feature. 472 The format of the AUTO-BANDWIDTH-ATTRIBUTES TLV is shown in the 473 following figure: 475 0 1 2 3 476 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 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 478 | Type=TBD1 | Length | 479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 480 | | 481 // sub-TLVs // 482 | | 483 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 485 AUTO-BANDWIDTH-ATTRIBUTES TLV format 487 Type: TBD1 489 Length: The Length field defines the length of the value portion 490 in octets as per [RFC5440]. 492 Value: This comprises one or more sub-TLVs. 494 Following sub-TLVs are defined in this document: 496 Type Len Name 497 ------------------------------------------------------------------- 498 1 4 Sample-Interval sub-TLV 499 2 4 Adjustment-Interval sub-TLV 500 3 4 Down-Adjustment-Interval sub-TLV 501 4 4 Adjustment-Threshold sub-TLV 502 5 4 Adjustment-Threshold-Percentage sub-TLV 503 6 4 Down-Adjustment-Threshold sub-TLV 504 7 4 Down-Adjustment-Threshold-Percentage sub-TLV 505 8 4 Minimum-Bandwidth sub-TLV 506 9 4 Maximum-Bandwidth sub-TLV 507 10 8 Overflow-Threshold sub-TLV 508 11 4 Overflow-Threshold-Percentage sub-TLV 509 12 8 Underflow-Threshold sub-TLV 510 13 4 Underflow-Threshold-Percentage sub-TLV 512 Future specification can define additional sub-TLVs. 514 The sub-TLVs are encoded to inform the PCEP peer the various sampling 515 and adjustment parameters. If sub-TLVs are not present, the default 516 values as specified in this document are used or otherwise based on 517 the local policy are assumed. 519 All sub-TLVs are optional and any unrecognized sub-TLV MUST be 520 silently ignored. If a sub-TLV of same type appears more than once, 521 only the first occurrence is processed and all others MUST be 522 ignored. 524 The following sub-sections describe the sub-TLVs which are currently 525 defined to be carried within the AUTO-BANDWIDTH-ATTRIBUTES TLV. 527 5.2.1. Sample-Interval sub-TLV 529 The Sample-Interval sub-TLV specifies a time interval in seconds at 530 which traffic samples are collected at the PCC. 532 0 1 2 3 533 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 534 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 535 | Type=1 | Length=4 | 536 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 537 | Sample-Interval | 538 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 540 Sample-Interval sub-TLV format 542 The Type is 1, Length is 4, and the value comprises of 4-octet time 543 interval, the valid range is from 1 to 604800, in seconds. The 544 default value is 300 seconds. The sample-interval parameter MUST NOT 545 be greater than the (down) adjustment-interval. 547 5.2.2. Adjustment Intervals 549 The sub-TLVs in this section are encoded to inform the PCEP peer the 550 adjustment interval parameters. An implementation MAY require to set 551 different adjustment interval values for when the bandwidth usage 552 trend is moving upwards or downwards. The Adjustment-Interval sub- 553 TLV specify the time interval for both upward and downward trend (Up- 554 Adjustment-Interval and Down-Adjustment-Interval). If the operator 555 would like to use a different adjustment interval during the downward 556 trend, the Down-Adjustment-Interval sub-TLV is included. 558 5.2.2.1. Adjustment-Interval sub-TLV 560 The Adjustment-Interval sub-TLV specifies a time interval in seconds 561 at which bandwidth adjustment should be made when MaxAvgBw is greater 562 than or less than the current bandwidth reservation of the LSP. 564 0 1 2 3 565 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 566 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 567 | Type=2 | Length=4 | 568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 569 | Adjustment-Interval | 570 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 572 Adjustment-Interval sub-TLV format 574 The Type is 2, Length is 4, and the value comprises of 4-octet time 575 interval, the valid range is from 1 to 604800, in seconds. The 576 default value is 86400 seconds. The adjustment-interval parameter 577 MUST NOT be less than the sample-interval. 579 5.2.2.2. Down-Adjustment-Interval sub-TLV 581 The Down-Adjustment-Interval sub-TLV specifies a time interval in 582 seconds at which bandwidth adjustment should be made when MaxAvgBw is 583 less than the current bandwidth reservation of the LSP. This 584 parameter overwrites the Adjustment-Interval for the downward trend. 586 0 1 2 3 587 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 588 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 589 | Type=3 | Length=4 | 590 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 591 | Down-Adjustment-Interval | 592 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 594 Down-Adjustment-Interval sub-TLV format 596 The Type is 3, Length is 4, and the value comprises of 4-octet time 597 interval, the valid range is from 1 to 604800, in seconds. The 598 default value equals the adjustment-interval. The down-adjustment- 599 interval parameter MUST NOT be less than the sample-interval. 601 5.2.3. Adjustment Thresholds 603 The sub-TLVs in this section are encoded to inform the PCEP peer the 604 adjustment threshold parameters. An implementation MAY include both 605 sub-TLVs for the absolute value and the percentage, in which case the 606 bandwidth is adjusted when either of the adjustment threshold 607 conditions are met. The Adjustment-Threshold sub-TLV specify the 608 threshold for both upward and downward trend. If the operator would 609 like to use a different adjustment threshold during the downward 610 trend, the Down-Adjustment-Threshold sub-TLV is included. Similarly, 611 the Adjustment-Threshold-Percentage sub-TLV specify the threshold 612 percentage for both upward and downward trend. If the operator would 613 like to use a different adjustment threshold percentage during the 614 downward trend, the Down-Adjustment-Threshold-Percentage sub-TLV is 615 included. 617 5.2.3.1. Adjustment-Threshold sub-TLV 619 The Adjustment-Threshold sub-TLV is used to decide when the LSP 620 bandwidth should be adjusted when MaxAvgBw is greater than or less 621 than the current bandwidth reservation. 623 0 1 2 3 624 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 625 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 626 | Type=4 | Length=4 | 627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 628 | Adjustment-Threshold | 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 631 Adjustment-Threshold sub-TLV format 633 The Type is 4, Length is 4, and the value comprises of - 635 o Adjustment Threshold: The absolute Adjustment-Threshold bandwidth 636 value, encoded in IEEE floating point format (see 637 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 638 3.1.2 of [RFC3471] for a table of commonly used values. 640 If the difference between the current MaxAvgBw and the current 641 bandwidth reservation is greater than or less than or equal to the 642 threshold value, the LSP bandwidth is adjusted to the current 643 bandwidth demand (MaxAvgBw). The default adjustment-threshold value 644 is not set. 646 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV 648 The Adjustment-Threshold-Percentage sub-TLV is used to decide when 649 the LSP bandwidth should be adjusted when MaxAvgBw is greater than or 650 less than the current bandwidth reservation. 652 0 1 2 3 653 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 654 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 655 | Type=5 | Length=4 | 656 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 657 | Reserved | Percentage | 658 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 659 Adjustment-Threshold-Percentage sub-TLV format 661 The Type is 5, Length is 4, and the value comprises of - 663 o Reserved: SHOULD be set to zero on transmission and MUST be 664 ignored on receipt. 666 o Percentage: The Adjustment-Threshold value, encoded in percentage 667 (an integer from 0 to 100). If the percentage difference between 668 the current MaxAvgBw and the current bandwidth reservation is 669 greater than or less than or equal to the threshold percentage, 670 the LSP bandwidth is adjusted to the current bandwidth demand 671 (MaxAvgBw). The default value is 5 percent. 673 5.2.3.3. Down-Adjustment-Threshold sub-TLV 675 The Down-Adjustment-Threshold sub-TLV is used to decide when the LSP 676 bandwidth should be adjusted when MaxAvgBw is lesser than the current 677 bandwidth reservation. This parameter overwrites the Adjustment- 678 Threshold for the downward trend. 680 0 1 2 3 681 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 682 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 683 | Type=6 | Length=4 | 684 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 685 | Down-Adjustment-Threshold | 686 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 688 Down-Adjustment-Threshold sub-TLV format 690 The Type is 6, Length is 4, and the value comprises of - 692 o Down-Adjustment Threshold: The absolute Down-Adjustment-Threshold 693 bandwidth value, encoded in IEEE floating point format (see 694 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 695 3.1.2 of [RFC3471] for a table of commonly used values. 697 If the difference between current bandwidth reservation and the 698 current MaxAvgBw is greater than or equal to the threshold value, the 699 LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw). 700 The default value equals the adjustment-threshold. 702 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV 704 The Down-Adjustment-Threshold-Percentage sub-TLV is used to decide 705 when the LSP bandwidth should be adjusted when MaxAvgBw is lesser 706 than the current bandwidth reservation. This parameter overwrites 707 the Adjustment-Threshold-Percentage for the downward trend. 709 0 1 2 3 710 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 711 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 712 | Type=7 | Length=4 | 713 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 714 | Reserved | Percentage | 715 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 717 Down-Adjustment-Threshold-Percentage sub-TLV format 719 The Type is 7, Length is 4, and the value comprises of - 721 o Reserved: SHOULD be set to zero on transmission and MUST be 722 ignored on receipt. 724 o Percentage: The Down-Adjustment-Threshold value, encoded in 725 percentage (an integer from 0 to 100). If the percentage 726 difference between the current bandwidth reservation and the 727 current MaxAvgBw is greater than or equal to the threshold 728 percentage, the LSP bandwidth is adjusted to the current bandwidth 729 demand (MaxAvgBw). The default value equals the adjustment- 730 threshold-percentage. 732 5.2.4. Minimum and Maximum Bandwidth Values 734 5.2.4.1. Minimum-Bandwidth sub-TLV 736 The Minimum-Bandwidth sub-TLV specify the minimum bandwidth allowed 737 for the LSP, and is expressed in bytes per second. The LSP bandwidth 738 cannot be adjusted below the minimum bandwidth value. 740 0 1 2 3 741 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 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 | Type=8 | Length=4 | 744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 | Minimum-Bandwidth | 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 748 Minimum-Bandwidth sub-TLV format 750 The Type is 8, Length is 4, and the value comprises of 4-octet 751 bandwidth value encoded in IEEE floating point format (see 752 [IEEE.754.1985]), expressed in bytes per second. The default 753 minimum-bandwidth value is set to 0. Refer to Section 3.1.2 of 754 [RFC3471] for a table of commonly used values. 756 5.2.4.2. Maximum-Bandwidth sub-TLV 758 The Maximum-Bandwidth sub-TLV specify the maximum bandwidth allowed 759 for the LSP, and is expressed in bytes per second. The LSP bandwidth 760 cannot be adjusted above the maximum bandwidth value. 762 0 1 2 3 763 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 764 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 765 | Type=9 | Length=4 | 766 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 767 | Maximum-Bandwidth | 768 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 770 Maximum-Bandwidth sub-TLV format 772 The Type is 9, Length is 4, and the value comprises of 4-octet 773 bandwidth value encoded in IEEE floating point format (see 774 [IEEE.754.1985]), expressed in bytes per second. The default 775 maximum-bandwidth value is not set. Refer to Section 3.1.2 of 776 [RFC3471] for a table of commonly used values. 778 5.2.5. Overflow and Underflow Conditions 780 The sub-TLVs in this section are encoded to inform the PCEP peer the 781 overflow and underflow threshold parameters. An implementation MAY 782 include sub-TLVs for an absolute value and/or a percentage for the 783 threshold, in which case the bandwidth is immediately adjusted when 784 either of the threshold conditions is met consecutively for the given 785 count. The default threshold values for overflow and underflow 786 conditions are not set. 788 5.2.5.1. Overflow-Threshold sub-TLV 790 The Overflow-Threshold sub-TLV is used to decide if the bandwidth 791 should be adjusted immediately. 793 0 1 2 3 794 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 795 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 796 | Type=10 | Length=8 | 797 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 798 | Reserved | Count | 799 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 800 | Overflow-Threshold | 801 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 803 Overflow-Threshold sub-TLV format 805 The Type is 10, Length is 8, and the value comprises of - 807 o Reserved: SHOULD be set to zero on transmission and MUST be 808 ignored on receipt. 810 o Count: The Overflow-Count value, encoded in integer. The value 0 811 is considered to be invalid. The number of consecutive samples 812 for which the overflow condition MUST be met for the LSP bandwidth 813 to be immediately adjusted to the current bandwidth demand, 814 bypassing the (up) adjustment-interval. 816 o Overflow-Threshold: The absolute Overflow-Threshold bandwidth 817 value, encoded in IEEE floating point format (see 818 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 819 3.1.2 of [RFC3471] for a table of commonly used values. If the 820 increase of the current MaxAvgBw from the current bandwidth 821 reservation is greater than or equal to the threshold value, the 822 overflow condition is met. 824 5.2.5.2. Overflow-Threshold-Percentage sub-TLV 826 The Overflow-Threshold-Percentage sub-TLV is used to decide if the 827 bandwidth should be adjusted immediately. 829 0 1 2 3 830 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 831 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 832 | Type=11 | Length=4 | 833 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 834 | Percentage | Reserved | Count | 835 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 837 Overflow-Threshold-Percentage sub-TLV format 839 The Type is 11, Length is 4, and the value comprises of - 841 o Percentage: The Overflow-Threshold value, encoded in percentage 842 (an integer from 0 to 100). If the percentage increase of the 843 current MaxAvgBw from the current bandwidth reservation is greater 844 than or equal to the threshold percentage, the overflow condition 845 is met. 847 o Reserved: SHOULD be set to zero on transmission and MUST be 848 ignored on receipt. 850 o Count: The Overflow-Count value, encoded in integer. The value 0 851 is considered to be invalid. The number of consecutive samples 852 for which the overflow condition MUST be met for the LSP bandwidth 853 to be immediately adjusted to the current bandwidth demand, 854 bypassing the (up) adjustment-interval. 856 5.2.5.3. Underflow-Threshold sub-TLV 858 The Underflow-Threshold sub-TLV is used to decide if the bandwidth 859 should be adjusted immediately. 861 0 1 2 3 862 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 863 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 864 | Type=12 | Length=8 | 865 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 866 | Reserved | Count | 867 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 868 | Underflow-Threshold | 869 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 871 Underflow-Threshold sub-TLV format 873 The Type is 12, Length is 8, and the value comprises of - 875 o Reserved: SHOULD be set to zero on transmission and MUST be 876 ignored on receipt. 878 o Count: The Underflow-Count value, encoded in integer. The value 0 879 is considered to be invalid. The number of consecutive samples 880 for which the underflow condition MUST be met for the LSP 881 bandwidth to be immediately adjusted to the current bandwidth 882 demand, bypassing the down-adjustment-interval. 884 o Underflow-Threshold: The absolute Underflow-Threshold bandwidth 885 value, encoded in IEEE floating point format (see 886 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 887 3.1.2 of [RFC3471] for a table of commonly used values. If the 888 decrease of the current MaxAvgBw from the current bandwidth 889 reservation is greater than or equal to the threshold value, the 890 underflow condition is met. 892 5.2.5.4. Underflow-Threshold-Percentage sub-TLV 894 The Underflow-Threshold-Percentage sub-TLV is used to decide if the 895 bandwidth should be adjusted immediately. 897 0 1 2 3 898 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 899 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 900 | Type=13 | Length=4 | 901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 902 | Percentage | Reserved | Count | 903 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 905 Underflow-Threshold-Percentage sub-TLV format 907 The Type is 13, Length is 4, and the value comprises of - 909 o Percentage: The Underflow-Threshold value, encoded in percentage 910 (an integer from 0 to 100). If the percentage decrease of the 911 current MaxAvgBw from the current bandwidth reservation is greater 912 than or equal to the threshold percentage, the underflow condition 913 is met. 915 o Reserved: SHOULD be set to zero on transmission and MUST be 916 ignored on receipt. 918 o Count: The Underflow-Count value, encoded in integer. The value 0 919 is considered to be invalid. The number of consecutive samples 920 for which the underflow condition MUST be met for the LSP 921 bandwidth to be immediately adjusted to the current bandwidth 922 demand, bypassing the down-adjustment-interval. 924 5.3. BANDWIDTH Object 926 As per [RFC5440], the BANDWIDTH object (Object-Class value 5) is 927 defined with two Object-Type values as following: 929 o Requested Bandwidth: BANDWIDTH Object-Type value is 1. 931 o Re-optimization Bandwidth: Bandwidth of an existing TE LSP for 932 which a re-optimization is requested. BANDWIDTH Object-Type value 933 is 2. 935 The PCC reports the calculated bandwidth to be adjusted (MaxAvgBw) to 936 the Stateful PCE using the existing 'Requested Bandwidth' with 937 BANDWIDTH Object-Type as 1. The reporting of the 're-optimization 938 bandwidth' with BANDWIDTH Object-Type as 2 is not required as the 939 Stateful PCE is aware of the existing LSP bandwidth. 941 5.4. The PCInitiate Message 943 A PCInitiate message is a PCEP message sent by a PCE to a PCC to 944 trigger LSP instantiation or deletion 945 [I.D.ietf-pce-pce-initiated-lsp]. 947 For the PCE-Initiated LSP with Auto-Bandwidth feature enabled, AUTO- 948 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 949 PCInitiate message. 951 The definition (RBNF) of the PCInitiate message 952 [I.D.ietf-pce-pce-initiated-lsp] is unchanged by this document. 954 5.5. The PCUpd Message 956 A PCUpd message is a PCEP message sent by a PCE to a PCC to update 957 the LSP parameters [I-D.ietf-pce-stateful-pce]. 959 For PCE-Initiated LSPs with Auto-Bandwidth feature enabled, AUTO- 960 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 961 PCUpd message. The PCE can send this TLV to direct the PCC to change 962 the auto-bandwidth parameters. 964 The definition (RBNF) of the PCUpd message 965 [I-D.ietf-pce-stateful-pce] is unchanged by this document. 967 5.6. The PCRpt Message 969 The PCRpt message [I-D.ietf-pce-stateful-pce] is a PCEP message sent 970 by a PCC to a PCE to report the status of one or more LSPs. 972 For PCE-Initiated LSPs [I.D.ietf-pce-pce-initiated-lsp], the PCC 973 creates the LSP using the attributes communicated by the PCE, and 974 using the local values for the unspecified parameters. After the 975 successful instantiation of the LSP, PCC automatically delegates the 976 LSP to the PCE and generates a PCRpt message to provide the status 977 report for the LSP. 979 For both PCE-Initiated and PCC-Initiated LSPs, when the LSP is 980 delegated to a PCE for the very first time as well as after the 981 successful delegation, the BANDWIDTH object of type 1 is used to 982 specify the requested bandwidth in the PCRpt message. 984 For all LSPs with Auto-Bandwidth feature enabled, AUTO-BANDWIDTH- 985 ATTRIBUTES TLV MUST be included in the LSPA object of the PCRpt 986 message. 988 The definition (RBNF) of the PCRpt message 989 [I-D.ietf-pce-stateful-pce] is unchanged by this document. 991 5.7. The PCNtf Message 993 As per [RFC5440], the PCEP Notification message (PCNtf) can be sent 994 by a PCEP speaker to notify its peer of a specific event. 996 A PCEP speaker (PCE or PCC) SHOULD notify its PCEP peer (PCC or PCE) 997 when it is in overwhelmed state due to the auto-bandwidth feature. 998 Upon receipt of such notification, the peer SHOULD NOT send any PCEP 999 messages related to auto-bandwidth adjustment. If a PCEP message 1000 related to auto-bandwidth is received during in overwhelmed state, it 1001 MUST be silently ignored. 1003 o When a PCEP speaker is overwhelmed, it SHOULD notify its peer by 1004 sending a PCNtf message with Notification Type = TBD3 (Auto- 1005 bandwidth Overwhelm State) and Notification Value = 1 (Entering 1006 auto-bandwidth overwhelm state). Optionally, OVERLOADED-DURATION 1007 TLV [RFC5440] MAY be included that specifies the time period 1008 during which no further PCEP messages related to auto-bandwidth 1009 adjustment should be sent. 1011 o When the PCEP speaker is no longer in the overwhelm state and is 1012 available to process the auto-bandwidth adjustments, it SHOULD 1013 notify its peer by sending a PCNtf message with Notification Type 1014 = TBD3 (Auto-bandwidth Overwhelm State) and Notification Value = 2 1015 (Clearing auto-bandwidth overwhelm state). 1017 When Auto-Bandwidth feature is deployed, a PCE can send this 1018 notification to PCC when a PCC is reporting frequent auto-bandwidth 1019 adjustments. If a PCC is overwhelmed with re-signaling, it can also 1020 notify the PCE to not adjust the LSP bandwidth while in overwhelm 1021 state. 1023 6. Security Considerations 1025 This document defines AUTO-BANDWIDTH-CAPABILITY TLV and 1026 AUTO-BANDWIDTH-ATTRIBUTES TLV which do not add any new security 1027 concerns beyond those discussed in [RFC5440] and 1028 [I-D.ietf-pce-stateful-pce] in itself. Some deployments may find the 1029 auto-bandwidth information as extra sensitive as it could be used to 1030 influence LSP path computation and LSP setup with adverse effect. 1031 Additionally, snooping of PCEP messages with such data or using PCEP 1032 messages for network reconnaissance, may give an attacker sensitive 1033 information about the operations of the network. Thus, such 1034 deployment should employ suitable PCEP security mechanisms like TCP 1035 Authentication Option (TCP-AO) [RFC5925] or [I-D.ietf-pce-pceps]. 1037 7. Manageability Considerations 1039 7.1. Control of Function and Policy 1041 The Auto-Bandwidth feature SHOULD be controlled per LSP (at PCC 1042 (head-end of the LSP) or PCE) and the values for auto-bandwidth 1043 parameters e.g. sample-interval, adjustment-interval (up/down), 1044 minimum-bandwidth, maximum-bandwidth, adjustment-threshold (up/down) 1045 SHOULD be configurable by an operator. 1047 7.2. Information and Data Models 1049 A Management Information Base (MIB) module for modeling PCEP is 1050 described in [RFC7420]. However, one may prefer the mechanism for 1051 configuration using YANG data model [I-D.ietf-pce-pcep-yang]. These 1052 SHOULD be enhanced to provide controls and indicators for support of 1053 auto-bandwidth feature. Support for various configuration knobs as 1054 well as counters of messages sent/received containing the TLVs 1055 defined in this document SHOULD be added. 1057 7.3. Liveness Detection and Monitoring 1059 The mechanisms defined in this document do not imply any new liveness 1060 detection and monitoring requirements in addition to those already 1061 listed in [RFC5440]. 1063 7.4. Verify Correct Operations 1065 The mechanisms defined in this document do not imply any new 1066 operation verification requirements in addition to those already 1067 listed in [RFC5440]. 1069 7.5. Requirements On Other Protocols 1071 The mechanisms defined in this document do not add any new 1072 requirements on other protocols. 1074 7.6. Impact On Network Operations 1076 In order to avoid any unacceptable impact on network operations, an 1077 implementation SHOULD allow a limit to be placed on the number of 1078 LSPs that can be enabled with auto-bandwidth feature. An 1079 implementation MAY allow a limit to be placed on the rate of auto- 1080 bandwidth related messages sent by a PCEP speaker and received by a 1081 peer. An implementation MAY also allow sending a notification when a 1082 PCEP speaker is overwhelmed or the rate of messages reach a 1083 threshold. 1085 8. IANA Considerations 1087 8.1. PCEP TLV Type Indicators 1089 This document defines the following new PCEP TLVs; IANA is requested 1090 to make the following allocations from the "PCEP TLV Type Indicators" 1091 sub-registry of the PCEP Numbers registry, as follows: 1093 Value Name Reference 1094 ----------------------------------------------------------------- 1095 TBD2 AUTO-BANDWIDTH-CAPABILITY [This document] 1096 TBD1 AUTO-BANDWIDTH-ATTRIBUTES [This document] 1098 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field 1100 IANA is requested to create a sub-registry to manage the Flag field 1101 of the AUTO-BANDWIDTH-CAPABILITY TLV. 1103 New bit numbers are allocated only by an IETF Review action 1104 [RFC5226]. Each bit should be tracked with the following qualities: 1106 o Bit number (counting from bit 0 as the most significant bit) 1108 o Capability description 1110 o Defining RFC 1112 There is no bit defined for the AUTO-BANDWIDTH-CAPABILITY TLV Object 1113 flag field in this document. 1115 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV 1117 This document specifies the AUTO-BANDWIDTH-ATTRIBUTES Sub-TLVs. IANA 1118 is requested to create an "AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV Types" 1119 sub-registry in the "PCEP TLV Type Indicators" for the sub-TLVs 1120 carried in the AUTO-BANDWIDTH-ATTRIBUTES TLV. New sub-TLV are 1121 allocated only by an IETF Review action [RFC5226]. 1123 This document defines the following types: 1125 Type Name Reference 1126 ----------------------------------------------------------------- 1127 0 Reserved [This document] 1128 1 Sample-Interval sub-TLV [This document] 1129 2 Adjustment-Interval sub-TLV [This document] 1130 3 Down-Adjustment-Interval sub-TLV [This document] 1131 4 Adjustment-Threshold sub-TLV [This document] 1132 5 Adjustment-Threshold-Percentage sub-TLV [This document] 1133 6 Down-Adjustment-Threshold sub-TLV [This document] 1134 7 Down-Adjustment-Threshold-Percentage sub-TLV [This document] 1135 8 Minimum-Bandwidth sub-TLV [This document] 1136 9 Maximum-Bandwidth sub-TLV [This document] 1137 10 Overflow-Threshold sub-TLV [This document] 1138 11 Overflow-Threshold-Percentage sub-TLV [This document] 1139 12 Underflow-Threshold sub-TLV [This document] 1140 13 Underflow-Threshold-Percentage sub-TLV [This document] 1141 14- Unassigned [This document] 1142 65535 1144 8.4. Error Object 1146 This document defines a new Error-Value for PCErr message of Error- 1147 Type 19 (Invalid Operation) [I-D.ietf-pce-stateful-pce]; IANA is 1148 requested to allocate new error-value within the "PCEP-ERROR Object 1149 Error Types and Values" subregistry of the PCEP Numbers registry, as 1150 follows: 1152 Error-Type Meaning & error values Reference 1153 ----------------------------------------------------------------- 1154 19 Invalid Operations 1156 Error-Value = TBD4: [This document] 1157 Auto-Bandwidth Capability 1158 was not Advertised 1160 8.5. Notification Object 1162 IANA is requested to allocate new Notification Types and Notification 1163 Values within the "Notification Object" sub-registry of the PCEP 1164 Numbers registry, as follows: 1166 Type Meaning Reference 1167 ----------------------------------------------------------------- 1168 TBD3 Auto-Bandwidth Overwhelm State [This document] 1170 Notification-value=1: Entering Auto-Bandwidth 1171 overwhelm state 1172 Notification-value=2: Clearing Auto-Bandwidth 1173 overwhelm state 1175 9. References 1177 9.1. Normative References 1179 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1180 Requirement Levels", BCP 14, RFC 2119, March 1997. 1182 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1183 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 1184 May 2008. 1186 [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element 1187 (PCE) Communication Protocol (PCEP)", RFC 5440, March 1188 2009. 1190 [I-D.ietf-pce-stateful-pce] Crabbe, E., Minei, I., Medved, J., and 1191 R. Varga, "PCEP Extensions for Stateful PCE", draft-ietf- 1192 pce-stateful-pce (work in progress). 1194 [I-D.ietf-pce-pce-initiated-lsp] Crabbe, E., Minei, I., Sivabalan, 1195 S., and R. Varga, "PCEP Extensions for PCE-initiated LSP 1196 Setup in a Stateful PCE Model", draft-ietf-pce-pce- 1197 initiated-lsp (work in progress). 1199 9.2. Informative References 1201 [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching 1202 (GMPLS) Signaling Functional Description", RFC 3471, 1203 January 2003. 1205 [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP 1206 Authentication Option", RFC 5925, June 2010. 1208 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 1209 Hardwick, "Path Computation Element Communication Protocol 1210 (PCEP) Management Information Base (MIB) Module", RFC 1211 7420, December 2014. 1213 [RFC8051] Zhang, X. and I. Minei, "Applicability of a Stateful Path 1214 Computation Element (PCE)", RFC 8051, January 2017. 1216 [I-D.ietf-pce-pceps] Lopez, D., Dios, O., Wu, W., and D. Dhody, 1217 "Secure Transport for PCEP", draft-ietf-pce-pceps (work in 1218 progress). 1220 [I-D.ietf-pce-pcep-yang] Dhody, D., Hardwick, J., Beeram, V., and J. 1221 Tantsura, "A YANG Data Model for Path Computation Element 1222 Communications Protocol (PCEP)", draft-ietf-pce-pcep-yang 1223 (work in progress). 1225 [I-D.gandhi-pce-pm] Gandhi, R., Wen, B., Barth, C., and D. Dhody, 1226 "PCEP Extensions for Reporting MPLS-TE LSP Performance 1227 Measurements", draft-gandhi-pce-pm (work in progress). 1229 [IEEE.754.1985] Institute of Electrical and Electronics Engineers, 1230 "Standard for Binary Floating-Point Arithmetic", IEEE 1231 Standard 754, August 1985. 1233 Acknowledgments 1235 Authors would like to thank Robert Varga, Venugopal Reddy, Reeja 1236 Paul, Sandeep Boina, Avantika, JP Vasseur, Himanshu Shah and Adrian 1237 Farrel for their useful comments and suggestions. 1239 Contributors' Addresses 1241 He Zekun 1242 Tencent Holdings Ltd, 1243 Shenzhen P.R.China 1245 Email: kinghe@tencent.com 1247 Xian Zhang 1248 Huawei Technologies 1249 Research Area F3-1B, 1250 Huawei Industrial Base, 1251 Shenzhen, 518129 1252 China 1254 Phone: +86-755-28972645 1255 Email: zhang.xian@huawei.com 1257 Young Lee 1258 Huawei Technologies 1259 1700 Alma Drive, Suite 100 1260 Plano, TX 75075 1261 USA 1263 Phone: +1 972 509 5599 x2240 1264 Fax: +1 469 229 5397 1265 Email: leeyoung@huawei.com 1267 Authors' Addresses 1269 Dhruv Dhody 1270 Huawei Technologies 1271 Divyashree Techno Park, Whitefield 1272 Bangalore, Karnataka 560066 1273 India 1275 Email: dhruv.ietf@gmail.com 1277 Udayasree Palle 1278 Huawei Technologies 1279 Divyashree Techno Park, Whitefield 1280 Bangalore, Karnataka 560037 1281 India 1283 Email: udayasreereddy@gmail.com 1285 Ravi Singh 1286 Juniper Networks 1287 1194 N. Mathilda Ave. 1288 Sunnyvale, CA 94089 1289 USA 1291 Email: ravis@juniper.net 1293 Rakesh Gandhi 1294 Cisco Systems, Inc. 1296 Email: rgandhi@cisco.com 1298 Luyuan Fang 1299 eBay 1300 USA 1302 Email: lufang@ebay.com