MPLS Traffic Engineering Automatic Bandwidth Adjustment for TE Tunnels

The MPLS Traffic Engineering (TE) Automatic Bandwidth Adjustment for TE Tunnels feature provides the means to automatically adjust the bandwidth allocation for traffic engineering tunnels based on their measured traffic load. The configured bandwidth in the running configuration is changed due to the automatic bandwidth behavior.

Prerequisites for MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

Your network must support the following:

  • Multiprotocol Label Switching (MPLS) traffic engineering (TE) tunnels

  • Cisco Express Forwarding

  • Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF)

MPLS TE must be configured on the interface and on the tunnels.

Restrictions for MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

  • The automatic bandwidth adjustment feature treats each tunnel for which it has been enabled independently. That is, it adjusts the bandwidth for each such tunnel according to the adjustment frequency configured for the tunnel and the sampled output rate for the tunnel since the last adjustment without regard for any adjustments previously made or pending for other tunnels.

  • If a tunnel is brought down to calculate a new label switched path (LSP) because the LSP is not operational, the configured bandwidth is not saved. If the router is reloaded, the last saved automatic bandwidth value is used.

  • You cannot configure MPLS TE over the logical generic routing encapsulation (GRE) tunnel interface.

  • MPLS traffic engineering supports only a single IGP process/instance. Multiple IGP processes/instances are not supported and MPLS traffic engineering should not be configured in more than one IGP process/instance.

Information About MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

MPLS TE Automatic Bandwidth Adjustment for TE Tunnels Overview

Traffic engineering autobandwidth samples the average output rate for each tunnel marked for automatic bandwidth adjustment. For each marked tunnel, the feature periodically (for example, once per day) adjusts the tunnel’s allocated bandwidth to be the largest sample for the tunnel since the last adjustment.

The frequency with which tunnel bandwidth is adjusted and the allowable range of adjustments is configurable on a per-tunnel basis. In addition, the sampling interval and the interval over which to average tunnel traffic to obtain the average output rate is user-configurable on a per-tunnel basis.

MPLS TE Automatic Bandwidth Adjustment for TE Tunnels Benefits

The automatic bandwidth feature allows you to configure and monitor the bandwidth for MPLS TE tunnels. If automatic bandwidth is configured for a tunnel, TE automatically adjusts the tunnel’s bandwidth.

How to Configure MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

Configuring a Device to Support Traffic Engineering Tunnels

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ip cef distributed
  4. mpls traffic-eng tunnels
  5. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

ip cef distributed

Example:


Router(config)# ip cef distributed

Enables distributed Cisco Express Forwarding operation.

Step 4

mpls traffic-eng tunnels

Example:


Router(config)# mpls traffic-eng tunnels

Enables the MPLS traffic engineering tunnel feature on a device.

Step 5

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Configuring IS-IS or OSPF for MPLS Traffic Engineering

Perform one of the follow tasks to configure IS-IS or OSPF for MPLS TE:

Configuring IS-IS for MPLS Traffic Engineering

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router isis
  4. mpls traffic-eng level-1
  5. mpls traffic-eng router-id loopback0
  6. metric-style wide
  7. exit
  8. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

router isis

Example:

Router(config)# router isis

Enables IS-IS routing and specifies an IS-IS process for IP, and enters router configuration mode.

Step 4

mpls traffic-eng level-1

Example:

Router(config-router)# mpls traffic-eng level-1

Turns on MPLS TE for IS-IS level 1.

Step 5

mpls traffic-eng router-id loopback0

Example:

Router(config-router)# mpls traffic-eng router-id loopback0

Specifies that the TE router identifier for the node is the IP address associated with interface loopback0.

Step 6

metric-style wide

Example:

Router(config-router)# metric-style wide

Configures a router to generate and accept only new-style type, length, value objects (TLVs).

Step 7

exit

Example:

Router(config-router)# exit

Exits to global configuration mode.

Step 8

exit

Example:

Router(config)# exit

Exits to privileged EXEC mode.

