MPLS LDP Graceful Restart

When a router is configured with MPLS LDP graceful restart feature, it assists a neighboring router that has MPLS LDP stateful switchover or nonstop forwarding (SSO or NSF) support and graceful restart to recover gracefully from an interruption in service. This module explains the concepts related to MPLS LDP graceful restart and describes how to configure it on Cisco Smart Switches.

Feature history for MPLS LDP graceful restart

This table provides release and platform support information for the features explained in this module.

These features are available in all the releases subsequent to the one they were introduced in, unless noted otherwise.

Release

Feature name and description

Supported platform

Cisco IOS XE 17.18.2

MPLS LDP graceful restart

Cisco C9350 Series Smart Switches

Cisco C9610 Series Smart Switches

MPLS LDP graceful restart

MPLS LDP graceful restart (GR) is a high-availability feature that

  • assists a neighboring device that has MPLS LDP stateful switchover (SSO) or nonstop forwarding (NSF) support and graceful restart to recover gracefully from an interruption in service

  • enables an SSO- or NSF-enabled device to become operational more quickly by maintaining its forwarding state when the LDP session is interrupted, and

  • functions strictly in helper mode, meaning it can only help other devices that are enabled with MPLS SSO or NSF and GR to recover.

How a route processor advertises MPLS LDP graceful restart support

A route processor (RP) that is configured to perform MPLS LDP GR includes the Fault Tolerant (FT) Type Length Value (TLV) in the LDP initialization message. The RP sends the LDP initialization message to a neighbor to establish an LDP session.

The FT session TLV includes this 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 switch fails, its peers should not wait for it to recover. The timer setting indicates that the local switch 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.

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 MPLS LDP graceful restart works

Summary

The key components involved in the process are:

  • Device configured with MPLS LDP GR (helper device): Assists a peer device in recovering from service interruptions by maintaining stale label bindings and re-establishing LDP sessions.

  • Device configured with MPLS LDP SSO or NSF (recovering device): The device that experiences a service disruption such as a TCP/UDP event, route processor switchover, and needs to recover its MPLS forwarding state.

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

Workflow

These stages describe how MPLS LDP graceful restart works:

  1. Interruption detection: A helper device notices an interruption in service with the recovering device.
  2. Stale binding marking: The helper device marks all label bindings received from the recovering device as stale but continues to use them for MPLS forwarding.
  3. Session re-establishment: The helper device re-establishes an LDP session with the recovering device while retaining its stale label bindings.
  4. Label binding re-advertisement: Both devices re-advertise their label binding information. If the helper device relearns a label from the recovering device after the session is established, the stale flags are removed.

Restrictions for MPLS LDP graceful restart

The support for MPLS LDP graceful restart feature is subjected to these restrictions:

  • MPLS LDP GR is supported only in strict helper mode.

  • MPLS LDP GR cannot be configured on label-controlled ATM (LC-ATM) interfaces.

Behavior without MPLS LDP graceful restart configuration

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 to function.

Configure MPLS LDP graceful restart

This task configures the switch to operate in helper mode. In this mode, the router assists neighboring peers enabled with SSO or NSF to recover gracefully. Enabling this feature globally affects only new LDP sessions.

Before you begin

  • Ensure that Cisco Express Forwarding (CEF) is enabled on the switch.

  • You must enable MPLS LDP graceful restart GR on all route processors for an LDP session to be preserved during an interruption in service.

Procedure


Step 1

Enable distributed CEF on the switch.

Example:


Device> enable
Device# configure terminal
Device(config)# ip cef distributed

The mpls ip command is enabled by default. You do not have to specify this command.

Globally enabling MPLS forwarding does not enable it on the device interfaces. You must enable MPLS forwarding on the interfaces as well as for the device.

Step 2

Enable the switch to protect LDP bindings and the MPLS forwarding state.

Example:


Device(config)# mpls ldp graceful-restart

The mpls ip command is enabled by default. You do not have to specify this command.

Globally enabling MPLS forwarding does not enable it on the device interfaces. You must enable MPLS forwarding on the interfaces as well as for the device.

Step 3

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

Example:


Device(config)# interface HundredGigE 0/1/0
Device(config-if)# mpls ip
Device(config-if)#mpls label protocol ldp
Device(config-if)# exit
Device(config)#exit

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

Step 4

Verify MPLS LDP graceful restart configuration

  1. Display graceful restart information for LDP sessions.

    Example:

    
    Device# 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
    
  2. Display graceful restart sessions and session parameters.

    Example:

    
    Device# show mpls ldp neighbor graceful-restart
    LDP Graceful Restart is enabled
    Neighbor Liveness Timer: 120 seconds
    Max Recovery Time: 120 seconds
    Forwarding State Holding Time: 600 seconds
    Down Neighbor Database (0 records):
    Graceful Restart-enabled Sessions:
      VRF default:
        Peer LDP Ident: 44.44.44.44:0, State: estab
        Peer LDP Ident: 11.11.11.11:0, State: estab
  3. Display the status of LDP sessions.

    Example:

    
    Device# show mpls ldp neighbor
    Peer LDP Ident: 10.1.1.2:0; Local LDP Ident 10.1.1.1:0
    TCP connection: 10.1.1.2.18 - 10.1.1.1.66
    State: Oper; Msgs sent/rcvd: 12/11; Downstream
    Up time: 00:00:10
    LDP discovery sources:
    HundredGigE0/1/0, Src IP addr: 10.20.10.2
    Addresses bound to peer LDP Ident:
    10.1.1.2    10.20.20.1    10.20.10.2

The device is now configured to support MPLS LDP graceful restart in helper mode. New LDP sessions will include the Fault Tolerant (FT) Type Length Value (TLV) in their initialization messages.