EtherChannel (Port-Channel) Configuration on Cisco Switches – Complete Guide with PAgP, LACP, and Static
What is EtherChannel?
EtherChannel (also called Port-Channel) is a port link aggregation technology that bundles multiple physical Ethernet links into one logical link between two switches or between a switch and a server. This technology provides increased bandwidth, redundancy, and load balancing across the bundled links.
EtherChannel allows you to combine 2 to 8 physical Fast Ethernet, Gigabit Ethernet, or 10 Gigabit Ethernet ports into a single logical channel, providing:
- Increased Bandwidth: Aggregated bandwidth of all member links (e.g., 4 x 1Gbps = 4Gbps)
- Redundancy: If one link fails, traffic automatically redistributes to remaining links
- Load Balancing: Traffic is distributed across all active links
- No Spanning Tree Blocking: All links remain active simultaneously
Prerequisites
Before configuring EtherChannel on Cisco switches, ensure the following prerequisites are met to avoid misconfiguration and network issues:
- Basic Cisco IOS Knowledge: Familiarity with CLI, interface configuration, and VLAN concepts
- Compatible Cisco Switches: Switches must support EtherChannel, PAgP, or LACP
- Identical Interfaces: All member ports must be the same type (FastEthernet, GigabitEthernet, or TenGigabitEthernet)
- Matching Speed and Duplex: Speed and duplex settings must match on all member interfaces
- Consistent VLAN Configuration:
- Access ports must be in the same VLAN
- Trunk ports must have identical native VLANs
- Allowed VLAN lists must match
- Same Port Mode: All interfaces must be either access ports or trunk ports
- Same EtherChannel Protocol: Both ends must use the same protocol (PAgP, LACP, or Static)
- Same Channel Group Number: Recommended for easier troubleshooting and management
- Spanning Tree Consistency: PortFast, BPDU Guard, and STP settings must match
- Physical Connectivity Verified: Correct cabling, SFPs, and link status
Tip: Always shut down interfaces before applying EtherChannel configuration to prevent temporary loops and spanning-tree issues.
EtherChannel Protocols
There are three methods to configure EtherChannel on Cisco switches:
1. PAgP (Port Aggregation Protocol)
- Type: Cisco Proprietary
- Use Case: Cisco-to-Cisco device connections only
- Modes: Desirable (active) and Auto (passive)
- Maximum Links: 8 active links
2. LACP (Link Aggregation Control Protocol)
- Type: IEEE 802.3ad standard (Open Standard)
- Use Case: Multi-vendor environments
- Modes: Active (active) and Passive (passive)
- Maximum Links: 8 active + 8 standby links
- Recommendation: Preferred over PAgP for modern networks
3. Static (On Mode)
- Type: Manual configuration without negotiation protocol
- Use Case: When devices don't support PAgP or LACP
- Modes: On (forced, no negotiation)
- Warning: No error detection, not recommended for production
EtherChannel Modes Comparison
| Protocol | Mode | Behavior | Forms EtherChannel With |
|---|---|---|---|
| PAgP | Desirable | Actively initiates negotiation | Desirable or Auto |
| Auto | Waits for negotiation request | Desirable only | |
| LACP | Active | Actively initiates negotiation | Active or Passive |
| Passive | Waits for negotiation request | Active only | |
| Static | On | Forces channel without negotiation | On only |
Important Note:
- Auto + Auto = No EtherChannel (both waiting passively)
- Passive + Passive = No EtherChannel (both waiting passively)
- On can ONLY form EtherChannel with On mode (no negotiation)
- Different protocols (PAgP + LACP) will NOT form EtherChannel
EtherChannel Requirements and Prerequisites
For successful EtherChannel formation, all member interfaces must have identical configurations:
- Speed: All interfaces must have the same speed (e.g., all 1Gbps or all 10Gbps)
- Duplex: All interfaces must have the same duplex setting (full-duplex recommended)
- VLAN Configuration: All interfaces must have the same VLAN settings
- Trunk/Access Mode: All interfaces must be either all trunk or all access ports
- Native VLAN: If trunking, native VLAN must match
- Allowed VLANs: If trunking, allowed VLANs must match
- STP Settings: PortFast, BPDU Guard settings must match
- Physical Media: Use same cable type (Cat5e, Cat6, fiber, etc.)
Warning: Misconfigured EtherChannel can cause spanning-tree loops and network outages.
PAgP Configuration (Cisco Proprietary)
Desirable Mode Configuration (Switch 1)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode desirable channel-protocol pagp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan all exit
Auto Mode Configuration (Switch 2)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode auto channel-protocol pagp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan all exit
Both Sides Desirable (Recommended for PAgP)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode desirable channel-protocol pagp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk exit
Note: Apply same configuration on both switches for desirable-desirable setup.
LACP Configuration (IEEE 802.3ad Standard)
LACP is the recommended protocol for EtherChannel in modern networks due to its open standard nature and better error detection.
Active Mode Configuration (Switch 1)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode active channel-protocol lacp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan all exit
Passive Mode Configuration (Switch 2)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode passive channel-protocol lacp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan all exit
Both Sides Active (Recommended for LACP)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode active channel-protocol lacp no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk exit
Best Practice: Use active-active configuration for fastest convergence.
LACP Priority Configuration (Optional)
interface range gigabitEthernet 0/1-2 lacp port-priority 100 exit
Lower value = higher priority (default is 32768). Useful when you have more than 8 links.
Static EtherChannel Configuration (On Mode)
Warning: Static mode (On) does not use any negotiation protocol. Both sides must be configured identically with "on" mode. Not recommended for production use.
Configuration (Both Switches)
configure terminal interface range gigabitEthernet 0/1-2 shutdown channel-group 1 mode on no shutdown exit interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan all exit
Important: "On" mode provides no error detection. Use only when PAgP/LACP is not supported by the connected device.
Access Port EtherChannel Configuration
EtherChannel can also be configured on access ports (non-trunk) for server or workstation connections.
LACP Access Port Configuration
configure terminal interface range gigabitEthernet 0/1-2 shutdown switchport mode access switchport access vlan 10 channel-group 1 mode active channel-protocol lacp no shutdown exit interface port-channel 1 switchport mode access switchport access vlan 10 spanning-tree portfast exit
Load Balancing Configuration
EtherChannel uses load balancing to distribute traffic across member links. You can configure the load balancing method based on your traffic patterns.
View Current Load Balancing Method
show etherchannel load-balance
Configure Load Balancing Method
configure terminal port-channel load-balance src-dst-ip exit
Available Load Balancing Options
- src-mac - Source MAC address
- dst-mac - Destination MAC address
- src-dst-mac - Source and destination MAC addresses
- src-ip - Source IP address
- dst-ip - Destination IP address
- src-dst-ip - Source and destination IP addresses (Recommended)
- src-port - Source TCP/UDP port
- dst-port - Destination TCP/UDP port
- src-dst-port - Source and destination TCP/UDP ports
Recommendation: Use src-dst-ip for most environments as it provides good load distribution.
Verification Commands
Show EtherChannel Summary
show etherchannel summary
Displays brief information about all EtherChannels. Look for:
- Po1(SU) - Port-channel 1, Status: S=Layer2, U=in use
- (P) - Port is bundled in the port-channel
- (D) - Port is down
- (I) - Port is standalone
- (H) - Hot-standby (LACP only)
Show Detailed EtherChannel Information
show etherchannel 1 detail
Shows detailed information for Port-channel 1
Show EtherChannel Port Information
show etherchannel port-channel
Displays all port-channels and their member ports
Show Interface Port-Channel Status
show interface port-channel 1
Shows detailed interface statistics for the logical port-channel
show interface port-channel 1 | include BW
Shows the aggregated bandwidth
Show Protocol-Specific Information
show etherchannel 1 port
Shows per-port information for EtherChannel 1
show lacp neighbor
Shows LACP neighbor information (LACP only)
show lacp internal
Shows LACP internal information
show pagp neighbor
Shows PAgP neighbor information (PAgP only)
Show Load Balancing
show etherchannel load-balance
Displays current load balancing algorithm
Test Load Balancing
test etherchannel load-balance interface port-channel 1 ip 192.168.1.10 192.168.2.20
Tests which physical interface would be used for specific traffic
Troubleshooting EtherChannel
Common Issues and Solutions
Issue 1: EtherChannel Not Forming
Check:
show etherchannel summary show interfaces status | include Gi0/[1-2]
Common Causes:
- Mismatched modes (e.g., Auto + Auto, Passive + Passive)
- Different protocols on each side (PAgP vs LACP)
- Mismatched interface configurations (speed, duplex, VLAN)
- Physical layer issues (cable, SFP problems)
Issue 2: Some Ports Not Bundled
show etherchannel 1 detail show run interface gigabitEthernet 0/1 show run interface gigabitEthernet 0/2
Solution: Ensure all interface configurations are identical
Issue 3: Port Shows (D) - Down
show interface gigabitEthernet 0/1 status show interface gigabitEthernet 0/1
Check: Physical connectivity, cable, SFP module
Issue 4: Port Shows (s) - Suspended
Port is suspended due to configuration mismatch or spanning-tree inconsistency.
show spanning-tree interface gigabitEthernet 0/1 detail
Issue 5: Unequal Load Distribution
show etherchannel 1 port show etherchannel load-balance
Solution: Change load balancing algorithm
port-channel load-balance src-dst-ip
Debug Commands (Use with Caution)
debug etherchannel all debug lacp all debug pagp all
Warning: Debug commands can impact performance. Use only during troubleshooting and disable afterward:
no debug all undebug all
EtherChannel Best Practices
- Use LACP over PAgP: LACP is an open standard and works with multi-vendor equipment
- Use Active-Active or Desirable-Desirable: Both sides actively negotiating provides fastest convergence
- Shutdown interfaces before configuration: Prevents temporary loops during configuration
- Configure port-channel interface directly: Settings on port-channel interface apply to all member ports
- Match all interface settings: Speed, duplex, VLAN, trunk settings must be identical
- Use descriptive naming: Use "description" on port-channel interfaces for documentation
- Avoid mixing interface types: Don't mix Fast Ethernet with Gigabit Ethernet
- Plan for growth: Leave spare ports available for future expansion (up to 8 total)
- Monitor bandwidth utilization: Use show commands to verify load distribution
- Document configuration: Keep records of which ports are bundled into which port-channels
- Test before production: Test EtherChannel in lab before deploying in production
- Use consistent port-channel numbers: Use same port-channel number on both sides for easier management
Configuration Examples
Example 1: Layer 2 Trunk with LACP (Recommended)
configure terminal
interface range gigabitEthernet 0/1-4
shutdown
channel-group 1 mode active
channel-protocol lacp
no shutdown
exit
interface port-channel 1
description *** Link to Switch 2 ***
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30
exit
configure terminal
interface range gigabitEthernet 0/1-4
shutdown
channel-group 1 mode active
channel-protocol lacp
no shutdown
exit
interface port-channel 1
description *** Link to Switch 1 ***
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30
exit
Example 2: Access Port with LACP (Server Connection)
configure terminal
interface range gigabitEthernet 0/10-11
shutdown
switchport mode access
switchport access vlan 100
channel-group 10 mode active
channel-protocol lacp
spanning-tree portfast
no shutdown
exit
interface port-channel 10
description *** Link to Server-01 ***
switchport mode access
switchport access vlan 100
spanning-tree portfast
exit
# Linux bonding configuration (for reference)
# /etc/network/interfaces or similar
auto bond0
iface bond0 inet static
address 192.168.100.10
netmask 255.255.255.0
gateway 192.168.100.1
bond-mode 802.3ad
bond-slaves eth0 eth1
bond-lacp-rate fast
bond-miimon 100
Example 3: Layer 3 EtherChannel
configure terminal interface range gigabitEthernet 0/1-2 shutdown no switchport channel-group 1 mode active no shutdown exit interface port-channel 1 description *** Layer 3 Link to Router *** no switchport ip address 10.1.1.1 255.255.255.252 exit
Removing EtherChannel Configuration
Remove EtherChannel from Interfaces
configure terminal interface range gigabitEthernet 0/1-2 shutdown no channel-group 1 no channel-protocol lacp no shutdown exit
Remove Port-Channel Interface
configure terminal no interface port-channel 1 exit
Note: Always shutdown interfaces before removing EtherChannel configuration to prevent temporary loops.
Quick Reference Command Summary
# Configuration
interface range gi0/1-2
channel-group 1 mode {desirable|auto|active|passive|on}
channel-protocol {pagp|lacp}
# Port-Channel Configuration
interface port-channel 1
switchport mode {trunk|access}
switchport trunk allowed vlan {vlan-list}
# Verification
show etherchannel summary
show etherchannel 1 detail
show interface port-channel 1
show lacp neighbor
show pagp neighbor
show etherchannel load-balance
# Load Balancing
port-channel load-balance {method}
test etherchannel load-balance interface port-channel 1 ip [src] [dst]
# Troubleshooting
show etherchannel port
show interfaces status
debug etherchannel all
Conclusion
EtherChannel is a critical technology for building resilient, high-bandwidth network infrastructures. Whether using Cisco's proprietary PAgP protocol or the industry-standard LACP, proper EtherChannel configuration provides increased bandwidth, redundancy, and load balancing without the complexity of routing protocols.
For modern networks, LACP (active-active mode) is the recommended protocol due to its open standard nature, better error detection, and multi-vendor support. Always ensure all member interfaces have identical configurations, test thoroughly before production deployment, and monitor EtherChannel status regularly to maintain optimal performance.
Remember that EtherChannel works at Layer 2 and Layer 3, can aggregate 2-8 links, and when properly configured, provides seamless failover with no user impact. Master these commands and best practices to build robust, high-performance network connections in your infrastructure.