LACP (Link Aggregation Control Protocol) Troubleshooting

Modified on Fri, 12 Jun at 3:56 PM

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:

  1. LACP fails to converge despite proper configuration
  2. LACP flapping despite physical link stable
  3. All member links down for unknown reason
  4. Interoperability issue with third-party device
  5. Partner ID constantly changing
  6. System cannot aggregate >2 links in LAG
  7. Hardware error in aggregation
  8. 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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article