EIGRP Unequal Cost Load Balancing

Thanks a lot…you the man…

Azm

1 Like

Hi guys,

the FS normally is not inserted in the routing table, only the successor route can be found there.
If you do unequal-cost LB, the FS routes will be put in the routing table, right?

And if there are multiple FS in the EIGRP topology table, what is the deciding factor to choose one to replace the successor route in case it fails? The one with the lowest AD becomes the next successor?

Thanks
Florian

Hi guys,

just read the next article “EIGRP variance command example” and that answered already my first question: “the FS normally is not inserted in the routing table, only the successor route can be found there. If you do unequal-cost LB, the FS routes will be put in the routing table, right?”

So only this question is still current: “And if there are multiple FS in the EIGRP topology table, what is the deciding factor to choose one to replace the successor route in case it fails? The one with the lowest AD becomes the next successor?”

Thanks
Florian

Hello Florain

The FS is a FS only if it is not in the routing table. If it is in the routing table it has the best metric and is thus considered a successor, even if there are more than one such as is the case with EIGRP load balancing.

If you do unequal cost LB, then the routes in the routing table are also considered successors and not feasable successors. But putting aside terminology, the answer is yes, the routes that were FS (at least the next one(s) in line) is inserted into the routing table and becomes a successor.

The deciding factor of choosing the next successor is always the same, regardless of whether or not you are using load balancing. EIGRP will keep up to six feasible successors in the topology table and only the one (or ones) with the best metric (or metrics) become the successor(s) and are placed in the routing table.

I hope this has been helpful!

Laz

1 Like

In the picture it looks like the destination interface is missing it’s value of 5. Is this accurate?
image

Otherwise how would R1 have a F.D. of 15?

Hi Dylan,

This is a bit confusing yes, I just updated the picture to include a destination value and I also included router names everywhere. The values and tables are also updated.

Rene

I have a question for Unequal Cost Load Balancing in EIGRP, do we need to set the maximum paths like RIP
For example in RIP:

R1(config) router rip 
R1(config-router) maximum path 4

Hello Jermaine

EIGRP can be configured with equal cost and unequal cost load balancing. For equal cost load balancing, the maximum-paths command determines the maximum number of routes that the routing protocol can use.

When using unequal cost load balancing, using the variance command to determine how many routes will be installed in the routing table. More information about this can be found at the following Cisco documentation:


I hope this has been helpful!

Laz

Hello Rene,

I’m new to networklessons.
In principle I would like to congratulate you for the material.
I have a question regarding the relationship of the CEF with the unequal balance of EIGRP.
Does EIGRP unequal balancing work with IP CEF load-sharing per-destination?
Or does it only work with IP CEF load-sharing load-sharing per-packet?

Regards,
Diéssi Borba.

Hello Diessi

Welcome to Networklessons! We’re glad to have you on board and to help you out with any and all your questions.

Concerning unequal load balancing using EIGRP, Cisco states the following:

By default, CEF uses per-destination load balancing. If it is enabled on an interface, per-destination load balancing forwards packets based on the path to reach the destination. If two or more parallel paths exist for a destination, CEF takes the same path (single path) and avoids the parallel paths. This is a result of the default behavior of CEF.

When the interfaces through which the paths are of the same type, the hash algorithm determines the path to be chosen. When the load sharing interfaces are of different types, such as a serial port and an Ethernet port, CEF chooses a single path .

However, if you are using interfaces of different types, using per-packet load sharing with CEF will allow load balancing to function correctly.

You can find more information from the following Cisco documentation:

I hope this has been helpful!

Laz

Hello Lazaros,

Thanks for your response.
I had read this post from Cisco, but there is something that is not clear to me.

I have noticed that in situations of different links it is necessary to use the per-packet.

My question is this:
In situations that have equals types links. For example, 3 ethernet links, however with metrics differents than EIGRP, scenario to run UCMP. In this situation, will this unequal balancing work even with per-destination mode balance in CEF?

Thank you,
Regards,
Diéssi Borba

Hello Lazaros,

Thanks for your response.
I had read this post from Cisco, but there is something that is not clear to me.

