idnits 2.17.1 draft-ietf-pce-stateful-pce-auto-bandwidth-05.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 25, 2017) is 2558 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 27, 2017 R. Singh 6 Juniper Networks 7 R. Gandhi 8 Cisco Systems, Inc. 9 L. Fang 10 eBay 11 April 25, 2017 13 PCEP Extensions for MPLS-TE LSP Automatic Bandwidth Adjustment with 14 Stateful PCE 15 draft-ietf-pce-stateful-pce-auto-bandwidth-05 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 . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . 9 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 . . . . . . . . . . . . . . . 12 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 . . . . . . . . . 13 82 5.2.3. Adjustment Thresholds . . . . . . . . . . . . . . . . 14 83 5.2.3.1. Adjustment-Threshold sub-TLV . . . . . . . . . . . 14 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 . . . 16 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 . . . . . . . . . . . . 18 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 . . . . . . . . . . . . . . . . . . . . 22 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 . . . . . . . . . . . . 24 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 [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 a certain bandwidth may require to adjust the bandwidth reserved 139 in the network automatically. The head-end Label Switch Router (LSR) 140 monitors the actual bandwidth demand of the established LSP and 141 periodically computes new bandwidth. The head-end LSR adjusts the 142 bandwidth reservation of the LSP based on the computed bandwidth 143 automatically. This feature is commonly referred to as Auto- 144 Bandwidth. The Auto-Bandwidth feature is described in detail in 145 Section 4 of this document. 147 In the model considered in this document, the PCC (head-end of the 148 LSP) collects the traffic rate samples flowing through the LSP and 149 calculates the new adjusted bandwidth. The PCC reports the 150 calculated bandwidth to be adjusted to the PCE. This is similar to 151 the passive stateful PCE model, while the passive stateful PCE uses 152 path request/reply mechanism, the active stateful PCE uses 153 report/update mechanism to adjust the LSP bandwidth. In case of PCE- 154 Initiated LSP, the PCC is requested during the LSP initiation to 155 monitor and calculate the new adjusted bandwidth. [RFC8051] 156 describes the use-case for Auto-Bandwidth adjustment for passive and 157 active stateful PCE. 159 [I-D.gandhi-pce-pm] describes the PCEP extensions for reporting the 160 performance measurements to the PCE, and includes the real-time 161 bandwidth utilization information of a TE LSP. Those extensions can 162 be used to implement the auto-bandwidth feature on a stateful PCE, 163 i.e. can be used to calculate the new bandwidth to be adjusted on the 164 stateful PCE. 166 This document defines the PCEP extensions needed to support Auto- 167 Bandwidth feature in a active stateful PCE model where the LSP 168 bandwidth to be adjusted is calculated on the PCC (head-end of the 169 LSP). 171 2. Conventions Used in This Document 173 2.1. Requirements Language 175 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 176 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 177 document are to be interpreted as described in [RFC2119]. 179 2.2. Abbreviations 181 PCC: Path Computation Client. 183 PCE: Path Computation Element. 185 PCEP: Path Computation Element Communication Protocol. 187 TE LSP: Traffic Engineering Label Switched Path. 189 2.3. Terminology 191 The reader is assumed to be familiar with the terminology defined in 192 [RFC5440], [I-D.ietf-pce-pce-initiated-lsp], and [I-D.ietf-pce- 193 stateful-pce]. 195 The following auto-bandwidth terminology is defined in this document. 197 Maximum Average Bandwidth (MaxAvgBw): The maximum average bandwidth 198 represents the current traffic bandwidth demand of the LSP during 199 a time interval. This is the maximum value of the traffic 200 bandwidth rate samples (Bandwidth-Samples) in a given 201 Adjustment-Interval. 203 Adjusted Bandwidth: This is the Auto-Bandwidth computed bandwidth 204 that is used to adjust the bandwidth reservation of the LSP. 206 Sample-Interval: The periodic time interval at which the measured 207 traffic rate of the LSP is collected as a Bandwidth-Sample. 209 Bandwidth-Sample: The bandwidth sample of the measured traffic rate 210 of the LSP collected at every Sample-Interval. 212 Maximum-Bandwidth: The maximum bandwidth that can be reserved for 213 the LSP. 215 Minimum-Bandwidth: The minimum bandwidth that can be reserved for 216 the LSP. 218 Up-Adjustment-Interval: The periodic time interval at which the 219 bandwidth adjustment should be made using the MaxAvgBw, when 220 MaxAvgBw is greater than the current bandwidth reservation of the 221 LSP. 223 Down-Adjustment-Interval: The periodic time interval at which the 224 bandwidth adjustment should be made using the MaxAvgBw, when 225 MaxAvgBw is lesser than the current bandwidth reservation of the 226 LSP. 228 Up-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 MaxAvgBw and the current bandwidth 231 reservation is greater than or equal to the threshold value, the 232 LSP bandwidth is adjusted (upsized) to the current bandwidth 233 demand (Adjusted Bandwidth) at the Up-Adjustment-Interval expiry. 235 Down-Adjustment-Threshold: This parameter is used to decide when the 236 LSP bandwidth should be adjusted. If the percentage or absolute 237 difference between the current bandwidth reservation and the 238 current MaxAvgBw is greater than or equal to the threshold value, 239 the LSP bandwidth is adjusted (downsized) to the current bandwidth 240 demand (Adjusted Bandwidth) at the Down-Adjustment-Interval 241 expiry. 243 Overflow-Count: This parameter is used to decide when the LSP 244 bandwidth should be adjusted when there is a sudden increase in 245 traffic demand. This value indicates how many times 246 consecutively, the percentage or absolute difference between the 247 current MaxAvgBw and the current bandwidth reservation of the LSP 248 is greater than or equal to the Overflow-Threshold value. 250 Overflow-Threshold: This parameter is used to decide when the LSP 251 bandwidth should be adjusted when there is a sudden increase in 252 traffic demand. If the percentage or absolute difference between 253 the current MaxAvgBw and the current bandwidth reservation of the 254 LSP is greater than or equal to the threshold value, the overflow 255 condition is set to be met. The LSP bandwidth is adjusted to the 256 current bandwidth demand bypassing the Up-Adjustment-Interval if 257 the overflow condition is met consecutively for the Overflow- 258 Count. 260 Underflow-Count: This parameter is used to decide when the LSP 261 bandwidth should be adjusted when there is a sudden decrease in 262 traffic demand. This value indicates how many times 263 consecutively, the percentage or absolute difference between the 264 current MaxAvgBw and the current bandwidth reservation of the LSP 265 is greater than or equal to the Underflow-Threshold value. 267 Underflow-Threshold: This parameter is used to decide when the LSP 268 bandwidth should be adjusted when there is a sudden decrease in 269 traffic demand. If the percentage or absolute difference between 270 the current MaxAvgBw and the current bandwidth reservation of the 271 LSP is greater than or equal to the threshold value, the underflow 272 condition is set to be met. The LSP bandwidth is adjusted to the 273 current bandwidth demand bypassing the Down-Adjustment-Interval if 274 the underflow condition is met consecutively for the Underflow- 275 Count. 277 Minimum-Threshold: The increase or decrease of the LSP bandwidth 278 should be at least or above the minimum-threshold represented as 279 an absolute bandwidth value before the bandwidth adjustment for 280 the LSP is made. This threshold can be seen as a suppression 281 threshold that is used along with a percentage threshold to avoid 282 unnecessary auto-bandwidth adjustments and re-signaling of the LSP 283 at low bandwidth values. 285 3. Requirements for PCEP Extensions 287 The PCEP extensions required for auto-bandwidth are summarized in the 288 following table. 290 +---------------------------------+---------------------------------+ 291 | PCC Initiated | PCE Initiated | 292 +---------------------------------+---------------------------------+ 293 | | | 294 | PCC monitors the traffic | At the time of initiation, | 295 | and reports the calculated | PCE request PCC to monitor | 296 | bandwidth to be adjusted | the traffic and report the | 297 | to the PCE. | calculated bandwidth to be | 298 | | adjusted to the PCE. | 299 | | | 300 | Extension is needed for PCC | Extension is needed for PCE | 301 | to pass on the adjustment | to pass on the adjustment | 302 | parameters at the time of | parameters at the time of | 303 | Delegation. | Initiation. | 304 | | | 305 +---------------------------------+---------------------------------+ 307 Table 1: Auto-Bandwidth PCEP extensions 309 The PCEP speaker supporting this document must have a mechanism to 310 advertise the automatic bandwidth adjustment capability for both PCC- 311 Initiated and PCE-Initiated LSPs. 313 Auto-bandwidth deployment considerations for PCEP extensions are 314 summarized below: 316 o It is required to identify and inform the PCC, the LSP that are 317 enabled with Auto-Bandwidth feature. Not all LSPs in some 318 deployments would like their bandwidth to be dependent on the 319 real-time bandwidth usage but be constant as set by the operator. 321 o In addition, an operator should be able to specify the auto- 322 bandwidth adjustment parameters (i.e. configuration knobs) to 323 control this feature (e.g. minimum/ maximum bandwidth range). The 324 PCC should be informed about these adjustment parameters. 326 4. Architectural Overview 328 4.1. Auto-Bandwidth Overview 330 Auto-Bandwidth feature allows automatic and dynamic adjustment of the 331 reserved bandwidth of an LSP over time, i.e. without network operator 332 intervention to accommodate the varying traffic demand of the LSP. 333 If the traffic flowing through the LSP is lower than the configured 334 or current bandwidth of the LSP, the extra bandwidth is being 335 reserved needlessly and being wasted. Conversely, if the actual 336 traffic flowing through the LSP is higher than the configured or 337 current bandwidth of the LSP, it can potentially cause congestion or 338 packet loss in the network. The initial LSP bandwidth can be set to 339 an arbitrary value (including zero), in practice, it can be operator 340 expected value based on design and planning. The head-end Label 341 Switch Router (LSR) monitors the actual traffic flowing through the 342 LSP and uses that information to adjust the bandwidth reservation of 343 the LSP in the network. The bandwidth adjustment uses the make- 344 before-break (MBB) signaling method so that there is no disruption to 345 the traffic flow carried by the LSP. 347 4.2. Auto-bandwidth Theory of Operation 349 When the Auto-Bandwidth feature is enabled, the measured traffic rate 350 is periodically sampled at each Sample-Interval (which can be 351 configured by an operator and the default value as 5 minutes) by the 352 PCC which is the head-end node of the LSP. The traffic rate samples 353 are accumulated over the Adjustment-Interval period (which can be 354 configured by an operator and the default value as 24 hours). The 355 PCC, in-charge of calculating the bandwidth to be adjusted, will 356 adjust the bandwidth of the LSP to the highest traffic rate sample 357 (MaxAvgBw) amongst the set of bandwidth samples collected over the 358 adjustment-interval period (in the Up or Down direction). 360 Note that the highest traffic rate sample could be higher or lower 361 than the current LSP bandwidth. Only if the difference between the 362 current bandwidth demand (MaxAvgBw) and the current bandwidth 363 reservation is greater than or equal to the Adjustment-Threshold 364 (percentage or absolute value) (which can be configured by an 365 operator and the default as 5 percentage), the LSP bandwidth is 366 adjusted (upsized) to the current bandwidth demand (MaxAvgBw). 367 Similarly, if the difference between the current bandwidth 368 reservation and the current bandwidth demand (MaxAvgBw) is greater 369 than or equal to the Down-Adjustment-Threshold (percentage or 370 absolute value), the LSP bandwidth is adjusted (downsized) to the 371 current bandwidth demand (MaxAvgBw). Some LSPs are less eventful 372 while other LSPs may encounter a lot of changes in the traffic 373 pattern. The thresholds and intervals for bandwidth adjustment are 374 configured based on the traffic pattern of the LSP. 376 In order to avoid frequent re-signaling, an operator may set a longer 377 adjustment-interval value (Up and/or Down). However, longer 378 adjustment-interval can result in an undesirable effect of masking 379 sudden changes in traffic demands of an LSP. To avoid this, the 380 Auto-Bandwidth feature may pre-maturely expire the adjustment- 381 interval and adjust the LSP bandwidth to accommodate the sudden 382 bursts of increase in traffic demand as an overflow condition or 383 decrease in traffic demand as an underflow condition. An operator 384 needs to configure appropriate values for the Overflow-Threshold 385 and/or Underflow-Threshold parameters and they do not have default 386 values defined in this document. 388 All thresholds in this document could be represented in both absolute 389 value and percentage, and could be used together. This is provided 390 to accommodate the cases where the LSP bandwidth reservation may 391 become very large or very small over time. For example, an operator 392 may use the percentage threshold to handle small to large bandwidth 393 values and absolute values to handle very large bandwidth values. 394 The auto-bandwidth adjustment is made when either one of the two 395 thresholds, the absolute or percentage, is crossed. 397 When using the (adjustment/overflow/underflow) percentage thresholds, 398 if the LSP bandwidth changes rapidly at very low values, it may 399 trigger frequent auto-bandwidth adjustments due to the crossing of 400 the percentage thresholds. This can lead to unnecessary re-signaling 401 of the LSPs in the network. This is suppressed by setting the 402 minimum-threshold parameters along with the percentage thresholds. 403 The auto-bandwidth adjustment is only made if the LSP bandwidth 404 crosses both the percentage threshold and the minimum-threshold 405 parameters. 407 4.3. Scaling Considerations 409 It should be noted that any bandwidth change requires re-signaling of 410 an LSP in a make-before-break fashion, which can further trigger 411 preemption of lower priority LSPs in the network. When deployed 412 under scale, this can lead to a signaling churn in the network. The 413 Auto-bandwidth application algorithm is thus advised to take this 414 into consideration before adjusting the LSP bandwidth. Operators are 415 advised to set the values of various auto-bandwidth adjustment 416 parameters appropriate for the deployed LSP scale. 418 If a PCE gets overwhelmed, it can notify the PCC to temporarily 419 suspend the reporting of the new LSP bandwidth to be adjusted (see 420 Section 5.7 of this document). Similarly, if a PCC gets overwhelmed 421 due to signaling churn, it can notify the PCE to temporarily suspend 422 new LSP setup requests. 424 5. Extensions to the PCEP 426 5.1. Capability Advertisement 428 During PCEP Initialization Phase, PCEP speakers (PCE or PCC) 429 advertise their support of Automatic Bandwidth adjustment feature. A 430 PCEP speaker includes the "Auto-Bandwidth Capability" TLV, in the 431 OPEN Object to advertise its support for PCEP Auto-Bandwidth 432 extensions. The presence of the "Auto-Bandwidth Capability" TLV in 433 the OPEN Object indicates that the Automatic Bandwidth feature is 434 supported as described in this document. 436 o The PCEP protocol extensions for Auto-Bandwidth adjustments MUST 437 NOT be used if one or both PCEP speakers have not included the 438 "Auto-Bandwidth Capability" TLV in their respective OPEN message. 440 o The PCEP speaker that does not recognize the extensions defined in 441 this document sends the PCErr message with error-type 2 442 (capability not supported) as per Section 6.9 in [RFC5440]. 444 o If the PCEP speaker that supports the extensions defined in this 445 document but did not advertise this capability, then upon receipt 446 of AUTO-BANDWIDTH-ATTRIBUTES TLV in the LSPA object, it SHOULD 447 generate a PCErr with error-type 19 (Invalid Operation), error- 448 value TBD4 (Auto-Bandwidth capability was not advertised) and 449 ignore the AUTO-BANDWIDTH-ATTRIBUTES TLV. 451 5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV 453 The AUTO-BANDWIDTH-CAPABILITY TLV is an optional TLV for use in the 454 OPEN Object for Automatic Bandwidth Adjustment via PCEP capability 455 advertisement. Its format is shown in the following figure: 457 0 1 2 3 458 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 459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 460 | Type=TBD2 | Length=4 | 461 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 462 | Flags | 463 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 AUTO-BANDWIDTH-CAPABILITY TLV format 467 The Type of the TLV is (TBD2) and it has a fixed Length of 4 octets. 469 The value comprises a single field - Flags (32 bits). No flags are 470 defined for this TLV in this document. 472 Unassigned bits are considered reserved. They MUST be set to 0 on 473 transmission and MUST be ignored on receipt. 475 Advertisement of the Auto-Bandwidth capability TLV implies support of 476 auto-bandwidth adjustment, as well as the objects, TLVs and 477 procedures defined in this document. 479 5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV 481 The AUTO-BANDWIDTH-ATTRIBUTES TLV provides the 'configurable knobs' 482 of the feature and it can be included as an optional TLV in the LSPA 483 Object (as described in [RFC5440]). 485 For PCE-Initiated LSP [I-D.ietf-pce-pce-initiated-lsp], this TLV is 486 included in the LSPA Object with the PCInitiate message. For the 487 PCC-Initiated delegated LSPs, this TLV is carried in the PCRpt 488 message in LSPA Object. This TLV is also carried in the LSPA object 489 with the PCUpd message to direct the PCC (LSP head-end) to make 490 updates to auto-bandwidth attributes such as Adjustment-Interval. 492 The TLV is encoded in all PCEP messages for the LSP while the auto- 493 bandwidth adjustment feature is enabled, the absence of the TLV 494 indicates the PCEP speaker wish to disable the feature. 496 The format of the AUTO-BANDWIDTH-ATTRIBUTES TLV is shown in the 497 following figure: 499 0 1 2 3 500 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 501 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 502 | Type=TBD1 | Length | 503 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 504 | | 505 // sub-TLVs // 506 | | 507 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 509 AUTO-BANDWIDTH-ATTRIBUTES TLV format 511 Type: TBD1 513 Length: The Length field defines the length of the value portion 514 in octets as per [RFC5440]. 516 Value: This comprises one or more sub-TLVs. 518 Following sub-TLVs are defined in this document: 520 Type Len Name 521 ------------------------------------------------------------------- 522 1 4 Sample-Interval sub-TLV 523 2 4 Adjustment-Interval sub-TLV 524 3 4 Down-Adjustment-Interval sub-TLV 525 4 4 Adjustment-Threshold sub-TLV 526 5 8 Adjustment-Threshold-Percentage sub-TLV 527 6 4 Down-Adjustment-Threshold sub-TLV 528 7 8 Down-Adjustment-Threshold-Percentage sub-TLV 529 8 4 Minimum-Bandwidth sub-TLV 530 9 4 Maximum-Bandwidth sub-TLV 531 10 8 Overflow-Threshold sub-TLV 532 11 8 Overflow-Threshold-Percentage sub-TLV 533 12 8 Underflow-Threshold sub-TLV 534 13 8 Underflow-Threshold-Percentage sub-TLV 536 Future specification can define additional sub-TLVs. 538 The sub-TLVs are encoded to inform the PCEP peer the various sampling 539 and adjustment parameters. If sub-TLVs are not present, the default 540 values as specified in this document are used or otherwise based on 541 the local policy are assumed. 543 All sub-TLVs are optional and any unrecognized sub-TLV MUST be 544 silently ignored. If a sub-TLV of same type appears more than once, 545 only the first occurrence is processed and all others MUST be 546 ignored. 548 The following sub-sections describe the sub-TLVs which are currently 549 defined to be carried within the AUTO-BANDWIDTH-ATTRIBUTES TLV. 551 5.2.1. Sample-Interval sub-TLV 553 The Sample-Interval sub-TLV specifies a time interval in seconds at 554 which traffic samples are collected at the PCC. 556 0 1 2 3 557 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 558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 559 | Type=1 | Length=4 | 560 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 561 | Sample-Interval | 562 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 563 Sample-Interval sub-TLV format 565 The Type is 1, Length is 4 octets, and the value comprises of - 567 o Sample-Interval: The 4-octet time interval for bandwidth sample 568 collection. The valid range is from 1 to 604800, in seconds. The 569 default value is 300 seconds. The sample-interval parameter MUST 570 NOT be greater than the (down) adjustment-interval. 572 5.2.2. Adjustment Intervals 574 The sub-TLVs in this section are encoded to inform the PCEP peer the 575 adjustment interval parameters. An implementation MAY require to set 576 different adjustment interval values for when the bandwidth usage 577 trend is moving upwards or downwards. The Adjustment-Interval sub- 578 TLV specifies the time interval for both upward and downward trend 579 (Up-Adjustment-Interval and Down-Adjustment-Interval). If the 580 operator would like to use a different adjustment interval during the 581 downward trend, the Down-Adjustment-Interval sub-TLV is included. 583 5.2.2.1. Adjustment-Interval sub-TLV 585 The Adjustment-Interval sub-TLV specifies a time interval in seconds 586 at which bandwidth adjustment should be made when MaxAvgBw is greater 587 than or less than the current bandwidth reservation of the LSP. 589 0 1 2 3 590 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 591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 592 | Type=2 | Length=4 | 593 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 594 | Adjustment-Interval | 595 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 597 Adjustment-Interval sub-TLV format 599 The Type is 2, Length is 4 octets, and the value comprises of - 601 o Adjustment-Interval: The 4-octet time interval for bandwidth 602 adjustments. The valid range is from 1 to 604800, in seconds. 603 The default value is 86400 seconds. The adjustment-interval 604 parameter MUST NOT be less than the sample-interval. 606 5.2.2.2. Down-Adjustment-Interval sub-TLV 608 The Down-Adjustment-Interval sub-TLV specifies a time interval in 609 seconds at which bandwidth adjustment should be made when MaxAvgBw is 610 less than the current bandwidth reservation of the LSP. This 611 parameter overwrites the Adjustment-Interval for the downward trend. 613 0 1 2 3 614 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 615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 616 | Type=3 | Length=4 | 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 | Down-Adjustment-Interval | 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 621 Down-Adjustment-Interval sub-TLV format 623 The Type is 3, Length is 4 octets, and the value comprises of - 625 o Down-Adjustment-Interval: The 4-octet time interval for downward 626 bandwidth adjustments. The valid range is from 1 to 604800, in 627 seconds. The default value equals the adjustment-interval. The 628 down-adjustment-interval parameter MUST NOT be less than the 629 sample-interval. 631 5.2.3. Adjustment Thresholds 633 The sub-TLVs in this section are encoded to inform the PCEP peer the 634 adjustment threshold parameters. An implementation MAY include both 635 sub-TLVs for the absolute value and the percentage, in which case the 636 bandwidth is adjusted when either of the adjustment threshold 637 conditions are met. The Adjustment-Threshold sub-TLV specifies the 638 threshold for both upward and downward trend. If the operator would 639 like to use a different adjustment threshold during the downward 640 trend, the Down-Adjustment-Threshold sub-TLV is included. Similarly, 641 the Adjustment-Threshold-Percentage sub-TLV specifies the threshold 642 percentage for both upward and downward trend. If the operator would 643 like to use a different adjustment threshold percentage during the 644 downward trend, the Down-Adjustment-Threshold-Percentage sub-TLV is 645 included. 647 5.2.3.1. Adjustment-Threshold sub-TLV 649 The Adjustment-Threshold sub-TLV is used to decide when the LSP 650 bandwidth should be adjusted when MaxAvgBw is greater than or less 651 than the current bandwidth reservation. 653 0 1 2 3 654 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 655 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 656 | Type=4 | Length=4 | 657 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 658 | Adjustment-Threshold | 659 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 661 Adjustment-Threshold sub-TLV format 663 The Type is 4, Length is 4 octets, and the value comprises of - 665 o Adjustment-Threshold: The absolute Adjustment-Threshold bandwidth 666 value, encoded in IEEE floating point format (see 667 [IEEE.754.1985]), expressed in bytes per second. The default 668 adjustment-threshold value is not set. Refer to Section 3.1.2 of 669 [RFC3471] for a table of commonly used values. 671 If the difference between the current MaxAvgBw and the current 672 bandwidth reservation is greater than or less than or equal to the 673 threshold value, the LSP bandwidth is adjusted to the current 674 bandwidth demand (MaxAvgBw). 676 5.2.3.2. Adjustment-Threshold-Percentage sub-TLV 678 The Adjustment-Threshold-Percentage sub-TLV is used to decide when 679 the LSP bandwidth should be adjusted when MaxAvgBw is greater than or 680 less than the current bandwidth reservation. 682 0 1 2 3 683 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 684 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 685 | Type=5 | Length=8 | 686 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 687 | Reserved | Percentage | 688 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 689 | Minimum-Threshold | 690 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 692 Adjustment-Threshold-Percentage sub-TLV format 694 The Type is 5, Length is 8 octets, and the value comprises of - 696 o Reserved: SHOULD be set to zero on transmission and MUST be 697 ignored on receipt. 699 o Percentage: The Adjustment-Threshold value (7 bits), encoded in 700 percentage (an integer from 1 to 100). The value 0 is considered 701 to be invalid. The default value is 5 percent. 703 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 704 encoded in IEEE floating point format (see [IEEE.754.1985]), 705 expressed in bytes per second. The increase or decrease of the 706 LSP bandwidth should be at least or above the minimum-threshold 707 before the bandwidth adjustment is made. The default value is 0. 709 If the percentage difference between the current MaxAvgBw and the 710 current bandwidth reservation is greater than or less than or equal 711 to the threshold percentage, the LSP bandwidth is adjusted to the 712 current bandwidth demand (MaxAvgBw) (as long as the difference in the 713 bandwidth is at least or above the Minimum-Threshold). 715 5.2.3.3. Down-Adjustment-Threshold sub-TLV 717 The Down-Adjustment-Threshold sub-TLV is used to decide when the LSP 718 bandwidth should be adjusted when MaxAvgBw is lesser than the current 719 bandwidth reservation. This parameter overwrites the Adjustment- 720 Threshold for the downward trend. 722 0 1 2 3 723 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 724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 725 | Type=6 | Length=4 | 726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 727 | Down-Adjustment-Threshold | 728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 730 Down-Adjustment-Threshold sub-TLV format 732 The Type is 6, Length is 4 octets, and the value comprises of - 734 o Down-Adjustment-Threshold: The absolute Down-Adjustment-Threshold 735 bandwidth value, encoded in IEEE floating point format (see 736 [IEEE.754.1985]), expressed in bytes per second. The default 737 value equals the adjustment-threshold. Refer to Section 3.1.2 of 738 [RFC3471] for a table of commonly used values. 740 If the difference between current bandwidth reservation and the 741 current MaxAvgBw is greater than or equal to the threshold value, the 742 LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw). 744 5.2.3.4. Down-Adjustment-Threshold-Percentage sub-TLV 746 The Down-Adjustment-Threshold-Percentage sub-TLV is used to decide 747 when the LSP bandwidth should be adjusted when MaxAvgBw is lesser 748 than the current bandwidth reservation. This parameter overwrites 749 the Adjustment-Threshold-Percentage for the downward trend. 751 0 1 2 3 752 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 753 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 754 | Type=7 | Length=8 | 755 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 756 | Reserved | Percentage | 757 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 758 | Minimum-Threshold | 759 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 761 Down-Adjustment-Threshold-Percentage sub-TLV format 763 The Type is 7, Length is 8 octets, and the value comprises of - 765 o Reserved: SHOULD be set to zero on transmission and MUST be 766 ignored on receipt. 768 o Percentage: The Down-Adjustment-Threshold value (7 bits), encoded 769 in percentage (an integer from 1 to 100). The value 0 is 770 considered to be invalid. The default value equals the 771 adjustment-threshold-percentage. 773 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 774 encoded in IEEE floating point format (see [IEEE.754.1985]), 775 expressed in bytes per second. The decrease of the LSP bandwidth 776 should be at least or above the minimum-threshold before the 777 bandwidth adjustment is made. The default value equals the 778 minimum-threshold for the adjustment-threshold-percentage. 780 If the percentage difference between the current bandwidth 781 reservation and the current MaxAvgBw is greater than or equal to the 782 threshold percentage, the LSP bandwidth is adjusted to the current 783 bandwidth demand (MaxAvgBw) (as long as the difference in the 784 bandwidth is at least or above the Minimum-Threshold). 786 5.2.4. Minimum and Maximum Bandwidth Values 788 5.2.4.1. Minimum-Bandwidth sub-TLV 790 The Minimum-Bandwidth sub-TLV specify the minimum bandwidth allowed 791 for the LSP, and is expressed in bytes per second. The LSP bandwidth 792 cannot be adjusted below the minimum bandwidth value. 794 0 1 2 3 795 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 796 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 797 | Type=8 | Length=4 | 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 799 | Minimum-Bandwidth | 800 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 802 Minimum-Bandwidth sub-TLV format 804 The Type is 8, Length is 4 octets, and the value comprises of - 806 o Minimum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 807 floating point format (see [IEEE.754.1985]), expressed in bytes 808 per second. The default minimum-bandwidth value is set to 0. 809 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 810 values. 812 5.2.4.2. Maximum-Bandwidth sub-TLV 814 The Maximum-Bandwidth sub-TLV specify the maximum bandwidth allowed 815 for the LSP, and is expressed in bytes per second. The LSP bandwidth 816 cannot be adjusted above the maximum bandwidth value. 818 0 1 2 3 819 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 820 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 821 | Type=9 | Length=4 | 822 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 823 | Maximum-Bandwidth | 824 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 826 Maximum-Bandwidth sub-TLV format 828 The Type is 9, Length is 4 octets, and the value comprises of - 830 o Maximum-Bandwidth: The 4-octet bandwidth value encoded in IEEE 831 floating point format (see [IEEE.754.1985]), expressed in bytes 832 per second. The default maximum-bandwidth value is not set. 833 Refer to Section 3.1.2 of [RFC3471] for a table of commonly used 834 values. 836 5.2.5. Overflow and Underflow Conditions 838 The sub-TLVs in this section are encoded to inform the PCEP peer the 839 overflow and underflow threshold parameters. An implementation MAY 840 include sub-TLVs for an absolute value and/or a percentage for the 841 threshold, in which case the bandwidth is immediately adjusted when 842 either of the threshold conditions is met consecutively for the given 843 count (as long as the difference in the bandwidth is at least or 844 above the Minimum-Threshold). By default, the threshold values for 845 overflow and underflow conditions are not set. 847 5.2.5.1. Overflow-Threshold sub-TLV 849 The Overflow-Threshold sub-TLV is used to decide if the LSP bandwidth 850 should be adjusted immediately. 852 0 1 2 3 853 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 854 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 855 | Type=10 | Length=8 | 856 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 857 | Reserved | Count | 858 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 859 | Overflow-Threshold | 860 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 862 Overflow-Threshold sub-TLV format 864 The Type is 10, Length is 8 octets, and the value comprises of - 866 o Reserved: SHOULD be set to zero on transmission and MUST be 867 ignored on receipt. 869 o Count: The Overflow-Count value (5 bits), encoded in integer. The 870 value 0 is considered to be invalid. The number of consecutive 871 samples for which the overflow condition MUST be met for the LSP 872 bandwidth to be immediately adjusted to the current bandwidth 873 demand, bypassing the (up) adjustment-interval. 875 o Overflow-Threshold: The absolute Overflow-Threshold bandwidth 876 value, encoded in IEEE floating point format (see 877 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 878 3.1.2 of [RFC3471] for a table of commonly used values. If the 879 increase of the current MaxAvgBw from the current bandwidth 880 reservation is greater than or equal to the threshold value, the 881 overflow condition is met. 883 5.2.5.2. Overflow-Threshold-Percentage sub-TLV 885 The Overflow-Threshold-Percentage sub-TLV is used to decide if the 886 LSP bandwidth should be adjusted immediately. 888 0 1 2 3 889 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 890 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 891 | Type=11 | Length=8 | 892 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 893 | Percentage | Reserved | Count | 894 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 895 | Minimum-Threshold | 896 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 898 Overflow-Threshold-Percentage sub-TLV format 900 The Type is 11, Length is 8 octets, and the value comprises of - 902 o Percentage: The Overflow-Threshold value (7 bits), encoded in 903 percentage (an integer from 1 to 100). The value 0 is considered 904 to be invalid. If the percentage increase of the current MaxAvgBw 905 from the current bandwidth reservation is greater than or equal to 906 the threshold percentage, the overflow condition is met. 908 o Reserved: SHOULD be set to zero on transmission and MUST be 909 ignored on receipt. 911 o Count: The Overflow-Count value (5 bits), encoded in integer. The 912 value 0 is considered to be invalid. The number of consecutive 913 samples for which the overflow condition MUST be met for the LSP 914 bandwidth to be immediately adjusted to the current bandwidth 915 demand, bypassing the (up) adjustment-interval. 917 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 918 encoded in IEEE floating point format (see [IEEE.754.1985]), 919 expressed in bytes per second. The increase of the LSP bandwidth 920 should be at least or above the minimum-threshold before the 921 bandwidth adjustment is made. 923 5.2.5.3. Underflow-Threshold sub-TLV 925 The Underflow-Threshold sub-TLV is used to decide if the LSP 926 bandwidth should be adjusted immediately. 928 0 1 2 3 929 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 930 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 931 | Type=12 | Length=8 | 932 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 933 | Reserved | Count | 934 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 935 | Underflow-Threshold | 936 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 938 Underflow-Threshold sub-TLV format 940 The Type is 12, Length is 8 octets, and the value comprises of - 942 o Reserved: SHOULD be set to zero on transmission and MUST be 943 ignored on receipt. 945 o Count: The Underflow-Count value (5 bits), encoded in integer. 946 The value 0 is considered to be invalid. The number of 947 consecutive samples for which the underflow condition MUST be met 948 for the LSP bandwidth to be immediately adjusted to the current 949 bandwidth demand, bypassing the down-adjustment-interval. 951 o Underflow-Threshold: The absolute Underflow-Threshold bandwidth 952 value, encoded in IEEE floating point format (see 953 [IEEE.754.1985]), expressed in bytes per second. Refer to Section 954 3.1.2 of [RFC3471] for a table of commonly used values. If the 955 decrease of the current MaxAvgBw from the current bandwidth 956 reservation is greater than or equal to the threshold value, the 957 underflow condition is met. 959 5.2.5.4. Underflow-Threshold-Percentage sub-TLV 961 The Underflow-Threshold-Percentage sub-TLV is used to decide if the 962 LSP bandwidth should be adjusted immediately. 964 0 1 2 3 965 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 966 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 967 | Type=13 | Length=8 | 968 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 969 | Percentage | Reserved | Count | 970 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 971 | Minimum-Threshold | 972 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 974 Underflow-Threshold-Percentage sub-TLV format 976 The Type is 13, Length is 8 octets, and the value comprises of - 978 o Percentage: The Underflow-Threshold value (7 bits), encoded in 979 percentage (an integer from 1 to 100). The value 0 is considered 980 to be invalid. If the percentage decrease of the current MaxAvgBw 981 from the current bandwidth reservation is greater than or equal to 982 the threshold percentage, the underflow condition is met. 984 o Reserved: SHOULD be set to zero on transmission and MUST be 985 ignored on receipt. 987 o Count: The Underflow-Count value (5 bits), encoded in integer. 988 The value 0 is considered to be invalid. The number of 989 consecutive samples for which the underflow condition MUST be met 990 for the LSP bandwidth to be immediately adjusted to the current 991 bandwidth demand, bypassing the down-adjustment-interval. 993 o Minimum-Threshold: The absolute Minimum-Threshold bandwidth value, 994 encoded in IEEE floating point format (see [IEEE.754.1985]), 995 expressed in bytes per second. The decrease of the LSP bandwidth 996 should be at least or above the minimum-threshold before the 997 bandwidth adjustment is made. 999 5.3. BANDWIDTH Object 1001 As per [RFC5440], the BANDWIDTH object (Object-Class value 5) is 1002 defined with two Object-Type values as following: 1004 o Requested Bandwidth: BANDWIDTH Object-Type value is 1. 1006 o Re-optimization Bandwidth: Bandwidth of an existing TE LSP for 1007 which a re-optimization is requested. BANDWIDTH Object-Type value 1008 is 2. 1010 The PCC reports the calculated bandwidth to be adjusted (MaxAvgBw) to 1011 the Stateful PCE using the existing 'Requested Bandwidth' with 1012 BANDWIDTH Object-Type as 1. The reporting of the 're-optimization 1013 bandwidth' with BANDWIDTH Object-Type as 2 is not required as the 1014 Stateful PCE is aware of the existing LSP bandwidth. 1016 5.4. The PCInitiate Message 1018 A PCInitiate message is a PCEP message sent by a PCE to a PCC to 1019 trigger LSP instantiation or deletion 1020 [I.D.ietf-pce-pce-initiated-lsp]. 1022 For the PCE-Initiated LSP with Auto-Bandwidth feature enabled, AUTO- 1023 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1024 PCInitiate message. 1026 The definition (RBNF) of the PCInitiate message 1027 [I.D.ietf-pce-pce-initiated-lsp] is unchanged by this document. 1029 5.5. The PCUpd Message 1031 A PCUpd message is a PCEP message sent by a PCE to a PCC to update 1032 the LSP parameters [I-D.ietf-pce-stateful-pce]. 1034 For PCE-Initiated LSPs with Auto-Bandwidth feature enabled, AUTO- 1035 BANDWIDTH-ATTRIBUTES TLV MUST be included in the LSPA object with the 1036 PCUpd message. The PCE can send this TLV to direct the PCC to change 1037 the auto-bandwidth parameters. 1039 The definition (RBNF) of the PCUpd message 1040 [I-D.ietf-pce-stateful-pce] is unchanged by this document. 1042 5.6. The PCRpt Message 1043 The PCRpt message [I-D.ietf-pce-stateful-pce] is a PCEP message sent 1044 by a PCC to a PCE to report the status of one or more LSPs. 1046 For PCE-Initiated LSPs [I.D.ietf-pce-pce-initiated-lsp], the PCC 1047 creates the LSP using the attributes communicated by the PCE, and 1048 using the local values for the unspecified parameters. After the 1049 successful instantiation of the LSP, PCC automatically delegates the 1050 LSP to the PCE and generates a PCRpt message to provide the status 1051 report for the LSP. 1053 For both PCE-Initiated and PCC-Initiated LSPs, when the LSP is 1054 delegated to a PCE for the very first time as well as after the 1055 successful delegation, the BANDWIDTH object of type 1 is used to 1056 specify the requested bandwidth in the PCRpt message. 1058 For all LSPs with Auto-Bandwidth feature enabled, AUTO-BANDWIDTH- 1059 ATTRIBUTES TLV MUST be included in the LSPA object of the PCRpt 1060 message. 1062 The definition (RBNF) of the PCRpt message 1063 [I-D.ietf-pce-stateful-pce] is unchanged by this document. 1065 5.7. The PCNtf Message 1067 As per [RFC5440], the PCEP Notification message (PCNtf) can be sent 1068 by a PCEP speaker to notify its peer of a specific event. 1070 A PCEP speaker (PCE or PCC) SHOULD notify its PCEP peer (PCC or PCE) 1071 when it is in overwhelmed state due to the auto-bandwidth feature. 1072 Upon receipt of such notification, the peer SHOULD NOT send any PCEP 1073 messages related to auto-bandwidth adjustment. If a PCEP message 1074 related to auto-bandwidth is received during in overwhelmed state, it 1075 MUST be silently ignored. 1077 o When a PCEP speaker is overwhelmed, it SHOULD notify its peer by 1078 sending a PCNtf message with Notification Type = TBD3 (Auto- 1079 bandwidth Overwhelm State) and Notification Value = 1 (Entering 1080 auto-bandwidth overwhelm state). Optionally, OVERLOADED-DURATION 1081 TLV [RFC5440] MAY be included that specifies the time period 1082 during which no further PCEP messages related to auto-bandwidth 1083 adjustment should be sent. 1085 o When the PCEP speaker is no longer in the overwhelm state and is 1086 available to process the auto-bandwidth adjustments, it SHOULD 1087 notify its peer by sending a PCNtf message with Notification Type 1088 = TBD3 (Auto-bandwidth Overwhelm State) and Notification Value = 2 1089 (Clearing auto-bandwidth overwhelm state). 1091 When Auto-Bandwidth feature is deployed, a PCE can send this 1092 notification to PCC when a PCC is reporting frequent auto-bandwidth 1093 adjustments. If a PCC is overwhelmed with re-signaling, it can also 1094 notify the PCE to not adjust the LSP bandwidth while in overwhelm 1095 state. 1097 6. Security Considerations 1099 This document defines AUTO-BANDWIDTH-CAPABILITY TLV and 1100 AUTO-BANDWIDTH-ATTRIBUTES TLV which do not add any new security 1101 concerns beyond those discussed in [RFC5440] and 1102 [I-D.ietf-pce-stateful-pce] in itself. Some deployments may find the 1103 auto-bandwidth information as extra sensitive as it could be used to 1104 influence LSP path computation and LSP setup with adverse effect. 1105 Additionally, snooping of PCEP messages with such data or using PCEP 1106 messages for network reconnaissance, may give an attacker sensitive 1107 information about the operations of the network. Thus, such 1108 deployment should employ suitable PCEP security mechanisms like TCP 1109 Authentication Option (TCP-AO) [RFC5925] or [I-D.ietf-pce-pceps]. 1111 7. Manageability Considerations 1113 7.1. Control of Function and Policy 1115 The Auto-Bandwidth feature SHOULD be controlled per LSP (at PCC 1116 (head-end of the LSP) or PCE) and the values for auto-bandwidth 1117 parameters e.g. sample-interval, adjustment-interval (up/down), 1118 minimum-bandwidth, maximum-bandwidth, adjustment-threshold (up/down) 1119 SHOULD be configurable by an operator. 1121 7.2. Information and Data Models 1123 A Management Information Base (MIB) module for modeling PCEP is 1124 described in [RFC7420]. However, one may prefer the mechanism for 1125 configuration using YANG data model [I-D.ietf-pce-pcep-yang]. These 1126 SHOULD be enhanced to provide controls and indicators for support of 1127 auto-bandwidth feature. Support for various configuration knobs as 1128 well as counters of messages sent/received containing the TLVs 1129 defined in this document SHOULD be added. 1131 7.3. Liveness Detection and Monitoring 1133 The mechanisms defined in this document do not imply any new liveness 1134 detection and monitoring requirements in addition to those already 1135 listed in [RFC5440]. 1137 7.4. Verify Correct Operations 1139 The mechanisms defined in this document do not imply any new 1140 operation verification requirements in addition to those already 1141 listed in [RFC5440]. 1143 7.5. Requirements On Other Protocols 1145 The mechanisms defined in this document do not add any new 1146 requirements on other protocols. 1148 7.6. Impact On Network Operations 1150 In order to avoid any unacceptable impact on network operations, an 1151 implementation SHOULD allow a limit to be placed on the number of 1152 LSPs that can be enabled with auto-bandwidth feature. An 1153 implementation MAY allow a limit to be placed on the rate of auto- 1154 bandwidth related messages sent by a PCEP speaker and received by a 1155 peer. An implementation MAY also allow sending a notification when a 1156 PCEP speaker is overwhelmed or the rate of messages reach a 1157 threshold. 1159 8. IANA Considerations 1161 8.1. PCEP TLV Type Indicators 1163 This document defines the following new PCEP TLVs; IANA is requested 1164 to make the following allocations from the "PCEP TLV Type Indicators" 1165 sub-registry of the PCEP Numbers registry, as follows: 1167 Value Name Reference 1168 ----------------------------------------------------------------- 1169 TBD2 AUTO-BANDWIDTH-CAPABILITY [This document] 1170 TBD1 AUTO-BANDWIDTH-ATTRIBUTES [This document] 1172 8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field 1174 IANA is requested to create a sub-registry to manage the Flag field 1175 of the AUTO-BANDWIDTH-CAPABILITY TLV. 1177 New bit numbers are allocated only by an IETF Review action 1178 [RFC5226]. Each bit should be tracked with the following qualities: 1180 o Bit number (counting from bit 0 as the most significant bit) 1182 o Capability description 1184 o Defining RFC 1186 There is no bit defined for the AUTO-BANDWIDTH-CAPABILITY TLV Object 1187 flag field in this document. 1189 8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV 1191 This document specifies the AUTO-BANDWIDTH-ATTRIBUTES Sub-TLVs. IANA 1192 is requested to create an "AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV Types" 1193 sub-registry in the "PCEP TLV Type Indicators" for the sub-TLVs 1194 carried in the AUTO-BANDWIDTH-ATTRIBUTES TLV. New sub-TLV are 1195 allocated only by an IETF Review action [RFC5226]. 1197 This document defines the following types: 1199 Type Name Reference 1200 ----------------------------------------------------------------- 1201 0 Reserved [This document] 1202 1 Sample-Interval sub-TLV [This document] 1203 2 Adjustment-Interval sub-TLV [This document] 1204 3 Down-Adjustment-Interval sub-TLV [This document] 1205 4 Adjustment-Threshold sub-TLV [This document] 1206 5 Adjustment-Threshold-Percentage sub-TLV [This document] 1207 6 Down-Adjustment-Threshold sub-TLV [This document] 1208 7 Down-Adjustment-Threshold-Percentage sub-TLV [This document] 1209 8 Minimum-Bandwidth sub-TLV [This document] 1210 9 Maximum-Bandwidth sub-TLV [This document] 1211 10 Overflow-Threshold sub-TLV [This document] 1212 11 Overflow-Threshold-Percentage sub-TLV [This document] 1213 12 Underflow-Threshold sub-TLV [This document] 1214 13 Underflow-Threshold-Percentage sub-TLV [This document] 1215 14- Unassigned [This document] 1216 65535 1218 8.4. Error Object 1220 This document defines a new Error-Value for PCErr message of Error- 1221 Type 19 (Invalid Operation) [I-D.ietf-pce-stateful-pce]; IANA is 1222 requested to allocate new error-value within the "PCEP-ERROR Object 1223 Error Types and Values" subregistry of the PCEP Numbers registry, as 1224 follows: 1226 Error-Type Meaning & error values Reference 1227 ----------------------------------------------------------------- 1228 19 Invalid Operations 1230 Error-Value = TBD4: [This document] 1231 Auto-Bandwidth Capability 1232 was not Advertised 1234 8.5. Notification Object 1236 IANA is requested to allocate new Notification Types and Notification 1237 Values within the "Notification Object" sub-registry of the PCEP 1238 Numbers registry, as follows: 1240 Type Meaning Reference 1241 ----------------------------------------------------------------- 1242 TBD3 Auto-Bandwidth Overwhelm State [This document] 1244 Notification-value=1: Entering Auto-Bandwidth 1245 overwhelm state 1246 Notification-value=2: Clearing Auto-Bandwidth 1247 overwhelm state 1249 9. References 1251 9.1. Normative References 1253 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1254 Requirement Levels", BCP 14, RFC 2119, March 1997. 1256 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1257 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 1258 May 2008. 1260 [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element 1261 (PCE) Communication Protocol (PCEP)", RFC 5440, March 1262 2009. 1264 [I-D.ietf-pce-stateful-pce] Crabbe, E., Minei, I., Medved, J., and 1265 R. Varga, "PCEP Extensions for Stateful PCE", draft-ietf- 1266 pce-stateful-pce (work in progress). 1268 [I-D.ietf-pce-pce-initiated-lsp] Crabbe, E., Minei, I., Sivabalan, 1269 S., and R. Varga, "PCEP Extensions for PCE-initiated LSP 1270 Setup in a Stateful PCE Model", draft-ietf-pce-pce- 1271 initiated-lsp (work in progress). 1273 9.2. Informative References 1275 [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching 1276 (GMPLS) Signaling Functional Description", RFC 3471, 1277 January 2003. 1279 [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP 1280 Authentication Option", RFC 5925, June 2010. 1282 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 1283 Hardwick, "Path Computation Element Communication Protocol 1284 (PCEP) Management Information Base (MIB) Module", RFC 1285 7420, December 2014. 1287 [RFC8051] Zhang, X. and I. Minei, "Applicability of a Stateful Path 1288 Computation Element (PCE)", RFC 8051, January 2017. 1290 [I-D.ietf-pce-pceps] Lopez, D., Dios, O., Wu, W., and D. Dhody, 1291 "Secure Transport for PCEP", draft-ietf-pce-pceps (work in 1292 progress). 1294 [I-D.ietf-pce-pcep-yang] Dhody, D., Hardwick, J., Beeram, V., and J. 1295 Tantsura, "A YANG Data Model for Path Computation Element 1296 Communications Protocol (PCEP)", draft-ietf-pce-pcep-yang 1297 (work in progress). 1299 [I-D.gandhi-pce-pm] Gandhi, R., Wen, B., Barth, C., and D. Dhody, 1300 "PCEP Extensions for Reporting MPLS-TE LSP Performance 1301 Measurements", draft-gandhi-pce-pm (work in progress). 1303 [IEEE.754.1985] Institute of Electrical and Electronics Engineers, 1304 "Standard for Binary Floating-Point Arithmetic", IEEE 1305 Standard 754, August 1985. 1307 Acknowledgments 1309 Authors would like to thank Robert Varga, Venugopal Reddy, Reeja 1310 Paul, Sandeep Boina, Avantika, JP Vasseur, Himanshu Shah and Adrian 1311 Farrel for their useful comments and suggestions. 1313 Contributors' Addresses 1315 He Zekun 1316 Tencent Holdings Ltd, 1317 Shenzhen P.R.China 1319 Email: kinghe@tencent.com 1321 Xian Zhang 1322 Huawei Technologies 1323 Research Area F3-1B, 1324 Huawei Industrial Base, 1325 Shenzhen, 518129 1326 China 1328 Phone: +86-755-28972645 1329 Email: zhang.xian@huawei.com 1331 Young Lee 1332 Huawei Technologies 1333 1700 Alma Drive, Suite 100 1334 Plano, TX 75075 1335 USA 1337 Phone: +1 972 509 5599 x2240 1338 Fax: +1 469 229 5397 1339 Email: leeyoung@huawei.com 1341 Authors' Addresses 1343 Dhruv Dhody 1344 Huawei Technologies 1345 Divyashree Techno Park, Whitefield 1346 Bangalore, Karnataka 560066 1347 India 1349 Email: dhruv.ietf@gmail.com 1351 Udayasree Palle 1352 Huawei Technologies 1353 Divyashree Techno Park, Whitefield 1354 Bangalore, Karnataka 560037 1355 India 1357 Email: udayasreereddy@gmail.com 1359 Ravi Singh 1360 Juniper Networks 1361 1194 N. Mathilda Ave. 1362 Sunnyvale, CA 94089 1363 USA 1365 Email: ravis@juniper.net 1367 Rakesh Gandhi 1368 Cisco Systems, Inc. 1370 Email: rgandhi@cisco.com 1372 Luyuan Fang 1373 eBay 1374 USA 1376 Email: lufang@ebay.com