EIGRP – Choosing a Successor

Welcome back! Continuing on with our discussion of EIGRP, let’s delve further into the details of what makes this particular Interior Gateway Protocol (IGP) so successful.

With EIGRP, the best routes to the known destinations are determined using the Diffusing Update Algorithm (DUAL), invented by Dr. J.J. Garcia-Luna-Aceves. DUAL calculates the best next hop router for each destination and then attempts to find a loop-free backup on the next hop as well. Let’s look at an example in Figure 1:

As you can see, we have three routers. We’re looking at things from R1’s perspective. Specifically, we’re interested in the paths that R1 might take to reach the 10.1.1.0/24 subnet. To keep things simple (for now), we’ll use a “cost” metric in our calculations, instead of the actual EIGRP composite metric. Notice that the metric for R2 to reach 10.1.1.0/24 is 1000. This metric is advertised by R2 to R1 and is referred to as R2’s “Advertised Distance” (AD) for the destination. Likewise, R3’s AD for 10.1.1.0/24 is 1500. Now, let’s suppose that the metric from R1 to R2 and R1 to R3 is 1000 as shown in Figure 2:

In EIGRP, the total path metric to reach a destination via a particular neighbor is called the “Feasible Distance” (FD) via that neighbor. The FD is calculated based on the metric to reach the neighbor and the AD received from the neighbor. In our simplified metrics example, the FD via R2 is 2000, which is the sum of the metric from R1 to R2 (1000) and the AD received from R2 (1000). Likewise, the FD via R3 is 2500, which is the sum from R1 to R3 (1000) and the AD from R3 (1500). Refer to Figure 3:

The router with the lowest FD to a destination is called the “successor” (as in “what comes next”). Since the FD via R2 (2000) is less than the FD via R3 (2500), R1 chooses R2 as its successor for the 10.1.1.0/24 subnet, and R2 is placed in the routing table as the next hop for 10.1.1.0/24. If there’s a tie for lowest FD, multiple successors are placed in the routing table (up to four by default), and traffic to the destination is load-shared between them.

Next time, we’ll discuss how EIGRP chooses feasible successors, which are loop-free backup next hops.

This is a good brief post but what if the sitauation was modified and both R2 & R3 had equal feasible distance. Both would be added as successor so which way will it go if both are successors and if it chooses R3 but we want it to go to R2 how do we make it take the path through R2 with out tuning the Metric?

2. Al Friebe Reply

Jeremiah –

You are correct, if there is a two-way tie for lowest metric, you would then have two successors, and by default both next hops would appear in the routing table. In this case, the traffic would be load-shared between the next hops, using whatever scheme (per-packet, per-destination, per-session) the router’s switching algorithm (process, fast, Net Flow, CEF) specifies. If you wanted to override the load sharing, you have three options.

First, you could disable load sharing by specifying *maximum-paths 1* under EIGRP, and then the first successor found would be used for all traffic (the second successor would in effect act as a feasible successor).

Second, you could modify the metric (based by default on bandwidth and delay). Because modifying an interface bandwidth can have side-effects (it affects the loading calculation, and could affect QoS calculations), the interface delay is what is typically used. This could either be modified on the interface directly, or manipulated with an offset list under EIGRP.

Third, you could change the Administrative Distance for one of the next hops to other than the default of 90 (170 for External EIGRP), using the *distance* command under EIGRP. Of the three options, manipulating the interface delay is the most common.

Hope this helps!

– Al