diff --git a/evpn-lab.clab.yml b/evpn-lab.clab.yml index 284dedb..096497e 100644 --- a/evpn-lab.clab.yml +++ b/evpn-lab.clab.yml @@ -66,28 +66,46 @@ topology: mgmt-ipv4: 172.16.0.32 startup-config: configs/leaf8.cfg - # Host devices for testing - simplified without bonding + # Host devices - DUAL-HOMED with LACP bonding to MLAG pairs host1: kind: linux mgmt-ipv4: 172.16.0.101 image: alpine:latest exec: - # Simple VLAN interface on eth1 for L2 VXLAN test - - ip link add link eth1 name eth1.40 type vlan id 40 + # 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 eth1.40 up - - ip addr add 10.40.40.101/24 dev eth1.40 + - 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: - # Simple VLAN interface on eth1 for L3 VXLAN test (VRF gold) - - ip link add link eth1 name eth1.34 type vlan id 34 + # 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 eth1.34 up - - ip addr add 10.34.34.102/24 dev eth1.34 + - 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: @@ -95,22 +113,40 @@ topology: mgmt-ipv4: 172.16.0.103 image: alpine:latest exec: - # Simple VLAN interface on eth1 for L2 VXLAN test - - ip link add link eth1 name eth1.40 type vlan id 40 + # 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 eth1.40 up - - ip addr add 10.40.40.103/24 dev eth1.40 + - 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: - # Simple VLAN interface on eth1 for L3 VXLAN test (VRF gold) - - ip link add link eth1 name eth1.78 type vlan id 78 + # 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 eth1.78 up - - ip addr add 10.78.78.104/24 dev eth1.78 + - 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: @@ -140,8 +176,19 @@ topology: - endpoints: ["leaf5:eth10", "leaf6:eth10"] - endpoints: ["leaf7:eth10", "leaf8:eth10"] - # Host connections - single-homed to leaf1,3,5,7 (no MLAG for simplicity) + # 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"]