Configuring Basic MPLS TE

This chapter describes how to configure Multiprotocol Label Switching (MPLS) traffic engineering (TE) on Cisco NX-OS devices.

This chapter includes the following sections:

Finding Feature Information

Your software release might not support all the features documented in this module. For the latest caveats and feature information, see the Bug Search Tool at https://tools.cisco.com/bugsearch/ and the release notes for your software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the “New and Changed Information” chapter or the Feature History table below.

Information About MPLS TE

MPLS enabled for traffic engineering makes traditional Layer 2 features available to Layer 3.

This section includes the following topics:

MPLS TE Operation

MPLS TE learns the topology and resources available in a network and then maps traffic flows to particular paths based on resource requirements and network resources such as bandwidth. MPLS TE builds a unidirectional tunnel from a source to a destination in the form of a label switched path (LSP), which is then used to forward traffic. The point where the tunnel begins is called the tunnel headend or tunnel source, and the node where the tunnel ends is called the tunnel tailend or tunnel destination.

MPLS uses extensions to a link-state based Interior Gateway Protocol (IGP), such as Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF). MPLS calculates TE tunnels at the LSP head based on required and available resources (constraint-based routing). If configured, the IGP automatically routes the traffic onto these LSPs. Typically, a packet that crosses the MPLS TE backbone travels on a single LSP that connects the ingress point to the egress point. MPLS TE automatically establishes and maintains the LSPs across the MPLS network by using the Resource Reservation Protocol (RSVP).

MPLS TE is built on the following Cisco NX-OS mechanisms:

  • TE tunnel interfaces—From a Layer 2 standpoint, an MPLS TE tunnel interface represents the head of an LSP. It is configured with a set of resource requirements, such as bandwidth, media requirements, and priority. From a Layer 3 standpoint, a TE tunnel interface is the headend of a unidirectional virtual link to the tunnel destination.
  • MPLS TE path calculation—This calculation, which operates at the LSP head, determines a path to use for an LSP. The path calculation uses a link-state database that contains flooded topology and resource information.
  • Resource Reservation Protocol (RSVP) with TE extensions—RSVP, which operates at each LSP hop, is used to signal and maintain LSPs based on the calculated path.
  • MPLS TE link management— Link management, which operates at each LSP hop, performs link call admission on the RSVP signaling messages and tracking of topology and resource information to be flooded.
  • Link-state IGP (IS-IS or OSPF)—These IGPs (with TE extensions) globally flood topology and resource information based on link management.
  • Enhancements to the SPF calculation used by the link-state IGP (IS-IS or OSPF)—If configured, the IGP automatically routes traffic onto the appropriate TE tunnel based on the tunnel destination. You can also use static routes to direct traffic onto TE tunnels.
  • Label switching forwarding—This forwarding mechanism provides routers with a Layer 2-like ability to direct traffic across multiple hops of the LSP established by RSVP signaling.

MPLS TE and HA

MPLS TE supports these Cisco NX-OS high availability (HA) features:

  • Nonstop Forwarding (NSF)
  • Stateful HA

MPLS TE supports these Cisco NX-OS HA technologies to allow NSF and Stateful HA:

  • Stateful Process Restart
  • Stateful Switch Over (SSO)
  • In-Service Software Upgrade (ISSU)

Licensing Requirements for MPLS TE

 

Product
License Requirement

Cisco NX-OS

MPLS TE feature requires an MPLS license. For a complete explanation of the Cisco NX-OS licensing scheme and how to obtain and apply licenses, see the Cisco NX-OS Licensing Guide.

Prerequisites for MPLS TE

MPLS TE has the following prerequisites:

  • Your network must support Multiprotocol Label Switching (MPLS)
  • Your network must support at least one of the following Interior Gateway (IGP) protocols:

Intermediate System-to-Intermediate System (IS-IS)

Open Shortest Path First (OSPF)

  • Ensure that the MPLS feature set is installed.
  • Ensure that the MPLS feature set is enabled.

Guidelines and Limitations for MPLS TE

MPLS TE has the following configuration guidelines and limitations:

  • MPLS TE supports only a single IGP process or instance. You should not configure MPLS TE in more than one IGP process or instance.
  • The IGP process or instance that you configure for MPLS TE must be one of the first four OSPFv2 or IS-IS processes or instances created. Cisco NX-OS Release 6.1 introduces support for more than four process instances for OSPFv2 per VDC. However, only the first four configured OSPFv2 instances are supported with MPLS TE.
  • You cannot configure MPLS TE over the logical generic routing encapsulation (GRE) tunnel interface.
  • MPLS TE is supported in no more than four VDCs.

