Having multiple equal-cost paths (Equal-Cost MultiPath) to a destination is nice, but you need to understand how it will work in a Cisco network.  By default, per-packet load balancing is disabled.  Anyone know why?  Leave replies in the comments section & I’ll pick the best answer.

It’s generally bad to per-packet load-balance, so IOS will hash on a few fields of the packet & ensure that subsequent packets in that ‘flow’ will take the same path.

In IOS, you can determine the exact path a packet will take through the use of the command “show ip cef exact-route“.  Of course, the Catalyst 6500 / 7600 line has a different command “show mls cef exact-route

Ivan Peplenjak has a good article on ECMP located here.

I was searching for an equivalent command on NX-OS and located the “show routing hash” command.  It works as advertised.

One thought on “NX-OS & ECMP”

  1. Per packet load balancing doesn't guarantee that packets will take the same path for a src-dst pair, which could lead to packet reordering (see post below that touches on OoO packets). This can be problematic for certain applications such as VoIP, which depends on packets arriving at the destination in sequence.

Comments are closed.