MPLS LDP Graceful Restart
When a router is configured with Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (GR), it assists a neighboring router that has MPLS LDP Stateful Switchover/Nonstop Forwarding (SSO/NSF) Support and Graceful Restart to recover gracefully from an interruption in service. In this Cisco IOS release, MPLS LDP GR functions strictly in helper mode, which means it can only help other routers that are enabled with MPLS SSO/NSF and GR to recover. If the router with LDP GR fails, its peer routers cannot help it recover.
Notes:
•
The MPLS LDP GR feature described in this document refers to helper mode.
When you enable MPLS LDP GR on a router that peers with an MPLS LDP SSO/NSF-enabled router, the SSO/NSF-enabled router can maintain its forwarding state when the LDP session between them is interrupted. While the SSO/NSF-enabled router recovers, the peer router forwards packets using stale information. This enables the SSO/NSF-enabled router to become operational more quickly.
Feature History for MPLS LDP Graceful Restart
Contents
•
Information About MPLS LDP Graceful Restart
•
How to Configure MPLS LDP Graceful Restart
•
Configuration Example for MPLS LDP Graceful Restart
Information About MPLS LDP Graceful Restart
To configure MPLS LDP GR, you need to understand the following concepts:
•
How MPLS LDP Graceful Restart Works
•
How a Route Processor Advertises That It Supports MPLS LDP Graceful Restart
•
What Happens If a Route Processor Does Not Have LDP Graceful Restart
How MPLS LDP Graceful Restart Works
MPLS LDP GR works in strict helper mode, which means it helps a neighboring route processor that has MPLS LDP SSO/NSF to recover from disruption in service without losing its MPLS forwarding state. The disruption in service could be the result of a TCP or UDP event or the stateful switchover of a route processor. When the neighboring router establishes a new session, the LDP bindings and MPLS forwarding states are recovered.
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.
•
Router 2 has been configured with MPLS LDP SSO/NSF. Routers 1 and 3 have been configured with MPLS LDP GR.
•
A label switched path (LSP) has been established between Router 1 and Router 3.
Figure 1 Example of a Network Using LDP Graceful Restart

The following process shows how Routers 1 and 3, which have been configured with LDP GR help Router 2, which has been configured with LDP SSO/NSF recover from a disruption in service:
1.
Router 1 notices an interruption in service with Router 2. (Router 3 also performs the same actions in this process.)
2.
Router 1 marks all the label bindings from Router 2 as stale, but it continues to use the bindings for MPLS forwarding.
Router 1 reestablishes an LDP session with Router 2, but keeps its 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.
3.
Both routers readvertise their label binding information. If Router 1 relearns a label from Router 2 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 graceful restart timers. See the following commands for more information:
•
mpls ldp graceful-restart timers neighbor-liveness
•
mpls ldp graceful-restart timers max-recovery
How a Route Processor Advertises That It Supports MPLS LDP Graceful Restart
A route processor that is configured to perform MPLS LDP GR 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 MPLS LDP GR.
•
The Reconnect Timeout field shows the time (in milliseconds) that the neighbor should wait for a reconnection if the LDP session is lost. In this release, the timer is set to 0, which indicates that if the local router fails, its peers should not wait for it to recover. The timer setting indicates that the local router is working in helper mode.
•
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 two route processors establish an LDP session and one route processor is not configured for MPLS LDP GR, the two route processors create a normal LDP session but do not have the ability to perform MPLS LDP GR. Both route processors must be configured for MPLS LDP GR.
How to Configure MPLS LDP Graceful Restart
This section contains the following procedures:
•
Configuring MPLS LDP Graceful Restart (required)
•
Verifying the Configuration (optional)
Configuring MPLS LDP Graceful Restart
You must enable MPLS LDP GR on all route processors for an LDP session to be preserved during an interruption in service.
MPLS LDP GR is enabled globally. When you enable MPLS LDP GR, it has no effect on existing LDP sessions. New LDP sessions that are established can perform MPLS LDP GR.
Restrictions
•
MPLS LDP GR is supported in strict helper mode.
•
Tag Distribution Protocol (TDP) sessions are not supported. Only LDP sessions are supported.
•
MPLS LDP GR cannot be configured on label-controlled ATM (LC-ATM) interfaces.
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

Note
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
The following commands help verify that MPLS LDP GR has been configured correctly:
Configuration Example for MPLS LDP Graceful Restart
Figure 2 shows a configuration where MPLS LDP GR is enabled on Router 1 and MPLS LDP SSO/NSF is enabled on Routers 2 and 3. 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 traffic engineering tunnel using Router 2.
Figure 2 MPLS LDP Graceful Restart Configuration Example

Router 1 configured with LDP GR:
boot system slot0:rsp-pv-mz
hw-module slot 2 image slot0:rsp-pv-mz
hw-module slot 3 image slot0:rsp-pv-mz
!
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 20.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 19.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 12.0.0.2 255.0.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
network 12.0.0.0 0.255.255.255 area 100
network 20.20.20.20 0.0.0.0 area 100
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 100
Router 2 configured with LDP SSO/NSF:
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 17.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 12.0.0.1 255.0.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 11.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
redistribute connected
nsf enforce global
network 11.0.0.0 0.255.255.255 area 100
network 12.0.0.0 0.255.255.255 area 100
network 17.17.17.17 0.0.0.0 area 100
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 100
!
ip classless
Router 3 configured with LDP SSO/NSF:
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 11.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 19.19.19.19 255.255.255.255
no ip directed-broadcast
!
interface POS1/0
ip address 11.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
redistribute connected
nsf enforce global
network 11.0.0.0 0.255.255.255 area 100
network 19.19.19.19 0.0.0.0 area 100
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 100
!
ip classless