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.