Configuring MPLS TE Path Protection

This chapter describes how to configure Multiprotocol Label Switching (MPLS) path protection for 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 Path Protection

Path protection provides an end-to-end failure recovery function (full path protection) for MPLS TE tunnels. Cisco NX-OS supports regular path protection and enhanced path protection, which is the ability to configure up to eight secondary path options for a given primary path option.

This section includes the following topics:

Path Protection

A secondary label switched path (LSP) is configured and established to provide failure protection for the LSP that is carrying a tunnel’s TE traffic. When there is a failure on the protected LSP, the headend router immediately enables the secondary LSP to temporarily carry the tunnel’s traffic. If there is a failure on the secondary LSP, the tunnel no longer has path protection until the failure along the secondary path is cleared.

Path protection can be used with

  • Single area

blank.gif Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF)

  • Interarea

blank.gif Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF)

  • Inter-AS

blank.gif Border Gateway Protocol (BGP), both external BGP (eBGP,) and static

The failure detection functions that trigger a switchover to a secondary tunnel include the following:

  • Path error or resv tear from RSVP signaling
  • Notification from the Bidirectional Forwarding Detection (BFD) protocol that a neighbor is lost
  • Notification from the Interior Gateway Protocol (IGP) that the adjacency is down
  • Local teardown of the protected tunnel’s LSP due to preemption in order to signal higher priority LSPs, online insertion and removal (OIR), and so forth

An alternate recovery function is Fast Reroute (FRR), which protects MPLS TE LSPs only from link and node failures by locally repairing the LSPs at the point of failure.

Although not as fast as link or node protection, presignaling a secondary LSP is faster than configuring a secondary primary path option or allowing the tunnel’s headend router to dynamically recalculate a path. The actual recovery time is topology-dependent and is affected by delay factors such as propagation delay or switch fabric latency.

Enhanced Path Protection

Enhanced path protection provides support of multiple backup path options per primary path option. You can configure up to eight backup path options for a given primary path option. Only one of the configured backup path options is actively signaled at any time.

After you enter the mpls traffic-eng path-option list command, you can enter the backup path priority in the number argument of the path-option command. A lower identifier represents a higher priority. Priorities are configurable for each backup path option. Multiple backup path options and a single backup path option cannot coexist to protect a primary path option.

ISSU

Cisco In Service Software Upgrade (ISSU) allows you to perform a Cisco NX-OS software upgrade or downgrade while the system continues to forward packets. ISSU takes advantage of the Cisco NX-OS high availability infrastructure (Cisco nonstop forwarding [NSF] with stateful switchover [SSO] and hardware redundancy) and eliminates the downtime that is associated with software upgrades or version changes by allowing changes while the system remains in service. Cisco ISSU lowers the impact that planned maintenance activities have on network service availability; there is less downtime and better access to critical systems.

When path protection is enabled and an ISSU upgrade is performed, path protection performance is similar to that of other TE features.

NSF/SSO

Cisco NSF with SSO provides continuous packet forwarding, even during a network processor hardware or software failure.

Path protection can recover after SSO. A tunnel configured for path protection may have two LSPs signaled simultaneously: the primary LSP that is carrying the traffic and the secondary LSP that carries traffic if there is a failure along the primary path. Only information associated with one of those LSPs, the one that is currently carrying traffic, is synchronized to the standby system. On recovery, the standby system can determine from the checkpointed information whether the LSP was the primary or secondary.

If the primary LSP was active during the switchover, only the primary LSP is recovered. The secondary LSP that was signaled and provided path protection is resignaled after the TE recovery period is complete. This process does not impact the traffic on the tunnel because the secondary LSP was not carrying traffic.

Licensing Requirements for MPLS TE Path Protection

 

Product
License Requirement

Cisco NX-OS

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

Prerequisites for MPLS TE Path Protection

Path protection has the following prerequisites:

  • The MPLS TE feature must be enabled. MPLS TE can be enabled or disabled by the [ no ] feature mpls traffic-eng command and is disabled by default. See the “Configuring MPLS TE”.
  • Configure a TE tunnel with a primary path option by using the path-option command.

Guidelines and Limitations for MPLS TE Path Protection

Path protection has the following configuration guidelines and limitations:

  • The secondary path will not be signaled with the FRR flag.
  • Dynamic diverse paths are not supported. You must configure an explicit path for the secondary LSP that avoids using any shared links with the primary LSP.
  • Do not use link and node protection with path protection on the headend router.