Default Settings for MPLS TE

Table 11-1 lists the default settings for basic MPLS TE.

 

Table 11-1 Default Settings for MPLS TE

Parameters
Default

MPLS TE feature

Disabled

Configuring MPLS TE

This section includes the following topics:

Enabling MPLS TE

You can enable the MPLS TE feature on the device.

Prerequisites

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. feature mpls traffic-engineering

3. (Optional) show running-config

4. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

feature mpls traffic-engineering

 

Example:

switch(config)# feature mpls traffic-engineering

Enables the MPLS TE feature.

Step 3

show running-config

 

Example:

switch(config)# show running-config

(Optional) Displays information about the running configuration.

Step 4

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Configuring IS-IS for MPLS TE

You can configure IS-IS for MPLS TE.


Note MPLS TE supports a single IGP process or instance. You should not configure MPLS TE in more than one IGP process or instance.


Prerequisites

You must have the MPLS TE feature enabled (see the “Configuring MPLS TE”).

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS


Note You can configure a router running IS-IS so that Protocol-Independent Multicast (PIM) and MPLS TE can work together with the mpls traffic-eng multicast-intact command. You can disable the interoperability between PIM and MPLS TE with the no mpls traffic-eng multicast-intact command.


1. configure terminal

2. feature isis

3. router isis instance-tag

4. mpls traffic-eng { level-1 | level-1-2 | level-2 }

5. mpls traffic-eng router-id interface

6. (Optional) show running-config isis

7. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

feature isis

 

Example:

switch(config)# feature isis

Enables the IS-IS feature.

Step 3

router isis instance -tag

 

Example:

switch(config)# router isis

switch(config-router)#

Configures an IS-IS instance and enters router configuration mode. The instance-tag can be any case-sensitive, alphanumeric string up to 20 characters.

Step 4

mpls traffic-eng { level-1 | level-1-2 | level-2 }

 

Example:

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

Configures MPLS TE for IS-IS. You can enable MPLS for level 1, level 2, or level 1 and level 2 routers.

Step 5

mpls traffic-eng router-id interface

 

Example:

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

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

Step 6

show running-config isis

 

Example:

switch(config-router)# show running-config isis

(Optional) Displays information about the IS-IS configuration.

Step 7

copy running-config startup-config

 

Example:

switch(config-router)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Configuring OSPF for MPLS TE

You can configure OSPF for MPLS TE.


Note MPLS TE supports a single IGP process or instance. You should not configure MPLS TE in more than one IGP process or instance.


Prerequisites

You must have the MPLS TE feature enabled (see the “Configuring MPLS TE”).

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS


Note You can configure a router running OSPF so that Protocol-Independent Multicast (PIM) and MPLS TE can work together with the mpls traffic-eng multicast-intact command. You can disable the interoperability between PIM and MPLS TE with the no mpls traffic-eng multicast-intact command.


1. configure terminal

2. feature ospf

3. router ospf instance-tag

4. mpls traffic-eng area area-id

5. mpls traffic-eng router-id interface

6. (Optional) show running-config ospf

7. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

feature ospf

 

Example:

switch(config)# feature ospf

Enables the IS-IS feature.

Step 3

router ospf instance-tag

 

Example:

switch(config)# router ospf 200

switch(config-router)#

Configures an OSPF routing instance and enters router configuration mode. The instance-tag can be any case-sensitive, alphanumeric string up to 20 characters.

Step 4

mpls traffic-eng area area-id

 

Example:

switch(config-router)# mpls traffic-eng area 1

Turns on MPLS TE for the indicated OSPF area. The area-id argument can be an IP address or a positive integer.

Step 5

mpls traffic-eng router-id interface

 

Example:

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

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

Step 6

show running-config ospf

 

Example:

switch(config-router)# show running-config ospf

(Optional) Displays information about the OSPF configuration.

Step 7

copy running-config startup-config

 

Example:

switch(config-router)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Configuring MPLS TE on an Interface

You can configure MPLS TE on a TE tunnel egress interface.

Prerequisites

You must have the MPLS TE feature enabled (see the “Configuring MPLS TE”).

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. interface type slot / port

3. mpls traffic-eng tunnels

4. mpls traffic-eng bandwidth [ interface-kbps | percent percentage ]

5. no shut

6. (Optional) show interface type slot / port

7. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

interface type slot / port

 

Example:

switch(config)# interface ethernet 2/1

switch(config-if)#

Configures an interface type and enters interface configuration mode. Use ? to see a list of supported interfaces.

Step 3

mpls traffic-eng tunnels

 

Example:

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

Enables MPLS TE tunnels on an interface.

Step 4

