Files
arista-evpn-vxlan-clab/evpn-lab.clab.yml
Damien Arnodo 13bb234971 Revert to dual-homing with LACP for all hosts
- All hosts now dual-homed to MLAG pairs using LACP bonding
- host1: connects to leaf1 (eth1) and leaf2 (eth2) - VLAN 40
- host2: connects to leaf3 (eth1) and leaf4 (eth2) - VLAN 34  
- host3: connects to leaf5 (eth1) and leaf6 (eth2) - VLAN 40
- host4: connects to leaf7 (eth1) and leaf8 (eth2) - VLAN 78
- Each host creates bond0 with LACP (mode 802.3ad)
- Proper MAC address assignment per host
2025-11-28 14:40:16 +00:00

195 lines
6.9 KiB
YAML

name: arista-evpn-fabric
mgmt:
network: evpn-mgmt
ipv4-subnet: 172.16.0.0/24
ipv4-gw: 172.16.0.254
topology:
kinds:
arista_ceos:
image: ceos:4.35.0F
nodes:
# Spine Switches
spine1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.1
startup-config: configs/spine1.cfg
spine2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.2
startup-config: configs/spine2.cfg
# Leaf Switches - VTEP1 (AS 65001)
leaf1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.25
startup-config: configs/leaf1.cfg
leaf2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.50
startup-config: configs/leaf2.cfg
# Leaf Switches - VTEP2 (AS 65002)
leaf3:
kind: arista_ceos
mgmt-ipv4: 172.16.0.27
startup-config: configs/leaf3.cfg
leaf4:
kind: arista_ceos
mgmt-ipv4: 172.16.0.28
startup-config: configs/leaf4.cfg
# Leaf Switches - VTEP3 (AS 65003)
leaf5:
kind: arista_ceos
mgmt-ipv4: 172.16.0.29
startup-config: configs/leaf5.cfg
leaf6:
kind: arista_ceos
mgmt-ipv4: 172.16.0.30
startup-config: configs/leaf6.cfg
# Leaf Switches - VTEP4 (AS 65004)
leaf7:
kind: arista_ceos
mgmt-ipv4: 172.16.0.31
startup-config: configs/leaf7.cfg
leaf8:
kind: arista_ceos
mgmt-ipv4: 172.16.0.32
startup-config: configs/leaf8.cfg
# Host devices - DUAL-HOMED with LACP bonding to MLAG pairs
host1:
kind: linux
mgmt-ipv4: 172.16.0.101
image: alpine:latest
exec:
# Dual-homed LACP bond to leaf1 + leaf2 for L2 VXLAN test (VLAN 40)
- ip link add bond0 type bond mode 802.3ad
- ip link set address 00:c1:ab:00:00:11 dev bond0
- ip link set eth1 down
- ip link set eth2 down
- ip link set eth1 master bond0
- ip link set eth2 master bond0
- ip link set eth1 up
- ip link set eth2 up
- ip link set bond0 up
# VLAN interface on bond
- ip link add link bond0 name bond0.40 type vlan id 40
- ip link set bond0.40 up
- ip addr add 10.40.40.101/24 dev bond0.40
host2:
kind: linux
mgmt-ipv4: 172.16.0.102
image: alpine:latest
exec:
# Dual-homed LACP bond to leaf3 + leaf4 for L3 VXLAN test (VLAN 34, VRF gold)
- ip link add bond0 type bond mode 802.3ad
- ip link set address 00:c1:ab:00:00:22 dev bond0
- ip link set eth1 down
- ip link set eth2 down
- ip link set eth1 master bond0
- ip link set eth2 master bond0
- ip link set eth1 up
- ip link set eth2 up
- ip link set bond0 up
# VLAN interface on bond
- ip link add link bond0 name bond0.34 type vlan id 34
- ip link set bond0.34 up
- ip addr add 10.34.34.102/24 dev bond0.34
- ip route add default via 10.34.34.1
host3:
kind: linux
mgmt-ipv4: 172.16.0.103
image: alpine:latest
exec:
# Dual-homed LACP bond to leaf5 + leaf6 for L2 VXLAN test (VLAN 40)
- ip link add bond0 type bond mode 802.3ad
- ip link set address 00:c1:ab:00:00:33 dev bond0
- ip link set eth1 down
- ip link set eth2 down
- ip link set eth1 master bond0
- ip link set eth2 master bond0
- ip link set eth1 up
- ip link set eth2 up
- ip link set bond0 up
# VLAN interface on bond
- ip link add link bond0 name bond0.40 type vlan id 40
- ip link set bond0.40 up
- ip addr add 10.40.40.103/24 dev bond0.40
host4:
kind: linux
mgmt-ipv4: 172.16.0.104
image: alpine:latest
exec:
# Dual-homed LACP bond to leaf7 + leaf8 for L3 VXLAN test (VLAN 78, VRF gold)
- ip link add bond0 type bond mode 802.3ad
- ip link set address 00:c1:ab:00:00:44 dev bond0
- ip link set eth1 down
- ip link set eth2 down
- ip link set eth1 master bond0
- ip link set eth2 master bond0
- ip link set eth1 up
- ip link set eth2 up
- ip link set bond0 up
# VLAN interface on bond
- ip link add link bond0 name bond0.78 type vlan id 78
- ip link set bond0.78 up
- ip addr add 10.78.78.104/24 dev bond0.78
- ip route add default via 10.78.78.1
links:
# Spine1 to Leaf connections (underlay fabric)
- endpoints: ["spine1:eth1", "leaf1:eth11"]
- endpoints: ["spine1:eth2", "leaf2:eth11"]
- endpoints: ["spine1:eth3", "leaf3:eth11"]
- endpoints: ["spine1:eth4", "leaf4:eth11"]
- endpoints: ["spine1:eth5", "leaf5:eth11"]
- endpoints: ["spine1:eth6", "leaf6:eth11"]
- endpoints: ["spine1:eth7", "leaf7:eth11"]
- endpoints: ["spine1:eth8", "leaf8:eth11"]
# Spine2 to Leaf connections (underlay fabric)
- endpoints: ["spine2:eth1", "leaf1:eth12"]
- endpoints: ["spine2:eth2", "leaf2:eth12"]
- endpoints: ["spine2:eth3", "leaf3:eth12"]
- endpoints: ["spine2:eth4", "leaf4:eth12"]
- endpoints: ["spine2:eth5", "leaf5:eth12"]
- endpoints: ["spine2:eth6", "leaf6:eth12"]
- endpoints: ["spine2:eth7", "leaf7:eth12"]
- endpoints: ["spine2:eth8", "leaf8:eth12"]
# MLAG Peer Links (leaf pairs)
- endpoints: ["leaf1:eth10", "leaf2:eth10"]
- endpoints: ["leaf3:eth10", "leaf4:eth10"]
- endpoints: ["leaf5:eth10", "leaf6:eth10"]
- endpoints: ["leaf7:eth10", "leaf8:eth10"]
# Host connections - DUAL-HOMED with LACP to MLAG pairs
# host1 dual-homed to leaf1 + leaf2
- endpoints: ["leaf1:eth1", "host1:eth1"]
- endpoints: ["leaf2:eth1", "host1:eth2"]
# host2 dual-homed to leaf3 + leaf4
- endpoints: ["leaf3:eth1", "host2:eth1"]
- endpoints: ["leaf4:eth1", "host2:eth2"]
# host3 dual-homed to leaf5 + leaf6
- endpoints: ["leaf5:eth1", "host3:eth1"]
- endpoints: ["leaf6:eth1", "host3:eth2"]
# host4 dual-homed to leaf7 + leaf8
- endpoints: ["leaf7:eth1", "host4:eth1"]
- endpoints: ["leaf8:eth1", "host4:eth2"]