Skip to content
LinkState
Go back

EVPN MAC mobility storms after isolation gaps

Introduction to EVPN MAC Mobility

Overview of EVPN and MAC Mobility

Ethernet VPN (EVPN) defined in RFC 7432 carries MAC address reachability information in the control plane using BGP‑NLRI of type 2 (MAC/IP Advertisement Route). When a host moves from one Ethernet Segment (ES) to another, the originating Provider Edge (PE) advertises a new MAC/IP route with an incremented MAC Mobility Extended Community. The sequence number in that community allows remote PEs to detect whether the advertisement represents a new location or a stale duplicate.

The MAC Mobility Extended Community (type 0x06) encodes:

When a PE receives a MAC/IP route for a MAC that it already knows, it compares the incoming sequence number with the locally stored one:

Importance of Sequence Numbering in EVPN

The sequence number provides a total order for MAC moves without relying on timestamps, which can be skewed across devices. It enables:

Correct operation hinges on all PEs interpreting the sequence number consistently and on the guarantee that a move is advertised once per transition. Any break in that guarantee—such as partial isolation or inconsistent handling—can cause the control plane to oscillate, producing a MAC mobility storm.

Understanding Partial Isolation Failures

Definition and Causes of Partial Isolation Failures

A partial isolation failure occurs when a PE loses bidirectional connectivity to a subset of its EVPN peers while maintaining connectivity to others. Unlike a total isolation (where the PE loses all BGP/EVPN sessions), partial isolation leaves some BGP peers active, allowing the PE to continue sending and receiving routes for a portion of the fabric.

Common causes:

CauseMechanism
Unidirectional link loss (e.g., fiber cut affecting only TX or RX)BGP keepalives may still be received in one direction, keeping the session ESTABLISHED, but data packets (including MAC/IP routes) are dropped in the opposite direction.
Misconfigured ACL/QoS that filters BGP updates for a specific VRF or route‑targetSome peers stop receiving updates while others continue.
Hardware forwarding anomaly (e.g., TCAM exhaustion on a line card) causing selective drop of EVPN NLRIThe control plane session stays up, but the data plane fails to install or forward certain routes.
Segment routing or SR‑MSDC mis‑state where a PE loses connectivity to a subset of remote PEs via the SR‑policyResults in asymmetric path availability.

Impact of Partial Isolation Failures on EVPN Networks

When a PE is partially isolated:

  1. Withdrawals may not reach all peers – the PE may withdraw a MAC/IP route (e.g., on local link down) but only a subset of remote PEs receive the withdrawal.
  2. Advertisements may be sent to only a subset – the PE may re‑advertise the MAC with an incremented sequence number, but only the reachable peers process it.
  3. Resulting state divergence – some PEs believe the MAC is at location A (old sequence), others believe it is at location B (new sequence). The inconsistency triggers repeated mobility updates as each PE attempts to reconcile the conflict.

The control‑plane trace:

Identifying Partial Isolation Failures in EVPN Environments

Operators should look for asymmetric BGP/EVPN session states and mismatched route counts:

Inconsistent Sequence Handling in EVPN

Sequence Numbering Mechanisms in EVPN

Per RFC 7432, the MAC Mobility Extended Community carries a 4‑byte sequence number that is incremented by the originating PE each time the MAC address changes Ethernet Segment. The sequence number space is modulo 2³²; wraparound is allowed but must be handled correctly.

Key points:

Consequences of Inconsistent Sequence Handling

If any PE deviates from the RFC‑defined comparison logic, the following can occur:

DeviationEffect
Treating equal sequence numbers as a new moveCauses unnecessary withdrawals and re‑advertisements, inflating the sequence number rapidly.
Using signed comparisonAfter sequence number passes 0x7FFFFFFF, newer numbers appear older, causing the PE to ignore valid moves and retain stale state.
Failing to increment on a moveRemote PEs see the same sequence number repeatedly; depending on sticky‑bit handling, they may treat each receipt as a flap and generate withdrawals.
Applying an external dampening timer that resets the sequence numberArtificially resets the sequence number to zero, making all peers think the MAC has moved back to the original location.

