Within the EIGRP Topology Table, entries may either be marked as Passive (P) or as Active (A). When a route is in the Passive state, it means that EIGRP has completed actively computing the metric for the route and traffic can be forwarded to the destination network using the Successor. This is the preferred state for all routes in the Topology Table.
EIGRP routes are in an Active state when the Successor has been lost and the router sends out a Query packet to determine a Feasible Successor. Usually, a Feasible Successor is present and EIGRP promotes that to the Successor. This way, the router converges without involving other routers in the network. This process is referred to as a local computation.
However, if the Successor has been lost or removed, and there is no Feasible Successor, the router will begin diffused computation. In diffused computation, EIGRP will send a Query out to all neighbors and out of all interfaces, except for the interface to the successor. When an EIGRP neighbor receives a Query for a route and if that neighbors EIGRP Topology Table does not contain an entry for the route, then the neighbor immediately replies to the Query with an unreachable message, stating that there is no path for this route through this neighbor.
If the EIGRP Topology Table on the neighbor lists the router sending the Query as the Successor for that route, and a Feasible Successor exists, then the Feasible Successor is installed and the router replies to the neighbor Query advising that it has a route to the lost destination network.
However, if the EIGRP Topology Table lists the router sending the Query as the Successor for this route and there is no Feasible Successor, then the router queries all of its EIGRP neighbors except those sent out the same interface as its former Successor. The router will not reply to the Query until it has received a Reply to all Queries that it originated for this route.
Finally, if the Query was received from a neighbor that is not the Successor for this destination, then the router replies with its own Successor information. If the neighboring routers do not have the lost route information, Queries are sent from those neighboring routers to their neighboring routers until the Query boundary is reached. The Query boundary is either the end of the network, the distribute list boundary, or the summarization boundary.
Once the Query has been sent, the EIGRP router must wait for all replies to be received before it calculates the Successor. If any neighbor has not replied within three minutes, the route is said to be Stuck-in-Active (SIA). When a route is SIA, the neighbor relationship of the router that did not respond to the Query will be reset. In such cases, you will see a message similar to the following logged by the router or switch:
| %DUAL-5-NBRCHANGE: IP-EIGRP 150: Neighbor 150.1.1.1(Serial0/0) is down: stuck in active%DUAL-3-SIA: Route 172.16.100.0/24 stuck-in-active state in IP-EIGRP 150. Cleaning up |
There are several reasons why the EIGRP neighbor router(s) may not respond to the Query. Some of these reasons include the following:
- The neighbor routers CPU is overloaded and it cannot respond in time
- The neighbor router itself has no information about the lost route
- The neighbor cannot allocate memory to process the query or build the reply packet
- Low bandwidth links are congested and packets are being delayed
- Queries are not received, i.e. this may due to a bad circuit or unidirectional link
Troubleshooting SIA issues is a difficult task, especially in larger networks. Whenever you troubleshoot SIA errors, you should answer the following two questions, listed in order of urgency, to identify the possible causes of the SIA:
- Why is the route active?
- Why is the route stuck?
The first question is a difficult one to answer because you have a window of about 3 minutes to determine why the route is active, i.e. why the router did not receive a response to the query that it sent out and which router(s) did not respond to the query. Fortunately, Cisco IOS software provides a powerful tool in the show ip eigrp topology active command. This command shows routes that are currently active, how long those routes have been active, and which EIGRP neighbors have and have not responded to queries.
For the second question, after you have identified the router or switch that did not respond to the query, you can then access that device and determine why it did not respond. Keep in mind that it may be that it was also waiting for another device. Repeat this process until you determine the root cause, i.e. the device that is not responding to queries and troubleshoot that device to determine why keeping in mind the common causes listed in the previous section.
To prevent SIA issues due to delayed responses from other EIGRP neighbors, the local router can be configured to wait for longer than the default of 3 minutes to receive responses back to its Query packets using the timers active-time command in router configuration mode. However, keep in mind that this duration is sufficient for most networks; therefore it is important to identify and address what is causing SIA issues versus masking the problem by increasing the EIGRP routing wait time.