EIGRP Nonstop Forwarding (NSF) Awareness

Nonstop Forwarding (NSF) awareness allows an NSF-aware router to assist NSF-capable and NSF-aware neighbors to continue forwarding packets during a switchover operation or during a well-known failure condition. The EIGRP Nonstop Forwarding Awareness feature allows an NSF-aware router that is running Enhanced Interior Gateway Routing Protocol (EIGRP) to forward packets along routes known to a router performing a switchover operation or in a well-known failure condition. This capability allows the EIGRP peers of the failing router to retain the routing information that it has advertised and to continue using this information until the failed router resumes normal operation and is able to exchange routing information. The peering session is maintained throughout the entire NSF operation.

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.

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 EIGRP Nonstop Forwarding Awareness

  • Your network is configured to run EIGRP.

  • An NSF-aware router must be up and completely converged with the network before it can assist an NSF-capable router in an NSF restart operation.

  • A version of Cisco IOS that supports NSF awareness or NSF capabilities must be installed.

Restrictions for EIGRP Nonstop Forwarding Awareness

  • All neighboring devices participating in EIGRP NSF must be NSF-capable or NSF-aware.

  • EIGRP NSF awareness does not support two neighbors performing an NSF restart operation at the same time. However, both neighbors can reestablish peering sessions after the NSF restart operation is completed.

Information About EIGRP Nonstop Forwarding Awareness

Cisco NSF Routing and Forwarding Operation

Cisco NSF is supported by the BGP, EIGRP, OSPF, and IS-IS protocols for routing and by Cisco Express Forwarding (CEF) for forwarding. Of the routing protocols, BGP, OSPF, and IS-IS have been enhanced with NSF-capability and awareness, which means that routers running these protocols can detect a switchover and take the necessary actions to continue forwarding network traffic and to recover route information from the peer devices. The IS-IS protocol can be configured to use state information that has been synchronized between the active and the standby route processor (RP) to recover route information following a switchover instead of information received from peer devices.

In this document, a networking device that is NSF-aware is running NSF-compatible software. A device that is NSF-capable has been configured to support NSF; therefore, the device rebuilds routing information from NSF-aware or NSF-capable neighbors.

Each protocol depends on CEF to continue forwarding packets during switchover while the routing protocols rebuild the routing information base (RIB) tables. After the routing protocols have converged, CEF updates the forwarding information base (FIB) table and removes stale route entries. CEF, in turn, updates the line cards with the new FIB information.

Cisco Express Forwarding

In a Cisco networking device, CEF provides packet forwarding, a key element of NSF. CEF maintains the FIB and uses the FIB information that was current at the time of a switchover to continue forwarding packets during the switchover. NSF helps to reduce traffic interruption during the switchover.

During normal NSF operation, CEF on the active RP synchronizes its current FIB and adjacency databases with the FIB and adjacency databases on the standby RP. Upon switchover of the active RP, the standby RP initially has FIB and adjacency databases that are mirror images of those that were current on the active RP. For platforms with intelligent line cards, the line cards will maintain the current forwarding information over a switchover; for platforms with forwarding engines, CEF will keep the forwarding engine on the standby RP current with changes that are sent to it by CEF on the active RP. In this way, the line cards or forwarding engines will be able to continue forwarding after a switchover as soon as the interfaces and a data path are available.

As the routing protocols start to repopulate the RIB on a prefix-by-prefix basis, the updates in turn cause prefix-by-prefix updates for CEF, which it uses to update the FIB and adjacency databases. Existing and new entries will receive the new version (“epoch”) number, indicating that they have been refreshed. The forwarding information is updated on the line cards or forwarding engine during convergence. The RP signals when the RIB has converged. The software removes all FIB and adjacency entries that have an epoch older than the current switchover epoch. The FIB now represents the newest routing protocol forwarding information

The routing protocols run only on the active RP, and they receive routing updates from their neighbor routers. Routing protocols do not run on the standby RP. Following a switchover, the routing protocols request that the NSF-aware neighbor devices send state information to help rebuild the routing tables.


Note


For NSF operation, the routing protocols depend on CEF to continue forwarding packets while the routing protocols rebuild the routing information.


EIGRP Nonstop Forwarding Awareness

NSF awareness allows a router that is running EIGRP to assist NSF-capable neighbors to continue forwarding packets during a switchover operation or well-known failure condition. The EIGRP Nonstop Forwarding Awareness feature provides EIGRP with the capability to detect a neighbor that is undergoing an NSF restart event (RP switchover operation) or well-known failure condition, maintain the peering session with this neighbor, retain known routes, and continue to forward packets for these routes. The deployment of EIGRP NSF awareness can minimize the effects of the following:

  • Well-known failure conditions (for example, a stuck-in-active event)

  • Unexpected events (for example, an RP switchover operation)

  • Scheduled events (for example, a hitless software upgrade)

EIGRP NSF awareness is enabled by default and is transparent to the network operator and EIGRP peers that do not support NSF capabilities.