Configuring MPLS TE Path Protection

This section includes the following topics:

These tasks are described in the following sections and are shown in Figure 17-1.

Figure 17-1 Network Topology—Path Protection

 

186181.ps

Configuring Explicit Paths for Secondary Paths

You can specify a secondary path that does not include common links or nodes associated with the primary path in case those links or nodes go down.

Prerequisites

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

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

SUMMARY STEPS

1.blank.gif configure terminal

2.blank.gif mpls traffic-eng configuration

3.blank.gif [ no ] explicit-path { name path-name | identifier number }

4.blank.gif index index command ip-address

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

[ no ] explicit-path { name path-name | identifier number }

 

Example:

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

switch(config-te-expl-path)

Creates or modifies the explicit path and enters explicit path configuration mode.

Step 4

index index command ip-address

 

Example:

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

Inserts or modifies a path entry at a specific index.

The command argument can be the exclude-address keyword or the next-address keyword.

The ip-address argument represents the node ID.

Note Enter this command once for each router or switch along the secondary path.

Assigning a Secondary Path Option to Protect a Primary Path Option

You can assign a secondary path option in case there is a link or node failure along a path and all interfaces in your network are not protected.

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.blank.gif configure terminal

2.blank.gif interface tunnel-te number

3.blank.gif path-option protect number explicit { identifier path-number | name path-name } [ attributes lsp-attributes | bandwidth kbps | lockdown ] [ verbatim ]

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 identifies the tunnel number to be configured.

Step 3

path-option protect number explicit { identifier path-number | name path-name } [ attributes lsp-attributes | bandwidth kbps | lockdown ] [ verbatim ]

 

Example:

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

Configures a secondary path option for an MPLS TE tunnel.

Enhanced Path Protection Configuration Tasks

This section includes the following topics:

These tasks are described in the following sections and are shown in Figure 17-2.

Figure 17-2 Network Topology - Enhanced Path Protection

 

193992.eps

 

Creating a Path Option List

In enhanced path protection you can create and assign a path option list.

note.gif

Noteblank.gif To use a secondary path instead, follow the steps in the “Configuring Explicit Paths for Secondary Paths” section.


SUMMARY STEPS

1.blank.gif configure terminal

2.blank.gif interface tunnel-te number

3.blank.gif mpls traffic-eng path-option list [ name pathlist-name | identifier pathlist-number ]

4.blank.gif path-option number explicit [ name pathoption-name | identifier pathoption-number ]

5.blank.gif list

6.blank.gif no [ pathoption-name | pathoption-number ]

7.blank.gif end

DETAILED STEPS

 

Command or Action
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 identifies the tunnel number to be configured.

Step 3

mpls traffic-eng path-option list [ name pathlist-name | identifier pathlist-number ]

 

Example:

switch(config)# mpls traffic-eng path-option list name pathlist-01

Configures a path option list, and enters path-option list configuration mode.

You can enter the following commands: path-option, list, no, and exit.

Step 4

path-option number explicit [ name pathoption-name | identifier pathoption-number ]

 

 

Example:

switch(cfg-pathoption-list)# path-option 10 explicit identifier 200

(Optional) Specifies the name or identification number of the path option to add, edit, or delete. The pathoption-number value can be from 1 through 65535.

Step 5

list

 

Example:

switch(cfg-pathoption-list)# list

(Optional) Lists all of the path options.

Step 6

no [ pathoption-name | pathoption-number ]

 

 

Example:

switch(cfg-pathoption-list)# no 10

(Optional) Deletes a specified path option.

Step 7

end

 

Example:

switch(cfg-pathoption-list)# exit

switch#

Exits to EXEC mode.

Assigning a Path Option List to Protect a Primary Path Option

You can assign a path option list in case there is a link or node failure along a path and all interfaces in your network are not protected. See Figure 17-2.

SUMMARY STEPS

1.blank.gif configure terminal

2.blank.gif interface tunnel-te number

3.blank.gif path-option protect number [ attributes lsp-attributes | bandwidth { kbps | subpool kbps } | explicit { identifier path-number | name path-name } | list { name pathlist-name | identifier pathlist-identifier }]

4.blank.gif end

DETAILED STEPS

 

