1

In an ECMP path (consider 2 path ECMP - path1 and path2), if one of the path (say path-1) goes down, all the flows will be mapped the remaining one path (say path2).

Now, after a while, if the path1 comes back up, how will the load balancing happen? Will some the flows will be forcefully re-mapped to the recovered path-1?

For example lets take legacy Cisco routers running IOS.

Ron Maupin
  • 102,040
  • 26
  • 123
  • 202
Hemanth
  • 1,134
  • 1
  • 13
  • 25

2 Answers2

2

For Cisco, as you have mentioned in your comment, EIGRP can do ECMP (it can also do unequal load balancing). It has a couple of algorithms that it uses: Per-Destination and Per-Packet.

When one route goes down in EIGRP load balancing, all the traffic switches over to the remaining path(s). When the down route comes back up, the algorithm in use will again send packets to the path that the algorithm has chosen for them.

Remember that packets are routed individually, one at a time.


For most routing protocols on Cisco IOS (even for static routing), ECMP is really handled by CEF, and you can see which method is being used with the show ip cef command. The default is Per-Destination load balancing that uses a hash to determine which path a packet should take, and each packet is forwarded independently, so when a new path comes up, that can cause packets that would have gone on an existing path to now take the new path because the hashing of the destination addressing now goes to the new path.

The other method is Per-Packet load balancing, and it simply alternates packets between the available path, so when a new path comes up, packets will also be forwarded using the new path. Per-Packet load balancing is not normally recommended because it can cause out-of-order packet delivery. TCP in the destination can compensate for that at some resource cost, but UDP cannot, and it can completely disrupt real-time protocols that use UDP.

Ron Maupin
  • 102,040
  • 26
  • 123
  • 202
0

Assuming flow-based balancing, No. Flows will not be "re-mapped" to path 1. The flows will continue to use path 2 until they complete. New flows will be distributed between path 1 and path 2.

When path 1 is restored, all existing flows will continue to use path 2. But over time, flows will be roughly distributed evenly between the two paths.

Ron Trunk
  • 68,291
  • 5
  • 66
  • 126