EtherChannel Not Load Balancing Across All Links
Presenting Symptom
An EtherChannel between two switches shows all member links up/up, but traffic is not load-balanced across all links; one link carries most traffic while others are underutilized.
Network Context
This scenario occurs in a small enterprise campus network with two Cisco Catalyst 3750 switches running IOS 15.0. The switches are connected via a 4-port EtherChannel (Port-channel 1) using LACP. The EtherChannel is configured as a trunk carrying multiple VLANs. The network engineer notices that traffic statistics show one link (e.g., Gi1/0/1) is heavily utilized while others (Gi1/0/2-4) have minimal traffic.
Diagnostic Steps
Check EtherChannel status and member ports
show etherchannel summaryFlags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use N - not in use, no aggregation
f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+----------------------------------------------
1 Po1(SU) LACP Gi1/0/1(P) Gi1/0/2(P) Gi1/0/3(P) Gi1/0/4(P)All member ports are in the 'P' (bundled) state, indicating the EtherChannel is operational. If any port were 'I' or 's', that would indicate a problem with that link. Since all are 'P', the issue is not with the bundle itself.
Check load-balancing method configured on the switch
show etherchannel load-balanceEtherChannel Load-Balancing Configuration: src-dst-ip EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source XOR Destination MAC address IPv4: Source XOR Destination IP address IPv6: Source XOR Destination IP address
The current load-balancing method is 'src-dst-ip'. This method uses the XOR of source and destination IP addresses to select the link. If traffic patterns are such that many flows have the same source-destination IP pair (e.g., a single client-server conversation), all traffic will hash to the same link. This is a common cause of perceived load imbalance.
Verify actual traffic distribution across member links
show interfaces counters | include Gi1/0/[1-4]Port InOctets InUcastPkts InMcastPkts InBcastPkts Gi1/0/1 1234567890 1234567 12345 123 Gi1/0/2 123456 12345 1234 12 Gi1/0/3 123456 12345 1234 12 Gi1/0/4 123456 12345 1234 12
The output shows that Gi1/0/1 has significantly higher packet counts compared to the other three ports, which have similar low counts. This confirms that traffic is not evenly distributed. With a 4-port EtherChannel, ideally each link should carry roughly 25% of the traffic. The imbalance suggests the load-balancing algorithm is not distributing flows effectively, likely due to the traffic pattern.
Check the EtherChannel load-balance hash algorithm details
show etherchannel load-balance detailEtherChannel Load-Balancing Configuration: src-dst-ip EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source XOR Destination MAC address IPv4: Source XOR Destination IP address IPv6: Source XOR Destination IP address Load-balancing algorithm: src-dst-ip Hash Distribution: Gi1/0/1: 50% Gi1/0/2: 17% Gi1/0/3: 17% Gi1/0/4: 16%
The hash distribution shows that Gi1/0/1 is carrying 50% of the traffic, while the other three share the remaining 50%. This is typical when the load-balancing method is based on IP addresses and there are few flows (e.g., a single heavy flow). The algorithm is working correctly, but the traffic pattern causes poor distribution. Changing the load-balancing method to include Layer 4 ports (src-dst-port) may improve distribution if there are many TCP/UDP sessions.
Root Cause
The EtherChannel load-balancing method is set to 'src-dst-ip', which uses only source and destination IP addresses to select the link. In this network, traffic consists of a few large flows (e.g., backup or video streaming) between the same pair of hosts, causing all traffic to hash to the same link. The load-balancing algorithm is functioning correctly, but the traffic pattern results in poor distribution across the member links.
Resolution
Verification
After applying the fix, verify the new load-balancing method and check traffic distribution: Switch# show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-dst-port EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source XOR Destination MAC address IPv4: Source XOR Destination IP address and Layer4 ports IPv6: Source XOR Destination IP address and Layer4 ports Switch# show interfaces counters | include Gi1/0/[1-4] Port InOctets InUcastPkts InMcastPkts InBcastPkts Gi1/0/1 123456789 1234567 12345 123 Gi1/0/2 123456789 1234567 12345 123 Gi1/0/3 123456789 1234567 12345 123 Gi1/0/4 123456789 1234567 12345 123 The counters now show roughly equal packet counts across all four links, indicating proper load balancing.
Prevention
["Choose the appropriate load-balancing method based on traffic patterns. For networks with many TCP/UDP flows, use 'src-dst-port' or 'src-dst-ip-port' to include Layer 4 information.","Monitor EtherChannel utilization regularly using 'show etherchannel load-balance detail' to detect imbalances early.","Design the network to ensure traffic flows are diverse (e.g., multiple clients and servers) to take advantage of the load-balancing algorithm."]
CCNA Exam Relevance
On the CCNA 200-301 exam, this scenario appears in troubleshooting questions where an EtherChannel is not load balancing correctly. The exam may present a multiple-choice question asking for the most likely cause (e.g., incorrect load-balancing method) or a drag-and-drop to match commands with their functions. Key facts: the default load-balancing method is 'src-mac' for Layer 2 EtherChannels and 'src-dst-ip' for Layer 3; the method can be changed globally; and the hash algorithm is deterministic based on the configured fields.
Exam Tips
Remember that the load-balancing method is a global configuration, not per-EtherChannel.
Understand that 'show etherchannel load-balance' displays the current method, and 'show etherchannel load-balance detail' shows hash distribution percentages.
Know that changing the load-balancing method can improve distribution but does not guarantee perfect balance; it depends on traffic patterns.
Commands Used in This Scenario
show etherchannel summary
Displays the status and configuration of all EtherChannel interfaces on the switch, used to verify channel bundling, port membership, and protocol state.
show interfaces counters
Displays interface packet and byte counters for all interfaces or a specific interface, useful for monitoring traffic statistics and identifying errors or discards.
Test Your CCNA Knowledge
Practice with scenario-based questions to prepare for the CCNA 200-301 exam.
Practice CCNA Questions