NSR LDP Support

The NSR LDP Support feature allows the Label Distribution Protocol (LDP) to continue to operate across a Router Processor (RP) failure in redundant systems, without losing peer sessions. Before the introduction of nonstop routing (NSR), LDP sessions with peers reset if an RP failover (in a redundant system) or a Cisco In-Service Software Upgrade (ISSU) occurred. When peers reset, traffic is lost while the session is down. Protocol reconvergence occurs after the session is reestablished.

When NSR is enabled, RP failover and Cisco ISSU events are not visible to the peer device, and the LDP sessions that were established prior to failover do not flap. The protocol state learned from the peers persists across an RP failover or Cisco ISSU event and does not need to be relearned.

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.

Prerequisites for NSR LDP Support

The Label Distribution Protocol (LDP) must be up and running on the standby Route Processor (RP) for NSR LDP Support to work.

Information About NSR LDP Support

Roles of the Standby Route Processor and Standby LDP

For the NSR LDP Support feature to work, the Label Distribution Protocol (LDP) must be up and running on the standby Route Processor (RP). The LDP component running on the active RP is called the active LDP, and the LDP component running on the standby RP is called the standby LDP.

When nonstop routing (NSR) is enabled, the standby LDP runs independently from the active LDP, but with the assistance of some software components. The standby LDP maintains LDP session states and database information, ready to take over for the active LDP if the failover occurs.

Standby LDP maintains its local database by querying or receiving notifications of interface status change, configuration changes from the CLI, and checkpoints from the active LDP for other information that is not directly available on the standby RP.

To keep the protocol and session-state information synchronized with the active LDP, the standby LDP depends on TCP to replicate all LDP messages on the active RP to the standby RP. The standby LDP processes all received messages, updates its state, but does not send any responses to its neighbors.

The standby LDP performs the following tasks:

  • Processes LDP configuration on startup and during steady state

  • Processes active LDP checkpoints of state and session information such as LDP adjacencies, remote addresses, remote bindings, and so forth

  • Builds its database of local interfaces

  • Processes interface change events

  • Receives and processes all LDP messages replicated by TCP

  • Updates remote address and label databases

After a switchover and notification that the RP has become active, the standby LDP takes over the role of the active LDP and performs the following tasks:

  • Sends hello messages immediately to prevent neighbors from reaching the discovery timeout and bringing down the session

  • Retransmits any protocol-level response that has not been sent by the previous active LDP

  • Readvertises label bindings

  • Refreshes all forwarding entries

  • Processes and responds to any LDP message from its neighbor

When the NSR LDP Support feature is disabled, the active LDP performs the following tasks:

  • Stops checkpointing to the standby LDP

  • Continues to manage all existing sessions

The standby LDP performs the following tasks:

  • Cleans up all session-state information

  • Reverses to the behavior before NSR is enabled

LDP Operating States

When the NSR LDP Support feature is enabled, the Label Distribution Protocol (LDP) operates in the following states:

Initial State

In the initial state, the active Label Distribution Protocol (LDP) process sets up the standby LDP to be ready to support nonstop routing (NSR). The active LDP performs the following tasks:

  • Replicates all TCP sessions used by LDP with the standby LDP

  • Synchronizes all existing session-state information with the standby LDP

  • Synchronizes the LDP database with the standby LDP

LDP could be in the initial state because of one of these conditions:

  • NSR is enabled

  • NSR was enabled and the standby Route Processor (RP) starts up (asymmetric startup)

  • System boots up and NSR is configured (symmetric startup)

Steady State

In the steady state, the active and standby Label Distribution Protocol (LDP) databases are synchronized. The active and standby LDP process the same LDP messages and update their states independently. The standby LDP is ready to take over the active LDP role in a switchover event.

On the active Route Processor (RP), the active LDP performs the following tasks:

  • Continues to manage all existing sessions and checkpoints any significant session event to the standby LDP (such as adjacency delete, session shutdown, timers)

  • Notifies the standby LDP of new adjacencies and neighbors

On the standby RP, the standby LDP performs these tasks:

  • Processes all received messages but does not send any messages to its neighbor

  • Processes checkpoint information from the active LDP

  • Manages session keepalive timers but does not bring down the session if a keepalive timer times out

Post Switchover

In the post switchover state, the standby Label Distribution Protocol (LDP) process takes over the active LDP role while the active Route Processor (RP) is reloading.

Supported NSR Scenarios

The NSR LDP Support feature is supported under the following scenarios:

  • Route Processor (RP) failover or node failure

    The Label Distribution Protocol (LDP) keeps the session up during an RP or node failover because the LDP adjacency and session-state information between LDP on the active and standby RPs are synchronized. As sessions are created on the active RP, new adjacencies are synchronized to the standby RP. If a standby RP is brought online after sessions are already up (asymmetric startup), LDP synchronizes the existing session-state information from the active to the standby RP.

  • Cisco In-Service Software Upgrade (ISSU)

    LDP supports Cisco ISSU negotiation between RPs when a standby RP comes online for the MPLS LDP IGP Synchronization feature. Current Cisco ISSU negotiation is not impacted by NSR. For NSR, LDP negotiates messages specific to NSR, which are checkpointed during initial synchronization (adjacency and session-state information).