These inconsistencies turn a single mobility event into a sequence number oscillation: each PE’s inconsistent handling causes it to reject the advertisement, generate its own withdrawal with an (incorrectly) incremented sequence, and the cycle repeats across the fabric.

Troubleshooting Inconsistent Sequence Handling Issues

  1. Verify the sequence number values in the MAC Mobility Extended Community on both the advertising and receiving PEs.
    • On Juniper: show route evpn mac <mac-address> extensive
    • On Cisco IOS‑XR: show bgp l2vpn evpn route-detail <rd>:<mac>
    • On Arista EOS: show bgp evpn mac <mac>
  2. Check the local stored sequence number (often displayed alongside the MAC entry).
  3. Correlate timestamps – if the sequence number increments faster than the expected mobility rate (e.g., >1 move per second), suspect inconsistent handling.
  4. Look for sticky‑bit mismatches – a MAC marked sticky on one PE but not another can cause the receiving PE to treat each receipt as a new move.
  5. Enable BGP debug for EVPN updates (vendor‑specific, use sparingly) to see the exact extended community values being transmitted and received.
  6. Compare software versions – known bugs in sequence‑number comparison have been fixed in recent releases (e.g., Juniper Junos 20.4R3, Cisco IOS‑XR 7.5.2).

EVPN MAC Mobility Storms

Characteristics of MAC Mobility Storms

A MAC mobility storm manifests as:

The storm is a control‑plane feedback loop: each PE’s inconsistent handling generates a new withdrawal/advertisement, which triggers the same reaction in peers, causing the sequence number to climb without bound.

Distinguishing Between Host Flapping and MAC Mobility Storms

FeatureHost Flapping (real)MAC Mobility Storm (control‑plane)
Physical evidenceLink flaps, interface errors, host logs show NIC disconnect/reconnect.Stable physical/link state; no errors on the access port.
Sequence number growthIncreases at a rate matching the host’s actual move frequency (typically <1 move/sec).Increases at a super‑linear rate, often hitting the wrap‑around limit quickly.
Sticky‑bit behaviorIf sticky is set, the MAC will withdraw after each move (expected).Sticky‑bit may be ignored or misinterpreted, causing withdrawals even when the MAC is stationary.
ScopeLimited to the ES where the host resides; remote PEs see a single move per flap.Observed across many or all PEs in the EVPN domain, even those with no direct connectivity to the host.
Impact on trafficPacket loss only during the actual move interval.Persistent packet loss, latency spikes, and possible black‑holing due to FIB thrashing.

Case Studies of MAC Mobility Storms in EVPN Networks

Case 2: ACL Mis‑Match on Route‑Target Filtering

Coordination Problems Between Domains

Inter‑Domain Coordination in EVPN

EVPN can span multiple administrative domains (e.g., data‑center pods managed by different teams, or a campus core interconnecting several sites). Coordination relies on:

When any of these elements diverge, the domains develop different views of the same MAC’s location, leading to cross‑domain mobility storms.

Challenges in Achieving Seamless Inter-Domain Coordination

ChallengeWhy it Breaks Coordination
Different vendor implementations of MAC mobility dampening or sequence-number comparisonOne domain may treat a sequence‑number wrap‑around as a move; another may ignore it.
Independent route‑target policies (e.g., one domain exports RT 65000:200, another imports only 65000:100)MAC routes are silently dropped, creating unilateral state.
Asymmetric BGP session parameters (different hold times, different graceful‑restart behavior)Leads to temporary unilateral session up/down, mimicking partial isolation.
Lack of centralized MAC mobility sequence-number authorityEach

Share this post on:

Previous Post
How Far Should One Broken Node Propagate
Next Post
The ICMP boundary that broke PMTUD everywhere