diff --git a/END_TO_END_TESTING.md b/END_TO_END_TESTING.md index d5d6864..f223926 100644 --- a/END_TO_END_TESTING.md +++ b/END_TO_END_TESTING.md @@ -22,19 +22,19 @@ This document provides a step-by-step guide to test the EVPN VXLAN fabric after ### 1. Check MLAG Status on All Leaf Pairs ```bash -# Leaf Pair 1 (leaf1 & leaf2) +# Leaf Pair 1 (dc-leaf1 & dc-leaf2) ssh admin@clab-arista-evpn-fabric-leaf1 "show mlag detail" ssh admin@clab-arista-evpn-fabric-leaf2 "show mlag detail" -# Leaf Pair 2 (leaf3 & leaf4) +# Leaf Pair 2 (dc-leaf3 & dc-leaf4) ssh admin@clab-arista-evpn-fabric-leaf3 "show mlag detail" ssh admin@clab-arista-evpn-fabric-leaf4 "show mlag detail" -# Leaf Pair 3 (leaf5 & leaf6) +# Leaf Pair 3 (dc-leaf5 & dc-leaf6) ssh admin@clab-arista-evpn-fabric-leaf5 "show mlag detail" ssh admin@clab-arista-evpn-fabric-leaf6 "show mlag detail" -# Leaf Pair 4 (leaf7 & leaf8) +# Leaf Pair 4 (dc-leaf7 & dc-leaf8) ssh admin@clab-arista-evpn-fabric-leaf7 "show mlag detail" ssh admin@clab-arista-evpn-fabric-leaf8 "show mlag detail" ``` @@ -69,11 +69,11 @@ ssh admin@clab-arista-evpn-fabric-leaf1 "show bgp evpn summary" #### Step 1: Verify Host Network Interfaces ```bash -# Check host1 VLAN interface +# Check dc-server1 VLAN interface docker exec clab-arista-evpn-fabric-host1 ip -d link show bond0.40 docker exec clab-arista-evpn-fabric-host1 ip addr show bond0.40 -# Check host3 VLAN interface +# Check dc-server3 VLAN interface docker exec clab-arista-evpn-fabric-host3 ip -d link show bond0.40 docker exec clab-arista-evpn-fabric-host3 ip addr show bond0.40 ``` @@ -103,12 +103,12 @@ timeout 10 docker exec clab-arista-evpn-fabric-host1 ping -c 4 10.40.40.103 # On Leaf1 - check local MAC learning ssh admin@clab-arista-evpn-fabric-leaf1 "show mac address-table vlan 40" -# Expected: MAC from host1 should appear on Port-Channel1 +# Expected: MAC from dc-server1 should appear on Port-Channel1 # On Leaf5 - check MAC learning ssh admin@clab-arista-evpn-fabric-leaf5 "show mac address-table vlan 40" -# Expected: MAC from host3 should appear on Port-Channel1 +# Expected: MAC from dc-server3 should appear on Port-Channel1 ``` #### Step 5: Verify VXLAN Learning @@ -132,8 +132,8 @@ ssh admin@clab-arista-evpn-fabric-leaf1 "show vxlan address-table" ssh admin@clab-arista-evpn-fabric-leaf1 "show bgp evpn route-type mac-ip" # Expected: -# - Local MAC (host1) with RD 65001:110040 -# - Remote MAC (host3) with RD 65003:110040 pointing to VTEP 10.0.255.13 +# - Local MAC (dc-server1) with RD 65001:110040 +# - Remote MAC (dc-server3) with RD 65003:110040 pointing to VTEP 10.0.255.13 ``` ## L3 VXLAN Testing (VRF gold) @@ -147,11 +147,11 @@ ssh admin@clab-arista-evpn-fabric-leaf1 "show bgp evpn route-type mac-ip" #### Step 1: Verify Host Network Interfaces ```bash -# Check host2 VLAN interface +# Check dc-server2 VLAN interface docker exec clab-arista-evpn-fabric-host2 ip -d link show bond0.34 docker exec clab-arista-evpn-fabric-host2 ip addr show bond0.34 -# Check host4 VLAN interface +# Check dc-server4 VLAN interface docker exec clab-arista-evpn-fabric-host4 ip -d link show bond0.78 docker exec clab-arista-evpn-fabric-host4 ip addr show bond0.78 ``` diff --git a/README.md b/README.md index c775314..0338616 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ ssh admin@clab-arista-evpn-fabric-core1 ssh admin@clab-arista-evpn-fabric-campus-leaf1 # Or via docker exec -docker exec -it clab-arista-evpn-fabric-border-leaf-dc1 Cli +docker exec -it clab-arista-evpn-fabric-dc-border-leaf1 Cli ``` ## πŸ“‹ Architecture @@ -66,19 +66,19 @@ docker exec -it clab-arista-evpn-fabric-border-leaf-dc1 Cli | Zone | Role | Nodes | AS | | ------ | ----------------------- | ------------------------------------------------------ | ------ | -| DC | Spine | `spine1`, `spine2` | 65000 | -| DC | Leaf VTEP1 (MLAG) | `leaf1`, `leaf2` | 65001 | -| DC | Leaf VTEP2 (MLAG) | `leaf3`, `leaf4` | 65002 | -| DC | Leaf VTEP3 (MLAG) | `leaf5`, `leaf6` | 65003 | -| DC | Leaf VTEP4 (MLAG) | `leaf7`, `leaf8` | 65004 | -| DC | Border Leaf (MLAG) | `border-leaf-dc1`, `border-leaf-dc2` | 65005 | -| DC | Access (L2-only) | `access1`-`access4` | β€” | -| DC | Host | `host1`-`host4` | β€” | +| DC | Spine | `dc-spine1`, `dc-spine2` | 65000 | +| DC | Leaf VTEP1 (MLAG) | `dc-leaf1`, `dc-leaf2` | 65001 | +| DC | Leaf VTEP2 (MLAG) | `dc-leaf3`, `dc-leaf4` | 65002 | +| DC | Leaf VTEP3 (MLAG) | `dc-leaf5`, `dc-leaf6` | 65003 | +| DC | Leaf VTEP4 (MLAG) | `dc-leaf7`, `dc-leaf8` | 65004 | +| DC | Border Leaf (MLAG) | `dc-border-leaf1`, `dc-border-leaf2` | 65005 | +| DC | Access (L2-only) | `dc-access1`-`dc-access4` | β€” | +| DC | Host | `dc-server1`-`dc-server4` | β€” | | Core | Core router | `core1`, `core2` | 65500 | | Campus | Spine | `campus-spine1`, `campus-spine2` | 66000 | | Campus | Leaf VTEP1 (MLAG) | `campus-leaf1`, `campus-leaf2` | 66001 | | Campus | Leaf VTEP2 (MLAG) | `campus-leaf3`, `campus-leaf4` | 66002 | -| Campus | Border Leaf (MLAG) | `border-leaf-campus1`, `border-leaf-campus2` | 66005 | +| Campus | Border Leaf (MLAG) | `campus-border-leaf1`, `campus-border-leaf2` | 66005 | | Campus | Access (L2-only) | `campus-access1`, `campus-access2` | β€” | | Campus | Host | `campus-host1`, `campus-host2` | β€” | @@ -87,10 +87,10 @@ docker exec -it clab-arista-evpn-fabric-border-leaf-dc1 Cli | AS | Role | | ----- | ---------------------------------- | | 65000 | DC Spine | -| 65001 | DC VTEP1 (leaf1/2) | -| 65002 | DC VTEP2 (leaf3/4) | -| 65003 | DC VTEP3 (leaf5/6) | -| 65004 | DC VTEP4 (leaf7/8) | +| 65001 | DC VTEP1 (dc-leaf1/2) | +| 65002 | DC VTEP2 (dc-leaf3/4) | +| 65003 | DC VTEP3 (dc-leaf5/6) | +| 65004 | DC VTEP4 (dc-leaf7/8) | | 65005 | DC Border Leaf pair | | 65500 | Core (iBGP between core1 & core2) | | 66000 | Campus Spine | @@ -102,10 +102,10 @@ docker exec -it clab-arista-evpn-fabric-border-leaf-dc1 Cli | Access Switch | Uplink Pair | VLANs | Host | Host attachment | | --------------- | ------------------------ | -------- | -------------- | ------------------------- | -| access1 | leaf1/2 (VTEP1) | 40 | host1 | LACP Po1 (dual-homed) | -| access2 | leaf3/4 (VTEP2) | 34 | host2 | LACP Po1 (dual-homed) | -| access3 | leaf5/6 (VTEP3) | 40 | host3 | LACP Po1 (dual-homed) | -| access4 | leaf7/8 (VTEP4) | 78 | host4 | LACP Po1 (dual-homed) | +| dc-access1 | dc-leaf1/2 (VTEP1) | 40 | dc-server1 | LACP Po1 (dual-homed) | +| dc-access2 | dc-leaf3/4 (VTEP2) | 34 | dc-server2 | LACP Po1 (dual-homed) | +| dc-access3 | dc-leaf5/6 (VTEP3) | 40 | dc-server3 | LACP Po1 (dual-homed) | +| dc-access4 | dc-leaf7/8 (VTEP4) | 78 | dc-server4 | LACP Po1 (dual-homed) | | campus-access1 | campus-leaf1/2 (VTEP1) | 60 | campus-host1 | access port (single link) | | campus-access2 | campus-leaf3/4 (VTEP2) | 70 | campus-host2 | access port (single link) | @@ -124,16 +124,16 @@ Host-facing ports: | Node | IP | Node | IP | | ------------------------- | --------------- | ------------------------- | --------------- | -| spine1 | 172.16.0.1 | campus-spine1 | 172.16.0.20 | -| spine2 | 172.16.0.2 | campus-spine2 | 172.16.0.21 | -| border-leaf-dc1 | 172.16.0.3 | border-leaf-campus1 | 172.16.0.22 | -| border-leaf-dc2 | 172.16.0.4 | border-leaf-campus2 | 172.16.0.23 | +| dc-spine1 | 172.16.0.1 | campus-spine1 | 172.16.0.20 | +| dc-spine2 | 172.16.0.2 | campus-spine2 | 172.16.0.21 | +| dc-border-leaf1 | 172.16.0.3 | campus-border-leaf1 | 172.16.0.22 | +| dc-border-leaf2 | 172.16.0.4 | campus-border-leaf2 | 172.16.0.23 | | core1 | 172.16.0.10 | campus-leaf1-4 | 172.16.0.51-54 | | core2 | 172.16.0.11 | campus-access1 | 172.16.0.61 | -| leaf1 | 172.16.0.25 | campus-access2 | 172.16.0.62 | -| leaf2 | 172.16.0.50 | host1-4 | 172.16.0.101-104| -| leaf3-8 | 172.16.0.27-32 | campus-host1 | 172.16.0.105 | -| access1-4 | 172.16.0.41-44 | campus-host2 | 172.16.0.106 | +| dc-leaf1 | 172.16.0.25 | campus-access2 | 172.16.0.62 | +| dc-leaf2 | 172.16.0.50 | dc-server1-4 | 172.16.0.101-104| +| dc-leaf3-8 | 172.16.0.27-32 | campus-host1 | 172.16.0.105 | +| dc-access1-4 | 172.16.0.41-44 | campus-host2 | 172.16.0.106 | Gateway: `172.16.0.254`. @@ -141,7 +141,7 @@ Gateway: `172.16.0.254`. | Zone | Range | Nodes | | ------ | ------------------- | --------------------------------------------------------------------- | -| DC | `10.0.250.0/24` | spine1 .1, spine2 .2, leaf1-8 .11-.18, BL-dc1 .21, BL-dc2 .22 | +| DC | `10.0.250.0/24` | dc-spine1 .1, dc-spine2 .2, dc-leaf1-8 .11-.18, BL-dc1 .21, BL-dc2 .22 | | Core | `10.0.200.0/24` | core1 `10.0.200.1`, core2 `10.0.200.2` | | Campus | `10.1.250.0/24` | campus-spine1 .1, campus-spine2 .2, campus-leaf1-4 .11-.14, BL-campus1 .21, BL-campus2 .22 | @@ -149,21 +149,21 @@ Gateway: `172.16.0.254`. | Fabric | VTEP | Address | Leafs | | ------ | ------ | --------------- | ---------------------- | -| DC | VTEP1 | `10.0.255.11` | leaf1, leaf2 | -| DC | VTEP2 | `10.0.255.12` | leaf3, leaf4 | -| DC | VTEP3 | `10.0.255.13` | leaf5, leaf6 | -| DC | VTEP4 | `10.0.255.14` | leaf7, leaf8 | -| DC | BL | `10.0.255.15` | border-leaf-dc1/2 | +| DC | VTEP1 | `10.0.255.11` | dc-leaf1, dc-leaf2 | +| DC | VTEP2 | `10.0.255.12` | dc-leaf3, dc-leaf4 | +| DC | VTEP3 | `10.0.255.13` | dc-leaf5, dc-leaf6 | +| DC | VTEP4 | `10.0.255.14` | dc-leaf7, dc-leaf8 | +| DC | BL | `10.0.255.15` | dc-border-leaf1/2 | | Campus | VTEP1 | `10.1.255.11` | campus-leaf1/2 | | Campus | VTEP2 | `10.1.255.12` | campus-leaf3/4 | -| Campus | BL | `10.1.255.21` | border-leaf-campus1/2 | +| Campus | BL | `10.1.255.21` | campus-border-leaf1/2 | ### Underlay P2P (`/31`) | Segment | Subnets | | -------------------------------- | --------------------------------------- | -| DC spine1 ↔ leaf/BL | `10.0.1.0/31` … `10.0.1.18/31` | -| DC spine2 ↔ leaf/BL | `10.0.2.0/31` … `10.0.2.18/31` | +| DC dc-spine1 ↔ leaf/BL | `10.0.1.0/31` … `10.0.1.18/31` | +| DC dc-spine2 ↔ leaf/BL | `10.0.2.0/31` … `10.0.2.18/31` | | DC MLAG iBGP SVIs (per pair) | `10.0.3.0/31`, `.2/31`, `.4/31`, `.6/31`, `.8/31` (BL) | | DC MLAG peer-link SVIs | `10.0.199.240/31` … `10.0.199.246/31` | | DC-BL ↔ Core (default, `.100`) | `10.0.4.0/31` .. `10.0.4.6/31` | @@ -172,8 +172,8 @@ Gateway: `172.16.0.254`. | Campus-BL ↔ Core (VRF gold) | `10.0.15.0/31` .. `10.0.15.6/31` | | Core1 ↔ Core2 (default) | `10.0.200.128/31` | | Core1 ↔ Core2 (VRF gold) | `10.0.200.130/31` | -| Campus spine1 ↔ leaf/BL | `10.1.1.0/31` … `10.1.1.10/31` | -| Campus spine2 ↔ leaf/BL | `10.1.2.0/31` … `10.1.2.10/31` | +| Campus dc-spine1 ↔ leaf/BL | `10.1.1.0/31` … `10.1.1.10/31` | +| Campus dc-spine2 ↔ leaf/BL | `10.1.2.0/31` … `10.1.2.10/31` | | Campus MLAG iBGP SVIs | `10.1.3.0/31`, `.2/31`, `.4/31` | | Campus MLAG peer-link SVIs | `10.1.199.250/31` … `10.1.199.254/31` | @@ -181,10 +181,10 @@ Gateway: `172.16.0.254`. | Host | VLAN | VRF | IP / Mask | Gateway | Purpose | | ------------- | ---- | -------- | ----------------- | ------------ | ------------------------------ | -| host1 | 40 | default | 10.40.40.101/24 | β€” | DC L2 stretched (VTEP1↔VTEP3) | -| host2 | 34 | gold | 10.34.34.102/24 | 10.34.34.1 | DC L3 VRF gold | -| host3 | 40 | default | 10.40.40.103/24 | β€” | DC L2 stretched | -| host4 | 78 | gold | 10.78.78.104/24 | 10.78.78.1 | DC L3 VRF gold | +| dc-server1 | 40 | default | 10.40.40.101/24 | β€” | DC L2 stretched (VTEP1↔VTEP3) | +| dc-server2 | 34 | gold | 10.34.34.102/24 | 10.34.34.1 | DC L3 VRF gold | +| dc-server3 | 40 | default | 10.40.40.103/24 | β€” | DC L2 stretched | +| dc-server4 | 78 | gold | 10.78.78.104/24 | 10.78.78.1 | DC L3 VRF gold | | campus-host1 | 60 | gold | 10.60.60.101/24 | 10.60.60.1 | Campus L3 VRF gold | | campus-host2 | 70 | gold | 10.60.70.102/24 | 10.60.70.1 | Campus L3 VRF gold | @@ -197,7 +197,7 @@ Gateway: `172.16.0.254`. | VLAN | Description | VNI | Scope | RT | | ---- | ------------------------------ | ------ | ------------------------------------------------------ | ---------- | -| 40 | DC L2 VXLAN (stretched) | 110040 | DC VTEP1 (leaf1/2) + VTEP3 (leaf5/6) | 40:110040 | +| 40 | DC L2 VXLAN (stretched) | 110040 | DC VTEP1 (dc-leaf1/2) + VTEP3 (dc-leaf5/6) | 40:110040 | | 50 | Campus L2 VXLAN (stretched) | 110050 | Campus VTEP1 (campus-leaf1/2) + VTEP2 (campus-leaf3/4) | 50:110050 | | 34 | DC VRF gold subnet (local) | 110034 | DC VTEP2 only (anycast GW 10.34.34.1) | 34:110034 | | 78 | DC VRF gold subnet (local) | 110078 | DC VTEP4 only (anycast GW 10.78.78.1) | 78:110078 | @@ -241,7 +241,7 @@ VRF `gold` is announced over EVPN Type-5 (IP prefix) inside each fabric, and **s # DC ssh admin@clab-arista-evpn-fabric-spine1 "show bgp evpn summary" ssh admin@clab-arista-evpn-fabric-leaf3 "show bgp evpn summary" -ssh admin@clab-arista-evpn-fabric-border-leaf-dc1 "show bgp evpn summary" +ssh admin@clab-arista-evpn-fabric-dc-border-leaf1 "show bgp evpn summary" # Campus ssh admin@clab-arista-evpn-fabric-campus-spine1 "show bgp evpn summary" @@ -272,10 +272,10 @@ show mlag interfaces detail ### Intra-DC connectivity (existing tests) ```bash -# L2 VLAN 40: host1 ↔ host3 +# L2 VLAN 40: dc-server1 ↔ dc-server3 docker exec -it clab-arista-evpn-fabric-host1 ping -c 3 10.40.40.103 -# L3 VRF gold (DC only): host2 ↔ host4 +# L3 VRF gold (DC only): dc-server2 ↔ dc-server4 docker exec -it clab-arista-evpn-fabric-host2 ping -c 3 10.78.78.104 ``` @@ -295,10 +295,10 @@ docker exec -it clab-arista-evpn-fabric-campus-host2 ping -c 3 10.60.60.101 ### End-to-end Campus ↔ DC (VRF gold via Core) ```bash -# campus-host1 (10.60.60.101, VRF gold Campus) β†’ host2 (10.34.34.102, VRF gold DC) +# campus-host1 (10.60.60.101, VRF gold Campus) β†’ dc-server2 (10.34.34.102, VRF gold DC) docker exec -it clab-arista-evpn-fabric-campus-host1 ping -c 3 10.34.34.102 -# campus-host2 (10.60.70.102) β†’ host4 (10.78.78.104) +# campus-host2 (10.60.70.102) β†’ dc-server4 (10.78.78.104) docker exec -it clab-arista-evpn-fabric-campus-host2 ping -c 3 10.78.78.104 # Reverse direction @@ -317,10 +317,10 @@ ssh admin@clab-arista-evpn-fabric-core1 "show ip route vrf gold" ssh admin@clab-arista-evpn-fabric-core1 "show ip bgp vrf gold" # EVPN Type-5 on DC-BL (imported from DC fabric, redistributed from Core into EVPN) -ssh admin@clab-arista-evpn-fabric-border-leaf-dc1 "show bgp evpn route-type ip-prefix ipv4" +ssh admin@clab-arista-evpn-fabric-dc-border-leaf1 "show bgp evpn route-type ip-prefix ipv4" # EVPN Type-5 on Campus-BL -ssh admin@clab-arista-evpn-fabric-border-leaf-campus1 "show bgp evpn route-type ip-prefix ipv4" +ssh admin@clab-arista-evpn-fabric-campus-border-leaf1 "show bgp evpn route-type ip-prefix ipv4" ``` ## πŸ“ Repository Structure @@ -335,20 +335,20 @@ arista-evpn-vxlan-clab/ β”œβ”€β”€ assets/ β”‚ └── arista-evpn-fabric.svg β”œβ”€β”€ configs/ -β”‚ β”œβ”€β”€ spine1.cfg, spine2.cfg -β”‚ β”œβ”€β”€ leaf1.cfg … leaf8.cfg -β”‚ β”œβ”€β”€ border-leaf-dc1.cfg, border-leaf-dc2.cfg -β”‚ β”œβ”€β”€ access1.cfg … access4.cfg +β”‚ β”œβ”€β”€ dc-spine1.cfg, dc-spine2.cfg +β”‚ β”œβ”€β”€ dc-leaf1.cfg … dc-leaf8.cfg +β”‚ β”œβ”€β”€ dc-border-leaf1.cfg, dc-border-leaf2.cfg +β”‚ β”œβ”€β”€ dc-access1.cfg … dc-access4.cfg β”‚ β”œβ”€β”€ core1.cfg, core2.cfg β”‚ β”œβ”€β”€ campus-spine1.cfg, campus-spine2.cfg β”‚ β”œβ”€β”€ campus-leaf1.cfg … campus-leaf4.cfg -β”‚ β”œβ”€β”€ border-leaf-campus1.cfg, border-leaf-campus2.cfg +β”‚ β”œβ”€β”€ campus-border-leaf1.cfg, campus-border-leaf2.cfg β”‚ └── campus-access1.cfg, campus-access2.cfg └── hosts/ β”œβ”€β”€ README.md - β”œβ”€β”€ host1_interfaces … host4_interfaces - β”œβ”€β”€ campus-host1_interfaces - └── campus-host2_interfaces + β”œβ”€β”€ dc-server1_interfaces … dc-server4_interfaces + β”œβ”€β”€ campus-dc-server1_interfaces + └── campus-dc-server2_interfaces ``` ## πŸ—‘οΈ Cleanup diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 6a75e1e..5359acb 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -72,7 +72,7 @@ Ethernet11 is up, line protocol is up (connected) ### 2.1 Verify MLAG Peering -**On each MLAG leaf pair (e.g., leaf1/leaf2):** +**On each MLAG leaf pair (e.g., dc-leaf1/dc-leaf2):** ```bash # MLAG global status @@ -173,7 +173,7 @@ Active Ports: Ethernet1 local/remote mlag desc state local remote status ------ -------------- ------------- ----------- ------------ --------------- - 1 host1 active-full Po1 Po1 up/up + 1 dc-server1 active-full Po1 Po1 up/up ``` **Troubleshooting:** @@ -528,7 +528,7 @@ Shows which remote VTEP the MAC is behind! ## End-to-End Traffic Flow -### Scenario: host1 (VTEP1) pings host3 (VTEP3) - L2 VXLAN +### Scenario: dc-server1 (VTEP1) pings dc-server3 (VTEP3) - L2 VXLAN Both hosts in VLAN 40 (10.40.40.0/24) @@ -536,7 +536,7 @@ Both hosts in VLAN 40 (10.40.40.0/24) #### Step 1: Host Sends Packet -**On host1:** +**On dc-server1:** ```bash docker exec -it clab-arista-evpn-fabric-host1 sh @@ -558,9 +558,9 @@ ping 10.40.40.103 --- -#### Step 2: Packet Arrives at leaf1 (VTEP1) +#### Step 2: Packet Arrives at dc-leaf1 (VTEP1) -**On leaf1:** +**On dc-leaf1:** ```bash # Check Port-Channel received the packet @@ -569,13 +569,13 @@ show interfaces Port-Channel1 | include packets # Check MAC learning show mac address-table dynamic vlan 40 -# Should see host1's MAC on Po1 +# Should see dc-server1's MAC on Po1 ``` **Traffic flow:** ``` -host1:bond0.40 β†’ [802.1Q VLAN 40] β†’ leaf1:Eth1 β†’ Po1 +dc-server1:bond0.40 β†’ [802.1Q VLAN 40] β†’ dc-leaf1:Eth1 β†’ Po1 ``` --- @@ -603,12 +603,12 @@ show vxlan address-table address 00c1.ab00.0033 **Encapsulation:** ``` -Original: [Eth: host1β†’host3][IP: 10.40.40.101β†’103][ICMP] +Original: [Eth: dc-server1β†’dc-server3][IP: 10.40.40.101β†’103][ICMP] VXLAN: [Outer IP: 10.0.255.11β†’10.0.255.13] [Outer UDP: src=random, dst=4789] [VXLAN Header: VNI=110040] - [Inner Eth: host1β†’host3][IP: 10.40.40.101β†’103][ICMP] + [Inner Eth: dc-server1β†’dc-server3][IP: 10.40.40.101β†’103][ICMP] ``` --- @@ -622,27 +622,27 @@ VXLAN: [Outer IP: 10.0.255.11β†’10.0.255.13] show ip route 10.0.255.13 # Output: -# via 10.0.1.0, Ethernet11 (spine1) -# via 10.0.2.0, Ethernet12 (spine2) +# via 10.0.1.0, Ethernet11 (dc-spine1) +# via 10.0.2.0, Ethernet12 (dc-spine2) ``` -ECMP: Packet can go via spine1 OR spine2! +ECMP: Packet can go via dc-spine1 OR dc-spine2! **Spine forwards based on outer IP:** ```bash -# On spine1 +# On dc-spine1 show ip route 10.0.255.13 # Output: -# via 10.0.1.5, Ethernet3 (leaf5) +# via 10.0.1.5, Ethernet3 (dc-leaf5) ``` --- -#### Step 5: Packet Arrives at leaf5 (VTEP3) +#### Step 5: Packet Arrives at dc-leaf5 (VTEP3) -**On leaf5:** +**On dc-leaf5:** ```bash # Check VXLAN received the packet @@ -655,7 +655,7 @@ show interfaces Vxlan1 | include packets ``` VXLAN packet β†’ Strip outer IP/UDP/VXLAN headers -β†’ Original frame: [Eth: host1β†’host3][IP: 10.40.40.101β†’103][ICMP] +β†’ Original frame: [Eth: dc-server1β†’dc-server3][IP: 10.40.40.101β†’103][ICMP] ``` **Leaf5 checks MAC table:** @@ -669,13 +669,13 @@ show mac address-table address 00c1.ab00.0033 --- -#### Step 6: Packet Delivered to host3 +#### Step 6: Packet Delivered to dc-server3 ``` -leaf5:Vxlan1 β†’ VLAN 40 β†’ Po1 β†’ Eth1 β†’ host3:bond0.40 +dc-leaf5:Vxlan1 β†’ VLAN 40 β†’ Po1 β†’ Eth1 β†’ dc-server3:bond0.40 ``` -**On host3:** +**On dc-server3:** ```bash docker exec -it clab-arista-evpn-fabric-host3 sh @@ -693,19 +693,19 @@ ping 10.40.40.101 # Reply should work! β”‚ L2 VXLAN Traffic Flow β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -host1 (10.40.40.101) host3 (10.40.40.103) +dc-server1 (10.40.40.101) dc-server3 (10.40.40.103) β”‚ β–² β”‚ 1. Send ping to 10.40.40.103 β”‚ β”‚ [VLAN 40 tag] β”‚ 6. Receive reply β”‚ β”‚ [VLAN 40 tag] β–Ό β”‚ -leaf1:Po1 leaf5:Po1 +dc-leaf1:Po1 dc-leaf5:Po1 β”‚ β–² β”‚ 2. MAC lookup: β”‚ 5. MAC lookup: β”‚ 00c1.ab00.0033 β†’ Vx1 β†’ 10.0.255.13 β”‚ 00c1.ab00.0011 β†’ Vx1 β”‚ β”‚ β–Ό β”‚ -leaf1:Vxlan1 leaf5:Vxlan1 +dc-leaf1:Vxlan1 dc-leaf5:Vxlan1 β”‚ β–² β”‚ 3. VXLAN encap: β”‚ 4. VXLAN decap: β”‚ Outer: 10.0.255.11 β†’ 10.0.255.13 β”‚ Strip outer headers @@ -713,7 +713,7 @@ leaf1:Vxlan1 leaf5:Vxlan1 β”‚ Inner: original frame β”‚ β”‚ β”‚ β–Ό β”‚ -leaf1:Eth11 ──────► spine1 ──────► leaf5:Eth11 β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +dc-leaf1:Eth11 ──────► dc-spine1 ──────► dc-leaf5:Eth11 β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ (underlay BGP routing) ``` @@ -776,7 +776,7 @@ show vxlan address-table vlan 40 **Symptoms:** -- host2 (10.34.34.102) cannot ping host4 (10.78.78.104) +- dc-server2 (10.34.34.102) cannot ping dc-server4 (10.78.78.104) - Both in VRF gold **Troubleshooting Steps:** @@ -956,14 +956,14 @@ show mac address-table count **Test L2 VXLAN (VLAN 40):** ```bash -# On host1 +# On dc-server1 ping 10.40.40.103 -c 3 -# On leaf1 (VTEP1) +# On dc-leaf1 (VTEP1) show mac address-table address 00c1.ab00.0033 show vxlan address-table address 00c1.ab00.0033 -# On leaf5 (VTEP3) +# On dc-leaf5 (VTEP3) show mac address-table address 00c1.ab00.0011 show vxlan address-table address 00c1.ab00.0011 ``` @@ -971,14 +971,14 @@ show vxlan address-table address 00c1.ab00.0011 **Test L3 VXLAN (VRF gold):** ```bash -# On host2 +# On dc-server2 ping 10.78.78.104 -c 3 -# On leaf3 (VTEP2) +# On dc-leaf3 (VTEP2) show ip route vrf gold 10.78.78.0/24 show bgp evpn route-type ip-prefix ipv4 10.78.78.0/24 -# On leaf7 (VTEP4) +# On dc-leaf7 (VTEP4) show ip route vrf gold 10.34.34.0/24 ``` diff --git a/assets/arista-evpn-fabric.svg b/assets/arista-evpn-fabric.svg index bd8210b..efac5f3 100644 --- a/assets/arista-evpn-fabric.svg +++ b/assets/arista-evpn-fabric.svg @@ -58,9 +58,9 @@ - border-leaf-campus1 + campus-border-leaf1 - border-leaf-campus2 + campus-border-leaf2 @@ -99,7 +99,7 @@ - + @@ -146,61 +146,61 @@ - spine1 + dc-spine1 - spine2 + dc-spine2 - leaf1 + dc-leaf1 - leaf2 + dc-leaf2 - leaf3 + dc-leaf3 - leaf4 + dc-leaf4 - leaf5 + dc-leaf5 - leaf6 + dc-leaf6 - leaf7 + dc-leaf7 - leaf8 + dc-leaf8 - border-leaf-dc1 + dc-border-leaf1 - border-leaf-dc2 + dc-border-leaf2 - access1 + dc-access1 - access2 + dc-access2 - access3 + dc-access3 - access4 + dc-access4 - host1 + dc-server1 - host2 + dc-server2 - host3 + dc-server3 - host4 + dc-server4 @@ -233,7 +233,7 @@ - + diff --git a/configs/campus-access1.cfg b/configs/campus-access1.cfg index 9518fff..0d04f2c 100644 --- a/configs/campus-access1.cfg +++ b/configs/campus-access1.cfg @@ -1,5 +1,5 @@ ! Campus-Access1 Configuration -! L2-only access switch for Campus VTEP1 (campus-leaf1/leaf2) +! L2-only access switch for Campus VTEP1 (campus-leaf1/dc-leaf2) ! hostname campus-access1 ! diff --git a/configs/campus-access2.cfg b/configs/campus-access2.cfg index 49f0996..e38cda9 100644 --- a/configs/campus-access2.cfg +++ b/configs/campus-access2.cfg @@ -1,5 +1,5 @@ ! Campus-Access2 Configuration -! L2-only access switch for Campus VTEP2 (campus-leaf3/leaf4) +! L2-only access switch for Campus VTEP2 (campus-leaf3/dc-leaf4) ! hostname campus-access2 ! diff --git a/configs/border-leaf-campus1.cfg b/configs/campus-border-leaf1.cfg similarity index 97% rename from configs/border-leaf-campus1.cfg rename to configs/campus-border-leaf1.cfg index 553489a..f67ef76 100644 --- a/configs/border-leaf-campus1.cfg +++ b/configs/campus-border-leaf1.cfg @@ -1,8 +1,8 @@ -! Border-Leaf-Campus1 Configuration -! Campus Border Leaf - AS 66005 (MLAG pair with border-leaf-campus2) +! Campus-Border-Leaf1 Configuration +! Campus Border Leaf - AS 66005 (MLAG pair with campus-border-leaf2) ! Provides egress from Campus EVPN-VXLAN fabric to Core L3 network ! -hostname border-leaf-campus1 +hostname campus-border-leaf1 ! ! LLDP Management0 lldp management-address Management0 diff --git a/configs/border-leaf-campus2.cfg b/configs/campus-border-leaf2.cfg similarity index 97% rename from configs/border-leaf-campus2.cfg rename to configs/campus-border-leaf2.cfg index 6c30128..48a8273 100644 --- a/configs/border-leaf-campus2.cfg +++ b/configs/campus-border-leaf2.cfg @@ -1,8 +1,8 @@ -! Border-Leaf-Campus2 Configuration -! Campus Border Leaf - AS 66005 (MLAG pair with border-leaf-campus1) +! Campus-Border-Leaf2 Configuration +! Campus Border Leaf - AS 66005 (MLAG pair with campus-border-leaf1) ! Provides egress from Campus EVPN-VXLAN fabric to Core L3 network ! -hostname border-leaf-campus2 +hostname campus-border-leaf2 ! ! LLDP Management0 lldp management-address Management0 diff --git a/configs/campus-spine1.cfg b/configs/campus-spine1.cfg index f982a3e..e29ed05 100644 --- a/configs/campus-spine1.cfg +++ b/configs/campus-spine1.cfg @@ -56,13 +56,13 @@ interface Ethernet4 ! ! Underlay P2P interfaces to Campus Border Leafs interface Ethernet5 - description border-leaf-campus1 + description campus-border-leaf1 no switchport ip address 10.1.1.8/31 mtu 9214 ! interface Ethernet6 - description border-leaf-campus2 + description campus-border-leaf2 no switchport ip address 10.1.1.10/31 mtu 9214 diff --git a/configs/campus-spine2.cfg b/configs/campus-spine2.cfg index d49ce0e..bf59865 100644 --- a/configs/campus-spine2.cfg +++ b/configs/campus-spine2.cfg @@ -56,13 +56,13 @@ interface Ethernet4 ! ! Underlay P2P interfaces to Campus Border Leafs interface Ethernet5 - description border-leaf-campus1 + description campus-border-leaf1 no switchport ip address 10.1.2.8/31 mtu 9214 ! interface Ethernet6 - description border-leaf-campus2 + description campus-border-leaf2 no switchport ip address 10.1.2.10/31 mtu 9214 diff --git a/configs/core1.cfg b/configs/core1.cfg index a15e611..d30b201 100644 --- a/configs/core1.cfg +++ b/configs/core1.cfg @@ -41,18 +41,18 @@ interface Loopback1 ! ! Link to DC Border Leaf 1 (subinterfaced: .100 default VRF, .200 VRF gold) interface Ethernet1 - description border-leaf-dc1 + description dc-border-leaf1 no switchport mtu 9214 ! interface Ethernet1.100 - description border-leaf-dc1-underlay + description dc-border-leaf1-underlay encapsulation dot1q vlan 100 ip address 10.0.4.0/31 mtu 9214 ! interface Ethernet1.200 - description border-leaf-dc1-vrf-gold + description dc-border-leaf1-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.14.0/31 @@ -60,18 +60,18 @@ interface Ethernet1.200 ! ! Link to DC Border Leaf 2 interface Ethernet2 - description border-leaf-dc2 + description dc-border-leaf2 no switchport mtu 9214 ! interface Ethernet2.100 - description border-leaf-dc2-underlay + description dc-border-leaf2-underlay encapsulation dot1q vlan 100 ip address 10.0.4.2/31 mtu 9214 ! interface Ethernet2.200 - description border-leaf-dc2-vrf-gold + description dc-border-leaf2-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.14.2/31 @@ -79,18 +79,18 @@ interface Ethernet2.200 ! ! Link to Campus Border Leaf 1 interface Ethernet3 - description border-leaf-campus1 + description campus-border-leaf1 no switchport mtu 9214 ! interface Ethernet3.100 - description border-leaf-campus1-underlay + description campus-border-leaf1-underlay encapsulation dot1q vlan 100 ip address 10.0.5.0/31 mtu 9214 ! interface Ethernet3.200 - description border-leaf-campus1-vrf-gold + description campus-border-leaf1-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.15.0/31 @@ -98,18 +98,18 @@ interface Ethernet3.200 ! ! Link to Campus Border Leaf 2 interface Ethernet4 - description border-leaf-campus2 + description campus-border-leaf2 no switchport mtu 9214 ! interface Ethernet4.100 - description border-leaf-campus2-underlay + description campus-border-leaf2-underlay encapsulation dot1q vlan 100 ip address 10.0.5.2/31 mtu 9214 ! interface Ethernet4.200 - description border-leaf-campus2-vrf-gold + description campus-border-leaf2-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.15.2/31 diff --git a/configs/core2.cfg b/configs/core2.cfg index 55dc7bc..181c527 100644 --- a/configs/core2.cfg +++ b/configs/core2.cfg @@ -41,18 +41,18 @@ interface Loopback1 ! ! Link to DC Border Leaf 1 interface Ethernet1 - description border-leaf-dc1 + description dc-border-leaf1 no switchport mtu 9214 ! interface Ethernet1.100 - description border-leaf-dc1-underlay + description dc-border-leaf1-underlay encapsulation dot1q vlan 100 ip address 10.0.4.4/31 mtu 9214 ! interface Ethernet1.200 - description border-leaf-dc1-vrf-gold + description dc-border-leaf1-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.14.4/31 @@ -60,18 +60,18 @@ interface Ethernet1.200 ! ! Link to DC Border Leaf 2 interface Ethernet2 - description border-leaf-dc2 + description dc-border-leaf2 no switchport mtu 9214 ! interface Ethernet2.100 - description border-leaf-dc2-underlay + description dc-border-leaf2-underlay encapsulation dot1q vlan 100 ip address 10.0.4.6/31 mtu 9214 ! interface Ethernet2.200 - description border-leaf-dc2-vrf-gold + description dc-border-leaf2-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.14.6/31 @@ -79,18 +79,18 @@ interface Ethernet2.200 ! ! Link to Campus Border Leaf 1 interface Ethernet3 - description border-leaf-campus1 + description campus-border-leaf1 no switchport mtu 9214 ! interface Ethernet3.100 - description border-leaf-campus1-underlay + description campus-border-leaf1-underlay encapsulation dot1q vlan 100 ip address 10.0.5.4/31 mtu 9214 ! interface Ethernet3.200 - description border-leaf-campus1-vrf-gold + description campus-border-leaf1-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.15.4/31 @@ -98,18 +98,18 @@ interface Ethernet3.200 ! ! Link to Campus Border Leaf 2 interface Ethernet4 - description border-leaf-campus2 + description campus-border-leaf2 no switchport mtu 9214 ! interface Ethernet4.100 - description border-leaf-campus2-underlay + description campus-border-leaf2-underlay encapsulation dot1q vlan 100 ip address 10.0.5.6/31 mtu 9214 ! interface Ethernet4.200 - description border-leaf-campus2-vrf-gold + description campus-border-leaf2-vrf-gold encapsulation dot1q vlan 200 vrf gold ip address 10.0.15.6/31 diff --git a/configs/access1.cfg b/configs/dc-access1.cfg similarity index 83% rename from configs/access1.cfg rename to configs/dc-access1.cfg index 2c5a20f..73756e6 100644 --- a/configs/access1.cfg +++ b/configs/dc-access1.cfg @@ -1,7 +1,7 @@ -! Access1 Configuration -! L2-only access switch for VTEP1 (leaf1/leaf2) +! DC-Access1 Configuration +! L2-only access switch for VTEP1 (dc-leaf1/dc-leaf2) ! -hostname access1 +hostname dc-access1 ! ! LLDP Management0 lldp management-address Management0 @@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default ! ! Uplink to leaf MLAG pair (Port-Channel 10) interface Ethernet1 - description leaf1-uplink + description dc-leaf1-uplink channel-group 10 mode active ! interface Ethernet2 - description leaf2-uplink + description dc-leaf2-uplink channel-group 10 mode active ! interface Port-Channel10 @@ -43,15 +43,15 @@ interface Port-Channel10 ! ! Host-facing downlink (Port-Channel 1) interface Ethernet3 - description host1 + description dc-server1 channel-group 1 mode active ! interface Ethernet4 - description host1 + description dc-server1 channel-group 1 mode active ! interface Port-Channel1 - description host1 + description dc-server1 switchport mode trunk switchport trunk allowed vlan 40 port-channel lacp fallback timeout 5 diff --git a/configs/access2.cfg b/configs/dc-access2.cfg similarity index 84% rename from configs/access2.cfg rename to configs/dc-access2.cfg index 0437f31..3f6b6a5 100644 --- a/configs/access2.cfg +++ b/configs/dc-access2.cfg @@ -1,7 +1,7 @@ -! Access2 Configuration -! L2-only access switch for VTEP2 (leaf3/leaf4) +! DC-Access2 Configuration +! L2-only access switch for VTEP2 (dc-leaf3/dc-leaf4) ! -hostname access2 +hostname dc-access2 ! ! LLDP Management0 lldp management-address Management0 @@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default ! ! Uplink to leaf MLAG pair (Port-Channel 10) interface Ethernet1 - description leaf3-uplink + description dc-leaf3-uplink channel-group 10 mode active ! interface Ethernet2 - description leaf4-uplink + description dc-leaf4-uplink channel-group 10 mode active ! interface Port-Channel10 @@ -43,15 +43,15 @@ interface Port-Channel10 ! ! Host-facing downlink (Port-Channel 1) interface Ethernet3 - description host2 + description dc-server2 channel-group 1 mode active ! interface Ethernet4 - description host2 + description dc-server2 channel-group 1 mode active ! interface Port-Channel1 - description host2 + description dc-server2 switchport mode trunk switchport trunk allowed vlan 34 port-channel lacp fallback timeout 5 diff --git a/configs/access3.cfg b/configs/dc-access3.cfg similarity index 83% rename from configs/access3.cfg rename to configs/dc-access3.cfg index a6c4d4f..b46b314 100644 --- a/configs/access3.cfg +++ b/configs/dc-access3.cfg @@ -1,7 +1,7 @@ -! Access3 Configuration -! L2-only access switch for VTEP3 (leaf5/leaf6) +! DC-Access3 Configuration +! L2-only access switch for VTEP3 (dc-leaf5/dc-leaf6) ! -hostname access3 +hostname dc-access3 ! ! LLDP Management0 lldp management-address Management0 @@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default ! ! Uplink to leaf MLAG pair (Port-Channel 10) interface Ethernet1 - description leaf5-uplink + description dc-leaf5-uplink channel-group 10 mode active ! interface Ethernet2 - description leaf6-uplink + description dc-leaf6-uplink channel-group 10 mode active ! interface Port-Channel10 @@ -43,15 +43,15 @@ interface Port-Channel10 ! ! Host-facing downlink (Port-Channel 1) interface Ethernet3 - description host3 + description dc-server3 channel-group 1 mode active ! interface Ethernet4 - description host3 + description dc-server3 channel-group 1 mode active ! interface Port-Channel1 - description host3 + description dc-server3 switchport mode trunk switchport trunk allowed vlan 40 port-channel lacp fallback timeout 5 diff --git a/configs/access4.cfg b/configs/dc-access4.cfg similarity index 84% rename from configs/access4.cfg rename to configs/dc-access4.cfg index bde8efe..0efcddb 100644 --- a/configs/access4.cfg +++ b/configs/dc-access4.cfg @@ -1,7 +1,7 @@ -! Access4 Configuration -! L2-only access switch for VTEP4 (leaf7/leaf8) +! DC-Access4 Configuration +! L2-only access switch for VTEP4 (dc-leaf7/dc-leaf8) ! -hostname access4 +hostname dc-access4 ! ! LLDP Management0 lldp management-address Management0 @@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default ! ! Uplink to leaf MLAG pair (Port-Channel 10) interface Ethernet1 - description leaf7-uplink + description dc-leaf7-uplink channel-group 10 mode active ! interface Ethernet2 - description leaf8-uplink + description dc-leaf8-uplink channel-group 10 mode active ! interface Port-Channel10 @@ -43,15 +43,15 @@ interface Port-Channel10 ! ! Host-facing downlink (Port-Channel 1) interface Ethernet3 - description host4 + description dc-server4 channel-group 1 mode active ! interface Ethernet4 - description host4 + description dc-server4 channel-group 1 mode active ! interface Port-Channel1 - description host4 + description dc-server4 switchport mode trunk switchport trunk allowed vlan 78 port-channel lacp fallback timeout 5 diff --git a/configs/border-leaf-dc1.cfg b/configs/dc-border-leaf1.cfg similarity index 97% rename from configs/border-leaf-dc1.cfg rename to configs/dc-border-leaf1.cfg index 34c8878..2f1ecb5 100644 --- a/configs/border-leaf-dc1.cfg +++ b/configs/dc-border-leaf1.cfg @@ -1,8 +1,8 @@ -! Border-Leaf-DC1 Configuration -! DC Border Leaf - AS 65005 (MLAG pair with border-leaf-dc2) +! DC-Border-Leaf1 Configuration +! DC Border Leaf - AS 65005 (MLAG pair with dc-border-leaf2) ! Provides egress from DC EVPN-VXLAN fabric to Core L3 network ! -hostname border-leaf-dc1 +hostname dc-border-leaf1 ! ! LLDP Management0 lldp management-address Management0 @@ -76,13 +76,13 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.17/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.17/31 mtu 9214 diff --git a/configs/border-leaf-dc2.cfg b/configs/dc-border-leaf2.cfg similarity index 97% rename from configs/border-leaf-dc2.cfg rename to configs/dc-border-leaf2.cfg index 8303667..023d20e 100644 --- a/configs/border-leaf-dc2.cfg +++ b/configs/dc-border-leaf2.cfg @@ -1,8 +1,8 @@ -! Border-Leaf-DC2 Configuration -! DC Border Leaf - AS 65005 (MLAG pair with border-leaf-dc1) +! DC-Border-Leaf2 Configuration +! DC Border Leaf - AS 65005 (MLAG pair with dc-border-leaf1) ! Provides egress from DC EVPN-VXLAN fabric to Core L3 network ! -hostname border-leaf-dc2 +hostname dc-border-leaf2 ! ! LLDP Management0 lldp management-address Management0 @@ -76,13 +76,13 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.19/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.19/31 mtu 9214 diff --git a/configs/leaf1.cfg b/configs/dc-leaf1.cfg similarity index 96% rename from configs/leaf1.cfg rename to configs/dc-leaf1.cfg index 88d4362..f6dc0cb 100644 --- a/configs/leaf1.cfg +++ b/configs/dc-leaf1.cfg @@ -1,7 +1,7 @@ -! Leaf1 Configuration +! DC-Leaf1 Configuration ! VTEP1 - AS 65001 ! -hostname leaf1 +hostname dc-leaf1 ! ! LLDP Management0 lldp management-address Management0 @@ -67,24 +67,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.1/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.1/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access1 + description dc-access1 channel-group 1 mode active ! interface Port-Channel1 - description access1 + description dc-access1 switchport mode trunk switchport trunk allowed vlan 40 mlag 1 diff --git a/configs/leaf2.cfg b/configs/dc-leaf2.cfg similarity index 96% rename from configs/leaf2.cfg rename to configs/dc-leaf2.cfg index 0ea5757..38bf3c5 100644 --- a/configs/leaf2.cfg +++ b/configs/dc-leaf2.cfg @@ -1,7 +1,7 @@ -! Leaf2 Configuration +! DC-Leaf2 Configuration ! VTEP1 - AS 65001 ! -hostname leaf2 +hostname dc-leaf2 ! ! LLDP Management0 lldp management-address Management0 @@ -67,24 +67,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.3/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.3/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access1 + description dc-access1 channel-group 1 mode active ! interface Port-Channel1 - description access1 + description dc-access1 switchport mode trunk switchport trunk allowed vlan 40 mlag 1 diff --git a/configs/leaf3.cfg b/configs/dc-leaf3.cfg similarity index 96% rename from configs/leaf3.cfg rename to configs/dc-leaf3.cfg index b2b97c2..a58f4f6 100644 --- a/configs/leaf3.cfg +++ b/configs/dc-leaf3.cfg @@ -1,7 +1,7 @@ -! Leaf3 Configuration +! DC-Leaf3 Configuration ! VTEP2 - AS 65002 ! -hostname leaf3 +hostname dc-leaf3 ! ! LLDP Management0 lldp management-address Management0 @@ -80,24 +80,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.5/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.5/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access2 + description dc-access2 channel-group 1 mode active ! interface Port-Channel1 - description access2 + description dc-access2 switchport mode trunk switchport trunk allowed vlan 34 mlag 1 diff --git a/configs/leaf4.cfg b/configs/dc-leaf4.cfg similarity index 96% rename from configs/leaf4.cfg rename to configs/dc-leaf4.cfg index c5ff533..f3cbb13 100644 --- a/configs/leaf4.cfg +++ b/configs/dc-leaf4.cfg @@ -1,7 +1,7 @@ -! Leaf4 Configuration +! DC-Leaf4 Configuration ! VTEP2 - AS 65002 ! -hostname leaf4 +hostname dc-leaf4 ! ! LLDP Management0 lldp management-address Management0 @@ -80,24 +80,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.7/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.7/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access2 + description dc-access2 channel-group 1 mode active ! interface Port-Channel1 - description access2 + description dc-access2 switchport mode trunk switchport trunk allowed vlan 34 mlag 1 diff --git a/configs/leaf5.cfg b/configs/dc-leaf5.cfg similarity index 96% rename from configs/leaf5.cfg rename to configs/dc-leaf5.cfg index 6822b5e..5585962 100644 --- a/configs/leaf5.cfg +++ b/configs/dc-leaf5.cfg @@ -1,7 +1,7 @@ -! Leaf5 Configuration +! DC-Leaf5 Configuration ! VTEP3 - AS 65003 ! -hostname leaf5 +hostname dc-leaf5 ! ! LLDP Management0 lldp management-address Management0 @@ -68,24 +68,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.9/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.9/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access3 + description dc-access3 channel-group 1 mode active ! interface Port-Channel1 - description access3 + description dc-access3 switchport mode trunk switchport trunk allowed vlan 40 mlag 1 diff --git a/configs/leaf6.cfg b/configs/dc-leaf6.cfg similarity index 96% rename from configs/leaf6.cfg rename to configs/dc-leaf6.cfg index eda2288..99e067c 100644 --- a/configs/leaf6.cfg +++ b/configs/dc-leaf6.cfg @@ -1,7 +1,7 @@ -! Leaf6 Configuration +! DC-Leaf6 Configuration ! VTEP3 - AS 65003 ! -hostname leaf6 +hostname dc-leaf6 ! ! LLDP Management0 lldp management-address Management0 @@ -67,24 +67,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.11/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.11/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access3 + description dc-access3 channel-group 1 mode active ! interface Port-Channel1 - description access3 + description dc-access3 switchport mode trunk switchport trunk allowed vlan 40 mlag 1 diff --git a/configs/leaf7.cfg b/configs/dc-leaf7.cfg similarity index 96% rename from configs/leaf7.cfg rename to configs/dc-leaf7.cfg index 0bbee0b..00505f1 100644 --- a/configs/leaf7.cfg +++ b/configs/dc-leaf7.cfg @@ -1,7 +1,7 @@ -! Leaf7 Configuration +! DC-Leaf7 Configuration ! VTEP4 - AS 65004 ! -hostname leaf7 +hostname dc-leaf7 ! ! LLDP Management0 lldp management-address Management0 @@ -79,24 +79,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.13/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.13/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access4 + description dc-access4 channel-group 1 mode active ! interface Port-Channel1 - description access4 + description dc-access4 switchport mode trunk switchport trunk allowed vlan 78 mlag 1 diff --git a/configs/leaf8.cfg b/configs/dc-leaf8.cfg similarity index 96% rename from configs/leaf8.cfg rename to configs/dc-leaf8.cfg index 2de63a8..ba144c7 100644 --- a/configs/leaf8.cfg +++ b/configs/dc-leaf8.cfg @@ -1,7 +1,7 @@ -! Leaf8 Configuration +! DC-Leaf8 Configuration ! VTEP4 - AS 65004 ! -hostname leaf8 +hostname dc-leaf8 ! ! LLDP Management0 lldp management-address Management0 @@ -79,24 +79,24 @@ interface Port-Channel999 ! ! Underlay P2P interfaces to Spines interface Ethernet11 - description spine1 + description dc-spine1 no switchport ip address 10.0.1.15/31 mtu 9214 ! interface Ethernet12 - description spine2 + description dc-spine2 no switchport ip address 10.0.2.15/31 mtu 9214 ! ! Access-facing interface (MLAG with LACP) interface Ethernet1 - description access4 + description dc-access4 channel-group 1 mode active ! interface Port-Channel1 - description access4 + description dc-access4 switchport mode trunk switchport trunk allowed vlan 78 mlag 1 diff --git a/configs/spine1.cfg b/configs/dc-spine1.cfg similarity index 92% rename from configs/spine1.cfg rename to configs/dc-spine1.cfg index 2e0090a..0721f6a 100644 --- a/configs/spine1.cfg +++ b/configs/dc-spine1.cfg @@ -1,7 +1,7 @@ -! Spine1 Configuration +! DC-Spine1 Configuration ! BGP EVPN Spine - AS 65000 ! -hostname spine1 +hostname dc-spine1 ! ! LLDP Management0 lldp management-address Management0 @@ -34,62 +34,62 @@ interface Loopback0 ! ! Underlay P2P interfaces to Leafs interface Ethernet1 - description leaf1 + description dc-leaf1 no switchport ip address 10.0.1.0/31 mtu 9214 ! interface Ethernet2 - description leaf2 + description dc-leaf2 no switchport ip address 10.0.1.2/31 mtu 9214 ! interface Ethernet3 - description leaf3 + description dc-leaf3 no switchport ip address 10.0.1.4/31 mtu 9214 ! interface Ethernet4 - description leaf4 + description dc-leaf4 no switchport ip address 10.0.1.6/31 mtu 9214 ! interface Ethernet5 - description leaf5 + description dc-leaf5 no switchport ip address 10.0.1.8/31 mtu 9214 ! interface Ethernet6 - description leaf6 + description dc-leaf6 no switchport ip address 10.0.1.10/31 mtu 9214 ! interface Ethernet7 - description leaf7 + description dc-leaf7 no switchport ip address 10.0.1.12/31 mtu 9214 ! interface Ethernet8 - description leaf8 + description dc-leaf8 no switchport ip address 10.0.1.14/31 mtu 9214 ! ! Underlay P2P interfaces to DC Border Leafs interface Ethernet9 - description border-leaf-dc1 + description dc-border-leaf1 no switchport ip address 10.0.1.16/31 mtu 9214 ! interface Ethernet10 - description border-leaf-dc2 + description dc-border-leaf2 no switchport ip address 10.0.1.18/31 mtu 9214 diff --git a/configs/spine2.cfg b/configs/dc-spine2.cfg similarity index 92% rename from configs/spine2.cfg rename to configs/dc-spine2.cfg index 91018ce..c250ed0 100644 --- a/configs/spine2.cfg +++ b/configs/dc-spine2.cfg @@ -1,7 +1,7 @@ -! Spine2 Configuration +! DC-Spine2 Configuration ! BGP EVPN Spine - AS 65000 ! -hostname spine2 +hostname dc-spine2 ! ! LLDP Management0 lldp management-address Management0 @@ -34,62 +34,62 @@ interface Loopback0 ! ! Underlay P2P interfaces to Leafs interface Ethernet1 - description leaf1 + description dc-leaf1 no switchport ip address 10.0.2.0/31 mtu 9214 ! interface Ethernet2 - description leaf2 + description dc-leaf2 no switchport ip address 10.0.2.2/31 mtu 9214 ! interface Ethernet3 - description leaf3 + description dc-leaf3 no switchport ip address 10.0.2.4/31 mtu 9214 ! interface Ethernet4 - description leaf4 + description dc-leaf4 no switchport ip address 10.0.2.6/31 mtu 9214 ! interface Ethernet5 - description leaf5 + description dc-leaf5 no switchport ip address 10.0.2.8/31 mtu 9214 ! interface Ethernet6 - description leaf6 + description dc-leaf6 no switchport ip address 10.0.2.10/31 mtu 9214 ! interface Ethernet7 - description leaf7 + description dc-leaf7 no switchport ip address 10.0.2.12/31 mtu 9214 ! interface Ethernet8 - description leaf8 + description dc-leaf8 no switchport ip address 10.0.2.14/31 mtu 9214 ! ! Underlay P2P interfaces to DC Border Leafs interface Ethernet9 - description border-leaf-dc1 + description dc-border-leaf1 no switchport ip address 10.0.2.16/31 mtu 9214 ! interface Ethernet10 - description border-leaf-dc2 + description dc-border-leaf2 no switchport ip address 10.0.2.18/31 mtu 9214 diff --git a/evpn-lab.clab.yml b/evpn-lab.clab.yml index 2383f4b..07c656d 100644 --- a/evpn-lab.clab.yml +++ b/evpn-lab.clab.yml @@ -16,94 +16,94 @@ topology: # ===================================================== # DC Spine Switches (AS 65000) - spine1: + dc-spine1: kind: arista_ceos mgmt-ipv4: 172.16.0.1 - startup-config: configs/spine1.cfg + startup-config: configs/dc-spine1.cfg - spine2: + dc-spine2: kind: arista_ceos mgmt-ipv4: 172.16.0.2 - startup-config: configs/spine2.cfg + startup-config: configs/dc-spine2.cfg # DC Leaf Switches - VTEP1 (AS 65001) - leaf1: + dc-leaf1: kind: arista_ceos mgmt-ipv4: 172.16.0.25 - startup-config: configs/leaf1.cfg + startup-config: configs/dc-leaf1.cfg - leaf2: + dc-leaf2: kind: arista_ceos mgmt-ipv4: 172.16.0.50 - startup-config: configs/leaf2.cfg + startup-config: configs/dc-leaf2.cfg # DC Leaf Switches - VTEP2 (AS 65002) - leaf3: + dc-leaf3: kind: arista_ceos mgmt-ipv4: 172.16.0.27 - startup-config: configs/leaf3.cfg + startup-config: configs/dc-leaf3.cfg - leaf4: + dc-leaf4: kind: arista_ceos mgmt-ipv4: 172.16.0.28 - startup-config: configs/leaf4.cfg + startup-config: configs/dc-leaf4.cfg # DC Leaf Switches - VTEP3 (AS 65003) - leaf5: + dc-leaf5: kind: arista_ceos mgmt-ipv4: 172.16.0.29 - startup-config: configs/leaf5.cfg + startup-config: configs/dc-leaf5.cfg - leaf6: + dc-leaf6: kind: arista_ceos mgmt-ipv4: 172.16.0.30 - startup-config: configs/leaf6.cfg + startup-config: configs/dc-leaf6.cfg # DC Leaf Switches - VTEP4 (AS 65004) - leaf7: + dc-leaf7: kind: arista_ceos mgmt-ipv4: 172.16.0.31 - startup-config: configs/leaf7.cfg + startup-config: configs/dc-leaf7.cfg - leaf8: + dc-leaf8: kind: arista_ceos mgmt-ipv4: 172.16.0.32 - startup-config: configs/leaf8.cfg + startup-config: configs/dc-leaf8.cfg # DC Border Leafs - MLAG pair (AS 65005) - border-leaf-dc1: + dc-border-leaf1: kind: arista_ceos mgmt-ipv4: 172.16.0.3 - startup-config: configs/border-leaf-dc1.cfg + startup-config: configs/dc-border-leaf1.cfg - border-leaf-dc2: + dc-border-leaf2: kind: arista_ceos mgmt-ipv4: 172.16.0.4 - startup-config: configs/border-leaf-dc2.cfg + startup-config: configs/dc-border-leaf2.cfg # DC Access Switches - L2 only - access1: + dc-access1: kind: arista_ceos mgmt-ipv4: 172.16.0.41 - startup-config: configs/access1.cfg + startup-config: configs/dc-access1.cfg - access2: + dc-access2: kind: arista_ceos mgmt-ipv4: 172.16.0.42 - startup-config: configs/access2.cfg + startup-config: configs/dc-access2.cfg - access3: + dc-access3: kind: arista_ceos mgmt-ipv4: 172.16.0.43 - startup-config: configs/access3.cfg + startup-config: configs/dc-access3.cfg - access4: + dc-access4: kind: arista_ceos mgmt-ipv4: 172.16.0.44 - startup-config: configs/access4.cfg + startup-config: configs/dc-access4.cfg # DC Host devices - dual-homed with LACP bonding - host1: + dc-server1: kind: linux mgmt-ipv4: 172.16.0.101 image: ghcr.io/hellt/network-multitool @@ -124,7 +124,7 @@ topology: - ip link set bond0.40 up - ip addr add 10.40.40.101/24 dev bond0.40 - host2: + dc-server2: kind: linux mgmt-ipv4: 172.16.0.102 image: ghcr.io/hellt/network-multitool @@ -147,7 +147,7 @@ topology: - ip route add 10.78.78.0/24 via 10.34.34.1 - ip route add 10.60.0.0/16 via 10.34.34.1 - host3: + dc-server3: kind: linux mgmt-ipv4: 172.16.0.103 image: ghcr.io/hellt/network-multitool @@ -168,14 +168,14 @@ topology: - ip link set bond0.40 up - ip addr add 10.40.40.103/24 dev bond0.40 - host4: + dc-server4: kind: linux mgmt-ipv4: 172.16.0.104 image: ghcr.io/hellt/network-multitool cap-add: - NET_ADMIN binds: - - hosts/host4_interfaces:/etc/network/interfaces + - hosts/dc-server4_interfaces:/etc/network/interfaces exec: - ip link add bond0 type bond mode 802.3ad - ip link set dev bond0 type bond xmit_hash_policy layer3+4 @@ -224,15 +224,15 @@ topology: startup-config: configs/campus-spine2.cfg # Campus Border Leafs - MLAG pair (AS 66005) - border-leaf-campus1: + campus-border-leaf1: kind: arista_ceos mgmt-ipv4: 172.16.0.22 - startup-config: configs/border-leaf-campus1.cfg + startup-config: configs/campus-border-leaf1.cfg - border-leaf-campus2: + campus-border-leaf2: kind: arista_ceos mgmt-ipv4: 172.16.0.23 - startup-config: configs/border-leaf-campus2.cfg + startup-config: configs/campus-border-leaf2.cfg # Campus Leafs - VTEP1 (AS 66001) campus-leaf1: @@ -296,71 +296,71 @@ topology: # ===================================================== # Spine1 to Leaf/Border-Leaf connections (underlay) - - 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"] - - endpoints: ["spine1:eth9", "border-leaf-dc1:eth11"] - - endpoints: ["spine1:eth10", "border-leaf-dc2:eth11"] + - endpoints: ["dc-spine1:eth1", "dc-leaf1:eth11"] + - endpoints: ["dc-spine1:eth2", "dc-leaf2:eth11"] + - endpoints: ["dc-spine1:eth3", "dc-leaf3:eth11"] + - endpoints: ["dc-spine1:eth4", "dc-leaf4:eth11"] + - endpoints: ["dc-spine1:eth5", "dc-leaf5:eth11"] + - endpoints: ["dc-spine1:eth6", "dc-leaf6:eth11"] + - endpoints: ["dc-spine1:eth7", "dc-leaf7:eth11"] + - endpoints: ["dc-spine1:eth8", "dc-leaf8:eth11"] + - endpoints: ["dc-spine1:eth9", "dc-border-leaf1:eth11"] + - endpoints: ["dc-spine1:eth10", "dc-border-leaf2:eth11"] # Spine2 to Leaf/Border-Leaf connections (underlay) - - 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"] - - endpoints: ["spine2:eth9", "border-leaf-dc1:eth12"] - - endpoints: ["spine2:eth10", "border-leaf-dc2:eth12"] + - endpoints: ["dc-spine2:eth1", "dc-leaf1:eth12"] + - endpoints: ["dc-spine2:eth2", "dc-leaf2:eth12"] + - endpoints: ["dc-spine2:eth3", "dc-leaf3:eth12"] + - endpoints: ["dc-spine2:eth4", "dc-leaf4:eth12"] + - endpoints: ["dc-spine2:eth5", "dc-leaf5:eth12"] + - endpoints: ["dc-spine2:eth6", "dc-leaf6:eth12"] + - endpoints: ["dc-spine2:eth7", "dc-leaf7:eth12"] + - endpoints: ["dc-spine2:eth8", "dc-leaf8:eth12"] + - endpoints: ["dc-spine2:eth9", "dc-border-leaf1:eth12"] + - endpoints: ["dc-spine2:eth10", "dc-border-leaf2:eth12"] # DC MLAG Peer Links (leaf pairs + border-leaf pair) - - endpoints: ["leaf1:eth10", "leaf2:eth10"] - - endpoints: ["leaf3:eth10", "leaf4:eth10"] - - endpoints: ["leaf5:eth10", "leaf6:eth10"] - - endpoints: ["leaf7:eth10", "leaf8:eth10"] - - endpoints: ["border-leaf-dc1:eth10", "border-leaf-dc2:eth10"] + - endpoints: ["dc-leaf1:eth10", "dc-leaf2:eth10"] + - endpoints: ["dc-leaf3:eth10", "dc-leaf4:eth10"] + - endpoints: ["dc-leaf5:eth10", "dc-leaf6:eth10"] + - endpoints: ["dc-leaf7:eth10", "dc-leaf8:eth10"] + - endpoints: ["dc-border-leaf1:eth10", "dc-border-leaf2:eth10"] # DC Access switch uplinks to leaf MLAG pairs (dual-homed via LACP) - - endpoints: ["leaf1:eth1", "access1:eth1"] - - endpoints: ["leaf2:eth1", "access1:eth2"] - - endpoints: ["leaf3:eth1", "access2:eth1"] - - endpoints: ["leaf4:eth1", "access2:eth2"] - - endpoints: ["leaf5:eth1", "access3:eth1"] - - endpoints: ["leaf6:eth1", "access3:eth2"] - - endpoints: ["leaf7:eth1", "access4:eth1"] - - endpoints: ["leaf8:eth1", "access4:eth2"] + - endpoints: ["dc-leaf1:eth1", "dc-access1:eth1"] + - endpoints: ["dc-leaf2:eth1", "dc-access1:eth2"] + - endpoints: ["dc-leaf3:eth1", "dc-access2:eth1"] + - endpoints: ["dc-leaf4:eth1", "dc-access2:eth2"] + - endpoints: ["dc-leaf5:eth1", "dc-access3:eth1"] + - endpoints: ["dc-leaf6:eth1", "dc-access3:eth2"] + - endpoints: ["dc-leaf7:eth1", "dc-access4:eth1"] + - endpoints: ["dc-leaf8:eth1", "dc-access4:eth2"] # DC Host connections to access switches (dual-homed via LACP) - - endpoints: ["access1:eth3", "host1:eth1"] - - endpoints: ["access1:eth4", "host1:eth2"] - - endpoints: ["access2:eth3", "host2:eth1"] - - endpoints: ["access2:eth4", "host2:eth2"] - - endpoints: ["access3:eth3", "host3:eth1"] - - endpoints: ["access3:eth4", "host3:eth2"] - - endpoints: ["access4:eth3", "host4:eth1"] - - endpoints: ["access4:eth4", "host4:eth2"] + - endpoints: ["dc-access1:eth3", "dc-server1:eth1"] + - endpoints: ["dc-access1:eth4", "dc-server1:eth2"] + - endpoints: ["dc-access2:eth3", "dc-server2:eth1"] + - endpoints: ["dc-access2:eth4", "dc-server2:eth2"] + - endpoints: ["dc-access3:eth3", "dc-server3:eth1"] + - endpoints: ["dc-access3:eth4", "dc-server3:eth2"] + - endpoints: ["dc-access4:eth3", "dc-server4:eth1"] + - endpoints: ["dc-access4:eth4", "dc-server4:eth2"] # ===================================================== # CORE INTERCONNECT (DC Border Leafs <-> Core <-> Campus Border Leafs) # ===================================================== # DC Border Leafs to Core routers (4 links) - - endpoints: ["border-leaf-dc1:eth13", "core1:eth1"] - - endpoints: ["border-leaf-dc1:eth14", "core2:eth1"] - - endpoints: ["border-leaf-dc2:eth13", "core1:eth2"] - - endpoints: ["border-leaf-dc2:eth14", "core2:eth2"] + - endpoints: ["dc-border-leaf1:eth13", "core1:eth1"] + - endpoints: ["dc-border-leaf1:eth14", "core2:eth1"] + - endpoints: ["dc-border-leaf2:eth13", "core1:eth2"] + - endpoints: ["dc-border-leaf2:eth14", "core2:eth2"] # Campus Border Leafs to Core routers (4 links) - - endpoints: ["border-leaf-campus1:eth13", "core1:eth3"] - - endpoints: ["border-leaf-campus1:eth14", "core2:eth3"] - - endpoints: ["border-leaf-campus2:eth13", "core1:eth4"] - - endpoints: ["border-leaf-campus2:eth14", "core2:eth4"] + - endpoints: ["campus-border-leaf1:eth13", "core1:eth3"] + - endpoints: ["campus-border-leaf1:eth14", "core2:eth3"] + - endpoints: ["campus-border-leaf2:eth13", "core1:eth4"] + - endpoints: ["campus-border-leaf2:eth14", "core2:eth4"] # Core routers interconnect - endpoints: ["core1:eth5", "core2:eth5"] @@ -374,21 +374,21 @@ topology: - endpoints: ["campus-spine1:eth2", "campus-leaf2:eth11"] - endpoints: ["campus-spine1:eth3", "campus-leaf3:eth11"] - endpoints: ["campus-spine1:eth4", "campus-leaf4:eth11"] - - endpoints: ["campus-spine1:eth5", "border-leaf-campus1:eth11"] - - endpoints: ["campus-spine1:eth6", "border-leaf-campus2:eth11"] + - endpoints: ["campus-spine1:eth5", "campus-border-leaf1:eth11"] + - endpoints: ["campus-spine1:eth6", "campus-border-leaf2:eth11"] # Campus Spine2 to Leafs/Border-Leafs (underlay) - endpoints: ["campus-spine2:eth1", "campus-leaf1:eth12"] - endpoints: ["campus-spine2:eth2", "campus-leaf2:eth12"] - endpoints: ["campus-spine2:eth3", "campus-leaf3:eth12"] - endpoints: ["campus-spine2:eth4", "campus-leaf4:eth12"] - - endpoints: ["campus-spine2:eth5", "border-leaf-campus1:eth12"] - - endpoints: ["campus-spine2:eth6", "border-leaf-campus2:eth12"] + - endpoints: ["campus-spine2:eth5", "campus-border-leaf1:eth12"] + - endpoints: ["campus-spine2:eth6", "campus-border-leaf2:eth12"] # Campus MLAG Peer Links (leaf pairs + border-leaf pair) - endpoints: ["campus-leaf1:eth10", "campus-leaf2:eth10"] - endpoints: ["campus-leaf3:eth10", "campus-leaf4:eth10"] - - endpoints: ["border-leaf-campus1:eth10", "border-leaf-campus2:eth10"] + - endpoints: ["campus-border-leaf1:eth10", "campus-border-leaf2:eth10"] # Campus Access switch uplinks to leaf MLAG pairs (dual-homed via LACP) - endpoints: ["campus-leaf1:eth1", "campus-access1:eth1"] diff --git a/evpn-lab.clab.yml.annotations.json b/evpn-lab.clab.yml.annotations.json index ea51282..e9b0e70 100644 --- a/evpn-lab.clab.yml.annotations.json +++ b/evpn-lab.clab.yml.annotations.json @@ -36,8 +36,8 @@ { "id": "campus-leaf3", "position": { "x": 240, "y": 400 } }, { "id": "campus-leaf4", "position": { "x": 380, "y": 400 } }, - { "id": "border-leaf-campus1", "position": { "x": 540, "y": 400 } }, - { "id": "border-leaf-campus2", "position": { "x": 680, "y": 400 } }, + { "id": "campus-border-leaf1", "position": { "x": 540, "y": 400 } }, + { "id": "campus-border-leaf2", "position": { "x": 680, "y": 400 } }, { "id": "campus-access1", "position": { "x": 40, "y": 540 } }, { "id": "campus-access2", "position": { "x": 320, "y": 540 } }, @@ -48,30 +48,30 @@ { "id": "core1", "position": { "x": 960, "y": 300 } }, { "id": "core2", "position": { "x": 1180, "y": 300 } }, - { "id": "border-leaf-dc1", "position": { "x": 1380, "y": 400 } }, - { "id": "border-leaf-dc2", "position": { "x": 1520, "y": 400 } }, + { "id": "dc-border-leaf1", "position": { "x": 1380, "y": 400 } }, + { "id": "dc-border-leaf2", "position": { "x": 1520, "y": 400 } }, - { "id": "spine1", "position": { "x": 1800, "y": 160 } }, - { "id": "spine2", "position": { "x": 2280, "y": 160 } }, + { "id": "dc-spine1", "position": { "x": 1800, "y": 160 } }, + { "id": "dc-spine2", "position": { "x": 2280, "y": 160 } }, - { "id": "leaf1", "position": { "x": 1660, "y": 400 } }, - { "id": "leaf2", "position": { "x": 1800, "y": 400 } }, - { "id": "leaf3", "position": { "x": 1940, "y": 400 } }, - { "id": "leaf4", "position": { "x": 2080, "y": 400 } }, - { "id": "leaf5", "position": { "x": 2220, "y": 400 } }, - { "id": "leaf6", "position": { "x": 2360, "y": 400 } }, - { "id": "leaf7", "position": { "x": 2500, "y": 400 } }, - { "id": "leaf8", "position": { "x": 2640, "y": 400 } }, + { "id": "dc-leaf1", "position": { "x": 1660, "y": 400 } }, + { "id": "dc-leaf2", "position": { "x": 1800, "y": 400 } }, + { "id": "dc-leaf3", "position": { "x": 1940, "y": 400 } }, + { "id": "dc-leaf4", "position": { "x": 2080, "y": 400 } }, + { "id": "dc-leaf5", "position": { "x": 2220, "y": 400 } }, + { "id": "dc-leaf6", "position": { "x": 2360, "y": 400 } }, + { "id": "dc-leaf7", "position": { "x": 2500, "y": 400 } }, + { "id": "dc-leaf8", "position": { "x": 2640, "y": 400 } }, - { "id": "access1", "position": { "x": 1720, "y": 540 } }, - { "id": "access2", "position": { "x": 2000, "y": 540 } }, - { "id": "access3", "position": { "x": 2280, "y": 540 } }, - { "id": "access4", "position": { "x": 2560, "y": 540 } }, + { "id": "dc-access1", "position": { "x": 1720, "y": 540 } }, + { "id": "dc-access2", "position": { "x": 2000, "y": 540 } }, + { "id": "dc-access3", "position": { "x": 2280, "y": 540 } }, + { "id": "dc-access4", "position": { "x": 2560, "y": 540 } }, - { "id": "host1", "position": { "x": 1720, "y": 680 } }, - { "id": "host2", "position": { "x": 2000, "y": 680 } }, - { "id": "host3", "position": { "x": 2280, "y": 680 } }, - { "id": "host4", "position": { "x": 2560, "y": 680 } } + { "id": "dc-server1", "position": { "x": 1720, "y": 680 } }, + { "id": "dc-server2", "position": { "x": 2000, "y": 680 } }, + { "id": "dc-server3", "position": { "x": 2280, "y": 680 } }, + { "id": "dc-server4", "position": { "x": 2560, "y": 680 } } ], "edgeAnnotations": [], "aliasEndpointAnnotations": [], diff --git a/hosts/README.md b/hosts/README.md index 1c8c7cb..60d524b 100644 --- a/hosts/README.md +++ b/hosts/README.md @@ -6,10 +6,10 @@ This directory contains network interface configuration files for Alpine Linux h ### DC hosts -- `host1_interfaces` - Configuration for host1 (VLAN 40, IP 10.40.40.101) -- `host2_interfaces` - Configuration for host2 (VLAN 34, IP 10.34.34.102) -- `host3_interfaces` - Configuration for host3 (VLAN 40, IP 10.40.40.103) -- `host4_interfaces` - Configuration for host4 (VLAN 78, IP 10.78.78.104) +- `dc-server1_interfaces` - Configuration for dc-server1 (VLAN 40, IP 10.40.40.101) +- `dc-server2_interfaces` - Configuration for dc-server2 (VLAN 34, IP 10.34.34.102) +- `dc-server3_interfaces` - Configuration for dc-server3 (VLAN 40, IP 10.40.40.103) +- `dc-server4_interfaces` - Configuration for dc-server4 (VLAN 78, IP 10.78.78.104) ### Campus hosts @@ -17,19 +17,19 @@ Campus hosts are **single-attached** to a Campus access switch (enterprise user pattern β€” no LACP bond, no VLAN trunking on the host side). Each host sits in a single access VLAN that maps to VRF `gold`. -- `campus-host1_interfaces` - Configuration for campus-host1 (VLAN 60 VRF gold 10.60.60.101/24, GW 10.60.60.1) -- `campus-host2_interfaces` - Configuration for campus-host2 (VLAN 70 VRF gold 10.60.70.102/24, GW 10.60.70.1) +- `campus-dc-server1_interfaces` - Configuration for campus-host1 (VLAN 60 VRF gold 10.60.60.101/24, GW 10.60.60.1) +- `campus-dc-server2_interfaces` - Configuration for campus-host2 (VLAN 70 VRF gold 10.60.70.102/24, GW 10.60.70.1) ## Usage Each file is mounted to `/etc/network/interfaces` in its respective host container via ContainerLab's `binds` feature: ```yaml -host1: +dc-server1: kind: linux image: alpine:latest binds: - - hosts/host1_interfaces:/etc/network/interfaces + - hosts/dc-server1_interfaces:/etc/network/interfaces ``` ## Format diff --git a/hosts/host1_interfaces b/hosts/dc-server1_interfaces similarity index 100% rename from hosts/host1_interfaces rename to hosts/dc-server1_interfaces diff --git a/hosts/host2_interfaces b/hosts/dc-server2_interfaces similarity index 100% rename from hosts/host2_interfaces rename to hosts/dc-server2_interfaces diff --git a/hosts/host3_interfaces b/hosts/dc-server3_interfaces similarity index 100% rename from hosts/host3_interfaces rename to hosts/dc-server3_interfaces diff --git a/hosts/host4_interfaces b/hosts/dc-server4_interfaces similarity index 100% rename from hosts/host4_interfaces rename to hosts/dc-server4_interfaces