Guest

Cisco IOS Software Releases 12.2 S

NSF/SSO - MPLS LDP and LDP Graceful Restart

Table Of Contents

NSF/SSO - MPLS LDP and LDP Graceful Restart

Contents

Prerequisites for NSF/SSO - MPLS LDP and LDP Graceful Restart

Restrictions for NSF/SSO - MPLS LDP and LDP Graceful Restart

Information About NSF/SSO - MPLS LDP and LDP Graceful Restart

How NSF/SSO - MPLS LDP and LDP Graceful Restart Works

What Happens During an LDP Restart and an LDP Session Reset

How a Route Processor Advertises That It Supports NSF/SSO - MPLS LDP and LDP Graceful Restart

What Happens if a Route Processor Does Not Have LDP Graceful Restart

Checkpointing

Troubleshooting Tips

How to Configure and Use NSF/SSO - MPLS LDP and LDP Graceful Restart

Configuring MPLS LDP Graceful Restart

Prerequisites

Verifying the Configuration

Configuration Examples for LDP NSF

Configuring NSF/SSO - MPLS LDP and LDP Graceful Restart: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Command Reference

debug mpls ldp graceful-restart

mpls label protocol (global configuration)

mpls ldp graceful-restart

mpls ldp graceful-restart timers forwarding-holding

mpls ldp graceful-restart timers max-recovery

mpls ldp graceful-restart timers neighbor-liveness

show mpls ip binding

show mpls ldp bindings

show mpls ldp checkpoint

show mpls ldp graceful-restart

show mpls ldp neighbor

Feature Information for NSF/SSO - MPLS LDP and LDP Graceful Restart


NSF/SSO - MPLS LDP and LDP Graceful Restart


First Published: August 16, 2004
Last Updated: August 21, 2007

Cisco Nonstop Forwarding with Stateful Switchover provides continuous packet forwarding, even during a network processor hardware or software failure. In a redundant system, the secondary processor recovers control plane service during a critical failure in the primary processor. SSO synchronizes the network state information between the primary and the secondary processor.

Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) uses SSO, NSF, and graceful restart to allow a Route Processor to recover from disruption in control plane service (specifically, the LDP component) without losing its MPLS forwarding state. LDP NSF works with LDP sessions between directly connected peers and with peers that are not directly connected (targeted sessions).


Note In this document, the NSF/SSO - MPLS LDP and LDP Graceful Restart feature is called LDP NSF for brevity.


Finding Feature Information in This Module

Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for NSF/SSO - MPLS LDP and LDP Graceful Restart" section.

Finding Support Information for Platforms and Cisco IOS and Catalyst OS Software Images

Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Prerequisites for NSF/SSO - MPLS LDP and LDP Graceful Restart

Restrictions for NSF/SSO - MPLS LDP and LDP Graceful Restart

Information About NSF/SSO - MPLS LDP and LDP Graceful Restart

How to Configure and Use NSF/SSO - MPLS LDP and LDP Graceful Restart

Configuration Examples for LDP NSF

Additional References

Command Reference

Feature Information for NSF/SSO - MPLS LDP and LDP Graceful Restart

Prerequisites for NSF/SSO - MPLS LDP and LDP Graceful Restart

For information about supported hardware, see the following documents:

For Cisco IOS Release 12.2(25)S, see the Cross-Platform Release Notes for Cisco IOS
Release 12.2S.

For Cisco IOS Release 12.2(28)SB, see the Cross-Platform Release Notes for Cisco IOS
Release 12.2SB.

For Cisco IOS Release 12.2(33)SRA, see the Release Notes for Cisco IOS Release 12.2SR for the Cisco 7600 Series Routers

For Cisco IOS Release 12.2(33)SXH, see the following documents:

Release Notes for Cisco IOS Release 12.2SX on the Catalyst 6500 Series MSFC

Release Notes for Cisco IOS Release 12.2SX on the Supervisor Engine 720, Supervisor Engine 32, and Supervisor Engine 2

MPLS high availability (HA) requires that neighbor networking devices be NSF-aware.

To perform LDP NSF, Route Processors must be configured for SSO. See the Stateful Switchover feature module for more information:

You must enable nonstop forwarding on the routing protocols running between the provider (P) routers, provider edge (PE) routers, and customer edge (CE) routers. The routing protocols are:

Border Gateway Protocol (BGP)

Open Shortest Path First (OSPF)

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

See the Cisco Nonstop Forwarding feature module for more information.

Restrictions for NSF/SSO - MPLS LDP and LDP Graceful Restart

