cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
661
Views
0
Helpful
3
Replies

why in ether channel the load balancing is per flow not per packet?

Ravi Pande
Level 1
Level 1

why in ether channel the load balancing is per flow not per packet?

3 Replies 3

jdesanti
Cisco Employee
Cisco Employee

The way EtherChannel load balancing works is that the switch assigns a hash result from 0-7 based on the configured hash  method ( load balancing algorithm ) for the type of traffic. This hash result is commonly called as Result Bundle Hash (RBH).

As for an example, let us consider that the port-channel algorithm configured on the box is src-dst ip then the source and destination IP of the packet will be sending to the hash algorithm (a complicated 17th degree polynomial) to calculate the RBH. Now each RBH is mapped to one unique physical port in the port-channel, whereas one physical port can be mapped to multiple RBHs.

Long story short, the variables (like src/dst MAC, IP...) are used to calculate the hash not for forwarding decisions, that's why the etherchannel load balance works on a flow basis.

Thank you 

Joseph W. Doherty
Hall of Fame
Hall of Fame

Duplicate posting, see also: https://supportforums.cisco.com/discussion/13138716/why-ether-channel-load-balancing-flow-not-packet

As Mark explained in the other thread it avoids out-of-order resequencing, which often is a "bad thing", an so it's likely by design.  Technically, as Jdesanti explains in this thread, the hardware computes the same link for every frame/packet of a flow.

If, by design, avoiding out-of-order resequencing wasn't a consideration, the hardware could simple round-robin a flow's frames/packets across all the Etherchannel links.