Note


An NSF-aware router must be up and completely converged with the network before it can assist an NSF-capable router in an NSF restart operation.


EIGRP NSF Capable and NSF Aware Interoperation

EIGRP NSF capabilities are exchanged by EIGRP peers in hello packets. An NSF-capable router notifies its neighbors that an NSF restart operation has started by setting the restart (RS) bit in a hello packet. When an NSF-aware router receives notification from an NSF-capable neighbor that an NSF-restart operation is in progress, both routers immediately exchange their topology tables. The NSF-aware router sends an end-of-table (EOT) update packet when the transmission of its topology table is complete. The NSF-aware router then performs the following actions to assist the NSF-capable router:

  • Expires the EIGRP hello hold timer to reduce the time interval set for hello packet generation and transmission. This allows the NSF-aware router to reply to the NSF-capable router more quickly and reduces the amount of time required for the NSF-capable router to rediscover neighbors and rebuild the topology table.

  • Starts the route-hold timer. This timer is used to set the period of time that the NSF-aware router will hold known routes for the NSF-capable neighbor. This timer is configured with the timers graceful-restart purge-timecommand. The default time period is 240 seconds.

  • Notes in the peer list that the NSF-capable neighbor is restarting, maintains adjacency, and holds known routes for the NSF-capable neighbor until the neighbor signals that it is ready for the NSF-aware router to send its topology table or the route-hold timer expires. If the route-hold timer expires on the NSF-aware router, it discards held routes and treats the NSF-capable router as a new router joining the network and reestablishing adjacency accordingly.

When the switchover operation is complete, the NSF-capable router notifies its neighbors that it has reconverged and has received all of their topology tables by sending an EOT update packet to the assisting routers. The NSF-capable router then returns to normal operation. The NSF-aware router looks for alternate paths (go active) for any routes that are not refreshed by the NSF-capable (restarting) router. The NSF-aware router returns to normal operation. If all paths are refreshed by the NSF-capable router, the NSF-aware router immediately returns to normal operation.

Non-NSF Aware EIGRP Neighbors

NSF-aware routers are completely compatible with non-NSF aware or non-NSF capable neighbors in an EIGRP network. A non-NSF aware neighbor ignores NSF capabilities and resets the adjacency when they are received.

The NSF-capable router drops any queries that are received while converging to minimize the number of transient routes that are sent to neighbors. The NSF-capable router, however, still acknowledges these queries to prevent these neighbors from resetting adjacency.


Note


An NSF-aware router continues to send queries to an NSF-capable router that is converging after a switchover, effectively extending the time before a stuck-in-active (SIA) condition can occur.


EIGRP NSF Route-Hold Timers

The route-hold timer is configurable, which allows you to tune network performance and avoid undesired conditions such as “black holing” routes if the switchover operation is lengthy. When the timer expires, the NSF-aware router scans the topology table and discards stale routes, allowing EIGRP peers to find alternate routes instead of waiting during a long switchover operation.

The route-hold timer is configured with the timers graceful-restart purge-time router configuration command. The default time period for the route-hold timer is 240 seconds. The configurable range is from 10 to 300 seconds.

How to Modify and Maintain EIGRP Nonstop Forwarding Awareness

Adjusting NSF Route-Hold Timers

