LACP (LINK AGGREGATION CONTROL PROTOCOL) TROUBLESHOOTING - STANDARD OPERATING PROCEDURE
Knowledge Base Article
Document ID: KB-LACP-001
Version: 1.0
Last Updated: June 12, 2026
Platform: Juniper Networks (EX, QFX, MX, SRX Series)
Status: Production
1. OVERVIEW
LACP (Link Aggregation Control Protocol) enables dynamic bundling of multiple physical links into a single logical interface for increased bandwidth and redundancy. This SOP provides comprehensive troubleshooting procedures for LACP convergence, member link issues, and operational failures.
1.1 Objective
- Diagnose LACP convergence failures
- Resolve member link aggregation issues
- Fix partner/system ID mismatches
- Troubleshoot load balancing problems
- Provide escalation path for complex issues
1.2 Scope
This document covers: - Static and dynamic LACP aggregation - Link state transitions and convergence - System ID and partner ID negotiation - Load balancing algorithms and hashing - LACP timeout and heartbeat mechanisms - All switch and routing platforms - Interoperability with third-party devices
2. UNDERSTANDING LACP
2.1 LACP Architecture and States
Aggregation Mode: - Active: Port actively initiates LACP negotiation - Passive: Port waits for LACP negotiation from peer - Off: Aggregate without LACP (static aggregation)
Link States: - Standby: Link bundled but not used (backup) - Active: Link actively forwarding traffic - Disabled: Link not participating in LAG - Collecting: Receiving frames from LAG - Distributing: Transmitting frames to LAG
Key Identifiers: - System ID: MAC address of LAG device - System Priority: 0-65535 (lower = preferred) - Partner System ID: Remote LAG device MAC - Actor Port Number: Local port number in LAG - Partner Port Number: Remote port number - Operational Key: Identifier for LAG group
2.2 Common LACP Issues
Issue | Symptoms | Root Cause |
LACP Not Converging | Links not becoming “collecting” | Mode mismatch, timeout misconfiguration, port state issue |
Unequal Link Distribution | Some links down, others active | Link failure, LACP timeout, asymmetric failure |
All Links Down | Complete LAG failure | Aggregation ID mismatch, configuration error, all physical links failed |
Partial Aggregation | Only subset of links in LAG | Physical link down, port misconfigured, hardware issue |
Wrong Partner ID | LACP not recognizing peer | System ID change, remote device misconfigured, partner priority wrong |
Oscillating Links | Links flapping in/out of LAG | Physical flapping, LACP timeout too short, asymmetric failure |
Slow Convergence | Links take >10 seconds to aggregate | Long timeout, slow device, high latency |
No Load Balancing | All traffic on single link | Hash policy issue, single traffic flow, configuration error |
MAC Address Changes | Frequent MAC table updates | Link state oscillation, incorrect standby handling |
3. PREREQUISITES FOR TROUBLESHOOTING
Before starting troubleshooting:
- Access to both ends of LAG (local and peer devices)
- Cable connectivity verification between aggregated ports
- Understanding of LACP negotiation between devices
- Baseline working LAG configuration (if applicable)
- Peer device configuration (if troubleshooting interop issues)
- Network topology diagram showing LAG ports
- Storage for debug traces and packet captures
- Ability to enable/disable ports safely
4. INITIAL LACP DIAGNOSTICS
Procedure 4.1: Verify Aggregated Ethernet Interface
Command:
show interfaces ae1 brief
show interfaces ae1 detail
show lacp interfaces ae1
Expected Output:
Interface: ae1
Admin State: up
Link State: up
Physical Link Status: Up
Speed: 20G
Duplex: Full-Duplex
MTU: 1514
Device Flags: Present Running
Interface Flags: SNMP-Traps RPVST Internal: 0x4000
Interpret Results:
- ✓ Interface up/up with combined speed (e.g., 20G for 2×10G)
- ✓ Physical link status “Up”
- ✗ Interface down = No aggregation
- ✗ Speed lower than expected = Some links not participating
Procedure 4.2: Check Member Link Status
Command:
show interfaces ae1 detailed
show lacp interfaces ae1
Look for Member Link Details:
Member Links:
ge-0/0/0:
State: up, LACP state: up
LACP Role: Actor, Collecting/Distributing: Yes
ge-0/0/1:
State: up, LACP state: up
LACP Role: Actor, Collecting/Distributing: Yes
ge-0/0/2:
State: down, LACP state: down
LACP Role: Standby
Interpret Results:
- ✓ Member links in “up” and “Collecting/Distributing”
- ✓ Correct number of active links
- ✗ Links showing “standby” when should be “active”
- ✗ Links “down” when should be “up”
- ✗ Mismatch between physical and LACP state
Procedure 4.3: Check LACP Negotiation Status
Command:
show lacp interfaces ae1 extensive
show lacp neighbors
Expected Output:
Aggregated interface: ae1
LACP state: Role Actor (Preferred = Yes), Operational Key 0x0001
Partners Sys-id 00:11:22:33:44:55, Sys Priority 32768
Member interfaces:
ge-0/0/0 LACP state: LACP State: up, Collecting/Distributing
Actor System ID: 00:04:96:a0:f9:60, Oper Key 0x0001, Port Priority 128
Partner System ID: 00:11:22:33:44:55, Oper Key 0x0001, Port Priority 128
ge-0/0/1 LACP state: up, Collecting/Distributing
Actor System ID: 00:04:96:a0:f9:60, Oper Key 0x0001, Port Priority 128
Partner System ID: 00:11:22:33:44:55, Oper Key 0x0001, Port Priority 128
Verify:
- ✓ All links show same Partner System ID (peer device MAC)
- ✓ All links show same Operational Key
- ✓ Collecting/Distributing state for active links
- ✗ Different Partner System IDs = Multiple peers
- ✗ Different Operational Keys = Key mismatch
- ✗ Not Collecting/Distributing = Link not active
Procedure 4.4: Verify LACP Configuration
Command:
show configuration interfaces ae1
show configuration interfaces ge-0/0/0 | grep "802.3ad"
Expected Output:
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 aggregated-ether-options lacp fast
set interfaces ae1 unit 0 family inet address 10.0.0.1/24
set interfaces ge-0/0/0 ether-options 802.3ad ae1
set interfaces ge-0/0/1 ether-options 802.3ad ae1
Check Configuration:
- ✓ LACP mode is “active” or “passive” (not “off”)
- ✓ All member interfaces configured with “802.3ad ae1”
- ✓ Same aggregation ID (ae1) on all members
- ✗ Mixed modes (some active, some off) = Configuration mismatch
- ✗ Different ae IDs = Wrong aggregation group
Procedure 4.5: Check LACP Statistics
Command:
show lacp statistics ae1
show lacp statistics interfaces ge-0/0/0
Expected Output:
Interface: ge-0/0/0
LACP PDU Transmit: 1234
LACP PDU Receive: 1235
LACP PDU Discard: 0
Timeout: Fast
LACP Error: No Error
Interpret Results:
- ✓ PDU Transmit and Receive both increasing
- ✓ PDU Discard = 0 (no lost LACP packets)
- ✓ No LACP errors reported
- ✗ PDU Receive = 0 = No LACP packets from peer
- ✗ High Discard count = Dropped LACP packets
- ✗ LACP errors = Protocol issues
5. STEP-BY-STEP TROUBLESHOOTING WORKFLOWS
SCENARIO 1: LACP Not Converging / All Links Down
Step 1.1: Verify Physical Links are Up
show interfaces ge-0/0/0 terse
show interfaces ge-0/0/1 terse
# Should show:
ge-0/0/0 up up
ge-0/0/1 up up
# If showing "down", troubleshoot physical link first
# See Interface Flap Troubleshooting SOP
Step 1.2: Verify LACP Mode Configuration
show configuration interfaces ae1 | grep "lacp"
# Should show either:
set interfaces ae1 aggregated-ether-options lacp active
# OR
set interfaces ae1 aggregated-ether-options lacp passive
# Check both sides match (at least one should be active)
If Mode Mismatch Found:
# Both passive = No negotiation will occur
# Fix: Set at least one to active
set interfaces ae1 aggregated-ether-options lacp active
commit
# Verify LACP starts converging
show lacp interfaces ae1
Step 1.3: Check Member Interface Configuration
show configuration interfaces | grep -A 2 "ge-0/0/"
# Each member should show:
set interfaces ge-0/0/0 ether-options 802.3ad ae1
set interfaces ge-0/0/1 ether-options 802.3ad ae1
# If any missing:
set interfaces ge-0/0/0 ether-options 802.3ad ae1
set interfaces ge-0/0/1 ether-options 802.3ad ae1
commit
Step 1.4: Verify No Disable Statements
show configuration interfaces ge-0/0/0 | grep -i disable
show configuration interfaces ae1 | grep -i disable
# If disabled:
delete interfaces ge-0/0/0 disable
delete interfaces ae1 disable
commit
# Verify interfaces come up:
show interfaces ae1 terse
Step 1.5: Check LACP PDU Exchange
# Monitor LACP packet exchange
show lacp statistics ae1
# PDU Receive should be > 0
# If = 0, peer not sending LACP
# Verify peer configuration:
# On peer device:
show interfaces ae1 detail
show lacp interfaces ae1
# If peer not configured as LACP:
# Configure peer with LACP active
Step 1.6: Test Link Convergence Timing
# LACP convergence should happen quickly
# Monitor interface state changes:
show log messages | grep -i "ge-0/0/\|lacp\|aggregate" | tail -30
# Should see transitions:
# - Link detected (ge-0/0/0 up)
# - LACP negotiation starts (LACP PDU received)
# - Link becomes active (typically <3 seconds)
If Convergence Slow (>10 seconds):
# Check LACP timeout setting
show configuration interfaces ae1 | grep -i "timeout\|fast"
# Enable fast timeout for quicker convergence
set interfaces ae1 aggregated-ether-options lacp fast
commit
# Wait 5-10 seconds for convergence
show lacp interfaces ae1
SCENARIO 2: Only Some Links Aggregating (Partial LAG)
Step 2.1: Identify Down Member Links
show lacp interfaces ae1 extensive | grep -A 3 "ge-0/0"
# Look for links showing:
# State: down
# LACP state: standby
# Collecting/Distributing: No
Step 2.2: Check Physical Link Status
# For each down link:
show interfaces ge-0/0/0 detail
# Check for:
# Admin State: up/down
# Link State: up/down
# Link Transitions: (how many times link went down/up)
# If physical link down:
show interfaces ge-0/0/0 diagnostics optics (if fiber)
show interfaces ge-0/0/0 statistics | grep -i error
Physical Troubleshooting:
# If CRC errors present:
# Link quality issue - test with different cable
# If link flapping:
# See Interface Flap Troubleshooting SOP
# If all links on same port failed:
# May be port hardware issue
Step 2.3: Verify Link Configuration
# Check if link properly configured as member
show configuration interfaces ge-0/0/0 | grep "802.3ad"
# If missing:
set interfaces ge-0/0/0 ether-options 802.3ad ae1
commit
# Verify link comes up:
show interfaces ge-0/0/0 terse
wait 5 seconds
show lacp interfaces ae1
Step 2.4: Check System ID Consistency
show lacp neighbors | grep "Sys-id\|Oper Key"
# All member links should show same:
# - Partner System ID (peer device MAC)
# - Operational Key
# If differs:
# Link may be connected to different port group
# Verify physical connections are correct
Step 2.5: Verify Port Priority
show lacp interfaces ae1 extensive | grep "Port Priority"
# If different ports have different priorities:
# Higher priority number = lower preference
# All member links should have same priority
# If different:
show configuration interfaces ge-0/0/0 | grep -i priority
# Set all to same:
set interfaces ge-0/0/0 ether-options 802.3ad ae1 primary
set interfaces ge-0/0/1 ether-options 802.3ad ae1 primary
commit
SCENARIO 3: No Load Balancing (Single Link Carrying All Traffic)
Step 3.1: Verify Multiple Links are Distributing
show interfaces ae1 statistics | grep "input\|output"
# Should show traffic distributed
# If all traffic on one link:
show interfaces ge-0/0/0 statistics | grep "input\|output"
show interfaces ge-0/0/1 statistics | grep "input\|output"
# Compare byte counts - should be similar if multiple flows
Step 3.2: Check Hash Policy Configuration
show configuration | grep -i "hash-policy"
# Expected output:
set chassis aggregated-ether-options hash-policy layer-3-4
# Different policies:
# - layer-2: Uses source/dest MAC
# - layer-3: Uses source/dest IP
# - layer-3-4: Uses IP + TCP/UDP port (best for most)
# - layer-4: Uses TCP/UDP port only
If No Hash Policy Set:
# Set appropriate hash policy
set chassis aggregated-ether-options hash-policy layer-3-4
commit
# Verify distribution across multiple flows
show interfaces ae1 statistics
Step 3.3: Analyze Traffic Pattern
# Single flow will only use one link (this is correct behavior)
# Multiple different flows will use different links
# Test with multiple flows:
# - From different source IP to different dest IP
# - Different source ports
#
# Monitor distribution:
show interfaces ae1 statistics | grep -E "ge-0/0/[0-1]"
Step 3.4: Check for Asymmetric Traffic
# If using per-packet load balancing:
set chassis aggregated-ether-options hash-policy layer-3-4 per-packet
commit
# Per-packet distribution ensures all packets distributed
# But may cause out-of-order delivery
# Use only if required for true load balancing
SCENARIO 4: LACP Flapping (Links Oscillating)
Step 4.1: Check Link Stability
show log messages | grep -i "ge-0/0/\|lacp" | tail -30
# Look for repeated up/down transitions
# Each transition = potential issue
# Count transitions:
show log messages | grep "ge-0/0/0" | grep -E "(up|down)" | wc -l
# High count = unstable link
Step 4.2: Check Physical Link Quality
# LACP flapping often caused by physical issues
show interfaces ge-0/0/0 statistics | grep -i "error\|crc"
# Collect all physical diagnostics
show interfaces ge-0/0/0 diagnostics optics (if fiber)
show interfaces ge-0/0/0 detail | grep -i "admin\|link"
Physical Troubleshooting:
# If errors found:
# - Test with different cable
# - Clean connectors
# - Test with loopback adapter
# - Replace SFP if fiber
# (See Interface Flap Troubleshooting SOP)
Step 4.3: Check LACP Timeout Configuration
show configuration interfaces ae1 | grep -i timeout
# LACP timeout should be appropriate:
# - Fast (3 seconds): For stable networks
# - Slow (30 seconds): For unstable networks
# If timeout too short for link quality:
set interfaces ae1 aggregated-ether-options lacp slow
commit
# Wait 5 minutes to verify stability
show log messages | grep "ge-0/0/0"
Step 4.4: Check Peer Device Stability
# If only this device's links flapping:
# Issue likely local
# If peer device also showing flaps:
# Coordinate with peer team for troubleshooting
# May be network issue between devices
6. LOG COLLECTION PROCEDURES
6.1 Basic LACP Status Logs
Execute on BOTH local and peer devices:
# LACP interface status
show interfaces ae1 brief > lacp_ae_status.txt
show interfaces ae1 detail >> lacp_ae_status.txt
show interfaces ae1 extensive >> lacp_ae_status.txt
# Member link status
show interfaces ge-0/0/0 terse >> lacp_ae_status.txt
show interfaces ge-0/0/1 terse >> lacp_ae_status.txt
# LACP negotiation details
show lacp interfaces ae1 > lacp_negotiation.txt
show lacp interfaces ae1 extensive >> lacp_negotiation.txt
show lacp neighbors >> lacp_negotiation.txt
# LACP statistics
show lacp statistics ae1 > lacp_statistics.txt
show lacp statistics interfaces ge-0/0/0 >> lacp_statistics.txt
show lacp statistics interfaces ge-0/0/1 >> lacp_statistics.txt
# Configuration
show configuration interfaces ae1 > lacp_config.txt
show configuration interfaces ge-0/0/0 >> lacp_config.txt
show configuration interfaces ge-0/0/1 >> lacp_config.txt
6.2 System Logs
Command:
show log messages | grep -i "lacp\|aggregate\|ge-0/0/" | last 300 > lacp_messages.log
show log messages | grep -i "member\|802.3ad" | last 100 >> lacp_messages.log
show log messages | last 500 > lacp_full_log.txt
6.3 Advanced Diagnostics
For Complex Issues:
# Interface statistics and errors
show interfaces ge-0/0/0 statistics > lacp_link_stats.txt
show interfaces ge-0/0/0 extensive >> lacp_link_stats.txt
show interfaces ae1 statistics >> lacp_link_stats.txt
# Protocol errors
show interfaces ge-0/0/0 detail | grep -i "error\|crc\|drop" > lacp_errors.txt
show interfaces ae1 detail | grep -i "error\|crc\|drop" >> lacp_errors.txt
# Traffic distribution
show interfaces ge-0/0/0 | match "input rate\|output rate" > lacp_distribution.txt
show interfaces ge-0/0/1 | match "input rate\|output rate" >> lacp_distribution.txt
7. DIAGNOSTIC COMMANDS REFERENCE
View LAG Status
show interfaces ae1 brief
show interfaces ae1 detail
show lacp interfaces ae1
show lacp neighbors
View Member Links
show interfaces ge-0/0/0 terse
show interfaces ge-0/0/0 detail
show lacp interfaces ae1 extensive
View Statistics
show lacp statistics ae1
show lacp statistics interfaces ge-0/0/0
show interfaces ae1 statistics
show interfaces ge-0/0/0 statistics
View Configuration
show configuration interfaces ae1
show configuration interfaces ge-0/0/0
show configuration | grep "hash-policy"
Monitor Real-time
monitor interfaces ae1
monitor lacp interfaces ae1
monitor interfaces ge-0/0/0
Check Errors
show interfaces ae1 extensive | grep error
show interfaces ge-0/0/0 statistics | grep error
show lacp statistics ae1 | grep -i discard
8. COMMON ROOT CAUSES & SOLUTIONS
Problem | Root Cause | Solution |
No Aggregation | Both sides passive | Change one to active: set ... lacp active |
No Aggregation | Physical link down | Bring up link, check cable |
No Aggregation | Member not in AE | Add member: set interfaces ge-0/0/0 ether-options 802.3ad ae1 |
No Aggregation | Interface disabled | Delete disable: delete interfaces ae1 disable |
Partial LAG | Single link down | Physical troubleshooting needed |
Partial LAG | Wrong Oper Key | All members must have same key - verify aggregation ID |
All Down | All physical links down | Check all cables, test all links |
All Down | Wrong AE ID configured | Verify all members in same ae1 (not ae1 on some, ae2 on others) |
Flapping | Physical link unstable | See Interface Flap Troubleshooting SOP |
Flapping | LACP timeout too short | Set to slow: set ... lacp slow |
No Load Balance | Single flow | Normal - different flows use different links |
No Load Balance | Hash policy wrong | Set layer-3-4: set chassis aggregated-ether-options hash-policy layer-3-4 |
No LACP PDUs | Peer not running LACP | Verify peer config, enable LACP on peer |
PDU Discard High | Link quality issue | Check for errors, test with different cable |
Wrong Partner ID | Peer device changed | Document new MAC, verify peer identity |
9. INTEROPERABILITY CONSIDERATIONS
Juniper-to-Juniper LACP
# Juniper switches typically support all LACP modes
# Compatibility usually excellent if both running current Junos
Juniper-to-Third-Party LACP
Common Issues:
# 1. System ID difference
show lacp neighbors
# Verify remote MAC matches peer device
# 2. Key mismatch
# All member ports must have same operational key
show lacp interfaces ae1 extensive | grep "Oper Key"
# 3. Port number confusion
# Actor Port Number should match physical port
# Partner Port Number may differ between vendors
# 4. Timeout incompatibility
# Ensure timeout compatible with peer device
# Use slow timeout for conservative interop
set interfaces ae1 aggregated-ether-options lacp slow
10. ESCALATION CRITERIA
Escalate to JTAC if:
- LACP fails to converge despite proper configuration
- LACP flapping despite physical link stable
- All member links down for unknown reason
- Interoperability issue with third-party device
- Partner ID constantly changing
- System cannot aggregate >2 links in LAG
- Hardware error in aggregation
- LACP consuming excessive CPU
Provide JTAC with: - All logs from Section 6 - Complete LAG configuration - Peer device configuration (if available) - Diagnostic output from both sides - Timeline of issues - Hardware/software versions
11. OPERATIONAL BEST PRACTICES
Configuration Template
# Configure aggregated interface
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 aggregated-ether-options lacp fast
set interfaces ae1 unit 0 family inet address 10.0.0.1/24
set interfaces ae1 unit 0 family inet mtu 1500
# Configure member interfaces
set interfaces ge-0/0/0 ether-options 802.3ad ae1
set interfaces ge-0/0/1 ether-options 802.3ad ae1
set interfaces ge-0/0/2 ether-options 802.3ad ae1
set interfaces ge-0/0/3 ether-options 802.3ad ae1
# Configure hash policy globally
set chassis aggregated-ether-options hash-policy layer-3-4
commit
Monitoring and Maintenance
# Regular health check
show lacp interfaces ae1
show lacp statistics ae1
show interfaces ae1 statistics
# Monitor for flaps
show log messages | grep "lacp\|aggregate" | wc -l
# Verify load distribution
show interfaces ge-0/0/0 statistics
show interfaces ge-0/0/1 statistics
# Plan redundancy testing
# - Test link failure scenarios
# - Verify failover happens smoothly
# - Document behavior
12. DOCUMENT HISTORY
Version | Date | Author | Changes |
1.0 | 2026-06-12 | Network Engineering | Initial creation |
For Support: Contact Network Operations Center or JTAC
Document Owner: Network Engineering Team
Last Reviewed: June 12, 2026
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article