Configuring Automatic Bandwidth Allocation for LSPs
Automatic bandwidth allocation allows an MPLS tunnel to automatically adjust its bandwidth allocation based on the volume of traffic flowing through the tunnel. You can configure an LSP with minimal bandwidth, and this feature can dynamically adjust the LSP’s bandwidth allocation based on current traffic patterns. The bandwidth adjustments do not interrupt traffic flow through the tunnel.
At the end of the automatic bandwidth allocation time interval, the current maximum average bandwidth usage is compared with the allocated bandwidth for the LSP. If the LSP needs more bandwidth, an attempt is made to set up a new path where bandwidth is equal to the current maximum average usage. If the attempt is successful, the LSP’s traffic is routed through the new path and the old path is removed. If the attempt fails, the LSP continues to use its current path.
![]() | Note: You might not be able to use this feature to adjust the bandwidth of fast-reroute LSPs. Because the LSPs use a fixed filter (FF) reservation style, when a new path is signaled, the bandwidth might be double-counted. Double-counting can prevent a fast-reroute LSP from ever adjusting its bandwidth when automatic bandwidth allocation is enabled. |
To configure automatic bandwidth allocation, complete the steps in the following sections:
Configuring Automatic Bandwidth Allocation on LSPs
To enable automatic bandwidth allocation on an LSP, include the auto-bandwidth statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
The statements configured at the [edit protocols mpls label-switched-path label-switched-path-name auto-bandwidth] hierarchy level are optional and explained in the following sections:
- Configuring the Automatic Bandwidth Allocation Interval
- Configuring the Maximum and Minimum Bounds of the LSP’s Bandwidth
- Configuring the Automatic Bandwidth Adjustment Threshold
- Configuring a Limit on Bandwidth Overflow and Underflow Samples
- Configuring Passive Bandwidth Utilization Monitoring
Configuring the Automatic Bandwidth Allocation Interval
At the end of the automatic bandwidth allocation interval, the automatic bandwidth computation and new path setup process is triggered.
![]() | Note: To prevent unnecessary resignaling of LSPs, it is best to configure an LSP adjustment interval that is at least three times longer than the MPLS automatic bandwidth statistics interval. For example, if you configure a value of 30 seconds for the MPLS automatic bandwidth statistics interval (interval statement at the [edit protocols mpls statistics] hierarchy level), you should configure a value of at least 90 seconds for the LSP adjustment interval (adjust-interval statement at the [edit protocols mpls label-switched-path label-switched-path-name auto-bandwidth] hierarchy level). See also Configuring Reporting of Automatic Bandwidth Allocation Statistics. |
To specify the bandwidth reallocation interval in seconds for a specific LSP, include the adjust-interval statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
Configuring the Maximum and Minimum Bounds of the LSP’s Bandwidth
You can maintain the LSP’s bandwidth between minimum and maximum bounds by specifying values for the minimum-bandwidth and maximum-bandwidth statements.
To specify the minimum amount of bandwidth allocated for a specific LSP, include the minimum-bandwidth statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
To specify the maximum amount of bandwidth allocated for a specific LSP, include the maximum-bandwidth statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
Configuring the Automatic Bandwidth Adjustment Threshold
Use the adjust-threshold statement to specify the sensitivity of the automatic bandwidth adjustment of an LSP to changes in bandwidth utilization. You can set the threshold for when to trigger automatic bandwidth adjustments. When configured, bandwidth demand for the current interval is determined and compared to the LSP’s current bandwidth allocation. If the percentage difference in bandwidth is greater than or equal to the specified adjust-threshold percentage, the LSP’s bandwidth is adjusted to the current bandwidth demand.
For example, assume that the current bandwidth allocation is 100 megabits per second (Mbps) and that the percentage configured for the adjust-threshold statement is 15 percent. If the bandwidth demand increases to 110 Mbps, the bandwidth allocation is not adjusted. However, if the bandwidth demand increases to 120 Mbps (20 percent over the current allocation) or decreases to 80 Mbps (20 percent under the current allocation), the bandwidth allocation is increased to 120 Mbps or decreased to 80 Mbps, respectively.
To configure the threshold for automatic bandwidth adjustment, include the adjust-threshold statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
Configuring a Limit on Bandwidth Overflow and Underflow Samples
The automatic bandwidth adjustment timer is a periodic timer which is triggered every adjust interval to determine whether any bandwidth adjustments are required on the LSP's active path. This interval is typically configured as a long period of time, usually hours. If, at the end of adjust interval, the change in bandwidth is above a certain adjust threshold, the LSP is resignaled with the new bandwidth.
During the automatic bandwidth adjustment interval, the router might receive a steady increase in traffic (increasing bandwidth utilization) on an LSP, potentially causing congestion or packet loss. To prevent this, you can define a second trigger to prematurely expire the automatic bandwidth adjustment timer before the end of the current adjustment interval.
Every statistics interval, the router samples the average bandwidth utilization of an LSP and if this has exceeded the current maximum average bandwidth utilization, the maximum average bandwidth utilization is updated.
During each sample period, the following conditions are also checked:
- Is the current average bandwidth utilization above the active bandwidth of the path?
- Has the difference between the average bandwidth utilization and the active bandwidth exceeded the adjust threshold (bandwidth utilization has changed significantly)?
If these conditions are true, it is considered to be one bandwidth overflow sample. Using the adjust-threshold-overflow-limit statement, you can define a limit on the number of bandwidth overflow samples such that when the limit is reached, the current automatic bandwidth adjustment timer is expired and a bandwidth adjustment is triggered. Once this adjustment is complete, the normal automatic bandwidth adjustment timer is reset to expire after the periodic adjustment interval.
To specify a limit on the number of bandwidth overflow samples before triggering an automatic bandwidth allocation adjustment, configure the adjust-threshold-overflow-limit statement:
Similarly, if the current average bandwidth utilization is below the active bandwidth of the path by the configured adjusted threshold (meaning that bandwidth utilization has gone down significantly), the sample is considered to be an underflow sample. The adjusted (new signaling) bandwidth after an adjustment due to underflow is the maximum average bandwidth among the underflow samples. You can specify a limit on the number of bandwidth underflow samples before triggering an automatic bandwidth allocation adjustment by configuring the adjust threshold-underflow-limit statement:
These statements can be configured at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
You must configure the adjust-threshold and minimum-bandwidth statements whenever you configure the adjust-threshold-underflow-limit statement. You must configure the adjust-threshold and maximum-bandwidth statements whenever you configure the adjust-threshold-overflow-limit statement
- You must configure a nonzero value for the adjust-threshold statement if you configure the adjust-threshold-overflow-limit or adjust-threshold-underflow-limit statement.
- Any bandwidth increase or decrease below the value configured for the adjust-threshold statement does not constitute an overflow or underflow condition.
- To prevent unlimited increases in LSP bandwidth (to limit overflow beyond a certain bandwidth), you must also configure the maximum-bandwidth statement when you configure the adjust-threshold-overflow-limit statement.
The following describes the other aspects of the adjust-threshold-overflow-limit statement:
- It only applies to bandwidth overflows. If the bandwidth is decreasing, the normal automatic bandwidth adjustment interval is used.
- It does not affect manually triggered automatic bandwidth adjustment.
- It applies to single-class DiffServ-TE LSPs.
- Because the adjust-threshold-overflow-limit statement can trigger a bandwidth adjustment, it cannot be enabled at the same time as the monitor-bandwidth statement (for information about that statement, see Configuring Passive Bandwidth Utilization Monitoring).
- You cannot configure automatic bandwidth adjustments to
occur more often than every 300 seconds. The adjust-threshold-overflow-limit statement is subject to the same minimum value with regard to the
minimum frequency of adjustment allowed. Overflow condition based
adjustments can occur no sooner than 300 seconds from the start
of the overflow condition. Therefore it is required that:
sample interval x adjust-threshold-overflow-limit >= 300s
These values are checked during the commit operation. An error is returned if the value is less than 300 seconds.
- If you change the value of the adjust-threshold-overflow-limit statement on a working router, you can expect the following behavior:
- If you increase the current value of the adjust-threshold-overflow-limit statement, the old value is replaced with the new one.
- If you decrease the current value of the adjust-threshold-overflow-limit statement and the current bandwidth overflow count is less than the new value, the old value is replaced with the new one.
- If you decrease the current value of the adjust-threshold-overflow-limit statement and the current bandwidth overflow count is greater than the new value, the adjustment timer is immediately expired and a bandwidth adjustment is initiated.
Configuring Passive Bandwidth Utilization Monitoring
Use the monitor-bandwidth statement to switch to a passive bandwidth utilization monitoring mode. In this mode, no automatic bandwidth adjustments are made, but the maximum average bandwidth utilization is continuously monitored and recorded.
To configure passive bandwidth utilization monitoring, include the monitor-bandwidth statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls label-switched-path lsp-name auto-bandwidth]
- [edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name auto-bandwidth]
If you have configured an LSP with primary and secondary paths, the automatic bandwidth allocation statistics are carried over to the secondary path if the primary path fails. For example, consider a primary path whose adjustment interval is half complete and whose maximum average bandwidth usage is currently calculated as 50 Mbps. If the primary path suddenly fails, the time remaining for the next adjustment and the maximum average bandwidth usage are carried over to the secondary path.
Requesting Automatic Bandwidth Allocation Adjustment
For MPLS LSP automatic bandwidth allocation adjustment, the minimum value for the adjustment interval is 5 minutes (300 seconds). You might find it necessary to trigger a bandwidth allocation adjustment manually, for example in the following circumstances:
- When you are testing automatic bandwidth allocation in a network lab.
- When the LSP is configured for automatic bandwidth allocation in monitor mode (the monitor-bandwidth statement is included in the configuration as described in Configuring Passive Bandwidth Utilization Monitoring), and want to initiate an immediate bandwidth adjustment.
To use the request mpls lsp adjust-autobandwidth command, the following must be true:
- Automatic bandwidth allocation must be enabled on the LSP.
- The criteria required to trigger a bandwidth adjustment have been met (the difference between the adjust bandwidth and the current LSP path bandwidth is greater than the threshold limit).
A manually triggered bandwidth adjustment operates only on the active LSP path. Also, if you have enabled periodic automatic bandwidth adjustment, the periodic automatic bandwidth adjustment parameters (the adjustment interval and the maximum average bandwidth) are not reset after a manual adjustment.
For example, suppose the periodic adjust interval is 10 hours and there are currently 5 hours remaining before an automatic bandwidth adjustment is triggered. If you initiate a manual adjustment with the request mpls lsp adjust-autobandwidth command, the adjust timer is not reset and still has 5 hours remaining.
To manually trigger a bandwidth allocation adjustment, you need to use the request mpls lsp adjust-autobandwidth command. You can trigger the command for all affected LSPs on the router, or you can specify a particular LSP:
user@host> request mpls lsp adjust-autobandwidth
Once you execute this command, the automatic bandwidth adjustment validation process is triggered. If all the criteria for adjustment are met, the LSP’s active path bandwidth is adjusted to the adjusted bandwidth value determined during the validation process.
Configuring Reporting of Automatic Bandwidth Allocation Statistics
To collect statistics related to automatic bandwidth, include the auto-bandwidth option for the statistics statement. You can also use the interval option to specify the interval for calculating the average bandwidth usage.
These settings apply to all LSPs configured on the router on which you have also configured the auto-bandwidth statement at the [edit protocols mpls label-switched-path label-switched-path-name] hierarchy level. You can also set the adjustment interval on specific LSPs.
![]() | Note: To prevent unnecessary resignaling of LSPs, it is best to configure an LSP adjustment interval that is at least three times longer than the MPLS automatic bandwidth statistics interval. For example, if you configure a value of 30 seconds for the MPLS automatic bandwidth statistics interval (interval statement at the [edit protocols mpls statistics] hierarchy level), you should configure a value of at least 90 seconds for the LSP adjustment interval (adjust-interval statement at the [edit protocols mpls label-switched-path label-switched-path-name auto-bandwidth] hierarchy level). See also Configuring the Automatic Bandwidth Allocation Interval. |
To configure the MPLS and automatic bandwidth allocation statistics, include the statistics statement:
You can include this statement at the following hierarchy levels:
- [edit protocols mpls]
- [edit logical-systems logical-system-name protocols mpls]