MPLS Traffic Engineering Configurable Path Calculation Metric for Tunnels

The MPLS Traffic Engineering--Configurable Path Calculation Metric for Tunnels feature enables the user to control the metric used in path calculation for traffic engineering (TE) tunnels on a per-tunnel basis. Certain tunnels are used to carry voice traffic, which requires low delay, and other tunnels are used to carry data. A TE link metric can be used to represent link delay and configure tunnels that carry voice traffic for path calculation and configure tunnels that carry data to use the Interior Gateway Protocol (IGP) metric for path calculation.

Prerequisites for MPLS Traffic Engineering - Configurable Path Calculation Metric for Tunnels

Before you configure tunnel path calculation metrics, your network must support the following Cisco IOS XE features:

  • Multiprotocol Label Switching (MPLS) traffic engineering tunnels

  • IP Cisco Express Forwarding

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

Restrictions for MPLS Traffic Engineering - Configurable Path Calculation Metric for Tunnels

  • Unless explicitly configured, the TE link metric for a given link is the IGP link metric. When the TE link metric is used to represent a link property that is different from cost/distance, you must configure every network link that can be used for TE tunnels with a TE link metric that represents that property by using the mpls traffic-eng administrative-weight command. Failure to do so might cause tunnels to use unexpected paths.

  • 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 Traffic Engineering - Configurable Path Calculation Metric for Tunnels

Overview

When MPLS TE is configured in a network, the IGP floods two metrics for every link: the normal IGP (OSPF or IS-IS) link metric and a TE link metric. The IGP uses the IGP link metric in the normal way to compute routes for destination networks.

You can specify that the path calculation for a given tunnel be based on either of the following:

  • IGP link metrics.

  • TE link metrics, which you can configure so that they represent the needs of a particular application. For example, the TE link metrics can be configured to represent link transmission delay.

Benefits

When TE tunnels are used to carry two types of traffic, the Configurable Path Calculation Metric for Tunnels feature allows you to tailor tunnel path selection to the requirements of each type of traffic.

For example, suppose certain tunnels are to carry voice traffic (which requires low delay) and other tunnels are to carry data. In this situation, you can use the TE link metric to represent link delay and do the following:

  • Configure tunnels that carry voice to use the TE link metric set to represent link delay for path calculation.

  • Configure tunnels that carry data to use the IGP metric for path calculation.

How to Configure MPLS Traffic Engineering - Configurable Path Calculation Metric for Tunnels

Configuring a Platform 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 global configuration mode and returns to privileged EXEC mode.

Configuring IS-IS for MPLS Traffic Engineering

To configure IS-IS for MPLS traffic engineering, perform the following steps.


Note


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.


SUMMARY STEPS

  1. Router(config)# router isis
  2. Router(config-router)# mpls traffic-eng level-1
  3. Router(config-router)# mpls traffic-eng level-2
  4. Router(config-router)# mpls traffic-eng router-id loopback 0
  5. Router(config-router)# metric-style wide

DETAILED STEPS

  Command or Action Purpose

Step 1

Router(config)# router isis

Enables IS-IS routing and specifies an IS-IS process for IP. The router is placed in configuration mode.

Step 2

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

Turns on MPLS traffic engineering for IS-IS level 1.

Step 3

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

Turns on MPLS traffic engineering for IS-IS level 2.

Step 4

Router(config-router)# mpls traffic-eng router-id loopback 0

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

Step 5

Router(config-router)# metric-style wide

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

Configuring OSPF for MPLS Traffic Engineering


Note


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.


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 process-id 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 traffic engineering 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 traffic engineering 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 Traffic Engineering Link Metrics

Unless explicitly configured, the TE link metric is the IGP link metric.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type slot / subslot / port [. subinterface-number ]
  4. mpls traffic-eng administrative-weight weight
  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 type slot / subslot / port [. subinterface-number ]

Example:


Router(config)# interface pos2/0/0

Configures an interface type and enters interface configuration mode.

  • The type argument is the type of interface to be configured.

  • The slot argument is the chassis slot number. Refer to the appropriate hardware manual for slot information. For SIPs, refer to the platform-specific SPA hardware installation guide or the corresponding “Identifying Slots and Subslots for SIPs and SPAs” topic in the platform-specific SPA software configuration guide.

  • The / subslot keyword and argument pair is the secondary slot number on a SIP where a SPA is installed. The slash (/) is required.