Command or Action
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 500

switch(config-if-te)#

Enters TE interface configuration mode.

The number argument identifies the tunnel number to be configured.

Step 3

path-option protect number [ attributes lsp-attributes | bandwidth { kbps | subpool kbps } | explicit { identifier path-number | name path-name } | list { name pathlist-name | identifier pathlist-identifier }]

 

Example:

switch(config-if-te)# path-option protect 10 list name pathlist-01

Configures a path option list to protect primary path option 10.

Step 4

end

 

Example:

switch(config-if-te)# end

switch#

Exits to EXEC mode.

Verifying the MPLS TE Path Protection Configuration

You can display the path protection configuration. Steps 1 and 2 refer to Figure 17-3.

Figure 17-3 Network Topology Verification

 

186181.ps

To display path protection for verification, perform one of the following tasks:

 

Command
Purpose

 

show running interface tunnel-te number

Displays the configuration of the primary path and the protection path options.

 

show mpls traffic-eng tunnels tunnel-te number

Displays tunnel path information.

 

show mpls traffic-eng tunnels tunnel-te number protection

Displays the status of both LSPs (primary path and protected path), when the protection keyword is specified.

Note Deleting a primary path option has the same effect as shutting down a link. Traffic moves to the protected path.

Examples

The following example shows how to display the configuration of the primary path and protection path options.

note.gif

Noteblank.gif To show the status of both LSPs (primary path and protected path), use the show mpls traffic-eng tunnels command with the protection keyword.


switch# show running interface tunnel-te500
Building configuration...

Current configuration : 497 bytes
!
interface Tunnel-te500
ip unnumbered Loopback0
destination 10.0.0.9
autoroute announce
priority 7 7
bandwidth 100
path-option 10 explicit name path344
path-option 20 explicit name path345
path-option protect 10 explicit name path3441
path-option protect 20 explicit name path348
end
 

The following example shows how to display tunnel path information.

The command output shows no common links or nodes.

note.gif

Note The Common Link(s) field shows the number of links shared by both primary and secondary paths, from the headend router to the tailend router.

The Common Node(s) field shows the number of nodes shared by both primary and secondary paths, excluding the headend and tailend routers.


 

switch# show mpls traffic-eng tunnels tunnel-te500
 
Name: R1_t500 (Tunnel-te500) Destination: 10.0.0.9
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit path344 (Basis for Setup, path weight 20)
path option 20, type explicit path345
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type explicit path3441 (Basis for Protect, path weight 20)
path protect option 20, type explicit path348

