Layer 2 Loop Prevention: Implementing RSTP/MSTP with Multi-Chassis LAG in a 3-Switch Topology


4 views

When configuring three switches (A, B, C) in series with redundant LAG connections, we create potential broadcast loops. The described scenario where:

Switch A ┬── LAG (2x1GbE) ──→ Switch B
        └── LAG (2x1GbE) ──→ Switch C

This forms a triangle topology where STP becomes mandatory. ARP broadcasts will circulate endlessly without loop prevention.

For single-VLAN environments, RSTP (802.1w) is sufficient with these advantages over classic STP:

  • Faster convergence (~1-2 seconds vs 30-50 seconds)
  • Backward compatible with STP
  • Simpler configuration

Example Cisco RSTP configuration:

Switch(config)# spanning-tree mode rapid-pvst
Switch(config)# spanning-tree vlan 2 priority 4096

For multi-VLAN scenarios, MSTP (802.1s) becomes valuable:

Switch(config)# spanning-tree mode mst
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 2,10
Switch(config-mst)# instance 2 vlan 20,30
Switch(config-mst)# revision 1

While LACP (802.3ad) provides load balancing, it doesn't replace STP:

  • LACP manages member links within a single LAG group
  • STP manages the logical paths between network devices

Sample LACP configuration for Cisco/Juniper:

# Cisco
interface Port-channel1
 channel-group 1 mode active
!
interface Gig1/0/1
 channel-group 1 mode active

# Juniper
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ge-0/0/1 ether-options 802.3ad ae1

MC-LAG (like Cisco vPC or Juniper MC-LAG) requires:

# Cisco vPC example
vpc domain 1
 peer-keepalive destination 192.168.1.2
!
interface port-channel1
 vpc 1

Key limitations:

  • Requires identical switch models in most implementations
  • Needs dedicated interswitch links for synchronization
  • Adds complexity to troubleshooting
  1. Enable RSTP/MSTP globally
  2. Configure LACP on all physical interfaces
  3. Set appropriate STP priorities (lower = root bridge)
  4. Verify with show commands:
show spanning-tree mst
show lacp neighbor
show etherchannel summary

For monitoring, implement these SNMP OIDs:

1.3.6.1.2.1.17.2.5 (STP root port)
1.3.6.1.2.1.10.7.2.1.1 (LACP partner sys ID)

When dealing with three interconnected switches (Switch A ↔ Switch B ↔ Switch C) with redundant LAG groups, we create potential broadcast storms. Consider this ARP scenario:

# Example ARP loop path visualization
Switch B → Port 1/2 (LAG) → Switch A
Switch B → Port 3/4 → Switch C → Port 23/24 (LAG) → Switch A
Protocol Convergence Time VLAN Handling Best For
STP (802.1D) 30-50 seconds Single instance Legacy networks
RSTP (802.1w) 1-2 seconds Single instance Modern deployments
MSTP (802.1s) 1-2 seconds Multiple instances Multi-VLAN environments

Here's sample RSTP configuration for Cisco-like syntax:

# Enable RSTP globally
spanning-tree mode rapid-pvst

# Configure LAG groups
interface Port-channel1
  switchport mode trunk
  channel-group 1 mode active
  spanning-tree portfast network

# Verify topology
show spanning-tree vlan 2
show etherchannel summary

Multi-chassis LAG (MLAG/vPC/VLT) provides cross-switch bundling but requires:

  • Special hardware support
  • Control plane synchronization
  • Identical configuration on peer switches

Myth: LACP eliminates STP requirements
Reality: LACP only manages member links within a LAG group. It cannot:

  1. Prevent loops between different LAG groups
  2. Handle broadcast/multicast floods
  3. Manage alternate path redundancy

For your 3-switch topology with VLAN 2:

# Recommended baseline
1. Enable RSTP on all switches
2. Configure consistent LACP settings:
   - System priority: 32768 (default)
   - Port priority: 128 
3. Designate root bridge:
   spanning-tree vlan 2 root primary
4. Implement BPDU guard:
   spanning-tree portfast bpduguard default

When adding VLAN 3, transition to MSTP:

spanning-tree mode mst
spanning-tree mst configuration
  name REGION1
  revision 1
  instance 1 vlan 2
  instance 2 vlan 3

Essential troubleshooting snippets:

# Check STP port roles
show spanning-tree brief

# Verify LACP neighbor status
show lacp neighbor

# Test failover (on Cisco)
test spanning-tree vlan 2 port  role