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:
Before configuring EtherChannel on Cisco switches, ensure the following prerequisites are met to avoid misconfiguration and network issues:
Tip: Always shut down interfaces before applying EtherChannel configuration to prevent temporary loops and spanning-tree issues.
There are three methods to configure EtherChannel on Cisco switches:
| 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:
For successful EtherChannel formation, all member interfaces must have identical configurations:
Warning: Misconfigured EtherChannel can cause spanning-tree loops and network outages.
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
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
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 is the recommended protocol for EtherChannel in modern networks due to its open standard nature and better error detection.
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
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
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.
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.
Warning: Static mode (On) does not use any negotiation protocol. Both sides must be configured identically with "on" mode. Not recommended for production use.
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.
EtherChannel can also be configured on access ports (non-trunk) for server or workstation connections.
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
EtherChannel uses load balancing to distribute traffic across member links. You can configure the load balancing method based on your traffic patterns.
show etherchannel load-balance
configure terminal port-channel load-balance src-dst-ip exit
Recommendation: Use src-dst-ip for most environments as it provides good load distribution.
show etherchannel summary
Displays brief information about all EtherChannels. Look for:
show etherchannel 1 detail
Shows detailed information for Port-channel 1
show etherchannel port-channel
Displays all port-channels and their member ports
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 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 etherchannel load-balance
Displays current load balancing algorithm
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
Check:
show etherchannel summary show interfaces status | include Gi0/[1-2]
Common Causes:
show etherchannel 1 detail show run interface gigabitEthernet 0/1 show run interface gigabitEthernet 0/2
Solution: Ensure all interface configurations are identical
show interface gigabitEthernet 0/1 status show interface gigabitEthernet 0/1
Check: Physical connectivity, cable, SFP module
Port is suspended due to configuration mismatch or spanning-tree inconsistency.
show spanning-tree interface gigabitEthernet 0/1 detail
show etherchannel 1 port show etherchannel load-balance
Solution: Change load balancing algorithm
port-channel load-balance src-dst-ip
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
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
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
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
configure terminal interface range gigabitEthernet 0/1-2 shutdown no channel-group 1 no channel-protocol lacp no shutdown exit
configure terminal no interface port-channel 1 exit
Note: Always shutdown interfaces before removing EtherChannel configuration to prevent temporary loops.
# 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
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.