Traffic that flows across a port-channel is not forwarded out member links in a round robin basis. A hash is calculated and packets are consistently forwarded across a link based on that calculated hash.
The load balancing hash is a system wide configuration that uses a global command:
port-channel load-balance X where X is the hash from the following selections:
|dst-ip||Balances based on destination IP and MAC address only|
|dst-mac||Balances based on destination MAC address only|
|dst-mixed-ip-port||Balances based on destination IP and MAC address and TCP/UDP port|
|dst-port||Balances based on destination port only|
|src-dst-ip||Balances based on source IP and destination IP address and MAC addresses|
|src-dst-ip-only||Balances based on source IP and destination IP address without MAC address information|
|src-dst-mac||Balances based on source and destination MAC addresses|
|src-dst-mixed-ip-port||Balances based on source and destination IP addresses along with source and destination TCP/UDP ports|
|src-dst-port||Balances based on source and destination TCP/UDP ports only|
|src-ip||Balances based on source IP address only|
|src-mac||Balances based on source MAC address only|
|src-mixed-ip-port||Balances based on source IP address and TCP/UDP port|
|src-port||Balances on source port only|
Changing the hash may be beneficial to systems that see very high utilisation on one or two member links in a port channel.
Hashing is a binary function; it is important to note that load balancing works best in situations where the number of links are in powers of two. A two or four link etherchannel will load balance better than a three or five link etherchannel.
show etherchannel load-balance will display how the switch will load balance its network traffic.