LACP: Best Practices and Configuration
LACP (Link Aggregation Control Protocol, 802.3ad / 802.1AX) aggregates multiple physical links into a single logical link to increase bandwidth, provide redundancy, and load-balance traffic. It is a multi-vendor standard. This guide covers LACP best practices for avoiding common pitfalls. 2026.
How LACP Works
- Aggregation of 2-8 links into one logical port channel
- LACPDUs exchanged every 1s (fast) or 30s (slow)
- Each system identifies the other system by priority + MAC
- Ports are identified by priority + port number
- Negotiation: active+active and active+passive = OK. Passive+passive = no bundle
LACP Modes
- Active: sends LACPDUs regularly
- Passive: responds only when it receives LACPDUs
- On / Static: aggregation without LACP (unsafe, with no fault detection)
- Recommended: active+active on both sides
Load-Balancing Algorithms
The selected algorithm determines how flows are distributed across the links:
- src-mac: hashed on the source MAC (poorly balanced for 1 server → N clients)
- dst-mac: hashed on the destination MAC
- src-dst-mac: hashed on the combination (standard)
- src-dst-ip: IP-based (suitable for L3 routing)
- src-dst-ip-port (L4 hash): best for multiple flows with the same src/dst (e.g., multi-connection HTTP/S)
- Recommendation for Cisco Catalyst: src-dst-ip-port
Best Practices
- Always use LACP active+active (do not use 'on' mode)
- At least 2 links per port channel (redundancy)
- Maximum of 8 active links per port channel (hardware limit)
- Use the same speed/duplex/VLAN settings on all members
- Use an L4 hash algorithm for effective load balancing
- Disable PortFast on the port channel (not applicable)
- A LAG across different switches requires MC-LAG/vPC/MLAG (not standard LACP)
Cisco IOS Configuration
- interface range Gi1/0/1-2
- channel-group 1 mode active
- description Uplink-to-Core
- interface Port-channel1
- switchport mode trunk
- switchport trunk allowed vlan 10,20,30
- port-channel load-balance src-dst-ip-port (global command)
Juniper Junos Configuration
- set chassis aggregated-devices ethernet device-count 10
- set interfaces ae0 aggregated-ether-options lacp active
- set interfaces ge-0/0/0 ether-options 802.3ad ae0
- set interfaces ge-0/0/1 ether-options 802.3ad ae0
- set interfaces ae0 unit 0 family ethernet-switching interface-mode trunk vlan members all
MC-LAG / vPC: Multi-Chassis LACP
Enables 1 server/switch to form a LAG to 2 different switches for high availability:
- Cisco Nexus: vPC (Virtual PortChannel)
- Arista: MLAG (Multi-Chassis LAG)
- Juniper: MC-LAG
- Configuration: 2 switches connected by a peer link present 1 shared MC-LAG ID to the server
EVPN ESI-LAG (Modern Approach)
- Replaces proprietary MC-LAG with the EVPN standard
- Active-active multihoming via ESI (Ethernet Segment Identifier)
- Supported by Juniper, Cisco Nexus, Arista, Nokia, and SONiC
- Recommended for modern EVPN-VXLAN fabrics
Troubleshooting
- show etherchannel summary: port-channel status
- show lacp neighbors: LACP peers
- show interfaces port-channel 1: aggregate counters
- show spanning-tree interface Po1: STP on the bundle
- Common issues: speed/duplex mismatch, LACP mode mismatch, or a port in err-disable state
Pitfalls
- Adding a port with an existing VLAN configuration: the configuration is lost and must be reapplied to the port channel
- 'on' mode without LACP: unsafe, with no negotiation or failure detection
- Too many links: links 9+ remain on standby and are not used for load balancing
- src-mac load balancing with 1 server: all traffic leaves through 1 link
Order from OPTINOC
Turnkey LACP/MC-LAG/ESI-LAG configuration for Cisco/Juniper/Arista. Audit of existing LAG deployments. Quote within 48h.