Config Parameters:
Bandwidth: 100 kb/s (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet1/0, 16
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 19
RSVP Path Info:
My Address: 10.2.0.1
Explicit Route: 10.2.0.2 10.10.0.1 10.10.0.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 10.2.0.1 10.2.0.2 10.10.0.1 10.10.0.2 10.0.0.9
History:
Tunnel:
Time since created: 11 minutes, 17 seconds
Time since path change: 8 minutes, 5 seconds
Number of LSP IDs (Tun_Instances) used: 19
Current LSP:
Uptime: 8 minutes, 5 seconds

The following example shows how to display the status of both LSPs (primary path and protected path) when the protection keyword is specified.

note.gif

Noteblank.gif Deleting a primary path option has the same effect as shutting down a link. Traffic moves to the protected path.


The command output shows that both primary LSP and secondary LSP are up and protection is enabled:

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel-te500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 19
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.2.0.1 10.2.0.2
10.10.0.1 10.10.0.2
10.0.0.9
Protect lsp path:10.0.0.1 10.0.0.2
10.0.1.1 10.0.1.2
10.0.0.9
Path Protect Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet0/0, 16
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 27
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

The following example shows that the primary LSP is down and that the secondary LSP is up and is carrying traffic:

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel-te500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 27
Fast Reroute Protection: None
Path Protection: Backup lsp in use.

Verifying the Enhanced Path Protection Configuration

To verify the enhanced path protection configuration, refer to Figure 17-4 Figure 17-4and perform the following steps.

Figure 17-4 Network Topology Verification for Enhanced Path Protection

193993.eps

SUMMARY STEPS

1.blank.gif show running interface tunnel-te number

2.blank.gif show mpls traffic-eng tunnels tunnel-te number

3.blank.gif show mpls traffic-eng tunnels tunnel-te number [ brief ] [ protection]

4.blank.gif show ip rsvp high-availability database { hello | link-management { interfaces [fixed | variable] | system } | lsp [ filter destination ip-address | filter lsp-id lsp-id | filter source ip-address | filter tunnel-id tunnel-id ] | lsp-head [ filter number ] | summary }

DETAILED STEPS


Step 1blank.gif show running interface tunnel-te number

This command shows the configuration of the path option and backup path option.

note.gif

Noteblank.gif To show the status of both LSPs (that is, both the primary path and the protected path), use the show mpls traffic-eng tunnels command with the protection keyword.


switch# show running interface tunnel-te2

Building configuration..

Current configuration : 296 bytes
!
interface Tunnel-te2
ip unnumbered Loopback0
destination 10.10.0.2
autoroute announce
path-option 10 explicit name primary1
path-option protect 10 list name pathlist-01
end

Step 2blank.gif show mpls traffic-eng tunnels tunnel-te number

This command shows tunnel path information.

The Common Link(s) field shows the number of links shared by both the primary and secondary paths, from the headend router to the tailend router.

The Common Node(s) field shows the number of nodes shared by both the primary and secondary paths, excluding the headend and tailend routers.

As shown in the following output, there are no common links or nodes:

switch# show mpls traffic-eng tunnels tunnel-te2
 
Name: iou-100_t2 (Tunnel-te2) Destination: 10.10.0.2
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit primary1 (Basis for Setup, path weight 10)
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type list name secondary-list
Inuse path-option 10, type explicit secondary1 (Basis for Protect, path weight 20)
 
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute announce: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet7/0, implicit-null
RSVP Signalling Info:
Src 100.100.100.100, Dst 10.10.0.2, Tun_Id 2, Tun_Instance 188
RSVP Path Info:
My Address: 10.1.0.1
Explicit Route: 10.1.0.2 10.10.0.2
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 10 (TE)
Explicit Route: 10.1.0.1 10.1.0.2 10.10.0.2
History:
Tunnel:
Time since created: 1 hours, 34 minutes
Time since path change: 1 minutes, 50 seconds
Number of LSP IDs (Tun_Instances) used: 188
Current LSP:
Uptime: 1 minutes, 50 seconds
Prior LSP:
ID: path option 10 [44]
Removal Trigger: label reservation removed

Step 3blank.gif show mpls traffic-eng tunnels tunnel-te number [ brief ] [ protection]

Use this command, with the protection keyword specified, to show the status of both LSPs (that is, both the primary path and the protected path).

The following command output shows that the primary LSP is up, and the secondary LSP is up and providing protection:

switch# show mpls traffic-eng tunnels tunnel-te2 protection
 
iou-100_t2
LSP Head, Tunnel-te2, Admin: up, Oper: up
Src 100.100.100.100, Dest 10.10.0.2, Instance 188
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.1.0.1 10.1.0.2
10.10.0.2
Protect lsp path:10.0.0.1 10.0.0.2
10.0.1.1 10.0.1.2
10.10.0.2
Path Protect Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet5/0, 16
RSVP Signalling Info:
Src 100.100.100.100, Dst 10.10.0.2, Tun_Id 2, Tun_Instance 189
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 10.10.0.2
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
 

The following command output shows that the primary LSP is down, and the secondary LSP is up and is actively carrying traffic:

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel-te500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 27
Fast Reroute Protection: None
Path Protection: Backup lsp in use.

Step 4blank.gif show ip rsvp high-availability database { hello | link-management { interfaces [fixed | variable}] | system } | lsp [ filter destination ip-address | filter lsp-id lsp-id | filter source ip-address | filter tunnel-id tunnel-id ] | lsp-head [ filter number ] | summary }

The show ip rsvp high-availability database command displays the contents of the RSVP HA read and write databases used in TE. If you specify the lsp-head keyword, the command output includes path protection information.

switch# show ip rsvp high-availability database lsp-head
 