LDP NSF has the following restrictions:

Tag Distribution Protocol (TDP) sessions are not supported. Only LDP sessions are supported.

LDP NSF cannot be configured on label-controlled ATM (LC-ATM) interfaces.

Information About NSF/SSO - MPLS LDP and LDP Graceful Restart

To configure LDP NSF, you need to understand the following concepts:

How NSF/SSO - MPLS LDP and LDP Graceful Restart Works

How a Route Processor Advertises That It Supports NSF/SSO - MPLS LDP and LDP Graceful Restart

Checkpointing

How NSF/SSO - MPLS LDP and LDP Graceful Restart Works

LDP NSF allows a Route Processor to recover from disruption in service without losing its MPLS forwarding state. LDP NSF works under the following circumstances:

LDP restartAn LDP Restart occurs after an SSO event interrupts LDP communication with all LDP neighbors. If the Route Processors are configured with LDP NSF, the backup Route Processor retains the MPLS forwarding state and reestablishes communication with the LDP neighbors. Then the Route Processor ensures that the MPLS forwarding state is recovered.

LDP session resetAn LDP session reset occurs after an individual LDP session has been interrupted, but the interruption is not due to an SSO event. The LDP session might have been interrupted due to a TCP or UDP communication problem. If the Route Processor is configured with MPLS LDP NSF support and graceful restart, the Route Processor associates a new session with the previously interrupted session. The LDP bindings and MPLS forwarding states are recovered when the new session is established.

If an SSO event occurs on an LSR, that LSR performs an LDP restart. The adjacent LSRs perform an LDP session reset.

See the following section for more information about LDP restart and reset.

What Happens During an LDP Restart and an LDP Session Reset

In the topology shown in Figure 1, the following elements have been configured:

LDP sessions are established between Router 1 and Router 2, as well as between Router 2 and Router 3.

A label switched path (LSP) has been established between Router 1 and Router 3.

The routers have been configured with LDP NSF.

Figure 1 Example of a Network Using LDP Graceful Restart

The following process shows how LDP recovers when one of the routers fails:

1. When a Route Processor fails on Router 2, communications between the routers is interrupted.

2. Router 1 and Router 3 mark all the label bindings from Router 2 as stale, but they continue to use the bindings for MPLS forwarding.

3. Router 1 and Router 3 attempt to reestablish an LDP session with Router 2.

4. Router 2 restarts and marks all of its forwarding entries as stale. If you issue a show mpls ldp graceful-restart command, the command output includes the following line:

LDP is restarting gracefully. 

5. Router 1 and Router 3 reestablish LDP sessions with Router 2, but they keep their stale label bindings. If you issue a show mpls ldp neighbor command with the graceful-restart keyword, the command output displays the recovering LDP sessions.

6. All three routers readvertise their label binding information. If a label has been relearned after the session has been established, the stale flags are removed. The show mpls forwarding-table command displays the information in the MPLS forwarding table, including the local label, outgoing label or VC, prefix, label-switched bytes, outgoing interface, and next hop.

You can set various timers to limit how long the routers wait for an LDP session to be reestablished before restarting the router. See the following commands for more information:

mpls ldp graceful-restart timers forwarding-holding

mpls ldp graceful-restart timers max-recovery

mpls ldp graceful-restart timers neighbor-liveness

How a Route Processor Advertises That It Supports NSF/SSO - MPLS LDP and LDP Graceful Restart

A Route Processor that is configured to perform LDP NSF includes the Fault Tolerant (FT) Type Length Value (TLV) in the LDP initialization message. The Route Processor sends the LDP initialization message to a neighbor to establish an LDP session.

The FT session TLV includes the following information:

The Learn from Network (L) flag is set to 1, which indicates that the Route Processor is configured to perform LDP Graceful Restart.

The Reconnect Timeout field shows the time (in milliseconds) that the neighbor should wait for a reconnection if the LDP session is lost. This field is set to 120 seconds and cannot be configured.

The Recovery Time field shows the time (in milliseconds) that the neighbor should retain the MPLS forwarding state during a recovery. If a neighbor did not preserve the MPLS forwarding state before the restart of the control plane, the neighbor sets the recovery time to 0.

What Happens if a Route Processor Does Not Have LDP Graceful Restart

If a Route Processor is not configured for MPLS LDP Graceful Restart and it attempts to establish an LDP session with a Route Processor that is configured with LDP Graceful Restart, the following events occur:

1. The Route Processor that is configured with MPLS LDP Graceful Restart sends an initialization message that includes the FT session TLV value to the Route Processor that is not configured with MPLS LDP Graceful Restart.

