Skip to content
LinkState
Go back

DF inconsistency in a partially degraded multihomed segment

Introduction to EVPN Multihomed Leaves

Overview of EVPN Architecture

Ethernet VPN (EVPN) is a technology used to provide Layer 2 virtual private networks (VPNs) over a shared infrastructure, such as a data center or a wide-area network (WAN). The network is divided into a control plane and a data plane. The control plane is responsible for exchanging routing information and building the forwarding tables, while the data plane is responsible for forwarding traffic based on the forwarding tables. EVPN uses Border Gateway Protocol (BGP) as the control plane protocol to exchange routing information between network devices.

Designated-Forwarder Election Process

The designated-forwarder election process is used to elect a single forwarder for a given Ethernet segment. This is necessary to prevent duplicate traffic and ensure that traffic is forwarded correctly. The designated forwarder is responsible for forwarding traffic for a given Ethernet segment, while the other devices on the segment act as backup forwarders. The designated-forwarder election process involves the exchange of BGP routes between the network devices.

Understanding Designated-Forwarder Disagreement

Causes of Designated-Forwarder Disagreement

Designated-forwarder disagreement occurs when two or more devices on the same Ethernet segment have different views of the designated forwarder. This can happen due to various reasons, such as:

Impact of Attachment Circuit Degradation

Attachment circuit degradation refers to the degradation of the link between a leaf device and its upstream device. This can cause the leaf device to lose connectivity to the upstream device and, as a result, lose its designated-forwarder status. If the leaf device is the only device on the Ethernet segment, traffic may be blackholed. However, if there are other devices on the segment, they may take over as the designated forwarder, and traffic may be forwarded correctly.

Uplink path degradation refers to the degradation of the link between an upstream device and the rest of the network. This can cause the upstream device to lose connectivity to the rest of the network and, as a result, cause the leaf devices to lose their designated-forwarder status. If the upstream device is the only path to the rest of the network, traffic may be blackholed. However, if there are other paths to the rest of the network, traffic may be forwarded correctly.

Troubleshooting Designated-Forwarder Disagreement

Identifying Disagreement Symptoms

Designated-forwarder disagreement can manifest in various ways, such as:

Using CLI Commands for Troubleshooting

Network operators can use CLI commands to troubleshoot designated-forwarder disagreement. For example:

show evpn route-type prefix
show evpn route-type mac-ip
show bgp evpn route-type prefix
show bgp evpn route-type mac-ip

These commands can be used to display the EVPN routes and designated-forwarder election priorities.

show interface <interface-name> description
show ip interface <interface-name> brief
show ip route <prefix>
show bgp <asn> neighbors

These commands can be used to display the interface and path information, such as the interface description, IP address, and BGP neighbor information.

Symptom Analysis: BUM Loss, Duplicate Delivery, and Host-Specific Blackholing

BUM (Broadcast, Unknown Unicast, Multicast) Loss

BUM loss can occur due to various reasons, such as:

import pyshark

# Capture traffic on the Ethernet segment
capture = pyshark.LiveCapture(interface='eth0')

# Filter for BUM traffic
bum_traffic = [packet for packet in capture if packet.ethertype == 0x0800 and packet.ip.proto == 0x11]

# Check for BUM loss
if len(bum_traffic) == 0:
    print("BUM loss detected")

Duplicate Delivery

Duplicate delivery can occur due to various reasons, such as:

import pyshark

# Capture traffic on the Ethernet segment
capture = pyshark.LiveCapture(interface='eth0')

# Filter for duplicate traffic
duplicate_traffic = [packet for packet in capture if packet.ethertype == 0x0800 and packet.ip.proto == 0x11 and packet.ip.src == packet.ip.dst]

# Check for duplicate delivery
if len(duplicate_traffic) > 0:
    print("Duplicate delivery detected")

Host-Specific Blackholing

Host-specific blackholing can occur due to various reasons, such as:

import pyshark

# Capture traffic on the Ethernet segment
capture = pyshark.LiveCapture(interface='eth0')

# Filter for blackholed traffic
blackholed_traffic = [packet for packet in capture if packet.ethertype == 0x0800 and packet.ip.proto == 0x11 and packet.ip.src == '0.0.0.0']

# Check for host-specific blackholing
if len(blackholed_traffic) > 0:
    print("Host-specific blackholing detected")

Scaling Limitations and Considerations

EVPN Scalability Limits

EVPN has several scalability limits, such as:

Impact of Large-Scale EVPN Deployments on Designated-Forwarder Election

Large-scale EVPN deployments can impact designated-forwarder election in several ways, such as:

Best Practices for Scaling EVPN Multihomed Leaves

To scale EVPN multihomed leaves, network operators can follow several best practices, such as:

Code Examples and CLI Snippets

EVPN Configuration Example

evpn vni 100 rd 100:100 route-target 100:100 route-distinguisher 100:100
vni 200 rd 200:200 route-target 200:200 route-distinguisher 200:200

Designated-Forwarder Election Configuration Example

evpn vni 100 designated-forwarder election priority 100
vni 200 designated-forwarder election priority 200

Troubleshooting Script Example for EVPN Multihomed Leaves

import pyshark

# Capture traffic on the Ethernet segment
capture = pyshark.LiveCapture(interface='eth0')

# Filter for EVPN traffic
evpn_traffic = [packet for packet in capture if packet.ethertype == 0x0800 and packet.ip.proto == 0x11]

# Check for EVPN route inconsistencies
if len(evpn_traffic) == 0:
    print("EVPN route inconsistency detected")

Case Studies and Real-World Scenarios

Case Study: EVPN Multihomed Leaves in a Data Center Environment

In a data center environment, EVPN multihomed leaves can be used to provide redundancy and improve network availability. For example, a data center can have multiple spine switches, each connected to multiple leaf switches. The leaf switches can be configured as EVPN multihomed leaves, with each leaf switch connected to multiple spine switches.

Case Study: EVPN Multihomed Leaves in a WAN Environment

In a WAN environment, EVPN multihomed leaves can be used to provide redundancy and improve network availability. For example, a WAN can have multiple routers, each connected to multiple sites. The sites can be configured as EVPN multihomed leaves, with each site connected to multiple routers.

Lessons Learned from Real-World Deployments

From real-world deployments, we can learn several lessons, such as:

Best Practices for EVPN Multihomed Leaves Deployment

Design Considerations for EVPN Multihomed Leaves

When deploying EVPN multihomed leaves, network operators should consider several design considerations, such as:

Configuration Best Practices for EVPN Multihomed Leaves

When configuring EVPN multihomed leaves, network operators should follow several best practices, such as:

Ongoing Maintenance and Monitoring for EVPN Multihomed Leaves

To ensure the ongoing health and stability of EVPN multihomed leaves, network operators should perform several ongoing maintenance and monitoring tasks, such as:


Share this post on:

Previous Post
Upstream packet loss or local ring starvation
Next Post
Which metric actually proves load balance