mpls traffic-eng bandwidth [ interface-kbps | percent percentage ]

 

Example:

switch(config-if)# mpls traffic-eng bandwidth 1000

Allocates the MPLS TE bandwidth pool for the interface. The interface-kbps argument specifies the maximum amount of bandwidth (in kbps) that may be allocated by TE flows. The range is from 1 to 10000000. The percentage argument specifies the maximum percentage of the link bandwidth that may be allocated by TE flows. The range is from 1 to 100.

Step 5

no shut

 

Example:

switch(config-if)# no shut

Activates the interface.

Step 6

show interface type slot / port

 

Example:

switch(config-if)# show interface ethernet 2/1

(Optional) Displays information about an interface. Use ? to see a list of supported interfaces.

Step 7

copy running-config startup-config

 

Example:

switch(config-if)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Configuring an MPLS TE Tunnel

You can configure an MPLS TE tunnel with a preferred explicit path or a backup dynamic path option.


Note This configuration applies only to the TE headend node.


Prerequisites

You must have the MPLS TE feature enabled (see the “Configuring MPLS TE”).

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. interface tunnel-te number

3. ip unnumbered type slot / port

4. destination { ip-address }

5. (Optional) bandwidth bandwidth

6. path-option [ protect ] preference-number { dynamic | explicit { identifier id | name name} [ verbatim ]} [ lockdown ] [ bandwidth kbps] [ attributes listname]

7. (Optional) autoroute announce

8. (Optional) priority

9. no shutdown

10. (Optional) show running-config interface int

11. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

interface tunnel-te number

 

Example:

switch(config)# interface tunnel-te 1

switch(config-if-te)#

Enters TE interface configuration mode. The number argument range is from 0 to 65503.

Step 3

ip unnumbered type slot / port

 

Example:

switch(config-if-te)# ip unnumbered loopback 0

Gives the tunnel interface an IP address that is the same as that of the configured interface. An MPLS TE tunnel interface should use a stable address such as one obtained from a loopback interface. Use ? to see a list of supported interfaces.

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

Step 4

destination { ip-address }

 

Example:

switch(config-if-te)# destination 10.3.3.3

Specifies the destination for a tunnel. The destination must be the MPLS TE router ID of the destination device or the hostname. The ip-address is in dotted-decimal notation.

Step 5

bandwidth bandwidth

 

Example:

switch(config-if-te)# bandwidth 250

(Optional) 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.

Step 6

path-option [protect] preference-number {dynamic | explicit { identifier id | name name } [ verbatim ]} [lockdown] [ bandwidth kbps ] [ attributes listname ]

 

Example:

switch(config-if-te)# path-option 10 explicit name Link5

Configures the tunnel to use a named IP explicit path or a path dynamically calculated from the TE topology database. The preference-number range is from 1 to 1000. The id range is from 1 to 65535 (with lower numbers preferred). The name is any case-sensitive, alphanumeric string. The kbps range is from 1 to 4294967295. The listname is any case-sensitive, alphanumeric string up to 63 characters.

Note You can configure multiple path options. TE signals the lowest numbered path option that is valid and meets the constraints. For example, you can specify an explicit path option, and then a less preferred dynamic path option. If the explicit path is not available, then the less preferred dynamic path option is tried.

Step 7

autoroute announce

 

Example:

switch(config-if-te)# autoroute announce

(Optional) Specifies that the IGP should use the tunnel (if the tunnel is up) in its enhanced shortest path first (SPF) calculation.

Step 8

priority

 

Example:

switch(config-if-te)# priority

(Optional) Assigns a priority to traffic.

Step 9

no shutdown

 

Example:

switch(config-if-te)# no shutdown

Activates the interface.

Step 10

show running-config interface int

 

Example

switch(config-if-te)# show running-config interface tunnel-ts 1

(Optional) Displays information about the interface configuration.

Step 11

copy running-config startup-config

 

Example:

switch(config-if-te)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Configuring an Explicit Path

You can configure an explicit LSP path on the headend router.

Prerequisites

You must have the MPLS TE feature enabled (see “Configuring MPLS TE”).

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. mpls traffic-eng configuration

3. explicit-path { identifier id | name name }

4. [ index number ] { next-address [ loose | strict ] | exclude-address } address

5. Repeat step 4 for each router in the path.

6. (Optional) shutdown

7. (Optional) show running-config mpls

8. (Optional) copy running-config startup-config

DETAILED STEPS

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

mpls traffic-eng configuration

 

Example:

switch(config)# mpls traffic-eng configuration

switch(config-te)#

Enters MPLS TE configuration mode.

Step 3

explicit-path { identifier id | name name }

 

Example:

