MPLS High Availability Configuration Guide, Cisco IOS XE Release 3S (Cisco ASR 1000)
NSF SSO--MPLS LDP and LDP Graceful Restart
Downloads: This chapterpdf (PDF - 1.26MB) The complete bookPDF (PDF - 2.92MB) | The complete bookePub (ePub - 375.0KB) | Feedback

NSF SSO--MPLS LDP and LDP Graceful Restart

Contents

NSF SSO--MPLS LDP and LDP Graceful Restart

Cisco Nonstop Forwarding (NSF) with Stateful Switchover (SSO) 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 (RP) 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

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 NSF SSO--MPLS LDP and LDP Graceful Restart

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

To perform LDP NSF, RPs 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 restriction:

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

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

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

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

  • LDP restart--An LDP Restart occurs after an SSO event interrupts LDP communication with all LDP neighbors. If the RPs are configured with LDP NSF, the backup RP retains the MPLS forwarding state and reestablishes communication with the LDP neighbors. Then the RP ensures that the MPLS forwarding state is recovered.
  • LDP session reset--An 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 RP is configured with MPLS LDP NSF support and graceful restart, the RP 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 the figure below, 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 an RP 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 enter a showmplsldpgraceful-restart command, the command output includes the following line:
LDP is restarting gracefully. 
  1. Router 1 and Router 3 reestablish LDP sessions with Router 2, but they keep their stale label bindings. If you enter a showmplsldpneighborcommand with the graceful-restart keyword, the command output displays the recovering LDP sessions.
  2. 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 showmplsforwarding-tablecommand 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

An RP that is configured to perform LDP NSF 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 the following information:

  • The Learn from Network (L) flag is set to 1, which indicates that the RP 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 an RP is not configured for MPLS LDP Graceful Restart and it attempts to establish an LDP session with an RP that is configured with LDP Graceful Restart, the following events occur:

  1. The RP that is configured with MPLS LDP Graceful Restart sends an initialization message that includes the FT session TLV value to the RP that is not configured with MPLS LDP Graceful Restart.
  2. The RP that is not configured for MPLS LDP Graceful Restart receives the LDP initialization message and discards the FT session TLV.
  3. The two RPs create a normal LDP session but do not have the ability to perform MPLS LDP Graceful Restart.

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

Checkpointing for NSF SSO--MPLS LDP and LDP Graceful Restart

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

For the LDP NSF feature, the checkpointing function copies the active RP’s LDP local label bindings to the backup RP. The active RP sends updates to the backup RP 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-restartcommand on the active RP.

To check that the active and backup RPs have identical copies of the local label bindings, you can issue the show mpls ldp bindingscommand with the detail keyword on the active and backup RPs. This command displays the local label bindings that have been saved. The active RP and the backup RP 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

To configure MPLS LDP Graceful Restart, perform the following task. 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.

Before You Begin
  • RPs 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 / subslot / port [. subinterface-number

    6.    mpls ip

    7.    mpls label protocol ldp

    8.    exit

    9.    exit


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.

     
    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 / subslot / port [. subinterface-number


    Example:
    Router(config)# interface pos 0/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


    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.

     
    Step 8 exit


    Example:
    Router(config-if)# exit
     

    Exits interface configuration mode and returns to global configuration mode.

     
    Step 9 exit


    Example:
    Router(config)# exit
     

    Exits global configuration mode and returns to privileged EXEC mode.

     

    Verifying the MPLS LDP Graceful Restart Configuration

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

    SUMMARY STEPS

      1.    enable

      2.    show mpls ldp graceful-restart

      3.    show mpls ldp neighbor graceful restart

      4.    show mpls ldp checkpoint

      5.    exit


    DETAILED STEPS
      Step 1   enable

      Use this command to enable privileged EXEC mode. Enter your password if prompted. For example:



      Example:
      Router> enable
      Router#
      
      Step 2   show mpls ldp graceful-restart

      The command output displays Graceful Restart sessions and session parameters:



      Example:
      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 3   show mpls ldp neighbor graceful restart

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



      Example:
      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 4   show mpls ldp checkpoint

      The command output displays the summary of the checkpoint information:



      Example:
      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
      
      Step 5   exit

      Use this command to return to user EXEC mode. For example:



      Example:
      Router# exit
      Router>
      

      Configuration Examples for NSF SSO--MPLS LDP and LDP Graceful Restart

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

      The following configuration example shows the LDP NSF feature configured on three routers. (See the figure below.) 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

      redundancy 
      mode sso 
      ip subnet-zero
      ip cef distributed
      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 ATM0/1/0
       no ip address
       no ip directed-broadcast
       atm clock INTERNAL
       no atm enable-ilmi-trap
       no atm ilmi-keepalive
      !
      interface ATM0/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

      redundancy 
      mode sso 
      !
      ip cef distributed
      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 ATM0/3/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 ATM0/3/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 POS0/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

      redundancy 
      mode sso 
      !
      ip subnet-zero
      ip cef distributed
      !
      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/1/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
      

      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)

      MPLS LDP commands

      Cisco IOS Multiprotocol Label Switching Command Reference

      Cisco nonstop forwarding

      Cisco Nonstop Forwarding

      High availability commands

      Cisco IOS High Availability Command Reference

      Standards

      Standard

      Title

      No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

      --

      MIBs

      MIB

      MIBs Link

      MPLS Label Distribution Protocol MIB Version 8 Upgrade

      To locate and download MIBs for selected platforms, Cisco IOS XE software 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 Distributio n

      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.

      To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

      Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

      http:/​/​www.cisco.com/​techsupport

      Feature Information for NSF SSO--MPLS LDP and 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 NSF/SSO--MPLS LDP and LDP Graceful Restart

      Feature Name

      Releases

      Feature Information

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

      Cisco IOS XE Release 2.1

      Cisco Nonstop Forwarding (NSF) with Stateful Switchover (SSO) 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 (RP) 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).

      In Cisco IOS XE Release 2.1, this feature was introduced on Cisco ASR 1000 Series Aggregation Services Routers.

      The following commands were introduced 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.