Establish EVPN
Turn on the control plane: bring up the loopback-to-loopback BGP session, activate the l2vpn evpn address family, advertise the relevant routes, and confirm the EVPN RIB and remote-VTEP information appear on both leaves. After this lab the directory exists — hosts can find each other.
May change state — take a snapshot first.
clear bgp and session config changes flap the control plane — treat as disruptive, work from 'vxlan-configured'.
Two-leaf VXLAN lab (Host1—Leaf1—underlay—Leaf2—Host2)
Host1 (Linux) Host2 (Linux)
10.10.10.11/24 10.10.10.12/24
│ eth1 eth1 │
│ │
┌───┴────────┐ virtual underlay ┌────────┴───┐
│ Leaf1 │ Ethernet0 ── p2p ── Ethernet0 │ Leaf2 │
│ SONiC-VS │◀───────── routed IP fabric ──────▶│ SONiC-VS │
│ Lo0 = │ (BGP, ECMP-capable) │ Lo0 = │
│ 10.0.0.1 │ │ 10.0.0.2 │
└────────────┘ └────────────┘
access: EthernetX (VLAN 10 ↔ VNI 10010) access: EthernetX (VLAN 10 ↔ VNI 10010)Objective
- • Establish the overlay BGP session between loopbacks (multihop if needed).
- • Activate the l2vpn evpn address family and enable EVPN for the VNI.
- • Inspect the EVPN RIB and confirm remote VTEP information.
- • Correlate a locally learned MAC to its type-2 advertisement.
Starting state
- • VXLAN tunnel + VLAN-VNI map present, but no EVPN session and empty remote MAC/VTEP tables.
Prerequisites: Lab 4.2 complete ('vxlan-configured' snapshot). · Underlay loopbacks reachable (Lab 4.1).
Tasks
- 1
Bring up the overlay (loopback) BGP session
The EVPN session is separate from the underlay session and typically peers loopback-to-loopback.
FRR / vtyshvtyshFRR / vtyshconfigure terminalFRR / vtyshrouter bgp 65001FRR / vtyshpeer the remote loopbackneighbor 10.0.0.2 remote-as 65002FRR / vtyshneighbor 10.0.0.2 update-source Loopback0FRR / vtyshif eBGP over loopbacksneighbor 10.0.0.2 ebgp-multihop 3Expected:- A second BGP session (overlay) reaches Established, distinct from the underlay session.
What happened internally: Rung 5 of the ladder. The overlay and underlay sessions fail independently — keep them mentally separate.
- 2
Activate the l2vpn evpn address family
FRR / vtyshaddress-family l2vpn evpnFRR / vtyshneighbor 10.0.0.2 activateFRR / vtyshadvertise locally configured VNIsadvertise-all-vniFRR / vtyshendExpected:- EVPN AF active with the neighbor; local VNIs advertised.
What happened internally: This is where type-3 (IMET) routes get originated so BUM replication works, and type-2 routes will follow as MACs are learned.
- 3
Inspect the EVPN RIB and remote VTEP info
FRR / vtyshvtysh -c 'show bgp l2vpn evpn summary'FRR / vtyshall route typesvtysh -c 'show bgp l2vpn evpn'FRR / vtyshvtysh -c 'show evpn vni'SONiC CLIshow vxlan remotevniExpected:- EVPN session Established; type-3 routes for the VNI present; remote VTEP (remote loopback) learned in
show vxlan remotevni.
What happened internally: Rungs 5–7. Remote VTEP now known even before any host traffic — that is the type-3/IMET machinery.
- EVPN session Established; type-3 routes for the VNI present; remote VTEP (remote loopback) learned in
- 4
Correlate a local MAC to its advertisement
Generate one frame from Host1, then watch the MAC appear locally and as a type-2 route.
Linuxfrom Host1 → Host2 (may need ARP first)ping -c1 10.10.10.12SONiC CLILeaf1: local learn of Host1 MACshow macFRR / vtyshtype-2 advertisementvtysh -c 'show bgp l2vpn evpn route type macip'Expected:- Host1's MAC learned locally on Leaf1 and present as a type-2 route; on Leaf2 the same MAC appears as remote behind Leaf1's VTEP.
What happened internally: This is the control-plane half of Lab 4.4's correlation: local learn → type-2 originate → remote import.
Troubleshooting branches
If: EVPN summary shows session down
Then: Overlay session uses loopbacks + update-source; underlay must already route those loopbacks. Check multihop for eBGP.
If: Session up but no type-2/type-3 routes
Then: advertise-all-vni present? VNI locally configured? This is the 'session up, route absent' split state — check RT/import next.
If: Remote VTEP not in show vxlan remotevni
Then: Confirm type-3 routes are being exchanged and VNIs match on both leaves.
- Keep EVPN running — Labs 4.4–4.6 depend on it.
- Snapshot each leaf as 'evpn-established'.
Lab evidence checklist
- ☐ Overlay EVPN session Established (distinct from underlay).
- ☐ type-3 routes present for the VNI; remote VTEP learned.
- ☐ A local MAC correlated to its type-2 advertisement.
- ☐ 'evpn-established' snapshot exists on each leaf.
Reflection
- How did Leaf2 learn about Leaf1's VTEP before any unicast traffic flowed?
- If the EVPN session were up but no type-2 routes appeared, which two causes would you check first?