LSP_HEAD WRITE DB
Tun ID: 2
Header:
State: Checkpointed Action: Add
Seq #: 2 Flags: 0x0
Data:
lsp_id: 6, bandwidth: 0, thead_flags: 0x1, popt: 10
feature flags: none
output_if_num: 31, output_nhop: 10.1.0.2
RRR path setup info
Destination: 10.10.0.2, Id:.10.10.0.2 Router Node (ospf) flag:0x0
IGP: ospf, IGP area: 0, Number of hops: 3, metric: 10
Hop 0: 10.1.0.1, Id: 10.100.100.100 Router Node (ospf), flag:0x0
Hop 1: 10.1.0.2, Id: 10.10.0.2 Router Node (ospf), flag:0x0
Hop 2: 10.103.103.103, Id: 10.10.0.2 Router Node (ospf), flag:0x0


 

Configuration Examples for MPLS TE Path Protection

This section includes the following topics:

Example: Configuring Explicit Paths for Secondary Paths

Figure 17-5 shows a primary path and a secondary path. If there is a failure, the secondary path is used.

Figure 17-5 Primary Path and Secondary Path

 

186181.ps

The following example shows that the explicit path is named path3441. There is an index command for each router. If there is failure, the secondary path is used.

switch(config)# mpls traffic-eng configuration
switch(config-te)# explicit-path name path3441
switch(config-te-expl-path)# index 1 next-address 10.0.0.1
Explicit Path name path3441:
1: next-address 10.0.0.1
 
switch(config-te-expl-path)# index 2 next-address 10.0.0.2
Explicit Path name path3441:
1: next-address 10.0.0.1
2: next-address 10.0.0.2
 
switch(config-te-expl-path)# index 3 next-address 10.0.1.1
Explicit Path name path3441:
1: next-address 10.0.0.1
2: next-address 10.0.0.2
3: next-address 10.0.1.1
 
switch(config-te-expl-path)# index 4 next-address 10.0.1.2
Explicit Path name path3441:
1: next-address 10.0.0.1
2: next-address 10.0.0.2
3: next-address 10.0.1.1
4: next-address 10.0.1.2

Example: Assigning a Secondary Path Option to Protect a Primary Path Option

The following example shows that a TE tunnel is configured:

switch# configure terminal
switch(config)# interface tunnel-te500
switch(config-if-te)# path-option protect 10 explicit name path344
 

The following example shows that path protection has been configured. Tunnel 500 has path option 10 using path344 and protected by path 3441, and path option 20 using path345 and protected by path348.

switch# show running interface tunnel-te500
 
Building configuration...

Current configuration : 497 bytes
!
interface Tunnel-te500
ip unnumbered Loopback0
destination 10.0.0.9
autoroute announce
priority 7 7
bandwidth 100
path-option 10 explicit name path344
path-option 20 explicit name path345
path-option protect 10 explicit name path3441
path-option protect 20 explicit name path348
end

Example: Configuring Tunnels Before and After Path Protection

The following example shows information about the primary (protected) path. The following sample output shows that path protection has been configured:

switch# show mpls traffic-eng tunnels tunnel-te500
 
Name: R1_t500 (Tunnel-te500) Destination: 10.0.0.9
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit path344 (Basis for Setup, path weight 20)
path option 20, type explicit path345
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type explicit path3441 (Basis for Protect, path weight 20)
path protect option 20, type explicit path348

Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet1/0, 16
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 43
RSVP Path Info:
My Address: 10.2.0.1
Explicit Route: 10.2.0.2 10.10.0.1 10.10.0.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
10.0.0.9
History:
Tunnel:
Time since created: 18 minutes, 22 seconds
Time since path change: 19 seconds
Number of LSP IDs (Tun_Instances) used: 43
Current LSP:
Uptime: 22 seconds
Selection: reoptimization
Prior LSP:
ID: path option 10 [27]
Removal Trigger: reoptimization completed

 

The following example shows information about the secondary path. Tunnel500 is protected. The protection path is used, and the primary path is down. The command output shows the IP explicit paths of the primary LSP and the secondary LSP.

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 43
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.2.0.1 10.2.0.2
10.10.0.1 10.10.0.2
10.0.0.9
Protect lsp path:10.0.0.1 10.0.0.2
10.0.1.1 10.0.1.2
10.0.0.9
Path Protect Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet0/0, 17
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 44
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
R1#
 

The following example shows how to shut down the interface to use path protection:

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# interface e1/0
switch(config-if)# shutdown


The following example shows that the protection path is used and the primary path is down:

switch# show mpls traffic-eng tunnels tunnel-te500
 