2. The Route Processor that is not configured for MPLS LDP Graceful Restart receives the LDP initialization message and discards the FT session TLV.

3. The two Route Processors create a normal LDP session but do not have the ability to perform MPLS LDP Graceful Restart.

You must enable all Route Processors with MPLS LDP Graceful Restart for an LDP session to be preserved during an interruption in service.

Checkpointing

Checkpointing is a function that copies state information from the active Route Processor to the backup Route Processor, thereby ensuring that the backup Route Processor has the latest information. If the active Route Processor fails, the backup Route Processor can take over.

For the LDP NSF feature, the checkpointing function copies the active Route Processor's LDP local label bindings to the backup Route Processor. The active Route Processor sends updates to the backup Route Processor when local label bindings are modified as a result of routing changes.


Note Local label bindings that are allocated by BGP and null local label bindings are not included in the checkpointing operation.


The checkpointing function is enabled by default.

To display checkpointing data, issue the show mpls ldp graceful-restart command on the active Route Processor.

To check that the active and backup Route Processors have identical copies of the local label bindings, you can issue the show mpls ldp bindings command with the detail keyword on the active and backup Route Processors. This command displays the local label bindings that have been saved. The active Route Processor and the backup Route Processor should have the same local label bindings.

Troubleshooting Tips

You can use the debug mpls ldp graceful-restart command to enable the display of MPLS LDP checkpoint events and errors.

How to Configure and Use NSF/SSO - MPLS LDP and LDP Graceful Restart

Configuring MPLS LDP Graceful Restart (required)

Verifying the Configuration (optional)

Configuring MPLS LDP Graceful Restart

MPLS LDP Graceful Restart (GR) is enabled globally. When you enable LDP GR, it has no effect on existing LDP sessions. LDP GR is enabled for new sessions that are established after the feature has been globally enabled.

Prerequisites

Route Processors must be configured for SSO. See the Stateful Switchover feature module for more information:

You must enable Nonstop Forwarding on the routing protocols running between the P, PE, routers, and CE routers. See the Cisco Nonstop Forwarding feature module for more information.

SUMMARY STEPS

1. enable

2. configure terminal

3. ip cef [distributed]

4. mpls ldp graceful-restart

5. interface type slot/port

6. mpls ip

7. mpls label protocol {ldp | tdp | both}

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ip cef [distributed]

Example:

Router(config)# ip cef distributed

Enables distributed Cisco Express Forwarding on
Cisco 7500 series routers. Distributes Cisco Express Forwarding information to line cards.

Note For the Cisco 10000 series routers, IP Cisco Express Forwarding is on by default and it cannot be disabled.

Step 4 

mpls ldp graceful-restart

Example:
Router (config)# mpls ldp graceful-restart

Enables the router to protect the LDP bindings and MPLS forwarding state during a disruption in service.

Step 5 

interface type slot/port

Example:
Router(config)# interface pos 3/0 

Specifies an interface and enters interface configuration mode.

Step 6 

mpls ip

Example:

Router(config-if)# mpls ip

Configures MPLS hop-by-hop forwarding for an interface.

Step 7 

mpls label protocol {ldp | tdp | both}

Example:

Router(config-if)# mpls label protocol ldp

Configures the use of LDP for an interface. You must use LDP. You can also issue the mpls label protocol ldp command in global configuration mode, which enables LDP on all interfaces configured for MPLS.


Verifying the Configuration

Use the following procedure to verify that MPLS LDP Graceful Restart has been configured correctly.

SUMMARY STEPS

1. show mpls ldp graceful-restart

2. show mpls ldp neighbor graceful restart

3. show mpls ldp checkpoint

DETAILED STEPS


Step 1 show mpls ldp graceful-restart

The command output displays Graceful Restart sessions and session parameters:

Router# show mpls ldp graceful-restart

LDP Graceful Restart is enabled
Neighbor Liveness Timer: 5 seconds
Max Recovery Time: 200 seconds
Down Neighbor Database (0 records):
Graceful Restart-enabled Sessions:
VRF default:

    Peer LDP Ident: 10.18.18.18:0, State: estab
    Peer LDP Ident: 10.17.17.17:0, State: estab

Step 2 show mpls ldp neighbor graceful restart

The command output displays the Graceful Restart information for LDP sessions:

Router# show mpls ldp neighbor graceful-restart

