📖 Introduction
Link Aggregation is widely used in enterprise and data center networks to increase bandwidth and provide redundancy between switches, servers, and routers. IEEE standard 802.3ad, also known as Link Aggregation Control Protocol (LACP), is the most common method for dynamically bundling multiple links into a single logical interface.

In this article, we’ll break down:
- What is LACP?
- Difference between Static, Passive, and Active modes
- Real-world configuration examples (Cisco IOS-style)
- Troubleshooting methods
- Best practices for production networks
🔹 What is LACP?
LACP (802.3ad) is a protocol that negotiates and manages bundling multiple Ethernet links into a single logical channel, called an EtherChannel.
Benefits of LACP
Bandwidth aggregation (e.g., 4 × 1Gbps = 4Gbps channel)
Automatic failover (if one link fails, traffic continues on others)
Load balancing across links
Easier manageability (treated as one interface in configs)
🔹 LACP Modes
| Mode | Behaviour | Use Case |
| Static | No protocol negotiation. Links are manually bundled. If configs mismatch, channel fails. | Simple, controlled environments |
| Passive | Listens for LACP negotiation but does not initiate. Requires other side to be Active. | Interoperability when one side should not initiate |
| Active | Actively sends LACP negotiation packets. Can form EtherChannel with either Active or Passive. | Recommended for dynamic and reliable setups |
📌 Key rule: At least one side must be Active for LACP to form successfully.
🔹 Configuration Examples
1. Static EtherChannel (No LACP)
! On Switch A
interface range Gi0/1 - 2
channel-group 1 mode on
!
interface Port-channel1
switchport mode trunk
! On Switch B
interface range Gi0/1 - 2
channel-group 1 mode on
!
interface Port-channel1
switchport mode trunk
⚠️ Note: If configs mismatch (e.g., speed, duplex, VLANs), channel fails silently.
2. LACP – Passive on One Side, Active on Other
! On Switch A (Active)
interface range Gi0/1 - 2
channel-group 1 mode active
!
interface Port-channel1
switchport mode trunk
! On Switch B (Passive)
interface range Gi0/1 - 2
channel-group 1 mode passive
!
interface Port-channel1
switchport mode trunk
Works because Active + Passive = Success.
3. LACP – Active on Both Sides
! On Switch A
interface range Gi0/1 - 2
channel-group 1 mode active
!
interface Port-channel1
switchport mode trunk
! On Switch B
interface range Gi0/1 - 2
channel-group 1 mode active
!
interface Port-channel1
switchport mode trunk
Most reliable setup. Active + Active = Success.
4. Passive on Both Sides (Failure Case)
! On Switch A
interface range Gi0/1 - 2
channel-group 1 mode passive
!
interface Port-channel1
switchport mode trunk
! On Switch B
interface range Gi0/1 - 2
channel-group 1 mode passive
!
interface Port-channel1
switchport mode trunk
❌ No channel formed. Both sides are waiting for negotiation.
🔹 Verification & Troubleshooting
Useful Commands (Cisco IOS)
show etherchannel summary
Sample Output
SwitchA#sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 5
Number of aggregators: 5
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SD) -
2 Po2(SD) -
4 Po4(SD) -
21 Po21(SU) LACP Gi1/0/12(P)
22 Po22(SU) LACP Gi1/0/8(P) Gi1/0/23(P)
show lacp neighbor
Sample Output
SwitchA#show lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 21 neighbors
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi1/0/12 SA 32768 001f.a022.3cf2 5s 0x0 0x1 0x21 0x3D
Channel group 22 neighbors
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi1/0/8 SA 32768 001f.a022.09e2 13s 0x0 0x1 0x21 0x3D
Gi1/0/23 SA 32768 001f.a022.09e2 13s 0x0 0x1 0x1A 0x3D
show interfaces port-channel 21
Sample Output
SwitchA#show interfaces port-channel 21
Port-channel21 is up, line protocol is up (connected)
Hardware is EtherChannel, address is b08b.d037.fc8c (bia b08b.d037.fc8c)
MTU 9198 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 18/255, rxload 6/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 1000Mb/s, link type is auto, media type is N/A
input flow-control is on, output flow-control is unsupported
Members in this channel: Gi1/0/12
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output 00:00:00, output hang never
Last clearing of "show interface" counters never
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 27139000 bits/sec, 52922 packets/sec
5 minute output rate 74377000 bits/sec, 145184 packets/sec
1435550881109 packets input, 92388024026481 bytes, 0 no buffer
Received 6430696249 broadcasts (6361557122 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 2066589826 multicast, 0 pause input
0 input packets with dribble condition detected
1345574643469 packets output, 86255405993926 bytes, 0 underruns
Output 33360668 broadcasts (0 multicasts)
0 output errors, 0 collisions, 2 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
debug lacp event
Sample Output
#debug lacp event
Link Aggregation Control Protocol events debugging is on
🔹 Best Practices
- Always prefer LACP Active mode for reliability.
- Ensure speed, duplex, VLAN config, trunk/native VLAN match on both sides.
- Use even number of links for better load balancing.
- Monitor EtherChannel with show commands regularly.
- Avoid mixing different interface types (e.g., 1G + 10G).
📌 Conclusion
LACP is a crucial protocol for network reliability and scalability. Understanding the differences between Static, Passive, and Active is key to deploying resilient and efficient EtherChannels.
For production networks:
- Static = Simple, but less flexible.
- Active/Passive = Preferred, with at least one side in Active.
- Active/Active = Best practice for dynamic and stable environments.
Here’s a visual diagram of EtherChannel negotiation scenarios you can use in your article:
- Static + LACP → ❌ Failure (Mismatch)
- Static + Static → Success (No LACP)
- Passive + Passive → ❌ Failure
- Active + Passive → Success
- Active + Active → Success

This chart clearly shows when EtherChannel formation succeeds or fails under different negotiation modes.
Useful Links
https://datatracker.ietf.org/doc/html/rfc7424
https://sanchitgurukul.com/basic-networking
https://sanchitgurukul.com/network-security