Name: R1_t500 (Tunnel-te500) Destination: 10.0.0.9
Status:
Admin: up Oper: up Path: valid Signalling: connected
path protect option 10, type explicit path3441 (Basis for Protect, path weight 20)
path option 10, type explicit path344
path option 20, type explicit path345
Path Protection: Backup lsp in use.
path protect option 10, type explicit path3441 (Basis for Protect, path weight 20)
path protect option 20, type explicit path348

Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet0/0, 17
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 44
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
History:
Tunnel:
Time since created: 23 minutes, 28 seconds
Time since path change: 50 seconds
Number of LSP IDs (Tun_Instances) used: 44
Current LSP:
Uptime: 5 minutes, 24 seconds
Selection:
Prior LSP:
ID: path option 10 [43]
Removal Trigger: path error
Last Error: PCALC:: Explicit path has unknown address, 10.2.0.1
R1#

 

The following example shows that protection is enabled:

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel-te500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 44
Fast Reroute Protection: None
Path Protection: Backup lsp in use.
R1#

 

The following example shows that the interface is up again and the primary path is activated:

switch# configure terminal
 
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# interface ethernet1/0
switch(config-if)# no shutdown
 

The following example shows that path protection has been reestablished and the primary path is being used:

switch# show mpls traffic-eng tunnels tunnel-te500
 
Name: R1_t500 (Tunnel-te500) Destination: 10.0.0.9
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit path344 (Basis for Setup, path weight 20)
path option 20, type explicit path345
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type explicit path3441 (Basis for Protect, path weight 20)
path protect option 20, type explicit path348

Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet1/0, 16
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 52
RSVP Path Info:
My Address: 10.2.0.1
Explicit Route: 10.2.0.2 10.10.0.1 10.10.0.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
History:
Tunnel:
Time since created: 25 minutes, 26 seconds
Time since path change: 23 seconds
Number of LSP IDs (Tun_Instances) used: 52
Current LSP:
Uptime: 26 seconds
Selection: reoptimization
Prior LSP:
ID: path option 10 [44]
Removal Trigger: reoptimization completed
switch#

The following example shows that Tunnel-te500 is protected and after a failure, the primary LSP is protected:

switch# show mpls traffic-eng tunnels tunnel-te500 protection
 
R1_t500
LSP Head, Tunnel-te500, Admin: up, Oper: up
Src 10.1.1.1, Dest 10.0.0.9, Instance 52
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.2.0.1 10.2.0.2
10.10.0.1 10.10.0.2
10.0.0.9
Protect lsp path:10.0.0.1 10.0.2
10.0.1.1 10.0.1.2
10.0.0.9
Path Protect Parameters:
Bandwidth: 100 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet0/0, 16
RSVP Signalling Info:
Src 10.1.1.1, Dst 10.0.0.9, Tun_Id 500, Tun_Instance 53
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 10.0.0.9
Record Route: NONE
Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
switch#

 

Examples of Enhanced Path Protection

This section includes the following topics:

Example: Creating a Path Option List

Figure 17-6 shows the network topology for enhanced path protection.

Figure 17-6 Network Topology for Enhanced Path Protection

 

193993.eps

The following example shows how to configures two explicit paths named secondary1 and secondary2.

switch(config)# ip explicit-path name secondary1
switch(config-te-expl-path)# index 1 next 10.0.0.2
Explicit Path name secondary1:
1: next-address 10.0.0.2
switch(config-te-expl-path)# index 2 next 10.0.1.2
Explicit Path name secondary1:
1: next-address 10.0.0.2
2: next-address 10.0.1.2
 
switch(config-te-expl-path)# ip explicit-path name secondary2
switch(config-te-expl-path)# index 1 next 10.2.0.2
Explicit Path name secondary2:
1: next-address 10.2.0.2

switch(config-te-expl-path)# index 2 next 10.10.0.2
Explicit Path name secondary2:
1: next-address 10.2.0.2
2: next-address 10.10.0.2
 
switch(config-te-expl-path)# exit
 

The following example shows that a path option list of backup paths is created. You define the path option list by using the explicit paths.

switch(config)# mpls traffic-eng
switch(config-te)# path-option list name pathlist-01
switch(cfg-pathoption-list)# path-option 10 explicit name secondary1
path-option 10 explicit name secondary1
switch(cfg-pathoption-list)# path-option 20 explicit name secondary2
path-option 10 explicit name secondary1
path-option 20 explicit name secondary2
switch(cfg-pathoption-list)# exit

