If you've ever wished you could multi-home a server to more than two leaf switches in your VXLAN EVPN fabric — or eliminate the vPC peer-link entirely — EVPN ESI multi-homing on NX-OS 10.6.x is the answer. It replaces Cisco's proprietary vPC control plane with standards-based BGP EVPN Type-1 and Type-4 routes, enabling multi-vendor interoperability and scaling beyond the traditional two-node limit.
This article walks through the architecture, a production-grade NX-OS configuration, and every verification command you need to confirm it's working.
Why ESI Multi-Homing Matters
vPC has served data center engineers well for over a decade. You pair two Nexus leaf switches, configure a vPC domain, and dual-home your servers. It works — but with well-known limitations:
- Two-node limit: vPC is strictly a two-switch technology. You cannot multi-home a server to three or four leaf switches.
- Peer-link dependency: The vPC peer-link must carry orphan traffic and synchronize MAC/ARP tables, adding complexity and consuming bandwidth.
- Proprietary control plane: vPC uses a Cisco-specific mechanism (CFS over peer-keepalive and peer-link), which breaks multi-vendor interoperability.
EVPN multi-homing with ESI solves all three by moving the multi-homing intelligence into the EVPN control plane itself. Instead of a proprietary peer-link protocol, the leaf switches use BGP EVPN Type-1 (Ethernet Auto-Discovery) and Type-4 (Ethernet Segment) routes to coordinate forwarding, elect a Designated Forwarder (DF), and ensure loop-free traffic delivery.
Note: ESI multi-homing and vPC can coexist in the same NX-OS 10.6.x fabric. You can migrate incrementally — keep vPC for existing server connections and deploy ESI for new racks.
Core Concepts
Before diving into configuration, understand four key mechanisms:
Ethernet Segment Identifier (ESI)
An ESI is a 10-byte identifier that uniquely represents a multi-homed link bundle (e.g., a LAG connecting a server to two or more leaf switches). Every leaf switch participating in the same Ethernet Segment advertises the same ESI value via BGP EVPN, which is how remote VTEPs learn that multiple paths exist.
NX-OS 10.6.x supports both manually configured ESI values and auto-derived ESI values based on LACP system parameters. The auto-LACP approach eliminates the need to manually coordinate ESI values across leaf pairs.
EVPN Route Types 1 and 4
- Type-1 (Ethernet Auto-Discovery per ES): Advertised by each leaf in the Ethernet Segment. Remote VTEPs use these to build a list of all VTEPs behind a given ESI, enabling aliasing (load balancing) and fast convergence on link failure.
- Type-4 (Ethernet Segment Route): Used for Designated Forwarder (DF) election. All leaves in the ES exchange Type-4 routes, and a deterministic algorithm selects which leaf forwards BUM traffic per VLAN.
Designated Forwarder Election
When a broadcast or multicast frame arrives at the fabric, only one leaf per Ethernet Segment should forward it to the locally connected host. The DF election process ensures exactly one forwarder per VLAN per ES. NX-OS 10.6.x supports preference-based DF election.
Split Horizon and Aliasing
- Split horizon prevents BUM traffic received from an ES member from being forwarded back to the same ES.
- Aliasing allows remote VTEPs to load-balance unicast traffic across all leaves in an ES, even if the MAC was only learned on one of them.
Configuration: ESI Multi-Homing on NX-OS 10.6.x
We assume the underlay (OSPF or eBGP), NVE interface, and BGP EVPN overlay are already in place.
Step 1: Enable EVPN ESI Multi-Homing
! Enable EVPN ESI multi-homing globally
nv overlay evpn
feature nv overlay
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
evpn esi multihoming
ethernet-segment 1
identifier auto lacp
designated-forwarder election type preference
preference 32767
route-target auto
! Associate the Ethernet Segment with a port-channel
interface port-channel10
description ESI-to-Server-Rack1
switchport
switchport mode trunk
switchport trunk allowed vlan 100,200
ethernet-segment 1
no shutdown
This tells NX-OS to automatically derive the ESI from the LACP system ID and port-channel key. The preference 32767 sets this leaf as the preferred DF. On the partner leaf, configure the same Ethernet Segment with a lower preference (e.g., preference 16384).
Step 2: VXLAN Fabric Integration
Map VLANs to VNIs and configure anycast gateways:
vlan 100
vn-segment 10100
vlan 200
vn-segment 10200
fabric forwarding anycast-gateway-mac 0001.0001.0001
interface Vlan100
no shutdown
vrf member TENANT-1
ip address 10.100.0.1/24
fabric forwarding mode anycast-gateway
interface Vlan200
no shutdown
vrf member TENANT-1
ip address 10.200.0.1/24
fabric forwarding mode anycast-gateway
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback1
member vni 10100
ingress-replication protocol bgp
member vni 10200
ingress-replication protocol bgp
member vni 50001 associate-vrf
Step 3: BGP EVPN Overlay for ESI Routes
The BGP EVPN session to spine route reflectors carries Type-1 and Type-4 routes. Verify that extended communities are enabled:
router bgp 65001
router-id 10.255.0.1
neighbor 10.255.0.100
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community extended
send-community both
neighbor 10.255.0.101
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community extended
send-community both
evpn
vni 10100 l2
rd auto
route-target import auto
route-target export auto
vni 10200 l2
rd auto
route-target import auto
route-target export auto
Verification and Troubleshooting
Verify Ethernet Segment Status
Leaf-1# show evpn esi
ESI: 0000.0000.0001.0001.0001
Status: Up
Interface: port-channel10
DF election: Preference
DF preference: 32767
DF status: DF (elected)
Peers:
10.255.0.2 (preference 16384) - Non-DF
Confirms Leaf-1 is elected as the Designated Forwarder. The partner leaf at 10.255.0.2 shows as Non-DF.
Verify BGP EVPN Type-1 and Type-4 Routes
Leaf-1# show bgp l2vpn evpn route-type 1
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.0.1:3
*>l[1]:[0000.0000.0001.0001.0001]:[0]/120
10.255.0.1 100 0 i
*>i[1]:[0000.0000.0001.0001.0001]:[0]/120
10.255.0.2 100 0 i
Leaf-1# show bgp l2vpn evpn route-type 4
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.0.1:3
*>l[4]:[0000.0000.0001.0001.0001]:[10.255.0.1]/184
10.255.0.1 100 0 i
*>i[4]:[0000.0000.0001.0001.0001]:[10.255.0.2]/184
10.255.0.2 100 0 i
Both local (*>l) and remote (*>i) Type-1 and Type-4 routes should appear with matching ESI values.
Verify Aliasing on Remote Leaves
Remote-Leaf# show l2route evpn mac all | include 10100
Topology ID Mac Address Prod Next Hop(s)
10100 aabb.cc00.0100 BGP 10.255.0.1, 10.255.0.2
Two next-hop addresses confirms aliasing is working — unicast traffic gets load-balanced across both ESI member leaves.
Common Troubleshooting Scenarios
DF election not converging:
- Check that both leaves have the same ESI configured (
show evpn esi) - Verify Type-4 routes are being exchanged (
show bgp l2vpn evpn route-type 4) - Confirm LACP is operational on both ends (
show port-channel summary)
Duplicate BUM frames on the host:
- DF election has failed and both leaves are forwarding BUM traffic
- Verify
designated-forwarder election type preferenceis configured consistently - Check for Type-4 route filtering on the spine route reflectors
MAC flapping on remote leaves:
- Usually caused by an ESI mismatch — one leaf has the ESI configured while the other does not
- Verify with
show evpn esion both leaves and ensure ESI values are identical
ESI vs. vPC: When to Use Each
| Criteria | vPC | ESI Multi-Homing |
|---|---|---|
| Max leaf switches per group | 2 | 2+ (standards allow more) |
| Control plane | Proprietary (CFS) | BGP EVPN (RFC 7432) |
| Multi-vendor support | No | Yes |
| Peer-link required | Yes | No |
| Maturity on NX-OS | 10+ years | NX-OS 10.6.x (new) |
| Incremental migration | N/A | Can coexist with vPC |
For greenfield deployments on NX-OS 10.6.x, ESI multi-homing is the forward-looking choice. For brownfield environments with existing vPC domains, the coexistence capability lets you adopt ESI at your own pace.
Key Takeaways
- EVPN ESI multi-homing replaces the proprietary vPC peer-link with standards-based BGP EVPN Type-1 and Type-4 routes, enabling multi-vendor interop and scaling beyond two-node pairs.
- NX-OS 10.6.x supports both auto-LACP ESI derivation and manual ESI, with preference-based DF election for deterministic forwarding.
- Aliasing ensures remote VTEPs load-balance across all ESI member leaves.
- Coexistence with vPC makes incremental migration practical.
-
Key verification commands:
show evpn esi,show bgp l2vpn evpn route-type 1, andshow l2route evpn mac all.
Originally published at firstpasslab.com.
This article was adapted from original content with AI assistance. The technical configurations and verification outputs are based on NX-OS 10.6.x documentation and lab testing.
Top comments (0)