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, oron/on. Mixingon(static) withactive/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.
Related¶
- VLANs & Inter-VLAN Routing — trunking, which EtherChannel bundles typically carry
- Spanning Tree Protocol (STP)