Peer LDP Ident: 10.20.20.20:0; Local LDP Ident 10.17.17.17:0
  TCP connection: 10.20.20.20.16510 - 10.17.17.17.646
  State: Oper; Msgs sent/rcvd: 8/18; Downstream
  Up time: 00:04:39
  Graceful Restart enabled; Peer reconnect time (msecs): 120000
Peer LDP Ident: 10.19.19.19:0; Local LDP Ident 10.17.17.17:0
  TCP connection: 10.19.19.19.11007 - 10.17.17.17.646
  State: Oper; Msgs sent/rcvd: 8/38; Downstream
  Up time: 00:04:30
  Graceful Restart enabled; Peer reconnect time (msecs): 120000

Step 3 show mpls ldp checkpoint

The command output displays the summary of the checkpoint information:

Router# show mpls ldp checkpoint

Checkpoint status: dynamic-sync
Checkpoint resend timer: not running
5 local bindings in add-skipped
9 local bindings in added
1 of 15+ local bindings in none

Configuration Examples for LDP NSF

This section contains the following examples:

Configuring NSF/SSO - MPLS LDP and LDP Graceful Restart: Example

Configuring NSF/SSO - MPLS LDP and LDP Graceful Restart: Example

The following configuration example shows the LDP NSF feature configured on three routers. (See Figure 2.) In this configuration example, Router 1 creates an LDP session with Router 2. Router 1 also creates a targeted session with Router 3 through a TE tunnel using Router 2.

Figure 2 MPLS LDP: NSF/SSO Support and Graceful Restart Configuration Example

Router 1—Cisco 7500 Series

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz  

redundancy 
mode sso 
ip subnet-zero
ip cef
mpls label range 16 10000 static 10001 1048575
mpls label protocol ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
mpls traffic-eng tunnels
no mpls traffic-eng auto-bw timers frequency 0
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.20.20.20 255.255.255.255
 no ip directed-broadcast
 no ip mroute-cache
!
interface Tunnel1
 ip unnumbered Loopback0
 no ip directed-broadcast
 mpls label protocol ldp
 mpls ip
 tunnel destination 10.19.19.19
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth  500
 tunnel mpls traffic-eng path-option 1 dynamic
!
interface ATM5/1/0
 no ip address
 no ip directed-broadcast
 atm clock INTERNAL
 no atm enable-ilmi-trap
 no atm ilmi-keepalive
!
interface ATM5/1/0.5 point-to-point
 ip address 172.17.0.2 255.255.0.0
 no ip directed-broadcast
 no atm enable-ilmi-trap
 pvc 6/100 
  encapsulation aal5snap
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth 1000
!
router ospf 100
 log-adjacency-changes
 redistribute connected
     nsf enforce global
     network 172.17.0.0 0.255.255.255 area 100
 network 172.20.20.20 0.0.0.0 area 100
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 100

Router 2—Cisco 7500 Series

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz  

redundancy 
mode sso 
!
ip cef
no ip domain-lookup
mpls label range 17 10000 static 10001 1048575
mpls label protocol ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
mpls traffic-eng tunnels
no mpls traffic-eng auto-bw timers frequency 0
no mpls advertise-labels
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.18.17.17 255.255.255.255
 no ip directed-broadcast
!
interface ATM4/0/0
 no ip address
 no ip directed-broadcast
 no ip mroute-cache
 atm clock INTERNAL
 atm sonet stm-1
 no atm enable-ilmi-trap
 no atm ilmi-keepalive
!
interface ATM4/0/0.5 point-to-point
 ip address 172.17.0.1 255.255.0.0
 no ip directed-broadcast
 no atm enable-ilmi-trap
 pvc 6/100 
  encapsulation aal5snap
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth 1000
!
interface POS5/1/0
 ip address 10.0.0.1 255.0.0.0
 no ip directed-broadcast
 encapsulation ppp
 mpls label protocol ldp
 mpls traffic-eng tunnels
 mpls ip
 no peer neighbor-route
 clock source internal
 ip rsvp bandwidth 1000
!
router ospf 100
 log-adjacency-changes
     nsf enforce global
 redistribute connected
 network 10.0.0.0 0.255.255.255 area 100
 network 172.17.0.0 0.255.255.255 area 100
 network 172.18.17.17 0.0.0.0 area 100
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 100
!
ip classless

Router 3—Cisco 7500 Series

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz  

redundancy 
mode sso 
!
ip subnet-zero
ip cef
!
no ip finger
no ip domain-lookup
mpls label protocol ldp
mpls ldp neighbor 10.11.11.11 targeted ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
mpls traffic-eng tunnels
no mpls traffic-eng auto-bw timers frequency 0
mpls ldp discovery directed-hello interval 12
mpls ldp discovery directed-hello holdtime 130
mpls ldp discovery directed-hello accept
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.19.19.19 255.255.255.255
 no ip directed-broadcast
