MPLS LDP Graceful Restart

When a device is configured with Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (GR), it assists a neighboring device 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 software release, MPLS LDP GR functions strictly in helper mode, which means it can only help other devices that are enabled with MPLS SSO/NSF and GR to recover. If the device with LDP GR fails, its peer devices cannot help it recover.

Notes:

  • MPLS LDP SSO/NSF Support and Graceful Restart feature is called LDP SSO/NSF in this document.
  • The MPLS LDP GR feature described in this document refers to helper mode.

When you enable MPLS LDP GR on a device that peers with an MPLS LDP SSO/NSF-enabled device, the SSO/NSF-enabled device can maintain its forwarding state when the LDP session between them is interrupted. While the SSO/NSF-enabled device recovers, the peer device forwards packets using stale information. This enables the SSO/NSF-enabled device to become operational more quickly.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and 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 feature information table at the end of this module.

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

Restrictions for MPLS LDP Graceful Restart

  • Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (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.
  • MPLS LDP SSO/NSF is supported in Cisco IOS Release 12.2(25)S. It is not supported in this release.

Information About MPLS LDP Graceful Restart

How MPLS LDP Graceful Restart Works

Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (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 device establishes a new session, the LDP bindings and MPLS forwarding states are recovered.

In the topology shown in the figure below, the following elements have been configured:

  • LDP sessions are established between Device 1 and Device 2, as well as between Device 2 and Device 3.
  • Device 2 has been configured with MPLS LDP SSO/NSF. Devices 1 and 3 have been configured with MPLS LDP GR.
  • A label switched path (LSP) has been established between Device 1 and Device 3.
Figure 1. Example of a Network Using LDP Graceful Restart

The following process shows how Devices 1 and 3, which have been configured with LDP GR help Device 2, which has been configured with LDP SSO/NSF recover from a disruption in service:

  1. Device 1 notices an interruption in service with Device 2. (Device 3 also performs the same actions in this process.)
  2. Device 1 marks all the label bindings from Device 2 as stale, but it continues to use the bindings for MPLS forwarding.

Device 1 reestablishes an LDP session with Device 2, but keeps its stale label bindings. If you issue a show mpls ldp neighbor graceful-restart command, the output displays the recovering LDP sessions.

  1. Both devices readvertise their label binding information. If Device 1 relearns a label from Device 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 Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (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 device fails, its peers should not wait for it to recover. The timer setting indicates that the local device 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 a Label Distribution Protocol (LDP) session and one route processor is not configured for Multiprotocol Label Switching (MPLS) LDP Graceful Restart (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

Configuring MPLS LDP Graceful Restart

You must enable Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (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.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    ip cef [distributed]

    4.    mpls ldp graceful-restart

    5.    interface type number

    6.    mpls ip

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


DETAILED STEPS
      Command or Action Purpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.
     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3 ip cef [distributed]


    Example:
    Device(config)# ip cef distributed 
     

    Enables Cisco Express Forwarding (CEF).

     
    Step 4 mpls ldp graceful-restart


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

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

     
    Step 5 interface type number


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

    Specifies an interface and enters interface configuration mode.

     
    Step 6 mpls ip


    Example:
    Device(config-if)# mpls ip 
     

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

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


    Example:
    Device(config-if)# mpls label protocol ldp 
     

    Configures the use of LDP for an interface. You must use LDP.

     
    What to Do Next


    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 MPLS LDP Graceful Restart Configuration

    The following commands help verify that Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) Graceful Restart (GR) has been configured correctly:

    show mpls ldp neighbor with the graceful-restart keyword

    Displays the Graceful Restart information for LDP sessions.

    show mpls ldp graceful-restart

    Displays Graceful Restart sessions and session parameters.

    Configuration Example for MPLS LDP Graceful Restart

    Example: MPLS LDP Graceful Restart Configuration

    Device 1 configured with LDP GR:

    The figure below shows a configuration where MPLS LDP GR is enabled on Device 1 and MPLS LDP SSO/NSF is enabled on Devices 2 and 3. In this configuration example, Device 1 creates an LDP session with Device 2. Device 1 also creates a targeted session with Device 3 through a traffic engineering tunnel using Device 2.

    Figure 2. MPLS LDP Graceful Restart Configuration Example

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

    Additional References

    Related Documents

    Related Topic

    Document Title

    Cisco IOS commands

    Cisco IOS Master Command List, All Releases

    MPLS commands

    Cisco IOS Multiprotocol Label Switching Command Reference

    MPLS Label Distribution Protocol

    “MPLS Label Distribution Protocol” module in the MPLS Label Distribution Protocol Configuration Guide

    MIBs

    MIBs

    MIBs Link

    • MPLS Label Distribution Protocol MIB Version 8 Upgrade

    To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

    http:/​/​www.cisco.com/​go/​mibs

    RFCs

    RFCs

    Title

    RFC 3036

    LDP Specification

    RFC 3478

    Graceful Restart Mechanism for Label Distribution

    Technical Assistance

    Description

    Link

    The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

    http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

    Feature Information for MPLS LDP Graceful Restart

    The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

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

    Table 1 Feature Information for MPLS LDP Graceful Restart

    Feature Name

    Releases

    Feature Information

    MPLS LDP Graceful Restart

    12.0(29)S

    12.3(14)T

    12.2(33)SRA

    The MPLS LDP Graceful Restart feature assists a neighboring device that has MPLS LDP Stateful Switchover/Nonstop Forwarding (SSO/NSF) Support and Graceful Restart to recover gracefully from an interruption in service.

    In Cisco IOS Release 12.0(29)S, this feature was introduced.

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

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

    The following commands were introduced or modified:

    debug mpls ldp graceful-restart, mpls ldp graceful-restart, 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 graceful-restart, show mpls ldp neighbor.