Configuring OSPF for MPLS Traffic Engineering

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router ospf process-id
  4. mpls traffic-eng area number
  5. mpls traffic-eng router-id loopback0
  6. exit
  7. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

router ospf process-id

Example:

Router(config)# router ospf 200

Configures an OSPF routing process for IP and enters router configuration mode.

  • The value for the process-id argument is an internally used identification parameter for an OSPF routing process. It is locally assigned and can be any positive integer. Assign a unique value for each OSPF routing process.

Step 4

mpls traffic-eng area number

Example:

Router(config-router)# mpls traffic-eng area 0

Turns on MPLS TE for the indicated OSPF area.

Step 5

mpls traffic-eng router-id loopback0

Example:

Router(config-router)# mpls traffic-eng router-id loopback0

Specifies that the TE router identifier for the node is the IP address associated with interface loopback0.

Step 6

exit

Example:

Router(config-router)# exit

Exits to global configuration mode.

Step 7

exit

Example:

Router(config)# exit

Exits to privileged EXEC mode.

Configuring Bandwidth on Each Link That a Tunnel Crosses

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. mpls traffic-eng tunnels
  5. ip rsvp bandwidth [interface-kbps ] [single-flow-kbps ] [sub-pool kbps ]
  6. exit
  7. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:


Router(config)# interface FastEthernet 0/0/0

Configures an interface type and enters interface configuration mode.

Step 4

mpls traffic-eng tunnels

Example:


Router(config-if)# mpls traffic-eng tunnels

Enables MPLS TE tunnels on an interface.

Step 5

ip rsvp bandwidth [interface-kbps ] [single-flow-kbps ] [sub-pool kbps ]

Example:


Router(config-if)# ip rsvp bandwidth 1000 100 

Enables Resource Reservation Protocol (RSVP) for IP on an interface.

  • The interface-kbps argument specifies the maximum amount of bandwidth (in kbps) that may be allocated by RSVP flows. The range is from 1 to 10000000.

  • The single-flow-kbps argument is the maximum amount of bandwidth, in kbps, that may be allocated to a single flow. The range is from 1 to 10000000.

Step 6

exit

Example:


Router(config-if)# exit

Exits to global configuration mode.

Step 7

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Configuring an MPLS Traffic Engineering Tunnel

To configure an MPLS TE tunnel, perform the following task. The MPLS TE tunnel has two path setup options: a preferred explicit path and a backup dynamic path.


Note


The configuration applies only to the TE head-end node. The configuration applies to all nodes and interfaces in the network.


SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface tunnel number
  4. ip unnumbered interface-type interface-number
  5. tunnel destination ip-address
  6. tunnel mode mpls traffic-eng
  7. tunnel mpls traffic-eng bandwidth bandwidth
  8. tunnel mpls traffic-eng path-option [protect ] preference-number {dynamic | explicit | {name path-name | path-number }} [lockdown ]
  9. exit
  10. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

interface tunnel number

Example:


Router(config)#  interface tunnel 1

Configures a tunnel interface and enters interface configuration mode.

Step 4

ip unnumbered interface-type interface-number

Example:


Router(config-if)# ip unnumbered loopback 0

Gives the tunnel interface an IP address that is the same as that of interface Loopback0.

  • An MPLS TE tunnel interface should be unnumbered because it represents a unidirectional link.

Note

 

This command is not effective until Lookback0 has been configured with an IP address.

Step 5

tunnel destination ip-address

Example:


Router(config-if)# tunnel destination 10.3.3.3

Specifies the destination for a tunnel.

  • The destination must be the MPLS TE router ID of the destination device.

Step 6

tunnel mode mpls traffic-eng

Example:


Router(config-if)# tunnel mode mpls traffic-eng 

Sets the encapsulation mode of the tunnel to MPLS TE.

Step 7

tunnel mpls traffic-eng bandwidth bandwidth

Example:


Router(config-if)# tunnel mpls traffic-eng bandwidth 250