!
interface POS1/0
 ip address 10.0.0.2 255.0.0.0
 no ip directed-broadcast
 encapsulation ppp
 mpls label protocol ldp
 mpls traffic-eng tunnels
 mpls ip
 no peer neighbor-route
 clock source internal
 ip rsvp bandwidth 1000
!
router ospf 100
 log-adjacency-changes
     nsf enforce global
 redistribute connected
 network 10.0.0.0 0.255.255.255 area 100
 network 172.19.19.19 0.0.0.0 area 100
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 100
!
ip classless

Router 1—Cisco 10000 Series

boot system flash:c10k2-p11-mz 

redundancy 
mode sso 
ip subnet-zero
ip cef
mpls label protocol ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
no mpls traffic-eng auto-bw timers frequency 0
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.20.20.20 255.255.255.255
 no ip directed-broadcast
 no ip mroute-cache
!
interface ATM5/1/0
 no ip address
 no ip directed-broadcast
 atm clock INTERNAL
 no atm enable-ilmi-trap
 no atm ilmi-keepalive
!
interface ATM5/1/0.5 point-to-point
 ip address 172.18.0.2 255.255.0.0
 no ip directed-broadcast
 no atm enable-ilmi-trap
 pvc 6/100 
  encapsulation aal5snap
mpls label protocol ldp
mpls ip
!
router ospf 100
 log-adjacency-changes
 redistribute connected
     nsf enforce global
     network 172.18.0.0 0.255.255.255 area 100
 network 172.20.20.20 0.0.0.0 area 100

Router 2—Cisco 10000 Series

boot system flash:c10k2-p11-mz 

redundancy 
mode sso 
!
ip cef
no ip domain-lookup
mpls label protocol ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
no mpls traffic-eng auto-bw timers frequency 0
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.17.17.17 255.255.255.255
 no ip directed-broadcast
!
interface ATM4/0/0
 no ip address
 no ip directed-broadcast
 no ip mroute-cache
 atm clock INTERNAL
 atm sonet stm-1
 no atm enable-ilmi-trap
 no atm ilmi-keepalive
!
interface ATM4/0/0.5 point-to-point
 ip address 172.18.0.1 255.255.0.0
 no ip directed-broadcast
 no atm enable-ilmi-trap
 pvc 6/100 
  encapsulation aal5snap
mpls label protocol ldp
mpls ip
!
interface POS5/1/0
 ip address 10.0.0.1 255.0.0.0
 no ip directed-broadcast
 encapsulation ppp
 mpls label protocol ldp
 mpls ip
 no peer neighbor-route
 clock source internal
!
router ospf 100
 log-adjacency-changes
     nsf enforce global
 redistribute connected
 network 10.0.0.0 0.255.255.255 area 100
 network 172.18.0.0 0.255.255.255 area 100
 network 172.17.17.17 0.0.0.0 area 100
 mpls traffic-eng router-id Loopback0
!
ip classless

Router 3—Cisco 10000 Series

boot system flash:c10k2-p11-mz 

redundancy 
mode sso 
!
ip subnet-zero
ip cef
!
no ip finger
no ip domain-lookup
mpls label protocol ldp
mpls ldp logging neighbor-changes
mpls ldp graceful-restart
no mpls traffic-eng auto-bw timers frequency 0
mpls ldp router-id Loopback0 force
!
interface Loopback0
 ip address 172.19.19.19 255.255.255.255
 no ip directed-broadcast
!
interface POS1/0
 ip address 10.0.0.2 255.0.0.0
 no ip directed-broadcast
 encapsulation ppp
 mpls label protocol ldp
 mpls ip
 no peer neighbor-route
 clock source internal
!
router ospf 100
 log-adjacency-changes
     nsf enforce global
 redistribute connected
 network 10.0.0.0 0.255.255.255 area 100
 network 172.19.19.19 0.0.0.0 area 100
 mpls traffic-eng router-id Loopback0
!
ip classless

Additional References

The following sections provide references related to the NSF/SSO - MPLS LDP and LDP Graceful Restart feature.

Related Documents

Related Topic
Document Title

Stateful switchover

Stateful Switchover

MPLS Label Distribution Protocol

MPLS Label Distribution Protocol (LDP)

Cisco nonstop forwarding

Cisco Nonstop Forwarding


