A deep technical walkthrough of integrating Bird 2.19.0's new eVPN support with VPP (Vector Packet Processing) to build a fully functional eVPN/VxLAN control plane. The author develops a custom Bird protocol called `vppevpn` that bridges Bird's ethernet routing tables (`etab`) with VPP's dataplane, handling IMET (Type-3) route processing to auto-create VxLAN tunnels, MAC-IP (Type-2) route learning to populate VPP's L2FIB, and local MAC advertisement back into BGP. Key implementation details include Split Horizon Groups to prevent BUM flooding into VxLAN tunnels, Bridge Virtual Interface (BVI) handling, periodic L2FIB reconciliation for resilience, and a minimal patch to Bird to allow operation without a real Linux tunnel interface. The result is a working multi-site L2 domain spanning machines in different cities (Amsterdam, Geneva) over a routed underlay.
482 Impressions1 Comment