Configures the bandwidth for the MPLS TE tunnel.

  • The bandwidth argument is the bandwidth, in kilobits per second, set for the MPLS TE tunnel. The range is from 1 to 4294967295. The default is 0.

  • If automatic bandwidth is configured for the tunnel, the tunnel mpls traffic-eng bandwidth command configures the initial tunnel bandwidth, which will be adjusted by the autobandwidth mechanism.

Note

 

If you configure a tunnel’s bandwidth with the tunnel mpls traffic-eng bandwidth command and the minimum amount of automatic bandwidth with the tunnel mpls traffic-eng auto-bw command, the minimum amount of automatic bandwidth adjustment is the lower of those two configured values.

Step 8

tunnel mpls traffic-eng path-option [protect ] preference-number {dynamic | explicit | {name path-name | path-number }} [lockdown ]

Example:


Router(config-if)# tunnel mpls traffic-eng path-option 10 explicit avoid-protected-link

Configures the tunnel to use a named IP explicit path or a path dynamically calculated from the TE topology database.

  • A dynamic path is used if an explicit path is currently unavailable.

Step 9

exit

Example:


Router(config-if)# exit

Exits to global configuration mode.

Step 10

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Troubleshooting Tips

Each tunnel mpls traffic-eng auto-bw command supersedes the previous one. Therefore, if you want to specify multiple options for a tunnel, you must specify them all in a single tunnel mpls traffic-eng auto-bw command.

Enabling Automatic Bandwidth Adjustment on a Platform

To enable automatic bandwidth adjustment on a platform and initiate sampling the output rate for tunnels configured for bandwidth adjustment, perform the following task.


Note


This task is applicable only to the TE head-end router. The configuration applies to all locally-configured TE head-end interfaces.


SUMMARY STEPS

  1. enable
  2. configure terminal
  3. mpls traffic-eng auto-bw timers [frequency seconds ]
  4. no mpls traffic-eng auto-bw timers
  5. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

mpls traffic-eng auto-bw timers [frequency seconds ]

Example:


Router(config)# mpls traffic-eng auto-bw timers frequency 300

Enables automatic bandwidth adjustment on a platform and begins sampling the output rate for tunnels that have been configured for automatic bandwidth adjustment.

  • The frequency keyword specifies the interval, in seconds, for sampling the output rate of each tunnel configured for automatic bandwidth. The range is 1 through 604800. The recommended value is 300.

Step 4

no mpls traffic-eng auto-bw timers

Example:


Router(config)# no mpls traffic-eng auto-bw timers

(Optional) Disables automatic bandwidth adjustment on a platform.

  • Use the no version of the command, which terminates output rate sampling and bandwidth adjustment for tunnels. In addition, the no form of the command restores the configured bandwidth for each tunnel where the configured bandwidth is determined as follows:
    • If the tunnel bandwidth was explicitly configured via the tunnel mpls traffic-eng bandwidth command after the running configuration was written to the startup configuration, the configured bandwidth is the bandwidth specified by that command.
    • Otherwise, the configured bandwidth is the bandwidth specified for the tunnel in the startup configuration.

Step 5

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Enabling Automatic Bandwidth Adjustment for a Tunnel

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface tunnel number
  4. tunnel mpls traffic-eng auto-bw [collect-bw] [frequency seconds ] [adjustment-threshold percent ] [overflow-limit number overflow-threshold percent ] [max-bw kbps ] [min-bw kbps ]
  5. exit
  6. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

interface tunnel number

Example:


Router(config)#  interface tunnel 1

Configures a tunnel interface and enters interface configuration mode.

Step 4

tunnel mpls traffic-eng auto-bw [collect-bw] [frequency seconds ] [adjustment-threshold percent ] [overflow-limit number overflow-threshold percent ] [max-bw kbps ] [min-bw kbps ]

Example:


Router(config-if)# tunnel mpls traffic-eng auto-bw max-bw 2000 min-bw 1000

Enables automatic bandwidth adjustment for the tunnel and controls the manner in which the bandwidth for a tunnel is adjusted.

Step 5

exit

Example:


Router(config-if)# exit

Exits to global configuration mode.

