π― Welcome to the VXLAN BGP EVPN Lab
This lab guide will walk you through the implementation of VXLAN (Virtual Extensible LAN) with BGP EVPN (Ethernet VPN) control plane on Cisco Catalyst 9000 series switches. You'll learn how to extend Layer 2 networks across a Layer 3 underlay using industry-standard protocols.
π What You'll Learn
- Understand VXLAN architecture and its role in modern data center fabrics
- Configure BGP EVPN as the control plane for VXLAN
- Implement NVE (Network Virtualization Edge) interfaces on Catalyst 9300
- Configure L2VPN EVPN instances for VLAN-to-VNI mapping
- Set up iBGP peering for EVPN address family between VTEPs
- Configure EIGRP underlay for loopback reachability
- Verify and troubleshoot VXLAN fabric operations
π’ Lab Environment
This lab uses a 5-switch topology with three Catalyst 9300 switches acting as VTEPs (VXLAN Tunnel Endpoints) and two Catalyst 9500 switches serving as spine/transit devices. Three PCs are connected to demonstrate Layer 2 extension across the VXLAN fabric.
π‘ Key Concept
VXLAN BGP EVPN provides a standards-based control plane that eliminates the need for flood-and-learn, enabling scalable and efficient Layer 2 extension across Layer 3 boundaries. BGP EVPN distributes MAC address information, allowing optimal forwarding without multicast in the underlay.
πΊοΈ Network Topology
βββββββββββββββ
β ULPC-9300 β βββ VTEP (Leaf)
β Lo1: 10.255.255.12
β VLAN 20 SVI β
G1/0/1ββββββββ¬βββββββG1/0/2
β β
192.168.100.0/30 β 192.168.101.0/30
β β
G1/0/2β βG1/0/1
ββββββββββββ΄βββ βββ΄ββββββββββββ
β ULGR-9500 β β ULKZ-9500 β βββ Spine/Transit
βLo1: .213 β β Lo1: .214 β
ββββββββ¬βββββββ ββββββββ¬βββββββ
G1/0/8β βG1/0/8
192.168.102.0/30 192.168.102.0/30
G1/0/1β βG1/0/1
ββββββββββββ΄βββ ββββββββ΄βββββββ
β ULGR-9300 β β ULKZ-9300 β βββ VTEPs (Leaf)
β Lo1: 10.255.255.11 Lo1: 10.255.255.13
β VLAN 20 SVI β β VLAN 20 SVI β
ββββββββ¬βββββββ ββββββββ¬βββββββ
G1/0/8β βG1/0/8
β β
βββββββ΄ββββββ βββββββ΄ββββββ
β PC1 β β PC2 β
β10.50.216.10 β10.50.216.11
βββββββββββββ βββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
VXLAN FABRIC DETAILS:
βββββββββββββββββββββ
β’ VNI: 10020 (maps to VLAN 20)
β’ EVPN Instance: 20 (vlan-based)
β’ Replication Type: Ingress Replication
β’ BGP AS: 65001 (iBGP full mesh between VTEPs)
β’ Underlay Protocol: EIGRP AS 100
VTEP LOOPBACKS (NVE Source):
βββββββββββββββββββββββββββββ
β’ ULGR-9300: 10.255.255.11
β’ ULPC-9300: 10.255.255.12
β’ ULKZ-9300: 10.255.255.13
HOST NETWORK:
βββββββββββββ
β’ VLAN 20: 10.50.216.0/24
β’ Gateway IPs on VTEPs: .14, .15, .16
π Device Summary
| Device | Role | Loopback1 | VXLAN Function | License |
|---|---|---|---|---|
| ULGR-9300 | Leaf/VTEP | 10.255.255.11 | NVE1, BGP EVPN | Network-Advantage + DNA-Advantage |
| ULPC-9300 | Leaf/VTEP | 10.255.255.12 | NVE1, BGP EVPN | Network-Advantage + DNA-Advantage |
| ULKZ-9300 | Leaf/VTEP | 10.255.255.13 | NVE1, BGP EVPN | Network-Advantage + DNA-Advantage |
| ULGR-9500 | Spine/Transit | 10.255.255.213 | IP Transit Only | Network-Advantage |
| ULKZ-9500 | Spine/Transit | 10.255.255.214 | IP Transit Only | Network-Advantage |
π Link Addressing
| Link | Subnet | Device A (IP) | Device B (IP) |
|---|---|---|---|
| ULPC-9300 β ULGR-9500 | 192.168.100.0/30 | ULPC: .2 | ULGR-9500: .1 |
| ULPC-9300 β ULKZ-9500 | 192.168.101.0/30 | ULPC: .2 | ULKZ-9500: .1 |
| ULGR-9300 β ULGR-9500 | 192.168.102.0/30 | ULGR-9300: .2 | ULGR-9500: .1 |
| ULKZ-9300 β ULKZ-9500 | 192.168.102.0/30 | ULKZ-9300: .2 | ULKZ-9500: .1 |
| ULGR-9500 β ULKZ-9500 | 192.168.103.0/30 | ULGR-9500: .1 | ULKZ-9500: .2 |
π‘ Architecture Insight
This topology uses a partial mesh design where VTEPs connect through spine switches. The spine switches (9500s) only participate in underlay routing (EIGRP) and do not run BGP EVPN. All EVPN control plane traffic flows through the IP underlay as standard BGP updates between the three VTEP loopbacks.
π Prerequisites
π Licensing Requirements
| Feature | Required License | Notes |
|---|---|---|
| VXLAN (NVE) | Network-Advantage | Mandatory for all VXLAN operations |
| BGP EVPN | Network-Advantage | L2VPN EVPN address family |
| Advanced Analytics | DNA-Advantage | Optional but recommended |
Verify Current License
Configure Boot License (if needed)
π‘ Underlay Network Requirements
- IP Reachability: All VTEP loopbacks must be reachable from each other
- MTU: Minimum 1600 bytes on all transit links (VXLAN adds 50+ bytes overhead)
- Routing Protocol: EIGRP, OSPF, or IS-IS for underlay (this lab uses EIGRP)
- Loopback Interfaces: Each VTEP needs a loopback for NVE source
Configure MTU on Transit Interfaces
π BGP Requirements
- BGP AS: Use iBGP (same AS) for all VTEPs - AS 65001 in this lab
- Peering Source: Use loopback interfaces for BGP peering stability
- Address Family: L2VPN EVPN must be activated for all neighbors
- Communities: Extended communities required (send-community both)
π‘ Design Note: Full Mesh vs Route Reflector
This lab uses iBGP full mesh between three VTEPs. In production with many VTEPs, implement Route Reflectors (RRs) to avoid n*(n-1)/2 peering complexity. Spine switches often serve as RRs.
β Pre-Configuration Checklist
| Item | Verification Command | Expected Result |
|---|---|---|
| License Level | show license summary |
network-advantage Active |
| IOS-XE Version | show version |
17.x or later recommended |
| IP Routing | show ip route |
Routes to peer loopbacks |
| EIGRP Neighbors | show ip eigrp neighbors |
Adjacency with spine switches |
βοΈ Configuration
Select a device to view its complete configuration. The configurations are organized by function: underlay, VXLAN/NVE, and BGP EVPN.
π· ULGR-9300 - VTEP Configuration
Base Configuration & Licensing
Loopback & Underlay Interfaces
VLAN and L2VPN EVPN Instance
NVE Interface (VXLAN Tunnel)
π‘ Key Configuration Elements
source-interface: Must be a routable loopback reachable by all VTEPs
host-reachability protocol bgp: Enables BGP EVPN control plane
member vni ... ingress-replication: Uses head-end replication instead of multicast
Access Port and VLAN SVI
EIGRP Underlay Routing
βΉοΈ EIGRP Stub
Leaf switches use eigrp stub to advertise only connected and summary routes. This reduces EIGRP query scope and improves convergence.
BGP EVPN Configuration
π· ULPC-9300 - VTEP Configuration
Base Configuration & Licensing
Loopback & Underlay Interfaces
VLAN and L2VPN EVPN Instance
NVE Interface (VXLAN Tunnel)
Access Port and VLAN SVI
EIGRP Underlay Routing
BGP EVPN Configuration
π· ULKZ-9300 - VTEP Configuration
Base Configuration & Licensing
Loopback & Underlay Interfaces
VLAN and L2VPN EVPN Instance
βΉοΈ Alternative Syntax
ULKZ-9300 demonstrates an alternative VLAN-to-VNI mapping syntax using member evpn-instance 20 vni 10020. Both syntaxes achieve the same result.
NVE Interface
Access Port and VLAN SVI
EIGRP Underlay Routing
BGP EVPN Configuration
πΆ ULGR-9500 - Spine/Transit Configuration
βΉοΈ Spine Role
Spine switches in this design only provide IP transit for the underlay. They do NOT participate in BGP EVPN or VXLAN encapsulation. This simplifies the spine configuration significantly.
Base Configuration
Loopback & Underlay Interfaces
EIGRP Underlay Routing
π‘ No EIGRP Stub on Spine
Unlike leaf switches, spine switches do NOT use eigrp stub. They need to propagate routes between all leaf switches for full mesh reachability.
πΆ ULKZ-9500 - Spine/Transit Configuration
Base Configuration
Loopback & Underlay Interfaces
EIGRP Underlay Routing
π§ Troubleshooting
Common Issues and Solutions
NVE Interface Not Coming Up
show nve interface nve1 shows interface down or missing
Possible Causes:
- Missing Network-Advantage license
- Source loopback interface not configured or down
- L2VPN EVPN instance not defined
BGP EVPN Neighbors Not Establishing
show bgp l2vpn evpn summary shows neighbors in Idle or Active state
Common Fixes:
- Verify underlay routing - peer loopback must be reachable
- Ensure
update-source Loopback1is configured - Check for ACLs blocking TCP port 179
- Verify AS numbers match for iBGP
VXLAN Tunnel Not Forming
show nve peers shows no peers or peers in DOWN state
send-community both under the L2VPN EVPN address family. Without extended communities, Route Targets are not exchanged.
MAC Addresses Not Learning Across Fabric
Troubleshooting Steps:
- Verify VLAN-to-VNI mapping is consistent across all VTEPs
- Check that EVPN Type-2 routes are being advertised
- Ensure NVE interface has correct VNI membership
MTU Issues Causing Packet Drops
π‘ MTU Calculation
VXLAN adds 50 bytes of overhead (8-byte VXLAN header + 8-byte UDP header + 20-byte outer IP + 14-byte outer Ethernet). For 1500-byte inner frames, underlay MTU must be at least 1550 bytes. Recommended: 1600 or higher.
EVPN Route-Type Reference
| Route Type | Name | Purpose |
|---|---|---|
| Type-2 | MAC/IP Advertisement | Advertises MAC and optional IP for hosts |
| Type-3 | Inclusive Multicast | VTEP discovery and BUM traffic handling |
| Type-5 | IP Prefix Route | Inter-subnet routing (L3VNI) |
π οΈ Quick Diagnostic Commands
β Verification
Use these commands to verify your VXLAN BGP EVPN fabric is operating correctly.
π Step 1: Verify NVE Interface Status
π Step 2: Verify NVE Peers (VXLAN Tunnels)
π Step 3: Verify BGP EVPN Neighbors
π Step 4: Verify EVPN MAC Routes (Type-2)
π Step 5: Verify VNI Membership
π Step 6: Verify MAC Address Table
π Step 7: End-to-End Connectivity Test
β Verification Checklist
| Check | Command | Success Criteria |
|---|---|---|
| NVE Interface | show nve interface nve1 |
State: Oper Up |
| NVE Peers | show nve peers |
All peers UP |
| BGP EVPN Neighbors | show bgp l2vpn evpn summary |
Established, PfxRcd > 0 |
| EVPN Routes | show bgp l2vpn evpn |
Type-2 and Type-3 routes present |
| VNI Status | show nve vni |
VNI state Up |
| MAC Learning | show mac address-table vlan 20 |
Remote MACs via nve1 |
| Connectivity | ping |
Cross-VTEP ping success |
π Knowledge Check
Test your understanding of VXLAN BGP EVPN concepts covered in this lab.