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