I have noticed that in situations of different links it is necessary to use the per-packet.

My question is this:
In situations that have equals types links. For example, 3 ethernet links, however with metrics differents than EIGRP, scenario to run UCMP. In this situation, will this unequal balancing work even with per-destination mode balance in CEF?

Thank you,
Regards,
Diéssi Borba

Hello Diessi

If you have unequal EIGRP load balancing across three Ethernet links, and you are using CEF, the default behaviour is to load balance based on destination. This will indeed function, but it is not always the best choice.

Let’s say you have load balancing on these three links with a ratio of 3:2:1. Let’s say you have 60 destinations being routed in a particular period of time. You will have 30 destinations going through one route, 20 going through another and 10 through the third regardless of what the actual traffic for each destination eventually becomes. Once each destination IP is encountered by the router for the first time, it will be routed based on this load balancing algorithm. This is how CEF functions by default. The more destinations there are, the more efficient this process is. You can also see that this is not very effective for traffic with very few destination IP addresses such as two or three.

You can of course modify this default behaviour of CEF by implementing per-packet load balancing as you suggested as well.

Hi Rene,

I didn’t understand why the Topology table makes those decisions.
I followed until the point where both the Feasible Successor with a metric * variance > FD and the Successor makes it into the Routing Table.
Why is it then the Topology tables work to loadbalance?

I thought that the metric which is installed as the actual metric of that route into the Routing.
From there the proportional Loadbalancing happens.

Best regards,
Marcel

Hello Marcel

All routes learned via EIGRP are contained within the topology table, whether they are actively being used (in the routing table) or not. These routes are examined by EIGRP and only the route with the best metric is placed within the routing table. The rest of the routes still exist in the topology table however.

So, the routing table will only have a single route to a particular destination by default (unless two routes have an equal metric of course). In order to determine if a route can be used for unequal load balancing, the variance value is used and the calculation as described above is implemented on the metrics found in all routes within the topology table. If the metric of the route fulfills the metric * variance > FD condition, then it is then installed in the routing table as well, as a secondary, unequally load balanced route.

So the topology table is used in this whole evaluation of routes because it is there that all the available routes and their metrics are found.

I hope this has been helpful!

Laz

1 Like

Isn’t it less than or equal to the cost ?

" This configuration increases the minimum metric to 40 (2 * 20 = 40). EIGRP includes all routes that have a metric of less than or equal to 40 and satisfy the feasibility condition. In the configuration in this section, EIGRP now uses two paths to get to Network X, E-C-A and E-B-A, because both paths have a metric of under 40. EIGRP does not use path E-D-A because that path has a metric of 45, which is not less than the value of the minimum metric of 40, because of the variance configuration. Also, the reported distance of neighbor D is 25, which is greater than the feasible distance (FD) of 20 through C. This means that, even if variance is set to 3, the E-D-A path is not selected for load balancing because Router D is not a feasible " https://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/13677-19.html

Hello Shashank

I was doing some more research to find out if it is actually “less than” or “less than or equal to” the cost. I found that the Cisco IOS command reference for variance states that it must be “less than”. However, the documentation you linked to shows “less than or equal to”. So i decided to lab it up.

I created two paths to destination 10.10.10.0/24 and using the “bandwidth” command on one of the interfaces, adjusted it so that the metric of one path was exactly twice that of the other. You can see this in the topology table below:
image

Note that via one path, the metric is 131072 and via the other, the metric is 262144 which is exactly double. Looking at the routing table, only the best route is installed. Next I issued a variance of 2 on the EIGRP configuration, and looked at the routing table:
image

I found that both routes were installed.

So it is indeed “less than or equal to”. I will let @ReneMolenaar know to clarify this in the lesson.

I hope this has been helpful!

Laz

Thanks for the clarification!

It’s all over the place with documentation, I was hoping to lab it too… haven’t had a chance yet, so thanks for that!

1 Like

@shashank.mohan89 Thanks for sharing this, it’s indeed less or equal. And @lagapides, thanks for labbing this up :+1: I just fixed it :slight_smile:

Rene

1 Like

@ReneMolenaar no probs, happy to pitch in!

1 Like