Table Of Contents
Configuring Basic MPLS TE
Information About MPLS TE
MPLS TE Operation
MPLS TE and HA
Licensing Requirements for MPLS TE
Prerequisites for MPLS TE
Guidelines and Limitations for MPLS TE
Default Settings for MPLS TE
Enabling MPLS TE
Configuring MPLS TE
Configuring IS-IS for MPLS TE
Configuring OSPF for MPLS TE
Configuring MPLS TE on an Interface
Configuring an MPLS TE Tunnel
Configuring an Explicit Path
Verifying the MPLS TE Configuration
Configuration Examples for MPLS TE
Example: Enabling MPLS TE Using IS-IS
Example: Enabling MPLS TE Using OSPF
Example: Configuring MPLS TE on an Interface
Example: Configuring an MPLS TE Tunnel
Example: Creating an Explicit Path
Additional References for MPLS TE
Related Document
MIBs
Feature History for MPLS TE
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:
•
Information About MPLS TE
•
Licensing Requirements for MPLS TE
•
Prerequisites for MPLS TE
•
Guidelines and Limitations for MPLS TE
•
Default Settings for MPLS TE
•
Enabling MPLS TE
•
Configuring MPLS TE
•
Verifying the MPLS TE Configuration
•
Configuration Examples for MPLS TE
•
Additional References for MPLS TE
•
Feature History for MPLS TE
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 and HA
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)
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
|
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 MPLS TE
This section includes the following topics:
•
Configuring IS-IS for MPLS TE
•
Configuring OSPF for MPLS TE
•
Configuring MPLS TE on an Interface
•
Configuring an MPLS TE Tunnel
•
Configuring an Explicit Path
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 "Enabling MPLS TE" section).
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 "Enabling MPLS TE" section).
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 "Enabling MPLS TE" section).
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 "Enabling MPLS TE" section).
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 "Enabling MPLS TE" section).
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
•
Example: Enabling MPLS TE Using OSPF
•
Example: Configuring MPLS TE on an Interface
•
Example: Configuring an MPLS TE Tunnel
•
Example: Creating an Explicit Path
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 mpls traffic-engineering
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 mpls traffic-engineering
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
mpls traffic-eng bandwidth 1000
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
path-option 10 explicit name Link5
Example: Creating an Explicit Path
The following example shows how to configure an explicit path:
feature mpls traffic-engineering
mpls traffic-eng configuration
Additional References for MPLS TE
For additional information related to implementing MPLS TE, see the following sections:
•
Related Document
•
MIBs
Related Document
Related Topic
|
Document Title
|
MPLS TE commands
|
Cisco NX-OS Multiprotocol Label Switching Command Reference
|
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.
|