Standards

Standard
Title

None


MIBs

MIB
MIBs Link

MPLS Label Distribution Protocol MIB Version 8 Upgrade

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


RFCs

RFC
Title

RFC 3036

LDP Specification

RFC 3478

Graceful Restart Mechanism for Label Distribution


Technical Assistance

Description
Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. If you have a valid service contract but do not have a user ID or password, you can register on Cisco.com.

http://www.cisco.com/techsupport


Command Reference

This section documents only commands that are new or modified.

debug mpls ldp graceful-restart

mpls label protocol (global configuration)

mpls ldp graceful-restart

mpls ldp graceful-restart timers forwarding-holding

mpls ldp graceful-restart timers max-recovery

mpls ldp graceful-restart timers neighbor-liveness

show mpls ip binding

show mpls ldp bindings

show mpls ldp checkpoint

show mpls ldp graceful-restart

show mpls ldp neighbor

debug mpls ldp graceful-restart

To display debugging information for Multiprotocol (MPLS) Label Distribution Protocol (LDP) Stateful Switchover (SSO) Nonstop Forwarding (NSF) Support and Graceful Restart, use the debug mpls ldp graceful-restart command in privileged EXEC mode. To disable the display of this debugging information, use the no form of this command.

debug mpls ldp graceful-restart

no debug mpls ldp graceful-restart

Syntax Description

This command has no arguments or keywords.

Defaults

The display of debugging information is not enabled.

Command Modes

Privileged EXEC

Command History

Release
Modification

12.0(29)S

This command was introduced.

12.3(14)T

This command was integrated into Cisco IOS Release 12.3(14)T.

12.2(25)S

This command was integrated into Cisco IOS Release 12.2(25)S.

12.2(28)SB

This command was integrated into Cisco IOS Release 12.2(28)SB and implemented on the Cisco 10000 series routers.

12.2(33)SRA

This command was integrated into Cisco IOS Release 12.2(33)SRA.

12.2(33)SXH

This command was integrated into Cisco IOS Release 12.2(33)SXH.


Usage Guidelines

This command shows events and errors related to LDP Graceful Restart.

Examples

The following example shows sample output from the debug mpls ldp graceful-restart command. The output shows that a session was lost. The status message show the events that happen during recovery of the bindings.

Router# debug mpls ldp graceful-restart

LDP GR: GR session 10.110.0.10:0:: lost
LDP GR: down nbr 10.110.0.10:0:: created [1 total]
LDP GR: GR session 10.110.0.10:0:: bindings retained
LDP GR: down nbr 10.110.0.10:0:: added all 7 addresses [7 total]
LDP GR: down nbr 10.110.0.10:0:: state change (None -> Reconnect-Wait)
LDP GR: down nbr 10.110.0.10:0:: reconnect timer started [120000 msecs]
LDP GR: down nbr 10.110.0.10:0:: added to bindings task queue [1 entries]
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: Tagcon querying for up to 12 bindings update tasks
LDP GR: down nbr 10.110.0.10:0:: requesting bindings MARK for {10.110.0.10:0, 1}
LDP GR: down nbr 10.110.0.10:0:: removed from bindings task queue [0 entries]
LDP GR: Requesting 1 bindings update tasks [0 left in queue]
LDP GR: 2.0.0.0/8:: updating binding from 10.110.0.10:0, inst 1:: marking stale; 
LDP GR: 10.2.0.0/16:: updating binding from 10.110.0.10:0, inst 1:: marking stale; 
LDP GR: 14.0.0.14/32:: updating binding from 10.110.0.10:0, inst 1:: marking stale; 
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: searching for down nbr record (10.110.0.10:0, 10.2.0.10)
LDP GR: search for down nbr record (10.110.0.10:0, 10.2.0.10) returned 10.110.0.10:0
LDP GR: Added FT Sess TLV (Rconn 120000, Rcov 120000) to INIT msg to 10.110.0.10:0
LDP GR: Received FT Sess TLV from 10.110.0.10:0  (fl 0x1, rs 0x0, rconn 120000, rcov 
120000)
LDP GR: GR session 10.110.0.10:0:: allocated instance, 2
LDP GR: GR session 10.110.0.10:0:: established
LDP GR: GR session 10.110.0.10:0:: found down nbr 10.110.0.10:0
LDP GR: down nbr 10.110.0.10:0:: reconnect timer stopped
LDP GR: down nbr 10.110.0.10:0:: state change (Reconnect-Wait -> Recovering)
LDP GR: down nbr 10.110.0.10:0:: recovery timer started [120000 msecs]
%LDP-5-GR: GR session 10.110.0.10:0 (inst. 2): starting graceful recovery
%LDP-5-NBRCHG: LDP Neighbor 10.110.0.10:0 is UP
LDP GR: 2.0.0.0//8:: refreshing stale binding from 10.110.0.10:0, inst 1 -> inst 2
LDP GR: 10.43.0.0//16:: refreshing stale binding from 10.110.0.10:0, inst 1 -> inst 2
LDP GR: down nbr 10.110.0.10:0:: recovery timer expired
%LDP-5-GR: GR session 10.110.0.10:0 (inst. 2): completed graceful recovery
LDP GR: down nbr 10.110.0.10:0:: destroying record [0 left]
LDP GR: down nbr 10.110.0.10:0:: state change (Recovering -> Delete-Wait)
LDP GR: down nbr 10.110.0.10:0:: added to bindings task queue [1 entries]
LDP GR: Tagcon querying for up to 12 bindings update tasks
LDP GR: down nbr 10.110.0.10:0:: requesting bindings DEL for {10.110.0.10:0, 1}
LDP GR: down nbr 10.110.0.10:0:: removed from bindings task queue [0 entries]
LDP GR: Requesting 1 bindings update tasks [0 left in queue]
LDP GR: GR session 10.110.0.10:0:: released instance, 1