Example: Assigning a Path Option List to Protect a Primary Path Option

The following example shows that a traffic engineering tunnel is configured:

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# interface tunnel 2
switch(config-if)# tunnel mpls traffic-eng path-option protect 10 list name secondary-list

 

The following example shows that path protection has been configured. Tunnel 2 has path option 10 using path primary1 and protected by secondary-list.

switch# show running-config interface tunnel 2

Building configuration...
 
Current configuration : 296 bytes
!
interface Tunnel2
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 103.103.103.103
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 10 explicit name primary1
tunnel mpls traffic-eng path-option protect 10 list name secondary-list

Example: Configuring Tunnels Before and After Path Protection

The following example shows information about the primary (protected) path. The following sample output shows that path protection has been configured:

switch# show mpls traffic-eng tunnels tunnel 2
 
Name: Router_t2 (Tunnel2) Destination: 103.103.103.103
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit primary1 (Basis for Setup, path weight 10)
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type list name secondary-list
Inuse path-option 10, type explicit secondary1 (Basis for Protect, path weight 20)
 
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute announce: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet7/0, implicit-null
RSVP Signalling Info:
Src 100.100.100.100, Dst 103.103.103.103, Tun_Id 2, Tun_Instance 11
RSVP Path Info:
My Address: 10.1.0.1
Explicit Route: 10.1.0.2 103.103.103.103
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 10 (TE)
Explicit Route: 10.1.0.1 10.1.0.2 103.103.103.103
History:
Tunnel:
Time since created: 24 minutes, 15 seconds
Time since path change: 23 minutes, 30 seconds
Number of LSP IDs (Tun_Instances) used: 11
Current LSP:
Uptime: 23 minutes, 30 seconds
 

The following shows information about the secondary path. Tunnel 2 is protected.

switch# show mpls traffic-eng tunnels tunnel 2 protection

Router_t2
LSP Head, Tunnel2, Admin: up, Oper: up
Src 100.100.100.100, Dest 103.103.103.103, Instance 11
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.1.0.1 10.1.0.2
103.103.103.103
Protect lsp path:10.0.0.1 10.0.0.2
10.0.1.1 10.0.1.2
103.103.103.103
Path Protect Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet5/0, 16
RSVP Signalling Info:
Src 100.100.100.100, Dst 103.103.103.103, Tun_Id 2, Tun_Instance 20
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 103.103.103.103
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
 

The following example shows how to shut down the interface to use path protection:

Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# interface e7/0
switch(config-if)# shutdown
switch(config-if)# end

The following example shows that the protection path is used, and the primary path is down:

 
switch# show mpls traffic-eng tunnels tunnel 2

Name: Router_t2 (Tunnel2) Destination: 103.103.103.103
Status:
Admin: up Oper: up Path: valid Signalling: connected
path protect option 10, type list name secondary-list
Inuse path-option 10, type explicit secondary1 (Basis for Protect, path weight 20)
path option 10, type explicit primary1
Path Protection: Backup lsp in use.
path protect option 10, type list name secondary-list
Inuse path-option 10, type explicit secondary1 (Basis for Protect, path weight 20)
 
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute announce: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: list path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet5/0, 16
RSVP Signalling Info:
Src 100.100.100.100, Dst 103.103.103.103, Tun_Id 2, Tun_Instance 20
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 103.103.103.103
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2 103.103.103.103

History:
Tunnel:
Time since created: 32 minutes, 27 seconds
Time since path change: 1 minutes, 7 seconds
Number of LSP IDs (Tun_Instances) used: 20
Current LSP:
Uptime: 8 minutes, 56 seconds
Selection:
Prior LSP:
ID: path option 10 [11]
Removal Trigger: path error
Last Error: PCALC:: No addresses to connect 100.100.100.100 to 10.1.0.2

The following example shows that protection is enabled.

switch# show mpls traffic-eng tunnels tunnel 2 protection

Router_t2
LSP Head, Tunnel2, Admin: up, Oper: up
Src 100.100.100.100, Dest 103.103.103.103, Instance 20
Fast Reroute Protection: None
Path Protection: Backup lsp in use.
 

The following example shows that the interface is up again and the primary path is activated.

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.
switch(config-if)# interface ethernet7/0
switch(config-if)# no shutdown
switch(config-if)# end