Perform the following steps to configure NSF route-hold timers on an NSF-aware router.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router eigrp {autonomous-system-number | virtual-instance-name}

    4.    address-family ipv4 [multicast][unicast][vrf vrf-name] autonomous-system autonomous-system-number

    5.    timers graceful-restart purge-time seconds

    6.    exit


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables higher privilege levels, such as privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 router eigrp {autonomous-system-number | virtual-instance-name}


    Example:
    Router(config)# router eigrp 101
     

    Enters router configuration mode and creates an EIGRP routing process.

     
    Step 4 address-family ipv4 [multicast][unicast][vrf vrf-name] autonomous-system autonomous-system-number


    Example:
    Router(config-router)# address-family ipv4 vrf vrf1
     

    (Optional) Enters address family configuration mode and creates a session for the VRF.

     
    Step 5 timers graceful-restart purge-time seconds


    Example:
    Router(config-router)# timers graceful-restart purge-time 120 
     

    Sets the route-hold timer to determine how long an NSF-aware router that is running EIGRP will hold routes for an inactive peer.

    Note   

    The timers nsf route-holdcommand was replaced with the timers graceful-restart purge-time command in Cisco IOS Release 15.0(1)M and 12.2(33)SRE.

     
    Step 6 exit


    Example:
    Router(config-router)# exit 


    Example:
    Router(config)#
     

    Exits router configuration mode and enters global configuration mode.

     

    Troubleshooting Tips

    Neighbor adjacencies are maintained during NSF switchover operations. If adjacencies between NSF-capable and NSF-aware neighbors are being reset too often, the route-hold timers may need to be adjusted. The show ip eigrp neighbors detail command can be used to help determine if the route-hold timer value should be set to a longer time period. The time that adjacency is established with specific neighbors is displayed in the output. This time indicates if adjacencies are being maintained or reset and when the last time that specific neighbors were restarted.

    Monitoring EIGRP NSF Debug Events and Notifications

    Perform the following steps to monitor EIGRP NSF debug events and notifications on an NSF-aware router.

    The debug eigrp nsf and debug ip eigrp notifications commands are provided together for example purposes only. You do not have to issue these commands together or in the same session as there are differences in the information that is provided.

    Debugging processes are heavy users of CPU resources. Debug commands should not be used in a production network unless you are troubleshooting a problem.

    SUMMARY STEPS

      1.    enable

      2.    debug eigrp nsf

      3.    debug ip eigrp notifications


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Router> enable
       

      Enables higher privilege levels, such as privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 debug eigrp nsf


      Example:
      Router# debug eigrp nsf 
       

      Displays NSF notifications and information about NSF events in an EIGRP network on the console of the router.

       
      Step 3 debug ip eigrp notifications


      Example:
      Router# debug ip eigrp notifications 
       

      Displays EIGRP events and notifications in the console of the router. The output from this command also includes NSF notifications and information about NSF events.

       

      Verifying the Local Configuration of EIGRP NSF Awareness

      Perform the following steps to verify NSF-awareness configuration on a router that is running EIGRP.

      SUMMARY STEPS

        1.    enable

        2.    show ip protocols


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Router> enable
         

        Enables higher privilege levels, such as privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2 show ip protocols


        Example:
        Router# show ip protocols 
         

        Displays the parameters and current state of the active routing protocol process. The output of this command can be used to verify EIGRP NSF-awareness.

         

        Configuration Examples for EIGRP Nonstop Forwarding Awareness

        Example: EIGRP Graceful-Restart Purge-Time Timer Configuration

        The following example shows how to set the graceful-restart purge-time timer to 2 minutes:

        Device(config-router)# timers graceful-restart purge-time 120
        

        Example Monitoring EIGRP NSF Debug Events and Notifications Configuration

        The following example output shows that an NSF-aware router has received a restart notification. The NSF-aware router waits for EOT to be sent from the restarting (NSF-capable) neighbor.

        Router# debug ip eigrp notifications
        *Oct  4 11:39:18.092:EIGRP:NSF:AS2. Rec RS update from 135.100.10.1,
        00:00:00. Wait for EOT.
        *Oct  4 11:39:18.092:%DUAL-5-NBRCHANGE:IP-EIGRP(0) 2:Neighbor
        135.100.10.1 (POS3/0) is up:peer NSF restarted
        *Sep 23 18:49:07.578: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 1.1.2.1 (Ethernet1/0) is resync: peer graceful-restart

        Example Verifying Local Configuration of EIGRP NSF Awareness

        The following is example output from the show ip protocols command. The output from this command can be used to verify the local configuration of EIGRP NSF awareness. The output shows that the router is NSF-aware and that the route-hold timer is set to 240 seconds, which is the default value.

        Router# show ip protocols
        *** IP Routing is NSF aware ***
        Routing Protocol is “eigrp 101”
          Outgoing update filter list for all interfaces is not set
          Incoming update filter list for all interfaces is not set
          Default networks flagged in outgoing updates
          Default networks accepted from incoming updates
          EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
          EIGRP maximum hopcount 100
          EIGRP maximum metric variance 1
          Redistributing: eigrp 101
          EIGRP NSF-aware route hold timer is 240s
          Automatic network summarization is in effect
          Maximum path: 4
          Routing for Networks:
            10.4.9.0/24
          Routing Information Sources:
            Gateway         Distance      Last Update
          Distance: internal 90 external 170

        Additional References

        Related Documents

        Related Topic

        Document Title

        Cisco IOS commands

        Cisco IOS Master Commands List, All Releases

        CEF commands

        Cisco IOS IP Switching Command Reference

        EIGRP commands

        Cisco IOS IP Routing: EIGRP Command Reference

        NSF with SSO deployment

        Cisco Nonstop Forwarding with Stateful Switchover Deployment Guide

        Standards

        Standards

        Title

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

        --

        MIBs

        MIBs

        MIBs Link

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

        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 4724

        Graceful Restart Mechanism for BGP

        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 EIGRP Nonstop Forwarding Awareness

        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 EIGRP Nonstop Forwarding Awareness

        Feature Name

        Releases

        Feature Information

        EIGRP Nonstop Forwarding (NSF) Awareness

        12.2(15)T 12.2(33)SRE 15.0(1)M 15.0(1)S

        The EIGRP Nonstop Forwarding Awareness feature allows an NSF-aware router running EIGRP to forward packets along routes known to a router performing a switchover operation or in a well-known failure condition.

        The following commands were introduced or modified: debug eigrp nsf, debug ip eigrp notifications, show ip eigrp neighbors, show ip protocols, timers graceful-restart purge-time, timers nsf route-hold.