The debug output is formatted in three general ways.

LDP GR: GR session 10.110.0.10:0:: found down nbr 10.110.0.10:0

down nbr 10.110.0.10:0:: removed from bindings task queue [0 entries]

LDP GR: 2.0.0.0/8:: updating binding from 10.110.0.10:0, inst 1:: marking stale;

Table 1 describes the fields for the debug command output.

Table 1 debug mpls ldp graceful-restart Command Field Descriptions 

Field
Description

LDP GR

Identifies LDP Graceful Restart application

GR session 10.110.0.10:0

ID of the LDP session that is enabled for Graceful Restart.

found down nbr 10.110.0.10:0

Describes the event that is happening to that LDP session.

down nbr 10.110.0.10:0::

Identifies the Down Neighbor record, which logs the state of a recently lost Graceful Restart session.

removed from bindings task queue [0 entries]

Describes the event that is happening to the recently lost Graceful Restart session.

2.0.0.0/8::

Identifies the Forwarding Equivalence Class (FEC) associated with the remote label binding being modified. The FEC identifies the Label Information Base (LIB) entry.

updating binding

Lists the operation being performed on the remote label binding.

10.110.0.10:0, inst 1:: marking stale;

Identifies the LDP session during which the remote label binding was learned.


:

Related Commands

Command
Description

show mpls ldp graceful-restart

Displays a summary of the LDP Graceful Restart status.


mpls label protocol (global configuration)

To specify the Label Distribution Protocol (LDP) for a platform, use the mpls label protocol command in global configuration mode. To restore the default LDP, use the no form of this command.

mpls label protocol {ldp | tdp}

no mpls label protocol

Syntax Description

ldp

Specifies that LDP is the default label distribution protocol.

tdp

Specifies that Tag Distribution Protocol (TDP) is the default label distribution protocol.


Defaults

LDP is the default label distribution protocol.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.0(14)ST

This command was integrated into Cisco IOS Release 12.0(14)ST.

12.1(2)T

This command was integrated into Cisco IOS Release 12.1(2)T.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.

12.2(4)T

This command was integrated into Cisco IOS Release 12.2(4)T.

12.2(8)T

This command was integrated into Cisco IOS Release 12.2(8)T.

12.0(21)ST

This command was integrated into Cisco IOS Release 12.0(21)ST.

12.0(22)S

This command was integrated into Cisco IOS Release 12.0(22)S.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S.

12.2(14)S

This command was integrated into Cisco IOS Release 12.2(14)S.

12.2(13)T

This command was integrated into Cisco IOS Release 12.2(13)T.

12.4(3)

The command default changed from TDP to LDP.

12.2(28)SB

This command was integrated into Cisco IOS Release 12.2(28)SB and implemented on the Cisco 10000 series routers.

12.2(33)SRA

This command was integrated into Cisco IOS Release 12.2(33)SRA.

12.2(33)SXH

This command was integrated into Cisco IOS Release 12.2(33)SXH.


Usage Guidelines

If neither the global mpls label protocol ldp command nor the interface mpls label protocol ldp command is used, all label distribution sessions use LDP.