How to Configure NSR LDP Support

Enabling NSR LDP Support

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. mpls ldp nsr
  4. exit
  5. show mpls ldp nsr

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

mpls ldp nsr

Example:


Device(config)# mpls ldp nsr

Enables nonstop routing (NSR) for all Label Distribution Protocol (LDP) sessions for both link and targeted.

Step 4

exit

Example:


Device(config)# exit

Returns to privileged EXEC mode.

Step 5

show mpls ldp nsr

Example:


Device# show mpls ldp nsr

Displays whether NSR is enabled.

Troubleshooting Tips for NSR LDP Support

Use the debug mpls ldp nsr command to enable the display of Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) nonstop routing (NSR) debugging events for all NSR sessions or for the specified peer.

Configuration Examples for NSR LDP Support

Example: NSR LDP Configuration

Device 1 Configured with NSR LDP Support

Router# show mpls ldp nsr

LDP Non-Stop Routing is enabled
LDP Non-Stop Routing Sessions:
VRF default:
Peer LDP Ident: 3.3.3.3:0 State: Ready

Router# show mpls ldp nsr statistics

Peer: 3.3.3.3:0
In label Request Records created: 0, freed: 0
In label Withdraw Records created: 0, freed: 0
Local Address Withdraw Set: 0, Cleared: 0
Transmit contexts enqueued: 0, dequeued: 0
Total In label Request Records created: 0, freed: 0
Total In label Withdraw Records created: 0, freed: 0
Total Local Address Withdraw Records created: 0, freed: 0
Label Request Acks:
Number of chkpt msg sent: 0
Number of chkpt msg in queue: 0
Number of chkpt msg in state none: 0
Number of chkpt msg in state send: 0
Number of chkpt msg in state wait: 0
Label Withdraw Acks:
Number of chkpt msg sent: 0
Number of chkpt msg in queue: 0
Number of chkpt msg in state none: 0
Number of chkpt msg in state send: 0
Number of chkpt msg in state wait: 0
Address Withdraw Acks:
Number of chkpt msg sent: 0
Number of chkpt msg in queue: 0
Number of chkpt msg in state none: 0
Number of chkpt msg in state send: 0
Number of chkpt msg in state wait: 0
Session Sync:
Number of session-sync msg sent: 3
Number of address records created: 1
Number of address records freed: 1
Number of dup-address records created: 1
Number of dup-address records freed: 1
Number of remote binding records created: 1
Number of remote binding records freed: 1
Number of capability records created: 1
Number of capability records freed: 1
Number of addr msg in state none: 0
Number of dup-addr msg in state none: 0
Number of remote binding msg in state none: 0
Number of capability msg in state none: 0
Number of addr msg in state send: 0
Number of dup-addr msg in state send: 0
Number of remote binding msg in state send: 0
Number of capability msg in state send: 0
Number of addr msg in state wait: 0
Number of dup-addr msg in state wait: 0
Number of remote binding msg in state wait: 0
Number of capability msg in state wait: 0
Number of sync-done msg sent: 1

Router# show mpls ldp neighbor

Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0
TCP connection: 3.3.3.3.646 - 5.5.5.5.13395
State: Oper; Msgs sent/rcvd: 222/219; Downstream
Up time: 02:44:11
LDP discovery sources:
Port-channel1, Src IP addr: 10.5.1.1
TenGigabitEthernet0/4/1, Src IP addr: 10.3.1.1
TenGigabitEthernet0/0/1, Src IP addr: 10.4.1.1
Addresses bound to peer LDP Ident:
3.3.3.3 10.5.1.1 10.7.1.1 10.6.1.1
10.8.1.1 10.3.1.1 10.4.1.1

Device 2 Configured without NSR LDP Support

Router# show mpls ldp nsr

LDP Non-Stop Routing is disabled

Additional References for NSR LDP Support

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

LDP configuration tasks

MPLS Label Distribution Protocol Configuration Guide

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 NSR LDP Support

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 NSR LDP Support

Feature Name

Release

Feature Information

NSR LDP Support

IOS XE 3.5

This feature was introduced on the Cisco RSP1 Module in this release.

NSR LDP Support

IOS XE 3.13

This feature was introduced on the Cisco RSP2 Module in this release.

NSR LDP Support

IOS XE 3.16

This feature was introduced on the Cisco RSP3 Module in this release.

Feature Name

Release

Feature Information

NSR LDP Support

IOS XE 3.13

This feature was introduced on the Cisco ASR 920 Series Aggregation Services Router.