Hi all, I have a few questions in regards to SIA.
My first question is in regards to the following excerpt:
"If the router does not receive all the replies before the âactive-timeâ timer expires, DUAL declares the route as stuck-in-active (SIA)."
Is this true? If so, does that mean that even if a valid successor route is given to the querier, the querier will not accept it until all routers which were queried replied? And if not all reply, then the route will still be labeled SIA even though there is an alternative route?
My second question is in regards to this excerpt:
"If no reply is received from a particular neighbor before the Active timer times out, then the neighbor will be removed from the neighbor table."
Does this mean that if a neighbor does not reply to a query about one route, then the whole neighbor is removed from the adjacency table even though it is still sending and receiving Hello packets and could be the Successor for other routes?
From IOS 12.1(5) the so called SIA (Stuck In Active) query and SIA reply were introduced.
RouterA <-> RouterB <-> Router C
Let's say RouterA sends a query about a route to RouterB, then RouterB forwards the query to RouterC and RouterC does not respond to the query because there is a problem between B and C.
After 1.5 minutes RouterA sends a SIA query to RouterB to verify that it is still alive.
RouterB sends a SIA reply to RouterA that it is still searching for the requested route.
RouterB will still send 3 SIA queries to RouterC.
After 3 minutes the neighbor relationship between RouterB and RouterC will be closed and RouterB will declare this to RouterA and they will remove the routes learned from RouterC from their routing tables.
The neighbor relationship between RouterA and RouterB will stay up, because RouterA was informed in the SIA reply that RouterB is still alive.
If RouterA learned the requested route from another source then it can learn it and the route will not go into stuck-in-active state.
Thanks for the replies.
Istvan, I thought Router B does not reply to Router A until it receives a reply from all of its queries? i.e Router B will not reply to Router A until Router B has heard back from Router C. Is this not correct?
As I said in my previous post, there will be a SIA query and SIA reply between RouterA and RouterB. (these are in addition to the original route query originated by RouterA).
This was introduced with the purpose of not losing neighbor relationship between RouterA and RouterB in case RouterB doesn't get a response from RouterC.
Thank you for the information. The documentation that I have read so far hasn't told me about this communication after 1.5 minutes. Do you have links to any documentation/information I can take a look at? Here is one of the examples of what I have read:
If the EIGRP topology table lists the querying router as the successor for this route and a feasible successor does not exist, 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 querying router until it has received a reply to all queries that it originated for this route.**
You can look into this document. Search for "SIA" inside.
Thanks for the replies guys, and thanks for the link Istvan.
According to the document you linked to, there was an SIA rewrite, so the information I quoted above must have been written about SIA before the re write was done.
The rewrite makes SIA work so much more efficently and correctly seeing as though only the faulty peer(s) will get reset.
if a valid successor exists for the route no query is performed.
If no valid successor exists for the route and the route fails the router will send out queries out all interfaces that take part in EIGRP.
The neighboring routers can reply if they have a valid route or can go active to the same route themselves and start to send their own query out their interfaces (this happens to all neighbors that were using the first router to go active as their next-hop to the route).
All this process is timed in order to avoid the network to wait for ever.
The route is said stucked in active for this reason.
The neighbor(s) that haven't answered within the timer to the original query are treated as unreliable and the EIGRP neighborships are reset.
>> Does this mean that if a neighbor does not reply to a query about one route, then the whole neighbor is removed from the adjacency table even though it is still sending and receiving Hello packets and could be the Successor for other routes?
I do think so.
Clearly this can introduce network instability.
The key point to get timely answers is to design the network to limit the EIGRP query scope: for this EIGRP route summarization, route filters, and using EIGRP stub on branch routers is highly recommmended
Hope to help
>> Does this mean that if a neighbor does not reply to a query about one route,
then the whole neighbor is removed from the adjacency table even though it is still sending and receiving Hello packets and could be the Successor for other routes?
NO the whole neighbor will not be removed from the neighbor relationship
If they are exchanging hello thats mean they are neighbour,if th neighbour do not reply for that route and there is no FC only that route will go into SIA.
You are right ,it will reset the neighbor relationship.
What good does resetting the neighbor relationship do? Does the background workings of the reset/re creating of the adjacency somehow make the communication come good? - because if it doesn't then won't the route(s) just go in SIA again and again in an endless loop?