EIGRP DUAL FSM (Finite State Machine)

This topic is to discuss the following lesson:

Hi Rene,

What do you mean by last reply and distance to destination increased ? I have ambiguity about this ? can you explain them in more detail to me please ?

Best Regard
Hussein Samir

Hello Hussein.

IE7 is an input event of any kind except for the following two kinds:

  1. a last reply input event.
  2. a distance to destination increased input event.

I hope this has been helpful.

Laz

Hi Rene,

“R1 expects a query from R2 so it sets its reply status flag to 1.”

Shouldn’t it be: “R1 expects a reply from R2 so it sets its reply status flag to 1.”?

Regards,
LP

Hi LP,

That’s what it should be yes. I just fixed it. Thanks for letting us know!

Rene

I am having a very hard time understanding this concept with the demonstrated diagram.
My main problem is not seeing a defined path (to my lack of understanding) as to the Input Events and their corresponding state.
I understand the overall goal of DUAL and how it functions (to some degree), but when presented the diagram I don’t know what it means to have those 4 different “types?” of ACTIVE states, and what is the structure of the Input Events.

Are the numbers a representation of the process of each one? or is it just one of the Input events that changes the state from Passive to Active (and vise versa).

How are the Query and Reply flags structured?

I guess I am over thinking this a lot, and the diagram might just be making it more complicated than it is, but I figured I could submit the question.

Hello Hugo

The truth is that the EIGRP finite state machine is indeed complicated, so don’t feel bad that you cannot fully get your head around it. Keep in mind that a detailed knowledge of this process is not necessary for the certifications, and is included here only for completeness. The important thing to realize here is that a route’s state in a converged network is passive as long as the feasibility condition is satisfied. Various events can take place that will move a route from passive into an active state, and that a route can move from one active state to another based on the events that occur. There is no need to be able to follow the full process from start to finish, and rarely (if ever) will you use debugs to the level of detail shown in the diagram for troubleshooting.

The four different types of active states simply means that we can have four different combinations of R and O flags that correspond to an active state. For all four active states, R=1. This flag simply states that a query has been sent, and a reply is expected. A route will not go into passive state again until a reply has been received for all queries sent. R will remain 1 until a reply has been received from all queries sent to neighbouring routers.

The O flag has four values, either 0, 1, 2, or 3. Each one corresponds to a different input event, and this is what differentiates between the active states. Specifically the O flags are defined as:

0 = metric increase during ACTIVE state
1 = node i originated
2 = QUERY from, or link increase to, successor during ACTIVE state
3 = QUERY originated from successor

The details of what those actually are, are outside the scope of the lesson, and the certification exam. However, if you’re interested, you can find out more directly from the EIGRP RFC 7868.

I hope this has been helpful!

Laz

4 Likes

Thank you Laz. This cleared some of my questions. I took a look at the RFC and it turned out more confusing (the diagram) but the descriptions for each input event helped.

1 Like

Hi,

Just curious… to what extent would knowledge on this topic be expected for the 300-410 ENARSI exam?

I find it to be quite a deep topic, and would like to know how much weight to put into learning all of the possible states & Input Events. But I’m not sure if it may instead be the case that just a general understanding of the DUAL FSM process is needed & I can relax on the specifics.

Obviously with it being so early since the exam launched, there is very limited documentation out there so I was wondering if any of you has got any input on this?

Cheers,
Curtis.

Hello Curtis

It is highly unlikely that you will be asked about any detailed information about the FSM. I believe that it is best to understand the theory involved which includes much of the text above the FSM diagram in the lesson. Understand what active and passive states mean, and under what circumstances, in general, you switch to active, and when you reestablish the passive state. Understanding the four active states, memorizing the R and O flags, and knowing all of the input events I believe goes beyond what they’re looking for.

I hope this has been helpful!

Laz

2 Likes

Hi,
I am still not able to understand “During this local computation, the route remains passive. If there is no feasible successor in the topology table, the router will start a diffusing computation and the route will go active”. what exactly should happen to let a route turn into active ( one is SIA scenario) ?

Hello Dhruv

When it comes to the computation of routes using EIGRP, there are several states that you can see when you issue the show ip eigrp topology command. Here is an example of that output:

R1#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(1.1.1.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 1.1.1.0/24, 1 successors, FD is 128256
        via Connected, Loopback0
