EIGRP Nonstop Forwarding 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 that are already known for a router that is performing a switchover operation or is in a well-known failure mode. This capability allows the EIGRP peers of the failing router to retain the routing information that is advertised by the failing router and continue to use this information until the failed router has returned to normal operating behavior 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

This module assumes that your network is configured to run EIGRP. The following tasks must also be completed before you can configure this feature:

  • 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 software that supports NSF awareness or NSF capabilities must be installed.

Restrictions for EIGRP Nonstop Forwarding Awareness

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

  • EIGRP NSF awareness does not support two neighbors that are performing an NSF restart operation at the same time. However, both neighbors will still re-establish peering sessions after the NSF restart operation is complete.

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, EIGRP, 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 RP to recover route information following a switchover instead of information received from peer devices.

In this document, a networking device is said to be NSF-aware if it is running NSF-compatible software. A device is said to be NSF-capable if it has been configured to support NSF; therefore, it would rebuild 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. Once the routing protocols have converged, CEF updates the FIB table and removes stale route entries. CEF, in turn, updates the line cards with the new FIB information.


Note


NSF supports IPv4 in classic mode and named mode. NSF supports IPv6 in named mode. For more information about EIGRP IPv6 NSF, see the “EIGRP IPv6 NSF/GR” module in the IP Routing: EIGRP Configuration Guide.


Cisco Express Forwarding

A key element of NSF is packet forwarding. In a Cisco networking device, packet forwarding is provided by CEF. CEF maintains the FIB, and uses the FIB information that was current at the time of the switchover to continue forwarding packets during a switchover. This feature reduces 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 (route processor [RP] switchover operation) or well-known failure condition, to maintain the peering session with this neighbor, to retain known routes, and to 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 its operation 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. The 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, the NSF-capable and NSF-aware 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:

  • The 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.

  • The router starts the graceful-restart purge-time 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-time command. The default time period is 240 seconds.

  • The router 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 graceful-restart purge-time timer expires. If the graceful-restart purge-time timer expires on the NSF-aware router, the NSF-aware router will discard held routes and treat 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 then returns to normal operation. The NSF-aware router will look for alternate paths (go active) for any routes that are not refreshed by the NSF-capable (restarting router). The NSF-aware router will then return to normal operation. If all paths are refreshed by the NSF-capable router, the NSF-aware router will immediately return to normal operation.

Non-NSF Aware EIGRP Neighbors

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

The NSF-capable router will drop any queries that are received while converging to minimize the number of transient routes that are sent to neighbors. But the NSF-capable router will still acknowledge these queries to prevent these neighbors from resetting adjacency.


Note


NSF-aware router will continue to send queries to the NSF-capable router which is still in the process of converging after switchover, effectively extending the time before a stuck-in-active (SIA) condition can occur.


EIGRP NSF Timers

NSF/GR supports three types of timers: namely, signal timer, converge timer, and graceful-restart purge-time timer.

The signal timer can be configured to adjust the maximum time of the initial restart period where the restarting router sends hello packets with the restart(RS)-bit set. When the timer expires, if the restarting router has not learnt about any neighbor, or has not learnt about any NSF-aware neighbor, or has not received all the updates from the neighbors, the routing information base is notified for convergence. The default value for the signal timer is 20 seconds. The timers nsf signal command is used to configure the signal timer.

The converge timer can be configured to adjust the maximum time the restarting router waits for the end-of-table (EOT) indications from all the neighbors. The default value for the converge timer is 120 seconds. The timers nsf converge command is used to configure the converge timer.

The graceful-restart purge-time timer can be configured to adjust the maximum waiting time to receive the convergent signal from the restarting router. The graceful-restart purge-timer is used when the NSF-aware peer does not receive the EOT indication from the restarting neighbor. When the graceful-restart purge-timer expires, the EIGRP peer scans the topology table for the stale routes from the restarting neighbor and changes the stale routes to active, thereby allowing EIGRP peers to find alternate routes instead of waiting during a long switchover operation. The default value for the graceful-restart purge-time timer is 240 seconds. The timers graceful-restart purge-time command is used to configure the graceful-restart purge-timer. The timers graceful-restart purge-time command is accepted under router configuration mode for IPv4 EIGRP classic mode and under address-family configuration mode for EIGRP named mode.

How to Configure EIGRP Nonstop Forwarding Awareness

