EIGRP Queries and Stuck in Active

Hi Hussein,

When EIGRP loses a successor route and it doesn’t have any feasible successors then it will go in the “active state” and it will start sending query packets to its neighbors for the route that it lost. When it receives an answer to all outstanding replies and none of its neighbors reported an alternative path, it will removed from the topology table.

Rene

Hi Hussein,

Just like RIP, EIGRP uses route poisoning. In case of EIGRP, the route is poisoned by using an update message with the metric set as infinity.

Rene

Quick question, is it always going to take 1.5 minutes to send the SIA query? or that depends on the ip-hello interval or the ip hold-time configured for the eigrp process?

Hi Ricardo,

I believe it’s a fixed timer, you can’t change it and it’s not based on the hello/hold timers.

Rene

Hello Rene,

I am trying to wrap my head around SIA. So when a router looses a route, it places that route in an Active State. At this point it sends a Query out to its neighbors for the route it lost. If those neighbors need to query other neighbors, they will hold off replying to the original router until they receive replies from the neighbors they queried.

It makes more sense to me the original router starts the active timer at the time it sends the initial queries. I understand with newer versions of firmware, at the 90 second point, the original router will send a SIA-Query to neighbors it hasn’t received a reply from and if the original router receives SIA-replies from the neighbors it will hold off on resetting the neighbor adjacency. If the neighbor fails to send a SIA-reply, the original router will reset the neighbor adjacency once the timer expires.

Is my thought process correct with the SIA timer or does the original router wait 3 minutes before it sends the SIA-Queries which at this point, the original router will be 4 minutes and 30 seconds into waiting for replies.

Thanks in advance,

Paul

Hi Paul,
You generally have it right. The short answer is after 90 seconds, an SIA-Query is sent.

The longer answer:

Each router manages its own SIA Query and SIA Query Response management. This means that as soon as each router has put a route in Active (regardless of whether the router in question was the actual first router to start the process) and has sent a Query to its neighbors, that router also starts a timer. At 90 seconds, for each neighbor from which it has not received a reply, it will send an SIA Query to check on the status of the original query. Any of those other routers that, themselves, are also waiting on a Reply from others will respond back to the router that gave the SIA-Query with an SIA-Reply. Any neighbor that does not respond to an SIA-Query by the time the original timer reaches 3 minutes will be considered stuck in active.

1 Like

Thanks Andrew…

Great explanation Rene.

I have one query- Suppose R2 is unable to get back to R1, how can we troubleshoot those high memory/CPU utilization and unidirectional link failure problems in between R1-R2

Hi Rene,
I have two doubts here:

1> Router 1 waits 3 minute to enter into stuck in active, but we know 10 sec hello time,so in between router 1 receive hello packets from router 2, still it goes SIA?

2> You said if due to congestion, reply packet is not coming from Router 2, or due to CPU/Memory utilization at router 2, it may not process or send.
If that is the case then there is possibility that SIA reply will not come from router because of above reason ie CPU/Memory or congestion. So that case also router 1 will go to SIA mode and adjacency will be dropped? whats the waiting period for SIA reply? What if that period expires?

Please help…

Thank you,
Pradeep K

Hello Pradeep.

These are very good questions. In the first question, the answer is yes, even if hello packets are being recieved from a router, the SIA state will still kill the neighbour adjacency. You can think of the Stuck in Active condition as an additional condition for which neighbour adjacencies are killed.

As for your second question, yes you’re right, the SIA reply may also fail to reach Router 1 due to congestion. Only one SIA Query is sent at 90 seconds. However, the purpose of the SIA Query and Reply feature is not only to resolve eigrp failures due to congestion, but also due to the waiting time it takes to allow additional routers to respond to queries. Let’s say you have six routers in this configuration:

–R1—R2—R3—R4—R5—R6

R1 loses a router via the interface to the left. It sends a query to R2, which sends a query to R3 and so on. At 90 seconds, R1 sends is SIA query to R2. R2 WILL ANSWER with an SIA reply EVEN IF it doesn’t yet have an answer to give R1, because R2 is also waiting on the other routers to get an answer. This saves the relationship and the rebuilding of the routing table. The timer then goes back to 0 and after another 90 seconds the query goes again.

I hope this has been helpful.

Laz

1 Like

Hi Rene,4

If there are more than one feasible successor , will all of them show in topology table?

Also if the successor route goes down , feasible successor takes over. Now will there be a new feasible successor?

Hi Ananth Maruti,

If there is more than one feasible successor, then surely it will be listed in the topology table of EIGRP. Please remember the forumla: to have a feasible successor then the Advertised distance of feasible successor should be less than the Feasible distance of successor.

For the 2nd part of your question, if the network in converged than the calculation of successor & feasible successor(s) is already done. In this case, if a successor route goes down, then the feasible successor takes over. In case the topology table had another feasible successor then it will remain in the topology table.
They will be a possible new feasible successor if the network has been changed such as adding a new router in the EIGRP network which has a route to the destination network which complies to the formula that I have listed above, then in this case a new feasible successor will be added to the topology table.

I highly recommend that you read this lesson for more detailed information: Introduction to EIGRP

Hope I could answer your question.

Hi Rene,
When a router receives an SIA query there are three possibilities (I can think of)

  1. The router is still waiting for its own querys to be responded to. So as explained it sends an SIA reply
    so far so good
  2. The router had previously sent a reply with infinite metric
  3. The router had previously sent a reply with finite metric (i.e it has a route)

For cases 2 and 3 is the information included in the SIA reply packet or does the router respond with SIA reply and a Reply packet ?

Stuart.

UPDATE
I simulated this on GNS3

Basically case 1 SIA Reply is sent
Case 2 and 3 SIA Reply is not sent, however since the reply packet would not have received an ACK the router keeps sending reply every 5s until it gets an ACK

So IRL case 2 and 3 do not result in SIAQuery being sent

Hi Rene, thanks for such good explanation. I have one doubt in that. Suppose R1 will start its timer for 3 mins and after 1.5 min it will send SIA query to R2, if R2 send SIA reply to the R1 then till what time R1 will wait?

Your reply will really very helpful for clearing my doubt.

Hello Raj

In the scinario you describe above, R1 starts its 3 minute timer. It sends an SIA query to R2. If R2 sends an SIA reply to R1 before the 3 minutes are up, then the timer resets to 0. If it does not, then the neighbour relationship is torn down.

I hope this has been helpful!

Laz

19 posts were merged into an existing topic: EIGRP Queries and Stuck in Active

Hi Lazaros, I got it. Thanks a lot for you reply.Its really helpful.

19 posts were merged into an existing topic: EIGRP Queries and Stuck in Active

If a route/neighbour fails, how can you recover from SIA? Recycle the interface facing the neighbour that’s down?

I’m also curious how you can simulate this in GNS3. Surely the main cause of SIA is congestion? How did you replicate the replys from R2 not reaching R1? Use an ACL?