switch(config-te)# explicit-path name Link5

Enters explicit path configuration mode and creates or modifies the specified path. The id range is from 1 to 65535. The name is any case-sensitive, alphanumeric string.

Step 4

[ index number ] { next-address [ loose | strict ] | exclude-address } address

 

Example:

switch(config-te-expl-path)# index 10 next-address 10.3.3.3

Inserts or modifies a path entry at a specific index. The number range is from 1 to 65535. The address represents the node ID and is an IP address in dotted-decimal notation.

If you omit the index number option, multiple command statements are applied in the order in which they are entered.

  • Loose specifies that the previous address (if any) in the explicit path does not need to be directly connected to the next IP address, and that the router is free to determine the path from the previous address (if any) to the next IP address.
  • Strict specifies that the previous address (if any) in the explicit path must be directly connected to the next IP address.
  • Exclude-address excludes an address from subsequent partial path segments. You can enter the IP address of a link or the router ID of a node.

Step 5

Repeat step 4 for each router in the path.

Step 6

shutdown

 

Example:

switch(config-te-expl-path)# shutdown

(Optional) Disables the explicit path without deleting the configuration.

Step 7

show running-config mpls

 

Example:

switch(config-te-expl-path)# show running-config mpls

(Optional) Displays information about the MPLS configuration.

Step 8

copy running-config startup-config

 

Example:

switch(config-te-expl-path)# copy running-config startup-config

(Optional) Copies the running configuration to the startup configuration.

Verifying the MPLS TE Configuration

To display the MPLS TE configuration, perform one of the following tasks:

 

Command
Purpose

show mpls traffic-eng

Displays information about MPLS TE.

show mpls traffic-eng tunnels

Displays information about configured MPLS TE tunnels at the head and signaled TE LSPs at other hops.

show run mpls traffic-eng

Displays information about the running configuration of the MPLS TE feature.

show mpls traffic-eng link-management summary

Displays summary information about the MPLS TE link management.

show mpls traffic-eng explicit-paths

Displays information about the MPLS TE explicit paths.

show mpls traffic-eng tunnels brief

Displays brief information about MPLS TE tunnels.

show ip route

Displays the MPLS TE ip route.

For detailed information about the fields in the output from these commands, see the Cisco NX-OS MPLS Command Reference.

Configuration Examples for MPLS TE

This section includes the following configuration examples:

Example: Enabling MPLS TE Using IS-IS

The following example shows how to enable MPLS TE with IS-IS routing:


Note You must enter the following commands on every router or switch in the traffic-engineered portion of your network.


feature isis
feature mpls traffic-engineering
router isis 100
mpls traffic-eng level-1
mpls traffic-eng router-id loopback0
 

Example: Enabling MPLS TE Using OSPF

The following example shows how to enable MPLS TE with OSPF routing:


Note You must enter the following commands on every router or switch in the traffic-engineered portion of your network.


feature ospf
feature mpls traffic-engineering
router ospf 100
mpls traffic-eng area 0
mpls traffic-eng router-id loopback0

Example: Configuring MPLS TE on an Interface

The following example shows how to configure TE on an interface:

feature mpls traffic-engineering
interface Ethernet 9/1
mpls traffic-eng tunnels
mpls traffic-eng bandwidth 1000
no shut

Note The interface must be configured to be used by the IGP. In ISIS, you would have something like the following syntax:
ip router isis p1


Example: Configuring an MPLS TE Tunnel

The following example shows how to configure a TE tunnel:

feature mpls traffic-engineering
interface tunnel-te 1
ip unnumbered loopback 0
destination 10.3.3.3
bandwidth 250
path-option 10 explicit name Link5
path-option 20 dynamic
autoroute announce
no shut

Example: Creating an Explicit Path

The following example shows how to configure an explicit path:

feature mpls traffic-engineering
mpls traffic-eng configuration
explicit-path name Link5
next-address 10.1.1.21
next-address 10.1.1.10
next-address 10.1.1.1
next-address 10.1.1.14

Additional References for MPLS TE

For additional information related to implementing MPLS TE, see the following sections:

Related Document

Related Topic
Document Title

MPLS TE commands

Cisco NX-OS MPLS Command Reference

MPLS feature set

“Configuring the MPLS Feature Set” chapter

MIBs

MIB
MIBs Link
  • CISCO-IETF-FRR-MIB
  • MPLS TE-STD-MIB

To locate and download Cisco 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

Feature History for MPLS TE

Table 11-2 lists the release history for this feature.

 

Table 11-2 Feature History for MPLS TE

Feature Name
Releases
Feature Information

MPLS TE

5.2(1)

This feature was introduced.