P 2.2.2.0/24, 1 successors, FD is 156160
        via 192.168.12.2 (156160/128256), FastEthernet0/0
P 192.168.12.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0

The Active state indicated by an A at the beginning of each route indicates that the EIGRP DUAL algorithm is actively searching for a route to this destination. This state should only exist for a fraction of a second under normal circumstances. In the output above, there are no routes in an Active state.

The Passive state indicates a stable topology, that is, that a route has been found and has been placed in the routing table. This is the state in which you should find routes for the vast majority of the time.

Now, having said that, the statement that Rene makes in the lesson simply says that during the local computation that takes place when there is an input event, the route remains passive. That means that the topology is still stable, and the route is still in the routing table. During the computation, no changes are made to the actual operation of routing to that destination. If after the local computation a feasible successor is not found in the topology table, only then will the route go active, be removed from the routing table, until a new feasible successor is found.

A route will go active when

  1. One of the three input events mentioned in the lessons take place AND
  2. After the local computation, there is no feasible successor in the topology table.

In such a situation, the route will go active, simply because it is actively searching for an alternative route to the destination by communicating with other EIGRP routers.

Going active is a normal part of EIGRP operation, and it will take place, but it should only last for a matter of seconds at the most. If it lasts longer then we have the SIA scenario that you mention.

The Stuck in Active situation occurs when EIGRP is not deployed properly. For larger networks, the EIGRP stub feature should be used as well as summarization to minimize the possibility of an SIA situation.

I hope this has been helpful!

Laz

Do we have Fix input event number from 0-12 ??

When the Query generated actually, is it only when the network fails or the query can be generated even if there is metric change ?

When the Route goes into active state , is it only when the network fails or it can be active when there is a metric change or other attribute change with a particular route ?

When exactly the router does the local computation ?

lets say there is a better metric comes in as an advertisement for a route and then what will the receiver router do ?, will it change the path immediately and how the router compute it ??

What is 4 active state types and how it deals with the convergence ?

Hello Narad

The input events are predefined with these numbers, but the numbers are 1 to 12.

The key word here is “change”. Any change in the network will trigger the DUAL algorithm, which will send a query. So this can be either a failure, a change in metric, an addition of another EIGRP router, or the addition of a subnet on a router that will participate in EIGRP.

As it says in the lesson, in the 3rd paragraph, a local computation will take place when an input event occurs, and these are further described in the lesson.

As soon as a metric changes or an advertisement is received with a different metric to a particular destination, local computation immediately takes place.

These are defined by the R and O flags. For more about these flags, take a look at this post:

I hope this has been helpful!

Laz

Laz,

Thank you so much. This calmed down some anxiety about the FSM. Thanks for the break down on different states

1 Like

Hi,

I’m a little confused about the final step in your example, i.e. R1 and R2 sending updates.

The (second to last) step where R2 sends a Reply to R1’s query makes sense - i.e. it performs a local computation after which it finds that is has an FS via R3, and sends this information back to R1, without ever going active.

But I would expected the final step to be R2 sending a poisoned update informing R3 that it no longer has a route to 3.3.3.3 (because it was previously its successor route), then everything is complete.

Regards,

Sam

Hello Samir

Yes I see your point. In the last diagram, Rene does have an indication that an update is sent from R2 to R3, but he doesn’t mention it in the text. I will ask him to take a look to see if he can add some more info on that update and what it contains.

It should contain an update to R3 about the fact that it no longer has an alternative route to the destination network.

I hope this has been helpful!

Laz

1 Like

Hi Rene/Laz,

In the description it says “When the diffusing computation is finished, the router will change the metric of the feasible distance to infinity”, but later in the example R1 appears to do this immediatley after going active, once diffusing computation has just started. Could you clarify please which is correct?

Thanks,
B

Hello Bhawandeep

Indeed you are correct. During the DUAL algorithm’s diffusing process, the FD is be set to infinity to indicate that the router is in a transitional state where it is actively seeking alternative paths. This is a way of marking the route as temporarily invalid while the router queries its neighbors and waits for replies to determine a new viable path.

So the FD of the route in question is set to infinity as soon as the DUAL algorithm begins, and the route enters the active state. I will let Rene know to make the appropriate corrections. Thanks for pointing that out!

Laz

1 Like