SR Linux BGP IPv6 Unnumbered VXLAN DC Fabric running in Containerlab
- Leaf, Spines, Super/Spines and Internet/router are SR Linux nodes (24.7.x software version)
- Core switches are Cumulus nodes
- Clients are simulated with FRR docker images: connected to Leaf and Core3 switches
- Uses Netmiko to configure SR Linux switches
All BGP sessions are established through IPv6 link-local addresses except the overlay EVPN:
- FRRClient <-> leaf: IPv4 and IPv6 families.
- Underlay Leaf <-> Spine: IPv4 and IPv6 families.
- Underlay Spine <-> SuperSpine: EVPN, IPv4 and IPv6 families.
- Underlay SuperSpine <-> Core: EVPN, IPv4 and IPv6 families.
- Overlay between Leaf/Spine/SuperSpine and Core: EBGP Multihop EVPN
- Core <-> Core: EVPN, IPv4 and IPv6 families.
- Core <-> InternetRouter: IPv4 and IPv6 families.
VXLAN VTEP termination in Leaf (SR Linux) and Core3 (Cumulus) switches.
# clone this repository
git clone https://github.com/michelredondo/ebgp_unn_vxlan && cd ebgp_unn_vxlan
# deploy containerlab topology
clab deploy
# Underlay SR Linux switches configuration
python create_underlay.py
# Overlay/Client Services SR Linux switches configuration
python create_services.py
FRR client is connected to a leaf-pair by using two routed interfaces. Two BGP unnumbered sessions (one per interface) are used to exchange v4/v6 prefixes.
Leaf switches announce default v4/v6 route. FRR clients announces local network. Connection is terminated in GTR (network-instance default).
FRR client is connected to a leaf-pair by using two bridged interfaces (using IRB). Two BGP unnumbered sessions (one per interface) are used to exchange v4/v6 prefixes.
Leaf switches announce default v4/v6 route. FRR clients announces local network Connection is terminated in GTR (network-instance default).
FRR client is connected to a leaf-pair by using a bridged lag interface (using IRB). v4/v6 subnet is directly connected to Leaf-pair. Lag interface uses Multihoming all-active EVPN Ethernet Segment procedures.
Leaf switches announce directly connected network. FRR clients uses static routing. Connection is terminated in GTR (network-instance default).
FRR client is connected to a leaf-pair by using a bridged lag interface. L2 traffic is terminated in mac-vrf MAC3 and transported to inf-core3 switch by using VXLAN. An unnumbered BGP session is established between client connected to leaf switches and client connected to inf-core3 switch (Cumulus).
Lag interface uses Multihoming all-active EVPN Ethernet Segment procedures.
FRR client is connected to a leaf-pair by using a bridged lag interface (using IRB). Traffic is terminated in mac-vrf MAC4 and connected to ip-vrf1 by using IRB interface. All IRB interfaces facing the clients have the same IP address and MAC (Anycast GW configuration).
Lag interface uses Multihoming all-active EVPN Ethernet Segment procedures.