Skip to content

EtherChannel / Link Aggregation

Combining multiple physical links between two switches into one logical link — for extra bandwidth and for redundancy (if one physical link fails, traffic continues over the rest without a spanning-tree recalculation).

Why EtherChannel

Without it, Spanning Tree blocks every redundant path between two switches to prevent loops — so two parallel cables between switches would normally leave one sitting idle, doing nothing. EtherChannel bundles them into a single logical interface that STP treats as one link, so all member links can actually pass traffic simultaneously.

LACP vs PAgP vs Static

Mode Type Notes
LACP (802.3ad) Dynamic, open standard Negotiates with the far end automatically — the standard modern choice
PAgP Dynamic, Cisco-proprietary Legacy — only relevant switch-to-switch between older Cisco devices
Static ("on") No negotiation Both ends just assume the channel is up — misconfiguration on one side can silently blackhole traffic, since there's no negotiation to catch a mismatch

LACP is preferred whenever both ends support it — if the far end isn't configured for channeling, or a cable is patched to the wrong switch or port, LACP simply won't bundle that link, instead of bringing up a broken channel that blackholes traffic or loops. (It does NOT check VLANs — a trunk allowed-VLAN mismatch still needs to be verified by hand on both ends.)

Configuration Example

Bundling two ports into a trunk EtherChannel between two switches:

Cisco IOS — on both switches, from global configuration mode (conf t):

interface range Gi0/1 - 2
 channel-group 1 mode active

interface Port-channel1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,999

mode active means "initiate LACP negotiation." The matching interface(s) on the other switch need mode active or mode passive (passive only responds, never initiates — at least one side must be active).

Mode compatibility: both ends must agree on a compatible mode — active/active, active/passive, or on/on. Mixing on (static) with active/passive (LACP) will not form a channel.

Load Balancing

Traffic across the bundled links is distributed by a hash of packet fields, not round-robin — so a single conversation between two hosts always rides the same physical link (important for understanding why traffic doesn't perfectly split 50/50):

Cisco IOS — global configuration mode (conf t); this setting is switch-wide and applies to all EtherChannels on the switch:

port-channel load-balance src-dst-ip

Common options: src-mac, dst-mac, src-dst-mac, src-ip, dst-ip, src-dst-ip. src-dst-ip generally gives the most even distribution for typical routed/mixed traffic.

Verification

Cisco IOS — privileged EXEC:

! Bundle status, member ports, protocol in use
show etherchannel summary

! Logical interface detail
show interfaces port-channel 1

! Load-balancing and per-member detail
show etherchannel port-channel

In show etherchannel summary, member ports flagged P are bundled and passing traffic; I (individual) or D (down) mean that port isn't actually part of the working channel — worth investigating immediately, since it silently reduces available bandwidth without taking the whole link down. s (suspended) usually means the member port's config no longer matches the port-channel — e.g. a VLAN change made on the physical interface — so make VLAN/trunk changes on the Port-channel interface, not on individual member ports, and they stay in sync.