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.

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.

  • Enable NSF on both DT and peer nodes during stacking.

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

router 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 4

address-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 5

nsf

Example:

Device(config-router-af)# nsf

Enables NSF for the specific address family on the router.

Step 6

end

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

router eigrp name

Example:

Device(config)# router eigrp e1            
          

Configures an EIGRP routing process and enters router configuration mode.

Step 4

address-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 5

timers 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 6

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

timers 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 8

end

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 Action Purpose

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 Action Purpose

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 Overview of Cisco TrustSec

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 Overview of Cisco TrustSec

Feature Name

Releases

Feature Information

IPv6 enablement - Inline Tagging

Cisco IOS XE Fuji 16.8.1

The support for IPv6 is introduced.