Step 6

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Configuring the Interval for Computing the Tunnel Average Output Rate

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface tunnel number
  4. load-interval seconds
  5. exit
  6. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

interface tunnel number

Example:


Router(config)#  interface tunnel 1

Configures a tunnel interface and enters interface configuration mode.

Step 4

load-interval seconds

Example:


Router(config-if)# load-interval 90

Configures the interval over which the input and output rates for the interface are averaged.

  • The seconds argument is the length of time for which data is used to compute load statistics. The value is a multiple of 30, from 30 to 600 (30, 60, 90, 120, and so on). The default is 300.

Step 5

exit

Example:


Router(config-if)# exit

Exits to global configuration mode.

Step 6

exit

Example:


Router(config)# exit

Exits to privileged EXEC mode.

Verifying Automatic Bandwidth Configuration

SUMMARY STEPS

  1. show mpls traffic-eng tunnels
  2. show running-config

DETAILED STEPS


Step 1

show mpls traffic-eng tunnels

Use this command to display information about tunnels, including automatic bandwidth information for tunnels that have the feature enabled. For example:

Example:


Router# show mpls traffic-eng tunnels
Name:tagsw4500-9_t1 (Tunnel1) Destination:10.0.0.4
Status:
Admin:up Oper:up Path:valid Signalling:connected
path option 1, type explicit pbr_south (Basis for Setup, path weight 30)
path option 2, type dynamic
Config Parameters:
Bandwidth:13 kbps (Global) Priority:7 7 Affinity:0x0/0xFFFF
AutoRoute: disabled LockDown:disabled Loadshare:13 bw-based
auto-bw:(300/265) 53 Bandwidth Requested: 13
   Adjustment threshold: 5%
   Overflow Limit: 4  Overflow Threshold: 25%  
  Overflow Threshold Crossed: 1
  Sample Missed: 1 Samples Collected: 1
Active Path Option Parameters:
  State: dynamic path option 1 is active
  BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
 InLabel  :  -
 OutLabel : Serial3/0, 18
 RSVP Signalling Info:
   Src 10.0.0.1, Dst 10.0.0.4, Tun_Id 2, Tun_Instance 2
  RSVP Path Info:
   My Address: 10.105.0.1
   Explicit Route: 10.105.0.2 104.105.0.1 10.0.0.4
   Record   Route:   NONE
   Tspec: ave rate=13 kbits, burst=1000 bytes, peak rate=13 kbits
 Record   Route:   NONE
   Tspec: ave rate=13 kbits, burst=1000 bytes, peak rate=13 kbits
  RSVP Resv Info:
   Record   Route:   NONE
   Fspec: ave rate=13 kbits, burst=1000 bytes, peak rate=13 kbits
  Shortest Unconstrained Path Info:
   Path Weight: 128 (TE)
   Explicit Route: 10.105.0.2 104.105.0.1 10.0.0.4
  History:
   Tunnel:
    Time since created: 7 minutes, 56 seconds
     Time since path change: 7 minutes, 18 seconds
     Number of LSP IDs (Tun_Instances) used: 2
     Number of Auto-bw Adjustment resize requests: 1
     Time since last Auto-bw Adjustment resize request: 1 minutes, 7 seconds
     Number of Auto-bw Overflow resize requests: 1
     Time since last Auto-bw Overflow resize request: 52 seconds
     Current LSP:
      Uptime: 52 seconds
      Selection: reoptimization
    Prior LSP:
ID: path option 1 [1]
  Removal Trigger: configuration changed

In the command output:

  • The auto-bw line indicates that automatic bandwidth adjustment is enabled for the tunnel.

  • 300 is the time, in seconds, between bandwidth adjustments.

  • 265 is the time, in seconds, remaining until the next bandwidth adjustment.

  • 53 is the largest bandwidth sample since the last bandwidth adjustment.

  • 13 is the last bandwidth adjustment and the bandwidth currently requested for the tunnel.

  • The adjustment threshold is 5 percent.

  • The overflow limit is 4.

  • The overflow threshold is 25 percent.

  • The overflow crossed is 1.