Enabling EIGRP Nonstop Forwarding Awareness

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router eigrp virtual-instance-name

    4.    address-family ipv4 autonomous-system number

    5.    nsf

    6.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
              
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3router eigrp virtual-instance-name


    Example:
    Device(config)# router eigrp virtual-name1
     

    Configures an EIGRP routing process in classic mode and enters router configuration mode.

     
    Step 4address-family ipv4 autonomous-system number


    Example:
    Device(config-router)# address-family ipv4 autonomous-system 1
     

    Enters address-family configuration mode to configure an EIGRP routing instance.

     
    Step 5nsf


    Example:
    Device(config-router-af)# nsf
     

    Enables NSF for the specific address family on the router.

     
    Step 6end


    Example:
    Device(config-router-af)# end
     

    Exits address-family configuration mode and returns to privileged EXEC mode.

     

    Modifying EIGRP Nonstop Forwarding Awareness Timers

    Perform this task to modify EIGRP NSF timers. This task is optional.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    router eigrp name

      4.    address-family ipv4 autonomous-system number

      5.    timers nsf signal seconds

      6.    timers nsf converge seconds

      7.    timers graceful-restart purge-time seconds

      8.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable           
               
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2configure terminal


      Example:
      Device# configure terminal            
                
       

      Enters global configuration mode.

       
      Step 3router eigrp name


      Example:
      Device(config)# router eigrp e1            
                
       

      Configures an EIGRP routing process and enters router configuration mode.

       
      Step 4address-family ipv4 autonomous-system number


      Example:
      Device(config-router)# address-family ipv4 autonomous-system 1            
                
       

      Enters address-family configuration mode to configure an EIGRP routing instance.

       
      Step 5timers nsf signal seconds


      Example:
      Device(config-router-af)# timers nsf signal 15            
                
       

      Sets the initial restart period wherein the restarting router sends hello packets with the RS-bit set. The default is 20 seconds.

       
      Step 6timers nsf converge seconds


      Example:
      Device(config-router-af)# timers nsf converge 60            
                
       

      Sets the maximum time that the restarting router has to wait for the EOT indications from all neighbors. The default is 120 seconds.

       
      Step 7timers graceful-restart purge-time seconds


      Example:
      Device(config-router-af)# timers graceful-restart purge-time 150            
                
       

      Sets the graceful-restart purge time to determine the period for which an NSF-aware router that is running EIGRP will hold routes for an inactive peer. The default is 240 seconds.

       
      Step 8end


      Example:
      Device(config-router-af)# end            
                
       

      Exits address-family configuration mode and returns to privileged EXEC mode.

       

      Troubleshooting Tips

      If the maximum-prefix limit has been exceeded for redistribution the same number of times as the default or user-defined restart-count value, the clear ip route * or clear ip eigrp neighbors command will need to be entered before normal redistribution will occur.

      Monitoring EIGRP NSF Debug Events and Notifications

      Use 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 do not need to be issued together or even in the same session because there are differences in the information that is provided. These commands are provided together for example purposes.

      The output of debug commands can be very verbose. These commands should not be deployed in a production network unless you are troubleshooting a problem.

      SUMMARY STEPS

        1.    enable

        2.    debug eigrp nsf

        3.    debug ip eigrp notifications

        4.    debug eigrp address-family ipv4 notifications


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2 debug eigrp nsf


        Example:
        Device# 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:
        Device# 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.

         
        Step 4 debug eigrp address-family ipv4 notifications


        Example:
        Device# debug eigrp address-family ipv4 notifications 
         

        Displays debugging information about EIGRP address-family IPv4 event notifications.

         

        Verifying the Local Configuration of EIGRP NSF Awareness

        Use the following steps to verify the local configuration of NSF-awareness on a router that is running EIGRP:

        SUMMARY STEPS

          1.    enable

          2.    show ip protocols


        DETAILED STEPS
           Command or ActionPurpose
          Step 1 enable


          Example:
          Device> enable
           

          Enables privileged EXEC mode.

          • Enter your password if prompted.

           
          Step 2 show ip protocols


          Example:
          Device# 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.

          Device# debug ip eigrp notifications
          
          *Oct  4 11:39:18.092:EIGRP:NSF:AS2. Rec RS update from 10.100.10.1,
          00:00:00. Wait for EOT.
          *Oct  4 11:39:18.092:%DUAL-5-NBRCHANGE:IP-EIGRP(0) 2:Neighbor
          10.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 (GigabitEthernet1/0/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 the EIGRP NSF awareness. The output below shows that the router is NSF-aware and that the graceful-restart purge-time timer is set to 240 seconds, which is the default value.

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

          Related Documents

          Related Topic

          Document Title

          Cisco IOS commands

          Cisco IOS Master Command List, All Releases

          CEF commands

          Cisco IOS IP Switching Command Reference

          EIGRP commands

          Cisco IOS IP Routing: EIGRP Command Reference

          Nonstop forwarding (NSF)

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

          Cisco IOS XE Release 2.1

          Cisco IOS XE Release 3.3SE

          Cisco IOS XE Release 3.6E

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

          In Cisco IOS XE Release 3.3SE, support was added for the Cisco Catalyst 3650 Series Switches and Cisco Catalyst 3850 Series Switches.

          In Cisco IOS XE Release 3.6E, this feature is supported on Cisco Catalyst 3850 Series Switches.

          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.