Note Use caution when upgrading the image on a router that uses TDP. Ensure that the TDP sessions are established when the new image is loaded. You can accomplish this by issuing the global configuration command mpls label protocol tdp. Issue this command and save it to the startup configuration before loading the new image. Alternatively, you can enter the command and save the running configuration immediately after loading the new image.


Examples

The following command establishes LDP as the label distribution protocol for the platform:

Router(config)# mpls label protocol ldp

Related Commands

Command
Description

mpls idp maxhops

Limits the number of hops permitted in an LSP established by the Downstream on Demand method of label distribution.

show mpls interfaces

Displays information about one or more or all interfaces that are configured for label switching.


mpls ldp graceful-restart

To enable Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart, use the mpls ldp graceful-restart command in global configuration mode. To disable LDP Graceful Restart, use the no form of this command.

mpls ldp graceful-restart

no mpls ldp graceful-restart

Syntax Description

This command has no arguments or keywords.

Defaults

LDP Graceful Restart is not enabled.

Command Modes

Global configuration

Command History

Release
Modification

12.0(29)S

This command was introduced.

12.3(14)T

This command was integrated into Cisco IOS Release 12.3(14)T.

12.2(25)S

This command was integrated into Cisco IOS Release 12.2(25)S.

12.2(28)SB

This command was integrated into Cisco IOS Release 12.2(28)SB and implemented on the Cisco 10000 series routers.

12.2(33)SRA

This command was integrated into Cisco IOS Release 12.2(33)SRA.

12.2(33)SXH

This command was integrated into Cisco IOS Release 12.2(33)SXH.


Usage Guidelines

LDP Graceful Restart must be enabled before an LDP session is established.

Using the no form of the command disables the Graceful Restart functionality on all LDP sessions.

Examples

The command in the following example enables LDP Graceful Restart on a router:

Router(config)# mpls ldp graceful-restart

Related Commands

Command
Description

mpls ldp graceful-restart timers forwarding-holding

Specifies the amount of time the MPLS forwarding state should be preserved after the control plane restarts.

mpls ldp graceful-restart timers max-recovery

Specifies the amount of time a router should hold stale label-FEC bindings after an LDP session has been reestablished.

mpls ldp graceful-restart timers neighbor-liveness

Specifies the amount of time a router should wait for an LDP session to be reestablished.


mpls ldp graceful-restart timers forwarding-holding

To specify the amount of time the Multiprotocol Label Switching (MPLS) forwarding state should be preserved after the control plane restarts, use the mpls ldp graceful-restart timers forwarding-holding command in global configuration mode. To revert to the default timer value, use the no form of this command.

mpls ldp graceful-restart timers forwarding-holding secs

no mpls ldp graceful-restart timers forwarding-holding

Syntax Description

secs

The amount of time (in seconds) that the MPLS forwarding state should be preserved after the control plane restarts. The default is 300 seconds. The acceptable range of values is 30 to 300 seconds.


Defaults

After the control plane on the Cisco 7500 and Cisco 10000 series router restarts, the MPLS forwarding state is preserved for 300 seconds.

Command Modes

Global configuration

Command History

Release
Modification

12.2(25)S

This command was introduced.

12.2(28)SB

This command was integrated into Cisco IOS Release 12.2(28)SB and implemented on the Cisco 10000 series routers.

12.2(33)SRA

This command was integrated into Cisco IOS Release 12.2(33)SRA.

12.2(33)SXH

This command was integrated into Cisco IOS Release 12.2(33)SXH.


Usage Guidelines

Configuring the local forwarding-holding timer to a value less than the IOS FT Reconnect Timeout of 120 seconds may prevent an LDP session from being established. Configure the forwarding-holding timer to less than 120 seconds only if an LDP neighbor has an FT Reconnect Timeout value of less than 120 seconds.

If the timer expires, all entries that are marked stale are deleted.

Examples

In the following example, the MPLS forwarding state is preserved for 300 seconds after the control plane restarts:

Router(config)# mpls ldp graceful-restart timers forwarding-holding 300

Related Commands

Command
Description

mpls ldp graceful-restart timers max-recovery

Specifies the amount of time a router should hold stale label-FEC bindings after an LDP session has been reestablished.

mpls ldp graceful-restart timers neighbor-liveness

Specifies the amount of time a router should wait for an LDP session to be reestablished.


mpls ldp graceful-restart timers max-recovery

To specify the amount of time a router should hold stale label-Forwarding Equivalence Class (FEC) bindings after a Label Distribution Protocol (LDP) session has been reestablished, use the mpls ldp graceful-restart timers max-recove