Example:


Step 2

show running-config

Use this command to verify that the tunnel mpls traffic-eng auto bw command is as you expected. For example:

Example:


Router# show running-config
.
.
.
interface tunnel1
  ip unnumbered loopback 0
  tunnel destination 192.168.17.17 255.255.255.0
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng bandwidth 1500
  tunnel mpls traffic-eng priority 1 1
  tunnel mpls traffic-eng path-option 1 dynamic

tunnel mpls traffic-eng auto bw max-bw 2000 min-bw 1000 !Enable automatic bandwidth

Example:


.
.
.

The sample output from the show running-config command shows that the value 1500, in the tunnel mpls traffic-eng bandwidth 1500 command, changes after an adjustment is made.

Example:



Configuration Examples for MPLS TE Automatic Bandwidth Adjustments for TE Tunnels

The figure below illustrates a sample MPLS topology. The following sections contain sample configuration examples to configure automatic bandwidth adjustment for MPLS TE tunnels originating on Router 1 and to enable automatic bandwidth adjustment for Tunnel 1.

Figure 1. Sample MPLS Traffic Engineering Tunnel Configuration

The examples omit some configuration required for MPLS TE, such as the required RSVP and Interior Gateway Protocol (IGP) (IS-IS or OSPF) configuration, because the purpose of these examples is to illustrate the configuration for automatic bandwidth adjustment.

Example: Configuring MPLS Traffic Engineering Automatic Bandwidth

The following example shows how to use the mpls traffic-eng auto-bw timers command to enable automatic bandwidth adjustment for Router 1. The command specifies that the output rate is to be sampled every 10 minutes for tunnels configured for automatic bandwidth adjustment.


configure terminal
!
ip cef distributed
mpls traffic-eng tunnels
mpls traffic-eng auto-bw timers frequency 600  !Enable automatic bandwidth adjustment
interface loopback 0
ip address 192.168.11.11 255.255.255.0

Example: Tunnel Configuration for Automatic Bandwidth

The following example shows how to use the tunnel mpls traffic-eng auto-bw command to enable automatic bandwidth adjustment for Tunnel 1. The command specifies a maximum allowable bandwidth of 2000 kbps, a minimum allowable bandwidth of 1000 kbps, and that the default automatic bandwidth adjustment frequency of once a day be used.


interface tunnel1
  ip unnumbered loopback 0
  tunnel destination 192.168.17.17 
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng bandwidth 1500
  tunnel mpls traffic-eng priority 1 1
  tunnel mpls traffic-eng path-option 1 dynamic
  tunnel mpls traffic-eng auto-bw max-bw 2000 min-bw 1000   !Enable automatic bandwidth
                                                            !adjustment for Tunnel1

Additional References

Related Documents

Related Topic

Document Title

IS-IS and OSPF commands

Cisco IOS IP Routing Protocols Command Reference

MPLS commands

Cisco IOS Multiprotocol Label Switching Command Reference

Quality of service solutions commands

Cisco IOS Quality of Service Solutions Command Reference

Quality of service solutions configuration

Quality of Service Overview

Standards

Standard

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIB

MIBs Link

MPLS Traffic Engineering MIB

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified.

--

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport

Feature Information for MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for MPLS TE Automatic Bandwidth Adjustment for TE Tunnels

Feature Name

Releases

Feature Information

MPLS Traffic Engineering Automatic Bandwidth Adjustment for TE Tunnels

12.2(33)SRE

The MPLS Traffic Engineering Automatic Bandwidth Adjustment for TE Tunnels feature provides the means to automatically adjust the bandwidth allocation for traffic engineering tunnels based on their measured traffic load. The configured bandwidth in the running configuration is changed due to the automatic bandwidth behavior.

In Cisco IOS Release 12.2(33)SRE, this feature was introduced.

The following commands were introduced or modified to support automatic bandwidth adjustment threshold and overflow threshold: mpls traffic-eng lsp attributes , show mpls traffic-eng tunnels , tunnel mpls traffic-eng auto-bw .