Refer to the platform-specific SPA hardware installation guide and the corresponding “Specifying the Interface Address on a SPA” topic in the platform-specific SPA software configuration guide for subslot information.

  • The / port keyword and argument pair is the port or interface number. The slash (/) is required.

Refer to the appropriate hardware manual for port information. For SPAs, refer to the corresponding “Specifying the Interface Address on a SPA” topics in the platform-specific SPA software configuration guide

  • The . subinterface-number keyword and argument pair is the subinterface number in the range 1 to 4294967293. The number that precedes the period (.) must match the number to which this subinterface belongs.

Step 4

mpls traffic-eng administrative-weight weight

Example:


Router(config-if)# mpls traffic-eng administrative-weight 20

Overrides the IGP administrative weight (cost) of the link.

  • The weight argument is the cost of the link.

Step 5

exit

Example:


Router(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Step 6

exit

Example:


Router(config)# exit

Exits global configuration mode and returns to privileged EXEC mode.

Configuring an MPLS Traffic Engineering Tunnel

This tunnel has two path setup options: a preferred explicit path and a backup dynamic path.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface tunnel number
  4. ip unnumbered type 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 number {dynamic | explicit {name path-name | identifier 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 Tunnel0

Configures an interface type and enters interface configuration mode.

  • The number argument is the number of the tunnel.

Step 4

ip unnumbered type number

Example:


Router(config-if)# ip unnumbered loopback0

Enables IP processing on an interface without assigning an explicit IP address to the interface.

  • The type and number arguments name the type and number of another interface on which the router has an assigned IP address. It cannot be another unnumbered interface.

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

Step 5

tunnel destination ip-address

Example:


Router(config-if)# tunnel destination 192.168.4.4 

Specifies the destination for a tunnel interface.

  • The ip-address argument must be the MPLS traffic engineering router ID of the destination device.

Step 6

tunnel mode mpls traffic-eng

Example:


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

Sets the tunnel encapsulation mode to MPLS traffic engineering.

Step 7

tunnel mpls traffic-eng bandwidth bandwidth

Example:


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

Configures the bandwidth for the MPLS traffic engineering tunnel.

  • The bandwidth argument is a number in kilobits per second that is set aside for the MPLS traffic engineering tunnel. Range is from 1 to 4294967295.

Note

 

If automatic bandwidth is configured for the tunnel, use the tunnel mpls traffic-eng bandwidth command to configure the initial tunnel bandwidth, which is adjusted by the autobandwidth mechanism.

Step 8

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

Example:


Router(config-if)# tunnel mpls traffic-eng path-option 10 explicit identifier 321

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

  • The number argument is the preference for this path option. When you configure multiple path options, lower numbered options are preferred. Valid values are from 1 to 1000.

  • The dynamic keyword indicates that the path of the label switched path (LSP) is dynamically calculated.

  • The explicit keyword indicates that the path of the LSP is an IP explicit path.

  • The name path-name keyword and argument are the path name of the IP explicit path that the tunnel uses with this option.

  • The identifier path-number keyword and argument pair names the path number of the IP explicit path that the tunnel uses with this option. The range is from 1 to 65535.

  • The lockdown keyword specifies that The LSP cannot be reoptimized.

Note

 

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

Step 9

exit

Example:


Router(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Step 10

exit

Example:


Router(config)# exit

Exits global configuration mode and returns to privileged EXEC mode.

Configuring the Metric Type for Tunnel Path Calculation

Unless explicitly configured, the TE link metric type is used for tunnel path calculation. Two commands are provided for controlling the metric type to be used: an interface configuration command that specifies the metric type to be used for a particular TE tunnel and a global configuration command that specifies the metric type to be used for TE tunnels for which a metric type has not been specified by the interface configuration command.


Note


If you do not enter either of the path selection metrics commands, the traffic engineering (TE) metric is used.


SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface tunnel number
  4. tunnel mpls traffic-eng path-selection metric {igp | te }
  5. exit
  6. mpls traffic-eng path-selection metric {igp | te }
  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 tunnel number

Example:


Router(config)# interface Tunnel0

Configures an interface type and enters interface configuration mode.

  • The number argument is the number of the tunnel.

Step 4

tunnel mpls traffic-eng path-selection metric {igp | te }

Example:


Router(config-if)# tunnel mpls traffic-eng path-selection metric igp 

Specifies the metric type to use for path calculation for a tunnel.

  • The igp keyword specifies the use of the Interior Gateway Protocol (IGP) metric.

  • The te keyword specifies the use of the traffic engineering (TE) metric. This is the default.

Step 5

exit

Example:


Router(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Step 6

mpls traffic-eng path-selection metric {igp | te }

Example:


Router(config)# mpls traffic-eng path-selection metric igp 

Specifies the metric type to use if a metric type was not explicitly configured for a given tunnel.

  • The igp keyword specifies the use of the Interior Gateway Protocol (IGP) metric.

  • The te keyword specifies the use of the traffic engineering (TE) metric. This is the default.

Step 7

exit

Example:


Router(config)# exit

Exits global configuration mode and returns to privileged EXEC mode.

Verifying the Tunnel Path Metric Configuration

SUMMARY STEPS

  1. enable
  2. show mpls traffic-eng topolog y
  3. show mpls traffic-eng tunnels
  4. exit

DETAILED STEPS


Step 1

enable

Use this command to enable privileged EXEC mode. Enter your password if prompted. For example:

Example:


Router> enable
Router#

Step 2

show mpls traffic-eng topolog y

Use the show mpls traffic-eng topology command, which displays TE and IGP metrics for each link, to verify that link metrics have been correctly configured for a network. For example:

Example:


Router# show mpls traffic-eng topology
My_System_id: 1440.0000.0044.00 (isis  level-1)
IGP Id: 0090.0000.0009.00, MPLS TE Id:192.168.9.9 Router Node  (isis  level-1)
      link[0 ]:Nbr IGP Id: 0090.0000.0009.03, gen:7
          frag_id 0, Intf Address:10.0.0.99
          TE metric:100, IGP metric:48, attribute_flags:0x0     !!Note TE and IGP metrics
          physical_bw: 10000 (kbps), max_reservable_bw_global: 0 (kbps)
          max_reservable_bw_sub: 0 (kbps)
.
.
.
      link[1 ]:Nbr IGP Id: 0055.0000.0055.00, gen:7
          frag_id 0, Intf Address:10.205.0.9, Nbr Intf Address:10.205.0.55
          TE metric:120, IGP metric:10, attribute_flags:0x0     !!Note TE and IGP metrics
          physical_bw: 155000 (kbps), max_reservable_bw_global: 500000 (kbps)
          max_reservable_bw_sub: 0 (kbps)
.
.
.

Step 3

show mpls traffic-eng tunnels

Use the show mpls traffic-eng tunnels command, which displays the link metric used for tunnel path calculation, to verify that the desired link metrics are being used for each tunnel. For example:

Example:


Router# show mpls traffic-eng tunnels
Name: te3640-17-c_t221              (Tunnel22) Destination: 192.168.100.22
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type dynamic (Basis for Setup, path weight 10)
  Config Parameters:
    Bandwidth: 400 kps (Global)    Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: IGP                                            !!Note metric type
    AutoRoute:  enabled   LockDown: disabled  Loadshare: 0   bw-based
    auto-bw: disabled(0/115) 0  Bandwidth Requested: 0
.
.
.
Name: te3640-17-c_t222              (Tunnel33) Destination: 192.168.100.22
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type dynamic (Basis for Setup, path weight 10)
  Config Parameters:
    Bandwidth: 200 kbps (Global)   Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE                                              !!Note metric type
    AutoRoute:  enabled   LockDown: disabled  Loadshare: 0   bw-based
    auto-bw: disabled(0/115) 0  Bandwidth Requested: 0
.
.
.

Step 4

exit

Use this command to return to user EXEC mode. For example:

Example:


Router# exit
Router>

Configuration Examples for Configuring a Path Calculation Metric for Tunnels

Example Configuring Link Type and Metrics for Tunnel Path Selection

The section illustrates how to configure the link metric type to be used for tunnel path selection, and how to configure the link metrics themselves. The configuration commands included focus on specifying the metric type for path calculation and assigning metrics to links. Additional commands are required to fully configure the example scenario: for example, the IGP commands for traffic engineering and the link interface commands for enabling traffic engineering and specifying available bandwidth.

The examples in this section support the simple network technology shown in the figure below.

Figure 1. Network Topology

In the figure above:

  • Tunnel1 and Tunnel2 run from R1 (headend) to R4 (tailend).

  • Tunnel3 runs from R1 to R5.

  • Path calculation for Tunnel1 and Tunnel3 should use a metric that represents link delay because these tunnels carry voice traffic.

  • Path calculation for Tunnel2 should use IGP metrics because MPLS TE carries data traffic with no delay requirement.

Configuration fragments follow for each of the routers that illustrate the configuration relating to link metrics and their use in tunnel path calculation. TE metrics that represent link delay must be configured for the network links on each of the routers, and the three tunnels must be configured on R1.

These configuration fragments force Tunnel1 to take path R1-R3-R4, Tunnel2 to take path R1-R2-R4, and Tunnel3 to take path R1-R3-R4-R5 (assuming the links have sufficient bandwidth to accommodate the tunnels).

R1 Configuration

The following example shows how to configure the tunnel headend (R1) for Tunnel1, Tunnel2, and Tunnel3 in the figure above:


interface pos0/1/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos0/2/0 
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface Tunnel1                               !Tunnel1 uses TE metric (default)
                                                !for path selection
ip unnumbered loopback0
tunnel destination 192.168.4.4 255.255.255.0
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng bandwidth 1000
tunnel mpls traffic-eng path-option 1 dynamic
interface Tunnel2                                !Tunnel2 uses IGP metric
                                                 !for path selection
ip unnumbered loopback0
tunnel destination 192.168.4.4 255.255.255.0
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng bandwidth 1000
tunnel mpls traffic-eng path-option 1 dynamic
tunnel mpls traffic-eng path-selection-metric igp !Use IGP cost for path selection.
interface Tunnel3                                 !Tunnel3 uses TE metric (default)
                                                  !for path selection
ip unnumbered loopback0
tunnel destination 192.168.5.5 255.255.255.0
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng bandwidth 1000
tunnel mpls traffic-eng path-option 1 dynamic

R2 Configuration

The following example shows how to configure R2 in the figure above:


interface pos0/3/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos1/3/1
mpls traffic-eng administrative-weight 40       !TE metric different from IGP metric

R3 Configuration

The following example shows how to configure R3 in the figure above:


interface pos2/0/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos0/3/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos0/1/1
mpls traffic-eng administrative-weight 5        !TE metric different from IGP metric

R4 Configuration

The following example shows how to configure R4 in the figure above:


interface pos2/0/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos2/1/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos2/2/0
mpls traffic-eng administrative-weight 5        !TE metric different from IGP metric

R5 Configuration

The following example shows how to configure R5 in the figure above:


interface pos1/0/0
mpls traffic-eng administrative-weight 15       !TE metric different from IGP metric
interface pos1/1/0
mpls traffic-eng administrative-weight 5        !TE metric different from IGP metric

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

Configuration tasks for IS-IS and OSPF

Cisco IOS XE IP Routing Protocols Configuration Guide

IS-IS and OSPF commands

Cisco IOS IP Routing Protocols Command Reference

Configuration tasks for MPLS and MPLS TE

Cisco IOS XE Multiprotocol Label Switching Configuration Guide

MPLS TE commands

Cisco IOS Multiprotocol Label Switching Command Reference

Configuration tasks for tunnels

  • Cisco IOS XE Interface and Hardware Component Configuration Guide

  • Cisco IOS XE Multiprotocol Label Switching Configuration Guide

Tunnel configuration commands

  • Cisco IOS Interface and Hardware Component Command Reference

  • Cisco IOS XE Multiprotocol Label Switching Command Reference

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

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

To locate and download MIBs for selected platforms, Cisco software 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 and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for MPLS Traffic Engineering - Configurable Path Calculation Metric for 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 Traffic Engineering - Configurable Path Calculation Metric for Tunnels

Feature Name

Releases

Feature Information

MPLS Traffic Engineering:Configurable Path Calculation Metric for Tunnels

12.0(18)ST

12.2(11)S

12.2(14)S

12.2(28)SB

12.4(20)T

Cisco IOS XE Release 2.3

The MPLS Traffic Engineering - Configurable Path Calculation Metric for Tunnels feature enables the user to control the metric used in path calculation for traffic engineering (TE) tunnels on a per-tunnel basis. Certain tunnels are used to carry voice traffic, which requires low delay, and other tunnels are used to carry data. A TE link metric can be used to represent link delay and configure tunnels that carry voice traffic for path calculation and configure tunnels that carry data to use the Interior Gateway Protocol (IGP) metric for path calculation.

The following commands were introduced or modified: mpls traffic-eng path-selection metric , tunnel mpls traffic-eng path-selection metric .