Files
arista-evpn-vxlan-clab/assets/arista-evpn-fabric.svg
Damien ef4211afe5 Rename devices to <area>-<role> scheme
DC fabric: spine/leaf/border-leaf/access/host -> dc-spine, dc-leaf,
dc-border-leaf, dc-access, dc-server. Campus border leafs flipped
from border-leaf-campus to campus-border-leaf for consistency. Core,
campus spines/leafs/access/hosts unchanged.

Updates topology, annotations, all configs (hostnames + peer
descriptions), host interface files, README, TROUBLESHOOTING,
END_TO_END_TESTING, and the SVG diagram.
2026-04-24 07:43:02 +00:00

300 lines
14 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="1050" viewBox="0 0 1600 1050" font-family="system-ui, -apple-system, sans-serif" font-size="12">
<defs>
<style>
.node-spine { fill: #005aff; stroke: #002f85; }
.node-leaf { fill: #00a2ff; stroke: #005aff; }
.node-border{ fill: #ff9800; stroke: #a15c00; }
.node-core { fill: #e91e63; stroke: #880e4f; }
.node-access{ fill: #9c27b0; stroke: #4a148c; }
.node-host { fill: #4caf50; stroke: #1b5e20; }
.node text { fill: #fff; font-weight: 600; }
.link { stroke: #4caf50; stroke-width: 1.4; opacity: 0.6; fill: none; }
.link-core { stroke: #ff5722; stroke-width: 1.6; opacity: 0.75; fill: none; }
.link-mlag { stroke: #9e9e9e; stroke-width: 1.2; stroke-dasharray: 4 3; opacity: 0.75; fill: none; }
.box-label { font-size: 16px; font-weight: 700; fill: #37474f; }
.sub-label { font-size: 11px; fill: #546e7a; }
.domain-box { fill: none; stroke: #b0bec5; stroke-dasharray: 5 4; stroke-width: 1.2; }
</style>
</defs>
<!-- Title -->
<text x="800" y="30" text-anchor="middle" font-size="22" font-weight="700" fill="#263238">Arista EVPN-VXLAN Campus + DC Fabric</text>
<text x="800" y="52" text-anchor="middle" font-size="13" fill="#546e7a">Campus EVPN-VXLAN &#8596; Core L3 (OSPF + BGP) &#8596; DC EVPN-VXLAN</text>
<!-- Campus fabric dashed box -->
<rect class="domain-box" x="40" y="80" width="520" height="900" rx="10"/>
<text class="box-label" x="300" y="105" text-anchor="middle">CAMPUS FABRIC (AS 66000/66001/66002/66005)</text>
<!-- Core zone -->
<rect class="domain-box" x="600" y="380" width="400" height="280" rx="10"/>
<text class="box-label" x="800" y="405" text-anchor="middle">CORE L3 (AS 65500)</text>
<text class="sub-label" x="800" y="423" text-anchor="middle">OSPF area 0 + iBGP + VRF gold transit</text>
<!-- DC fabric dashed box -->
<rect class="domain-box" x="1040" y="80" width="520" height="900" rx="10"/>
<text class="box-label" x="1300" y="105" text-anchor="middle">DATACENTER FABRIC (AS 65000/65001-65004/65005)</text>
<!-- =============== CAMPUS =============== -->
<!-- Campus spines row -->
<g class="node node-spine">
<rect x="160" y="140" width="70" height="34" rx="4"/>
<text x="195" y="161" text-anchor="middle">campus-spine1</text>
<rect x="370" y="140" width="70" height="34" rx="4"/>
<text x="405" y="161" text-anchor="middle">campus-spine2</text>
</g>
<!-- Campus leafs row -->
<g class="node node-leaf">
<rect x="60" y="260" width="80" height="34" rx="4"/>
<text x="100" y="281" text-anchor="middle">campus-leaf1</text>
<rect x="160" y="260" width="80" height="34" rx="4"/>
<text x="200" y="281" text-anchor="middle">campus-leaf2</text>
<rect x="260" y="260" width="80" height="34" rx="4"/>
<text x="300" y="281" text-anchor="middle">campus-leaf3</text>
<rect x="360" y="260" width="80" height="34" rx="4"/>
<text x="400" y="281" text-anchor="middle">campus-leaf4</text>
</g>
<!-- Campus border leafs -->
<g class="node node-border">
<rect x="160" y="400" width="110" height="34" rx="4"/>
<text x="215" y="421" text-anchor="middle">campus-border-leaf1</text>
<rect x="330" y="400" width="110" height="34" rx="4"/>
<text x="385" y="421" text-anchor="middle">campus-border-leaf2</text>
</g>
<!-- Campus access row -->
<g class="node node-access">
<rect x="100" y="530" width="80" height="30" rx="4"/>
<text x="140" y="550" text-anchor="middle">campus-access1</text>
<rect x="320" y="530" width="80" height="30" rx="4"/>
<text x="360" y="550" text-anchor="middle">campus-access2</text>
</g>
<!-- Campus hosts -->
<g class="node node-host">
<rect x="100" y="640" width="80" height="30" rx="4"/>
<text x="140" y="660" text-anchor="middle">campus-host1</text>
<rect x="320" y="640" width="80" height="30" rx="4"/>
<text x="360" y="660" text-anchor="middle">campus-host2</text>
</g>
<!-- Campus labels -->
<text class="sub-label" x="300" y="194" text-anchor="middle">Route Reflectors (AS 66000)</text>
<text class="sub-label" x="150" y="310" text-anchor="middle">VTEP1 (AS 66001)</text>
<text class="sub-label" x="350" y="310" text-anchor="middle">VTEP2 (AS 66002)</text>
<text class="sub-label" x="300" y="450" text-anchor="middle">Campus Border Leafs MLAG (AS 66005)</text>
<text class="sub-label" x="140" y="700" text-anchor="middle">VLAN 60 (10.60.60.101, gold)</text>
<text class="sub-label" x="140" y="714" text-anchor="middle">single-attached (access)</text>
<text class="sub-label" x="360" y="700" text-anchor="middle">VLAN 70 (10.60.70.102, gold)</text>
<text class="sub-label" x="360" y="714" text-anchor="middle">single-attached (access)</text>
<!-- Campus spine->leaf links -->
<path class="link" d="M 195 174 L 100 260"/>
<path class="link" d="M 195 174 L 200 260"/>
<path class="link" d="M 195 174 L 300 260"/>
<path class="link" d="M 195 174 L 400 260"/>
<path class="link" d="M 405 174 L 100 260"/>
<path class="link" d="M 405 174 L 200 260"/>
<path class="link" d="M 405 174 L 300 260"/>
<path class="link" d="M 405 174 L 400 260"/>
<!-- Campus spines -> campus-border-leaf -->
<path class="link" d="M 195 174 L 215 400"/>
<path class="link" d="M 195 174 L 385 400"/>
<path class="link" d="M 405 174 L 215 400"/>
<path class="link" d="M 405 174 L 385 400"/>
<!-- Campus MLAG links (dashed) -->
<path class="link-mlag" d="M 140 294 L 200 294"/>
<path class="link-mlag" d="M 340 294 L 400 294"/>
<path class="link-mlag" d="M 270 434 L 330 434"/>
<!-- Campus leaf -> access (dual homed) -->
<path class="link" d="M 100 294 L 140 530"/>
<path class="link" d="M 200 294 L 140 530"/>
<path class="link" d="M 300 294 L 360 530"/>
<path class="link" d="M 400 294 L 360 530"/>
<!-- Campus access -> hosts (single link, enterprise user endpoint) -->
<path class="link" d="M 140 560 L 140 640"/>
<path class="link" d="M 360 560 L 360 640"/>
<!-- =============== CORE =============== -->
<g class="node node-core">
<rect x="660" y="470" width="70" height="36" rx="4"/>
<text x="695" y="493" text-anchor="middle">core1</text>
<rect x="870" y="470" width="70" height="36" rx="4"/>
<text x="905" y="493" text-anchor="middle">core2</text>
</g>
<path class="link-core" d="M 730 488 L 870 488"/>
<text class="sub-label" x="800" y="480" text-anchor="middle">iBGP + OSPF</text>
<!-- Campus BL -> Core links -->
<path class="link-core" d="M 270 417 L 660 488"/>
<path class="link-core" d="M 270 417 L 870 488"/>
<path class="link-core" d="M 440 417 L 660 488"/>
<path class="link-core" d="M 440 417 L 870 488"/>
<!-- DC BL -> Core links -->
<path class="link-core" d="M 1330 417 L 730 488"/>
<path class="link-core" d="M 1330 417 L 940 488"/>
<path class="link-core" d="M 1160 417 L 730 488"/>
<path class="link-core" d="M 1160 417 L 940 488"/>
<!-- =============== DC =============== -->
<!-- DC spines row -->
<g class="node node-spine">
<rect x="1160" y="140" width="60" height="34" rx="4"/>
<text x="1190" y="161" text-anchor="middle">dc-spine1</text>
<rect x="1380" y="140" width="60" height="34" rx="4"/>
<text x="1410" y="161" text-anchor="middle">dc-spine2</text>
</g>
<!-- DC leafs row (8) -->
<g class="node node-leaf">
<rect x="1060" y="260" width="60" height="34" rx="4"/>
<text x="1090" y="281" text-anchor="middle">dc-leaf1</text>
<rect x="1125" y="260" width="60" height="34" rx="4"/>
<text x="1155" y="281" text-anchor="middle">dc-leaf2</text>
<rect x="1190" y="260" width="60" height="34" rx="4"/>
<text x="1220" y="281" text-anchor="middle">dc-leaf3</text>
<rect x="1255" y="260" width="60" height="34" rx="4"/>
<text x="1285" y="281" text-anchor="middle">dc-leaf4</text>
<rect x="1320" y="260" width="60" height="34" rx="4"/>
<text x="1350" y="281" text-anchor="middle">dc-leaf5</text>
<rect x="1385" y="260" width="60" height="34" rx="4"/>
<text x="1415" y="281" text-anchor="middle">dc-leaf6</text>
<rect x="1450" y="260" width="60" height="34" rx="4"/>
<text x="1480" y="281" text-anchor="middle">dc-leaf7</text>
<rect x="1515" y="260" width="60" height="34" rx="4"/>
<text x="1545" y="281" text-anchor="middle">dc-leaf8</text>
</g>
<!-- DC border leafs -->
<g class="node node-border">
<rect x="1090" y="400" width="100" height="34" rx="4"/>
<text x="1140" y="421" text-anchor="middle">dc-border-leaf1</text>
<rect x="1260" y="400" width="100" height="34" rx="4"/>
<text x="1310" y="421" text-anchor="middle">dc-border-leaf2</text>
</g>
<!-- DC access -->
<g class="node node-access">
<rect x="1065" y="530" width="60" height="30" rx="4"/>
<text x="1095" y="550" text-anchor="middle">dc-access1</text>
<rect x="1195" y="530" width="60" height="30" rx="4"/>
<text x="1225" y="550" text-anchor="middle">dc-access2</text>
<rect x="1325" y="530" width="60" height="30" rx="4"/>
<text x="1355" y="550" text-anchor="middle">dc-access3</text>
<rect x="1455" y="530" width="60" height="30" rx="4"/>
<text x="1485" y="550" text-anchor="middle">dc-access4</text>
</g>
<!-- DC hosts -->
<g class="node node-host">
<rect x="1065" y="640" width="60" height="30" rx="4"/>
<text x="1095" y="660" text-anchor="middle">dc-server1</text>
<rect x="1195" y="640" width="60" height="30" rx="4"/>
<text x="1225" y="660" text-anchor="middle">dc-server2</text>
<rect x="1325" y="640" width="60" height="30" rx="4"/>
<text x="1355" y="660" text-anchor="middle">dc-server3</text>
<rect x="1455" y="640" width="60" height="30" rx="4"/>
<text x="1485" y="660" text-anchor="middle">dc-server4</text>
</g>
<!-- DC labels -->
<text class="sub-label" x="1300" y="194" text-anchor="middle">Route Reflectors (AS 65000)</text>
<text class="sub-label" x="1125" y="310" text-anchor="middle">VTEP1 (65001)</text>
<text class="sub-label" x="1255" y="310" text-anchor="middle">VTEP2 (65002)</text>
<text class="sub-label" x="1385" y="310" text-anchor="middle">VTEP3 (65003)</text>
<text class="sub-label" x="1515" y="310" text-anchor="middle">VTEP4 (65004)</text>
<text class="sub-label" x="1225" y="450" text-anchor="middle">DC Border Leafs MLAG (AS 65005)</text>
<text class="sub-label" x="1095" y="694" text-anchor="middle">VLAN 40</text>
<text class="sub-label" x="1225" y="694" text-anchor="middle">VLAN 34 (gold)</text>
<text class="sub-label" x="1355" y="694" text-anchor="middle">VLAN 40</text>
<text class="sub-label" x="1485" y="694" text-anchor="middle">VLAN 78 (gold)</text>
<!-- DC spine->leaf (meshed) -->
<g>
<path class="link" d="M 1190 174 L 1090 260"/>
<path class="link" d="M 1190 174 L 1155 260"/>
<path class="link" d="M 1190 174 L 1220 260"/>
<path class="link" d="M 1190 174 L 1285 260"/>
<path class="link" d="M 1190 174 L 1350 260"/>
<path class="link" d="M 1190 174 L 1415 260"/>
<path class="link" d="M 1190 174 L 1480 260"/>
<path class="link" d="M 1190 174 L 1545 260"/>
<path class="link" d="M 1410 174 L 1090 260"/>
<path class="link" d="M 1410 174 L 1155 260"/>
<path class="link" d="M 1410 174 L 1220 260"/>
<path class="link" d="M 1410 174 L 1285 260"/>
<path class="link" d="M 1410 174 L 1350 260"/>
<path class="link" d="M 1410 174 L 1415 260"/>
<path class="link" d="M 1410 174 L 1480 260"/>
<path class="link" d="M 1410 174 L 1545 260"/>
<!-- dc-spine -> dc-border-leaf -->
<path class="link" d="M 1190 174 L 1140 400"/>
<path class="link" d="M 1190 174 L 1310 400"/>
<path class="link" d="M 1410 174 L 1140 400"/>
<path class="link" d="M 1410 174 L 1310 400"/>
</g>
<!-- DC MLAG peer-links -->
<g>
<path class="link-mlag" d="M 1120 294 L 1125 294"/>
<path class="link-mlag" d="M 1185 294 L 1190 294"/>
<path class="link-mlag" d="M 1250 294 L 1255 294"/>
<path class="link-mlag" d="M 1315 294 L 1320 294"/>
<path class="link-mlag" d="M 1380 294 L 1385 294"/>
<path class="link-mlag" d="M 1445 294 L 1450 294"/>
<path class="link-mlag" d="M 1510 294 L 1515 294"/>
<path class="link-mlag" d="M 1190 434 L 1260 434"/>
</g>
<!-- DC leaf -> access (dual) -->
<path class="link" d="M 1090 294 L 1095 530"/>
<path class="link" d="M 1155 294 L 1095 530"/>
<path class="link" d="M 1220 294 L 1225 530"/>
<path class="link" d="M 1285 294 L 1225 530"/>
<path class="link" d="M 1350 294 L 1355 530"/>
<path class="link" d="M 1415 294 L 1355 530"/>
<path class="link" d="M 1480 294 L 1485 530"/>
<path class="link" d="M 1545 294 L 1485 530"/>
<!-- DC access -> hosts -->
<path class="link" d="M 1085 560 L 1085 640"/>
<path class="link" d="M 1105 560 L 1105 640"/>
<path class="link" d="M 1215 560 L 1215 640"/>
<path class="link" d="M 1235 560 L 1235 640"/>
<path class="link" d="M 1345 560 L 1345 640"/>
<path class="link" d="M 1365 560 L 1365 640"/>
<path class="link" d="M 1475 560 L 1475 640"/>
<path class="link" d="M 1495 560 L 1495 640"/>
<!-- Legend -->
<g transform="translate(40, 860)">
<rect x="0" y="0" width="600" height="110" fill="#fafafa" stroke="#b0bec5" rx="6"/>
<text x="10" y="20" font-weight="700" fill="#263238">Legend</text>
<rect x="10" y="30" width="18" height="12" class="node-spine"/>
<text x="34" y="40" fill="#37474f">Spine (RR)</text>
<rect x="130" y="30" width="18" height="12" class="node-leaf"/>
<text x="154" y="40" fill="#37474f">Leaf (VTEP)</text>
<rect x="260" y="30" width="18" height="12" class="node-border"/>
<text x="284" y="40" fill="#37474f">Border Leaf</text>
<rect x="390" y="30" width="18" height="12" class="node-core"/>
<text x="414" y="40" fill="#37474f">Core router</text>
<rect x="510" y="30" width="18" height="12" class="node-access"/>
<text x="534" y="40" fill="#37474f">Access L2</text>
<rect x="10" y="55" width="18" height="12" class="node-host"/>
<text x="34" y="65" fill="#37474f">Host</text>
<line x1="130" y1="60" x2="170" y2="60" class="link"/>
<text x="178" y="65" fill="#37474f">Fabric (underlay + EVPN)</text>
<line x1="350" y1="60" x2="390" y2="60" class="link-core"/>
<text x="398" y="65" fill="#37474f">Core (OSPF+BGP / VRF gold)</text>
<line x1="10" y1="85" x2="50" y2="85" class="link-mlag"/>
<text x="58" y="90" fill="#37474f">MLAG peer-link</text>
<text x="10" y="100" fill="#546e7a" font-size="10">L2 VNI 110040 (DC VLAN 40), 110050 (Campus VLAN 50); L3 VNI 100001 (VRF gold, shared)</text>
</g>
</svg>