The following example shows that path protection has been reestablished and the primary path is being used:

switch# show mpls traffic-eng tunnels tunnel 2

Name: Router_t2 (Tunnel2) Destination: 103.103.103.103
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 10, type explicit primary1 (Basis for Setup, path weight 10)
Path Protection: 0 Common Link(s), 0 Common Node(s)
path protect option 10, type list name secondary-list
Inuse path-option 10, type explicit secondary1 (Basis for Protect, path weight 20)
 
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute announce: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 10 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled

InLabel : -
OutLabel : Ethernet7/0, implicit-null
RSVP Signalling Info:
Src 100.100.100.100, Dst 103.103.103.103, Tun_Id 2, Tun_Instance 39
RSVP Path Info:
My Address: 10.1.0.1
Explicit Route: 10.1.0.2 103.103.103.103
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 10 (TE)
Explicit Route: 10.1.0.1 10.1.0.2 103.103.103.103
History:
Tunnel:
Time since created: 40 minutes, 59 seconds
Time since path change: 1 minutes, 24 seconds
Number of LSP IDs (Tun_Instances) used: 39
Current LSP:
Uptime: 1 minutes, 27 seconds
Selection: reoptimization
Prior LSP:
ID: path option 10 [20]
Removal Trigger: reoptimization completed
switch# show mpls traffic-eng tunnels tunnel 2 protection

Router_t2
LSP Head, Tunnel2, Admin: up, Oper: up
Src 100.100.100.100, Dest 103.103.103.103, Instance 39
Fast Reroute Protection: None
Path Protection: 0 Common Link(s), 0 Common Node(s)
Primary lsp path:10.1.0.1 10.1.0.2
103.103.103.103
Protect lsp path:10.0.0.1 10.0.0.2
10.0.1.1 10.0.1.2
103.103.103.103
Path Protect Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
InLabel : -
OutLabel : Ethernet5/0, 17
RSVP Signalling Info:
Src 100.100.100.100, Dst 103.103.103.103, Tun_Id 2, Tun_Instance 40
RSVP Path Info:
My Address: 10.0.0.1
Explicit Route: 10.0.0.2 10.0.1.1 10.0.1.2 103.103.103.103
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
 

The following example shows the contents of the RSVP high availability read and write databases used in TE.

switch# show ip rsvp high-availability database lsp-head

LSP_HEAD WRITE DB
Tun ID: 2
Header:
State: Checkpointed Action: Modify
Seq #: 17 Flags: 0x0
Data:
lsp_id: 39, bandwidth: 0, thead_flags: 0x1, popt: 10
feature flags: none
output_if_num: 31, output_nhop: 10.1.0.2
RRR path setup info
Destination: 103.103.103.103, Id: 103.103.103.103 Router Node (ospf) flag:0x0
IGP: ospf, IGP area: 0, Number of hops: 3, metric: 10
Hop 0: 10.1.0.1, Id: 100.100.100.100 Router Node (ospf), flag:0x0
Hop 1: 10.1.0.2, Id: 103.103.103.103 Router Node (ospf), flag:0x0
Hop 2: 103.103.103.103, Id: 103.103.103.103 Router Node (ospf), flag:0x0

LSP_HEAD READ DB

Additional References for MPLS TE Path Protection

The following sections provide references related to the MPLS TE path protection feature.

Related Documents

Related Topic
Document Title

MPLS TE commands

Cisco NX-OS Multiprotocol Label Switching Command Reference

RSVP

Cisco NX-OS Quality of Service Commands

IS-IS

Cisco NX-OS Unicast Routing Protocols Command Reference

Configuring a Basic IS-IS Network

OSPF

Cisco NX-OS Unicast Routing Protocols Command Reference

Configuring OSPF

ISSU

ISSU MPLS Clients

Cisco NX-OS High Availability and Redundancy Guide

NSF/SSO

Cisco NX-OS High Availability and Redundancy Guide

MIBs

MIB
MIBs Link
  • CISCO-IETF-FRR-MIB
  • MPLS TE-STD-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

Feature History for MPLS TE Path Protection

Table 17-1 lists the release history for this feature.

 

Table 17-1 Feature History for MPLS TE Path Protection

Feature Name
Releases
Feature Information

Path protection

5.2(1)

This feature was introduced.