Cisco IOS Port-Channel / LACP
LACP EtherChannel (802.3ad) port-channel configuration for Cisco IOS/IOS-XE switches and routers. Supports L2 (trunk/access) and L3 (routed) port-channels.
What is it?
A Port-Channel (also called EtherChannel or Link Aggregation) bundles multiple physical interfaces into a single logical interface, multiplying bandwidth and providing redundancy. IEEE 802.3ad LACP (Link Aggregation Control Protocol) is the standard — both sides negotiate which links to bundle and detect failures. A 4-port GigabitEthernet port-channel gives you 4 Gbps of aggregate bandwidth (with load balancing) and if one link fails, the remaining links continue carrying traffic without any convergence delay.
✓ When to use
- ·Uplinks between access and distribution switches that need more than 1 Gbps
- ·Server connections where 1 Gbps is a bottleneck (use 2-4 port NIC teaming + switch port-channel)
- ·Connections between core switches or between a switch and a router
- ·Anywhere you need link redundancy without spanning tree blocking ports
- ·WAN router interfaces where multiple T1/E1 or xDSL lines need to be aggregated
✗ When NOT to use
- ·Connecting a single workstation — LACP requires a switch on both ends (or server NIC teaming)
- ·Mixing different speed interfaces in one port-channel — all member ports must be the same speed
- ·When spanning tree is already providing redundancy and bandwidth is sufficient
How it compares
Prerequisites
- →Both ends of the port-channel must be configured — the switch on the other side needs the same port-channel configuration
- →All member interfaces must have the same speed, duplex, VLAN configuration, and trunk settings
- →On IOS: 'switchport trunk encapsulation dot1q' must be configured BEFORE 'switchport mode trunk' on some platforms
- →LACP 'active' mode on at least one side — never use 'on' mode with LACP (incompatible)
Config Generator
Verification commands
show etherchannel summaryShow all port-channels, member interfaces, and LACP status
Expected: Port-channel shows 'SU' (Layer 2, in use). Members show 'P' (bundled in port-channel). If 'I' (standalone), LACP not forming.
show lacp neighborShow LACP PDU exchange with the neighbor switch
Expected: Shows the neighbor's system ID, port priority, and state. If empty, LACP PDUs aren't being received.
show interfaces port-channel <id>Show port-channel interface statistics and state
Expected: Line protocol up/up. Check input/output errors — these indicate physical layer issues on member links.
Debug commands
show lacp internalShow LACP state machine for each member port
Common mistakes & fixes
⚡ Port-channel shows 'SD' or members show 'I' (individual) instead of 'P' (bundled)
Cause: LACP mode mismatch (both sides passive), or interface configuration mismatch between members
Fix: Set at least one side to 'active': 'channel-group <id> mode active'. Verify all members have identical speed, duplex, and VLAN config.
⚡ Port-channel is up but traffic imbalanced across members
Cause: Load balance algorithm not optimal for the traffic type
Fix: Change load balance method: 'port-channel load-balance src-dst-ip' for routed traffic, 'src-dst-mac' for L2 traffic. Check with 'show etherchannel load-balance'.
⚡ Cannot add interface to port-channel — 'incompatible interface removed'
Cause: Interface has different speed, duplex, VLAN, or STP configuration than existing port-channel members
Fix: Default the interface first: 'default interface <if>', then reconfigure it to match other members exactly before adding to channel-group.