Compare commits

...

19 Commits

Author SHA1 Message Date
baa95a33c0 Merge pull request 'Extend lab with Core, Campus fabric, and clean device naming' (#41) from feat/extend-campus-core into main
Reviewed-on: #41
2026-04-24 08:25:16 +00:00
2e57976c56 update annotation 2026-04-24 08:24:37 +00:00
bd3dbc181c Update arista cEOS image version 2026-04-24 08:18:20 +00:00
9bb168abe1 Update documentation and annotation 2026-04-24 08:17:30 +00:00
ae4fd56635 Add AS group annotations for remaining fabrics
Complete the AS group boxes: add AS65000 (dc-spines),
AS65002/3/4 (dc-leaf pairs), AS66000 (campus-spines),
AS66001/2 (campus-leaf pairs), AS66005 (campus-border-leaf).
2026-04-24 07:53:35 +00:00
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
8a725ab5fe Drop 'gateway' directive from campus host interfaces
BusyBox ifup translates 'gateway X' into 'ip route add default via X'
and aborts the whole ifup run with RC=1 when that command fails with
'File exists' — which always happens on first boot because the docker
management bridge has already installed its own default via eth0. As a
result the 'post-up ip route replace default' was never executed and
the host kept the management default.

Remove the 'gateway' line so ifup only runs the idempotent 'post-up ip
route replace default via <fabric-gw>' and the fabric default wins.
2026-04-23 16:45:54 +00:00
46c68b42bd Move campus host config into /etc/network/interfaces
Make hosts/campus-host{1,2}_interfaces the source of truth for the
campus host IP and default route, and have clab simply invoke 'ifup
eth1' at container start to apply it. Previously the bound interfaces
file was unused and the real config lived in the YAML exec block,
which was misleading.

BusyBox ifup in the network-multitool image needs 'address' plus
'netmask' rather than a CIDR, so split the address accordingly. Also
add 'post-up ip route replace default via <fabric-gw>' so the fabric
default overrides the management DHCP default even when one is already
installed.
2026-04-23 16:20:29 +00:00
97fbc1cebe Force fabric default route on campus hosts
The 'ip route add default via <fabric-gw>' exec command silently failed
on campus-host1 and campus-host2 because the management DHCP on eth0
had already installed a default via 172.16.0.254. As a result, traffic
leaving the host for other fabric subnets was sent out the management
interface instead of the EVPN fabric, breaking end-to-end ping.

Switch to 'ip route replace' so the fabric gateway overrides whatever
default is installed at container start.
2026-04-23 16:14:43 +00:00
cb74dd118f Fix VRF gold BGP IPv4 activation on cores and border leafs
With 'no bgp default ipv4-unicast' set at the router level, VRF gold
eBGP/iBGP neighbors were establishing but not exchanging any IPv4
prefixes, breaking inter-fabric transit between DC and Campus. Add an
explicit 'address-family ipv4' block with 'neighbor X activate' under
'vrf gold' on both cores and all four border leafs.

Also drop 'redistribute learned' from the border leaf VRF gold stanza:
it is not a valid command in that context and was silently stripped by
EOS.
2026-04-23 10:26:41 +00:00
f7c44bc0fd Update cEOS version 2026-04-22 18:33:31 +00:00
2da238e3ae Update campus host attachment pattern to single-attached access 2026-04-18 18:44:34 +00:00
ff15e90b5c Update docs and diagram for extended multi-fabric topology
- README: rewritten node inventory, AS map, addressing plan
  (management, Lo0/Lo1, P2P, hosts), VNI/RD/RT tables, control-plane
  summary and end-to-end Campus <-> DC test procedures through the
  Core (VRF gold stitching).
- hosts/README: document the two new Campus host configurations.
- assets/arista-evpn-fabric.svg: new three-zone layout (Campus, Core,
  DC) with legend.
- evpn-lab.clab.yml.annotations.json: reposition nodes and add zone
  labels so the ContainerLab graph matches the extended topology.
2026-04-18 08:38:44 +00:00
6e0dcce746 Add Campus EVPN-VXLAN fabric configs and host interfaces
- campus-spine1/2 (AS 66000): eBGP underlay + EVPN RR toward leafs
  and border leafs, addressing plan 10.1.x.x.
- campus-leaf1/2 (VTEP1, AS 66001, VTEP 10.1.255.11): VLAN 50
  (stretched L2 VXLAN, VNI 110050) and VLAN 60 (VRF gold anycast
  10.60.60.1, L3 VNI 100001).
- campus-leaf3/4 (VTEP2, AS 66002, VTEP 10.1.255.12): VLAN 50 and
  VLAN 70 (VRF gold anycast 10.60.70.1).
- border-leaf-campus1/2 (AS 66005, VTEP 10.1.255.21): MLAG pair,
  OSPF + eBGP to cores, VRF gold stitched via vxlan vrf gold
  vni 100001 with RT 1:100001.
- campus-access1/2: L2-only uplinks to campus leaf MLAG pairs,
  trunks VLAN 50+60 / 50+70.
- campus-host1/2 interface files: bond0 + VLAN sub-interfaces for
  the stretched L2 VLAN 50 and the VRF gold subnets.
2026-04-18 08:38:35 +00:00
4b4c1852c4 Add Core router configs (AS 65500, iBGP + VRF gold transit)
core1/core2 provide L3 transit between DC and Campus fabrics. Each
physical link toward a Border Leaf is subinterfaced (.100 default,
.200 VRF gold). OSPF area 0 in default VRF, eBGP to DC BLs (65005)
and Campus BLs (66005), iBGP between core1 and core2 via Loopback0.
VRF gold uses redistribute connected and VRF-aware eBGP sessions on
.200 subinterfaces to stitch VRF gold end-to-end across fabrics.
2026-04-18 08:38:21 +00:00
d3b3c38ead Add DC Border Leaf configs (AS 65005, MLAG pair)
Both border leafs share VTEP Loopback1 10.0.255.15 and peer with DC
spines in eBGP IPv4 + EVPN. Uplinks to core1/core2 use dot1q
subinterfaces (.100 default underlay, .200 VRF gold) with OSPF area 0
and eBGP to AS 65500. VRF gold extended via vxlan vrf gold vni 100001
with RD <Lo0>:1 and RT 1:100001.
2026-04-18 08:38:12 +00:00
5e4b39d05d Extend topology with Core, Campus fabric and DC Border Leafs
Add node declarations and links for:
- DC Border Leaf MLAG pair (border-leaf-dc1/2)
- Core routers (core1, core2) interconnected via eth5
- Campus spines, leafs, border leafs, access switches and two hosts
- DC spine eth9/eth10 uplinks toward DC Border Leafs (underlay + EVPN)
2026-04-18 08:38:00 +00:00
12ad491bf9 Remove VLAN900 and BGP border configuration from leaf devices 2026-04-08 13:09:22 +00:00
2690d303bc Update README + Topology 2026-04-01 12:20:54 +00:00
43 changed files with 4684 additions and 1010 deletions

View File

@@ -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 ### 1. Check MLAG Status on All Leaf Pairs
```bash ```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-leaf1 "show mlag detail"
ssh admin@clab-arista-evpn-fabric-leaf2 "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-leaf3 "show mlag detail"
ssh admin@clab-arista-evpn-fabric-leaf4 "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-leaf5 "show mlag detail"
ssh admin@clab-arista-evpn-fabric-leaf6 "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-leaf7 "show mlag detail"
ssh admin@clab-arista-evpn-fabric-leaf8 "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 #### Step 1: Verify Host Network Interfaces
```bash ```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 -d link show bond0.40
docker exec clab-arista-evpn-fabric-host1 ip addr 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 -d link show bond0.40
docker exec clab-arista-evpn-fabric-host3 ip addr 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 # On Leaf1 - check local MAC learning
ssh admin@clab-arista-evpn-fabric-leaf1 "show mac address-table vlan 40" 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 # On Leaf5 - check MAC learning
ssh admin@clab-arista-evpn-fabric-leaf5 "show mac address-table vlan 40" 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 #### 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" ssh admin@clab-arista-evpn-fabric-leaf1 "show bgp evpn route-type mac-ip"
# Expected: # Expected:
# - Local MAC (host1) with RD 65001:110040 # - Local MAC (dc-server1) with RD 65001:110040
# - Remote MAC (host3) with RD 65003:110040 pointing to VTEP 10.0.255.13 # - Remote MAC (dc-server3) with RD 65003:110040 pointing to VTEP 10.0.255.13
``` ```
## L3 VXLAN Testing (VRF gold) ## 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 #### Step 1: Verify Host Network Interfaces
```bash ```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 -d link show bond0.34
docker exec clab-arista-evpn-fabric-host2 ip addr 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 -d link show bond0.78
docker exec clab-arista-evpn-fabric-host4 ip addr show bond0.78 docker exec clab-arista-evpn-fabric-host4 ip addr show bond0.78
``` ```

421
README.md
View File

@@ -1,289 +1,366 @@
# Arista EVPN-VXLAN ContainerLab # Arista EVPN-VXLAN ContainerLab — DC + Core + Campus
A production-ready Arista BGP EVPN-VXLAN data center fabric topology using ContainerLab and cEOS. An extended Arista BGP EVPN-VXLAN multi-fabric lab using ContainerLab and cEOS. The topology interconnects a **Data Center fabric** and a **Campus fabric** through a dedicated **Core L3 transit zone**, with a VRF (`gold`) stretched end-to-end across both fabrics.
## 🎯 Overview ## 🎯 Overview
This lab demonstrates a complete EVPN-VXLAN data center fabric with: | Zone | Devices |
| ------ | --------------------------------------------------------------------------------------- |
| DC | 2 spines, 8 leafs (4 MLAG VTEPs), 2 border leafs (MLAG), 4 access switches, 4 hosts |
| Core | 2 core routers (iBGP AS 65500, OSPF underlay with BLs, eBGP to DC & Campus BLs) |
| Campus | 2 spines, 4 leafs (2 MLAG VTEPs), 2 border leafs (MLAG), 2 access switches, 2 hosts |
- **2 Spine switches** (BGP Route Reflectors) Key design choices:
- **8 Leaf switches** forming 4 VTEPs (MLAG pairs)
- **BGP EVPN overlay** with L2/L3 VXLAN - **eBGP** in both fabrics (underlay + EVPN overlay) between spines and leafs / border leafs.
- **MLAG configuration** for high availability - **OSPF area 0 + eBGP multi-hop** between each Border Leaf pair and both Core routers (over dot1q subinterfaces: `.100` = default VRF underlay, `.200` = VRF `gold`).
- **Test hosts** for validation - **MLAG** everywhere there is dual-homing at the fabric layers (leaf pairs, border-leaf pairs, access → leafs, and DC host → access).
- **Host attachment pattern**:
- **DC hosts** (servers) are **dual-homed via LACP** to an access switch — typical DC
server redundancy.
- **Campus hosts** (user endpoints: PC, phone, printer) are **single-attached** to a
Campus access switch via one plain Ethernet link. Redundancy lives at the access-switch
layer (the access switch itself is dual-homed via LACP to its leaf MLAG pair), not at
the host.
- **VRF `gold`** is stretched end-to-end: DC leafs (VLAN 34 / 78) ↔ DC-BL ↔ Core ↔ Campus-BL ↔ Campus leafs (VLAN 60 / 70), all sharing L3 VNI `100001`.
- **VLAN 50** remains defined as a campus-local L2 VXLAN stretched between the two Campus VTEPs (infrastructure-only, not wired to any host in the current topology).
- **Convention**: L2 VNI = `110000 + vlan_id`, L3 VNI = `100001` for VRF `gold`, RT `1:100001` in both fabrics.
## 📐 Topology ## 📐 Topology
![Topology](assets/topology.svg) ![Topology](assets/evpn-lab.clab.svg)
## 🚀 Quick Start ## 🚀 Quick Start
### Prerequisites ### Prerequisites
- ContainerLab installed - ContainerLab
- Docker installed - Docker
- Arista cEOS image: `ceos:4.35.0` - Arista cEOS image: `ceos:4.36.0`
### Deploy the Lab ### Deploy the Lab
```bash ```bash
# Clone the repository
git clone https://gitea.arnodo.fr/Damien/arista-evpn-vxlan-clab.git git clone https://gitea.arnodo.fr/Damien/arista-evpn-vxlan-clab.git
cd arista-evpn-vxlan-clab cd arista-evpn-vxlan-clab
# Deploy the topology
sudo containerlab deploy -t evpn-lab.clab.yml sudo containerlab deploy -t evpn-lab.clab.yml
# Check status
sudo containerlab inspect -t evpn-lab.clab.yml sudo containerlab inspect -t evpn-lab.clab.yml
``` ```
### Access Devices ### Access Devices
```bash ```bash
# SSH to any device (password: admin) # SSH (password: admin) — works for every cEOS node
ssh admin@clab-arista-evpn-fabric-leaf1 ssh admin@clab-arista-evpn-fabric-leaf1
ssh admin@clab-arista-evpn-fabric-core1
ssh admin@clab-arista-evpn-fabric-campus-leaf1
# Or use docker exec # Or via docker exec
docker exec -it clab-arista-evpn-fabric-leaf1 Cli docker exec -it clab-arista-evpn-fabric-dc-border-leaf1 Cli
``` ```
## 📋 Configuration Details ## 📋 Architecture
### AS Numbers ### Node Inventory
- **Spine**: AS 65000 | Zone | Role | Nodes | AS |
- **VTEP1 (Leaf1/2)**: AS 65001 | ------ | ----------------------- | ------------------------------------------------------ | ------ |
- **VTEP2 (Leaf3/4)**: AS 65002 | DC | Spine | `dc-spine1`, `dc-spine2` | 65000 |
- **VTEP3 (Leaf5/6)**: AS 65003 | DC | Leaf VTEP1 (MLAG) | `dc-leaf1`, `dc-leaf2` | 65001 |
- **VTEP4 (Leaf7/8)**: AS 65004 | 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) | `campus-border-leaf1`, `campus-border-leaf2` | 66005 |
| Campus | Access (L2-only) | `campus-access1`, `campus-access2` | — |
| Campus | Host | `campus-host1`, `campus-host2` | — |
### IP Addressing ### AS Numbering
#### Management Network | AS | Role |
| ----- | ---------------------------------- |
| 65000 | DC Spine |
| 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 |
| 66001 | Campus VTEP1 (campus-leaf1/2) |
| 66002 | Campus VTEP2 (campus-leaf3/4) |
| 66005 | Campus Border Leaf pair |
- Subnet: `172.16.0.0/24` ### Access Switches
- Spine1: `172.16.0.1`
- Spine2: `172.16.0.2`
- Leaf1-8: `172.16.0.25-32`
#### Loopback Interfaces | Access Switch | Uplink Pair | VLANs | Host | Host attachment |
| --------------- | ------------------------ | -------- | -------------- | ------------------------- |
| 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) |
- **Router-ID Loopbacks (Lo0)**: `10.0.250.0/24` All access switches are L2-only, LACP-bonded to their leaf MLAG pair via `Port-Channel10`. MSTP + edge-port BPDU guard.
- Spine1: `10.0.250.1/32`
- Spine2: `10.0.250.2/32`
- Leaf1-8: `10.0.250.11-18/32`
- **VTEP Loopbacks (Lo1)**: `10.0.255.0/24` Host-facing ports:
- VTEP1: `10.0.255.11/32`
- VTEP2: `10.0.255.12/32`
- VTEP3: `10.0.255.13/32`
- VTEP4: `10.0.255.14/32`
#### Underlay P2P Links - **DC access switches** run a `Port-Channel1` trunk (VLANs allowed per host) for a host
dual-homed in LACP (two physical links, one bond on the Linux side).
- **Campus access switches** use a plain `Ethernet3` in `switchport mode access` with
BPDU guard + portfast — the host connects with a single Ethernet link and no bonding.
- Spine1 to Leafs: `10.0.1.0/31`, `10.0.1.2/31`, ... `10.0.1.14/31` ## 🧭 IP Addressing Plan
- Spine2 to Leafs: `10.0.2.0/31`, `10.0.2.2/31`, ... `10.0.2.14/31`
- MLAG iBGP peering: `10.0.3.0/31`, `10.0.3.2/31`, `10.0.3.4/31`, `10.0.3.6/31`
#### Host Network Addressing ### Management (`172.16.0.0/24`)
| Host | VLAN | VRF | IP Address | Gateway | Type | | Node | IP | Node | IP |
| ----- | ---- | ------- | --------------- | ---------- | -------- | | ------------------------- | --------------- | ------------------------- | --------------- |
| host1 | 40 | default | 10.40.40.101/24 | - | L2 VXLAN | | dc-spine1 | 172.16.0.1 | campus-spine1 | 172.16.0.20 |
| host2 | 34 | gold | 10.34.34.102/24 | 10.34.34.1 | L3 VXLAN | | dc-spine2 | 172.16.0.2 | campus-spine2 | 172.16.0.21 |
| host3 | 40 | default | 10.40.40.103/24 | - | L2 VXLAN | | dc-border-leaf1 | 172.16.0.3 | campus-border-leaf1 | 172.16.0.22 |
| host4 | 78 | gold | 10.78.78.104/24 | 10.78.78.1 | L3 VXLAN | | 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 |
| 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 |
**Notes:** Gateway: `172.16.0.254`.
- Host1 and Host3 are in VLAN 40 (L2 VXLAN only) and can communicate at Layer 2 ### Router-ID Loopback0 (`Lo0`)
- Host2 and Host4 are in VRF "gold" with different subnets, communicating via EVPN Type-5 routes (L3 VXLAN)
- All hosts use LACP bonding (802.3ad) with dual-homing to MLAG leaf pairs
### VXLAN Network Identifiers (VNI) | Zone | Range | Nodes |
| ------ | ------------------- | --------------------------------------------------------------------- |
| 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 |
#### L2 VNI (VLAN to VNI Mapping) ### VTEP Loopback1 (`Lo1`) — shared per MLAG pair
| VLAN | Description | VNI | VTEPs | Route Target | Route Distinguisher | | Fabric | VTEP | Address | Leafs |
| ---- | ------------- | ------ | ------------------------------- | ------------ | -------------------------- | | ------ | ------ | --------------- | ---------------------- |
| 40 | test-l2-vxlan | 110040 | VTEP1, VTEP3 (Leaf1/2, Leaf5/6) | 40:110040 | 65001:110040, 65003:110040 | | 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` | campus-border-leaf1/2 |
**L2 VNI Details:** ### Underlay P2P (`/31`)
- VLAN 40 is stretched across VTEP1 (Leaf1/2) and VTEP3 (Leaf5/6) for pure Layer 2 connectivity | Segment | Subnets |
- Hosts in VLAN 40 (host1 and host3) communicate at Layer 2 across the EVPN fabric | -------------------------------- | --------------------------------------- |
- EVPN Type-2 (MAC/IP) routes are used for MAC address learning and distribution | 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` |
| DC-BL ↔ Core (VRF gold, `.200`) | `10.0.14.0/31` .. `10.0.14.6/31` |
| Campus-BL ↔ Core (default) | `10.0.5.0/31` .. `10.0.5.6/31` |
| 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 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` |
#### L3 VNI (VRF to VNI Mapping) ### Host Addressing
| VRF | Description | VNI | VTEPs | Route Target | VLANs | | Host | VLAN | VRF | IP / Mask | Gateway | Purpose |
| ---- | ------------------------------- | ------ | ------------------------------- | ------------ | ------ | | ------------- | ---- | -------- | ----------------- | ------------ | ------------------------------ |
| gold | L3 VRF for inter-subnet routing | 100001 | VTEP2, VTEP4 (Leaf3/4, Leaf7/8) | 1:100001 | 34, 78 | | 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 |
**L3 VNI Details:** > DC hosts are dual-homed in LACP over `bond0` with tagged VLAN sub-interfaces.
> Campus hosts are single-attached with one untagged `eth1` in a single access VLAN.
- VRF "gold" uses VNI 100001 for Layer 3 VXLAN routing between different subnets ## 🏷️ VXLAN Network Identifiers
- VLAN 34 (10.34.34.0/24) on VTEP2 and VLAN 78 (10.78.78.0/24) on VTEP4 are both in VRF gold
- EVPN Type-5 (IP Prefix) routes are used for inter-subnet routing
- Each VTEP advertises its local subnets via EVPN, enabling routed connectivity between host2 and host4
#### VNI Summary ### L2 VNI Mapping
| VNI Type | VNI | Purpose | EVPN Route Type | | VLAN | Description | VNI | Scope | RT |
| -------- | ------ | ----------------------------- | ------------------ | | ---- | ------------------------------ | ------ | ------------------------------------------------------ | ---------- |
| L2 VNI | 110040 | Layer 2 extension for VLAN 40 | Type-2 (MAC/IP) | | 40 | DC L2 VXLAN (stretched) | 110040 | DC VTEP1 (dc-leaf1/2) + VTEP3 (dc-leaf5/6) | 40:110040 |
| L3 VNI | 100001 | Layer 3 routing for VRF gold | Type-5 (IP Prefix) | | 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 |
| 60 | Campus VRF gold subnet (local) | 110060 | Campus VTEP1 only (anycast GW 10.60.60.1) | 60:110060 |
| 70 | Campus VRF gold subnet (local) | 110070 | Campus VTEP2 only (anycast GW 10.60.70.1) | 70:110070 |
### Features Implemented ### L3 VNI Mapping (end-to-end)
**Underlay** | VRF | L3 VNI | RT | Scope |
| ---- | ------- | ---------- | ----------------------------------------------------- |
| gold | 100001 | 1:100001 | DC VTEP2/VTEP4/DC-BL + Campus VTEP1/VTEP2/Campus-BL |
- BGP IPv4 Unicast VRF `gold` is announced over EVPN Type-5 (IP prefix) inside each fabric, and **stitched by the Core** via eBGP IPv4 unicast in VRF gold (over the `.200` dot1q subinterfaces). L3 VNI `100001` is re-used end-to-end for symmetry; RT `1:100001` is consistent across both fabrics.
- ECMP with 4 paths
- eBGP between Spine-Leaf
- iBGP between MLAG pairs
**Overlay** ### Route Distinguisher Convention
- BGP EVPN address family - Leafs / BLs: `rd <Loopback0>:1` for VRF gold; `rd <AS>:<L2_VNI>` per L2 VLAN (e.g. `65001:110040`, `66002:110050`).
- VXLAN data plane - Cores: `rd <Loopback0>:100001` for VRF gold (transit only — no EVPN, IPv4 unicast with `redistribute connected`).
- EVPN Type-2 (MAC/IP routes)
- EVPN Type-5 (IP Prefix routes)
**High Availability** ## 🔀 Control Plane Summary
- MLAG dual-homing | Segment | Protocol | Notes |
- Dual-active detection | ----------------------------------- | ------------------------------------ | ------------------------------------- |
- Anycast VTEP gateway | DC spine ↔ leaf/BL underlay | eBGP IPv4 (AS 65000 ↔ 650xx) | `maximum-paths 4 ecmp 64` |
| DC spine ↔ leaf/BL overlay | eBGP EVPN via Loopback0, multi-hop 3 | Spines reflect via `ebgp peer-group` |
| DC MLAG pair iBGP | iBGP over VLAN 4091 SVI | `next-hop-self` |
| DC-BL ↔ Core (default) | OSPF area 0 + eBGP AS 65005 ↔ 65500 | on `.100` dot1q subinterface |
| DC-BL ↔ Core (VRF gold) | eBGP AS 65005 ↔ 65500 | on `.200` dot1q subinterface |
| Core1 ↔ Core2 (default) | OSPF area 0 + iBGP AS 65500 | via Loopback0 |
| Core1 ↔ Core2 (VRF gold) | iBGP AS 65500 | VRF-aware over `.200` subinterface |
| Campus-BL ↔ Core (default / gold) | OSPF + eBGP AS 66005 ↔ 65500 | same pattern as DC-BL |
| Campus spine ↔ leaf/BL underlay | eBGP IPv4 (AS 66000 ↔ 660xx) | |
| Campus spine ↔ leaf/BL overlay | eBGP EVPN via Loopback0, multi-hop 3 | |
| Campus MLAG pair iBGP | iBGP over VLAN 4091 SVI | |
## 🧪 Testing & Validation ## 🧪 Testing & Validation
### Verify BGP EVPN Neighbors ### Fabric health
```bash ```bash
# On any spine # DC
show bgp evpn summary 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-dc-border-leaf1 "show bgp evpn summary"
# On any leaf # Campus
show bgp evpn summary ssh admin@clab-arista-evpn-fabric-campus-spine1 "show bgp evpn summary"
ssh admin@clab-arista-evpn-fabric-campus-leaf1 "show bgp evpn summary"
# Core transit (no EVPN — IPv4 only)
ssh admin@clab-arista-evpn-fabric-core1 "show ip bgp summary"
ssh admin@clab-arista-evpn-fabric-core1 "show ip bgp summary vrf gold"
ssh admin@clab-arista-evpn-fabric-core1 "show ip ospf neighbor"
``` ```
### Verify VXLAN ### VXLAN
```bash ```bash
# Check VXLAN interface # On any leaf/BL
show interface vxlan1 show interface vxlan1
# Check remote VTEPs
show vxlan vtep show vxlan vtep
# Check VXLAN address table
show vxlan address-table show vxlan address-table
``` ```
### Verify MLAG ### MLAG
```bash ```bash
# Check MLAG status
show mlag show mlag
show mlag interfaces detail
# Check MLAG interfaces
show mlag interfaces
``` ```
### Test Connectivity ### Intra-DC connectivity (existing tests)
#### L2 VXLAN Testing (VLAN 40)
Test Layer 2 connectivity between host1 and host3 across the EVPN fabric:
```bash ```bash
# From host1 to host3 (same VLAN 40, different VTEPs) # L2 VLAN 40: dc-server1 ↔ dc-server3
docker exec -it clab-arista-evpn-fabric-host1 ping -c 4 10.40.40.103 docker exec -it clab-arista-evpn-fabric-host1 ping -c 3 10.40.40.103
# Check host1 interface # L3 VRF gold (DC only): dc-server2 ↔ dc-server4
docker exec -it clab-arista-evpn-fabric-host1 ip addr show bond0 docker exec -it clab-arista-evpn-fabric-host2 ping -c 3 10.78.78.104
# From host3 to host1
docker exec -it clab-arista-evpn-fabric-host3 ping -c 4 10.40.40.101
``` ```
#### L3 VXLAN Testing (VRF gold) ### Intra-Campus connectivity
Test Layer 3 connectivity between host2 and host4 in VRF "gold": Campus hosts sit in VRF `gold` — use the L3 test to validate VTEP1↔VTEP2 via campus spines.
```bash ```bash
# From host2 to host4 (different subnets via EVPN Type-5) # L3 VRF gold (Campus only): campus-host1 ↔ campus-host2
docker exec -it clab-arista-evpn-fabric-host2 ping -c 4 10.78.78.104 docker exec -it clab-arista-evpn-fabric-campus-host1 ping -c 3 10.60.70.102
docker exec -it clab-arista-evpn-fabric-campus-host2 ping -c 3 10.60.60.101
# From host4 to host2
docker exec -it clab-arista-evpn-fabric-host4 ping -c 4 10.34.34.102
# Check routing table on hosts
docker exec -it clab-arista-evpn-fabric-host2 ip route
docker exec -it clab-arista-evpn-fabric-host4 ip route
``` ```
#### Verify EVPN Routes on Switches > VLAN 50 (stretched L2 VXLAN) is still provisioned on the campus VTEPs as an
> infrastructure example but is not wired to any host in the current topology.
### End-to-end Campus ↔ DC (VRF gold via Core)
```bash ```bash
# Check EVPN Type-2 routes (MAC/IP) - for VLAN 40 # campus-host1 (10.60.60.101, VRF gold Campus) → dc-server2 (10.34.34.102, VRF gold DC)
ssh admin@clab-arista-evpn-fabric-leaf1 docker exec -it clab-arista-evpn-fabric-campus-host1 ping -c 3 10.34.34.102
show bgp evpn route-type mac-ip
# Check EVPN Type-5 routes (IP Prefix) - for VRF gold # campus-host2 (10.60.70.102) → dc-server4 (10.78.78.104)
ssh admin@clab-arista-evpn-fabric-leaf3 docker exec -it clab-arista-evpn-fabric-campus-host2 ping -c 3 10.78.78.104
show bgp evpn route-type ip-prefix ipv4
# Verify VXLAN learned MACs # Reverse direction
show vxlan address-table docker exec -it clab-arista-evpn-fabric-host2 ping -c 3 10.60.60.101
docker exec -it clab-arista-evpn-fabric-host4 ping -c 3 10.60.70.102
# Check MAC addresses learned via EVPN # Traceroute: expected path campus-leaf → campus-BL → core → DC-BL → DC-leaf
show mac address-table docker exec -it clab-arista-evpn-fabric-campus-host1 traceroute 10.34.34.102
```
### Inspect the Core transit path
```bash
# Check VRF gold routes on core1 — both DC and Campus prefixes should be present
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-dc-border-leaf1 "show bgp evpn route-type ip-prefix ipv4"
# EVPN Type-5 on Campus-BL
ssh admin@clab-arista-evpn-fabric-campus-border-leaf1 "show bgp evpn route-type ip-prefix ipv4"
``` ```
## 📁 Repository Structure ## 📁 Repository Structure
``` ```
arista-evpn-vxlan-clab/ arista-evpn-vxlan-clab/
├── README.md # This file ├── README.md
├── TROUBLESHOOTING.md # Troubleshooting guide ├── TROUBLESHOOTING.md
├── END_TO_END_TESTING.md # Testing procedures ├── END_TO_END_TESTING.md
├── evpn-lab.clab.yml # ContainerLab topology ├── evpn-lab.clab.yml
├── configs/ # Device configurations ├── evpn-lab.clab.yml.annotations.json
│ ├── spine1.cfg ├── assets/
── spine2.cfg ── arista-evpn-fabric.svg
│ ├── leaf1.cfg ├── configs/
│ ├── leaf2.cfg │ ├── dc-spine1.cfg, dc-spine2.cfg
│ ├── leaf3.cfg │ ├── dc-leaf1.cfg … dc-leaf8.cfg
│ ├── leaf4.cfg │ ├── dc-border-leaf1.cfg, dc-border-leaf2.cfg
│ ├── leaf5.cfg │ ├── dc-access1.cfg … dc-access4.cfg
│ ├── leaf6.cfg │ ├── core1.cfg, core2.cfg
│ ├── leaf7.cfg │ ├── campus-spine1.cfg, campus-spine2.cfg
── leaf8.cfg ── campus-leaf1.cfg … campus-leaf4.cfg
└── hosts/ # Host interface configurations │ ├── campus-border-leaf1.cfg, campus-border-leaf2.cfg
│ └── campus-access1.cfg, campus-access2.cfg
└── hosts/
├── README.md ├── README.md
├── host1_interfaces ├── dc-server1_interfaces … dc-server4_interfaces
├── host2_interfaces ├── campus-dc-server1_interfaces
── host3_interfaces ── campus-dc-server2_interfaces
└── host4_interfaces
``` ```
## 🗑️ Cleanup ## 🗑️ Cleanup
```bash ```bash
# Destroy the lab
sudo containerlab destroy -t evpn-lab.clab.yml
# Remove all related containers and networks
sudo containerlab destroy -t evpn-lab.clab.yml --cleanup sudo containerlab destroy -t evpn-lab.clab.yml --cleanup
``` ```
## 📚 References ## 📚 References
- [Original Configuration Guide](https://overlaid.net/2019/01/27/arista-bgp-evpn-configuration-example/)
- [Arista EOS Documentation](https://www.arista.com/en/support/product-documentation) - [Arista EOS Documentation](https://www.arista.com/en/support/product-documentation)
- [ContainerLab Documentation](https://containerlab.dev/) - [ContainerLab Documentation](https://containerlab.dev/)
- [RFC 7432 - BGP MPLS-Based Ethernet VPN](https://tools.ietf.org/html/rfc7432) - [RFC 7432 BGP MPLS-Based Ethernet VPN](https://tools.ietf.org/html/rfc7432)
- [RFC 8365 - A Network Virtualization Overlay Solution Using EVPN](https://tools.ietf.org/html/rfc8365) - [RFC 8365 A Network Virtualization Overlay Solution Using EVPN](https://tools.ietf.org/html/rfc8365)
- [RFC 9135 — Integrated Routing and Bridging in EVPN](https://tools.ietf.org/html/rfc9135)

View File

@@ -72,7 +72,7 @@ Ethernet11 is up, line protocol is up (connected)
### 2.1 Verify MLAG Peering ### 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 ```bash
# MLAG global status # MLAG global status
@@ -173,7 +173,7 @@ Active Ports: Ethernet1
local/remote local/remote
mlag desc state local remote status mlag desc state local remote status
------ -------------- ------------- ----------- ------------ --------------- ------ -------------- ------------- ----------- ------------ ---------------
1 host1 active-full Po1 Po1 up/up 1 dc-server1 active-full Po1 Po1 up/up
``` ```
**Troubleshooting:** **Troubleshooting:**
@@ -528,7 +528,7 @@ Shows which remote VTEP the MAC is behind!
## End-to-End Traffic Flow ## 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) 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 #### Step 1: Host Sends Packet
**On host1:** **On dc-server1:**
```bash ```bash
docker exec -it clab-arista-evpn-fabric-host1 sh 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 ```bash
# Check Port-Channel received the packet # Check Port-Channel received the packet
@@ -569,13 +569,13 @@ show interfaces Port-Channel1 | include packets
# Check MAC learning # Check MAC learning
show mac address-table dynamic vlan 40 show mac address-table dynamic vlan 40
# Should see host1's MAC on Po1 # Should see dc-server1's MAC on Po1
``` ```
**Traffic flow:** **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:** **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] VXLAN: [Outer IP: 10.0.255.11→10.0.255.13]
[Outer UDP: src=random, dst=4789] [Outer UDP: src=random, dst=4789]
[VXLAN Header: VNI=110040] [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 show ip route 10.0.255.13
# Output: # Output:
# via 10.0.1.0, Ethernet11 (spine1) # via 10.0.1.0, Ethernet11 (dc-spine1)
# via 10.0.2.0, Ethernet12 (spine2) # 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:** **Spine forwards based on outer IP:**
```bash ```bash
# On spine1 # On dc-spine1
show ip route 10.0.255.13 show ip route 10.0.255.13
# Output: # 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 ```bash
# Check VXLAN received the packet # Check VXLAN received the packet
@@ -655,7 +655,7 @@ show interfaces Vxlan1 | include packets
``` ```
VXLAN packet → Strip outer IP/UDP/VXLAN headers 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:** **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 ```bash
docker exec -it clab-arista-evpn-fabric-host3 sh 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 │ │ 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 │ │ 1. Send ping to 10.40.40.103 │
│ [VLAN 40 tag] │ 6. Receive reply │ [VLAN 40 tag] │ 6. Receive reply
│ │ [VLAN 40 tag] │ │ [VLAN 40 tag]
▼ │ ▼ │
leaf1:Po1 leaf5:Po1 dc-leaf1:Po1 dc-leaf5:Po1
│ ▲ │ ▲
│ 2. MAC lookup: │ 5. MAC lookup: │ 2. MAC lookup: │ 5. MAC lookup:
│ 00c1.ab00.0033 → Vx1 → 10.0.255.13 │ 00c1.ab00.0011 → Vx1 │ 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: │ 3. VXLAN encap: │ 4. VXLAN decap:
│ Outer: 10.0.255.11 → 10.0.255.13 │ Strip outer headers │ Outer: 10.0.255.11 → 10.0.255.13 │ Strip outer headers
@@ -713,7 +713,7 @@ leaf1:Vxlan1 leaf5:Vxlan1
│ Inner: original frame │ │ Inner: original frame │
│ │ │ │
▼ │ ▼ │
leaf1:Eth11 ──────► spine1 ──────► leaf5:Eth11 ──────────┘ dc-leaf1:Eth11 ──────► dc-spine1 ──────► dc-leaf5:Eth11 ──────────┘
(underlay BGP routing) (underlay BGP routing)
``` ```
@@ -776,7 +776,7 @@ show vxlan address-table vlan 40
**Symptoms:** **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 - Both in VRF gold
**Troubleshooting Steps:** **Troubleshooting Steps:**
@@ -956,14 +956,14 @@ show mac address-table count
**Test L2 VXLAN (VLAN 40):** **Test L2 VXLAN (VLAN 40):**
```bash ```bash
# On host1 # On dc-server1
ping 10.40.40.103 -c 3 ping 10.40.40.103 -c 3
# On leaf1 (VTEP1) # On dc-leaf1 (VTEP1)
show mac address-table address 00c1.ab00.0033 show mac address-table address 00c1.ab00.0033
show vxlan 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 mac address-table address 00c1.ab00.0011
show vxlan 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):** **Test L3 VXLAN (VRF gold):**
```bash ```bash
# On host2 # On dc-server2
ping 10.78.78.104 -c 3 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 ip route vrf gold 10.78.78.0/24
show bgp evpn route-type ip-prefix ipv4 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 show ip route vrf gold 10.34.34.0/24
``` ```

997
assets/evpn-lab.clab.drawio Normal file
View File

@@ -0,0 +1,997 @@
<mxfile type="device" compressed="false">
<diagram id="Network Topology" name="Network Topology">
<mxGraphModel dx="1360" dy="864" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="6275.0" pageHeight="1565.0" math="0" shadow="0" background="none">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<object id="clab-arista-evpn-fabric-dc-spine1" label="dc-spine1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4285.0" y="100.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-spine2" label="dc-spine2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5365.0" y="100.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf1" label="dc-leaf1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="3970.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf2" label="dc-leaf2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4285.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf3" label="dc-leaf3">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4600.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf4" label="dc-leaf4">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4915.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf5" label="dc-leaf5">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5230.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf6" label="dc-leaf6">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5545.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf7" label="dc-leaf7">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5860.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-leaf8" label="dc-leaf8">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="6175.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-border-leaf1" label="dc-border-leaf1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="3340.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-border-leaf2" label="dc-border-leaf2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="3655.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-access1" label="dc-access1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4105.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-access2" label="dc-access2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4735.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-access3" label="dc-access3">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5365.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-access4" label="dc-access4">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5995.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-server1" label="dc-server1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4105.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-server2" label="dc-server2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="4735.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-server3" label="dc-server3">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5365.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-dc-server4" label="dc-server4">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="5995.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-core1" label="core1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="2395.0" y="467.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-core2" label="core2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="2890.0" y="467.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-spine1" label="campus-spine1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="505.0" y="100.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-spine2" label="campus-spine2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="1180.0" y="100.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-border-leaf1" label="campus-border-leaf1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="1450.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-border-leaf2" label="campus-border-leaf2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="1765.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-leaf1" label="campus-leaf1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="100.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-leaf2" label="campus-leaf2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="415.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-leaf3" label="campus-leaf3">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="775.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-leaf4" label="campus-leaf4">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="1090.0" y="730.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-access1" label="campus-access1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="325.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-access2" label="campus-access2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="955.0" y="1097.5" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-host1" label="campus-host1">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="325.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><object id="clab-arista-evpn-fabric-campus-host2" label="campus-host2">
<mxCell style="shape=image;imageAlign=center;imageVerticalAlign=middle;labelPosition=left;align=right;verticalLabelPosition=top;spacingLeft=0;verticalAlign=bottom;spacingTop=0;spacing=0;editableCssRules=\.st[0-2]$;labelBackgroundColor=none;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwO2VkaXRhYmxlQ3NzUnVsZXM9Lio7IiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgeT0iMHB4IiB4PSIwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiPiYjeGE7PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOwkuc3Qwe2ZpbGw6IzAwMTEzNTt9JiN4YTsJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Qye2ZpbGw6I0ZGRkZGRjt9JiN4YTsJLnN0M3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDR7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0NXtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0N3tmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3Q5e2ZpbGw6I0ZGRkZGRjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDt9JiN4YTsJLnN0MTB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O30mI3hhOwkuc3QxMXtmaWxsOiMyNjI2MjY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQuMjMzMzt9JiN4YTsJLnN0MTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30mI3hhOwkuc3QxM3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjQ7fSYjeGE7CS5zdDE0e2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NC4yMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTsJLnN0MTV7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO30mI3hhOwkuc3QxNntmaWxsOiNGRkZGRkY7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fSYjeGE7CS5zdDE3e2ZpbGw6IzI2MjYyNjtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9JiN4YTsJLnN0MTh7ZmlsbDojRkZGRkZGO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9JiN4YTs8L3N0eWxlPiYjeGE7PHJlY3QgaGVpZ2h0PSIxMjAiIHdpZHRoPSIxMjAiIGNsYXNzPSJzdDAiLz4mI3hhOzxnPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNzEuNywxOS43VjQ4aDI4IiBjbGFzcz0ic3QxIi8+JiN4YTsJCTxwYXRoIGQ9Ik05MS4yLDM4LjVsNy41LDcuNmMxLjMsMS4zLDEuMywzLjEsMCw0LjNMOTEuMSw1OCIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTIwLDQ3LjhoMjguNHYtMjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTM4LjgsMjguM2w3LjYtNy41YzEuMy0xLjMsMy4xLTEuMyw0LjMsMGw3LjcsNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7CTxnPiYjeGE7CQk8cGF0aCBkPSJNNDgsMTAwLjNWNzJIMjAiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTI4LjUsODEuNUwyMSw3My45Yy0xLjMtMS4zLTEuMy0zLjEsMC00LjNsNy42LTcuNyIgY2xhc3M9InN0MSIvPiYjeGE7CTwvZz4mI3hhOwk8Zz4mI3hhOwkJPHBhdGggZD0iTTEwMCw3MS45SDcxLjZ2MjgiIGNsYXNzPSJzdDEiLz4mI3hhOwkJPHBhdGggZD0iTTgxLjIsOTEuNGwtNy42LDcuNWMtMS4zLDEuMy0zLjEsMS4zLTQuMywwbC03LjctNy42IiBjbGFzcz0ic3QxIi8+JiN4YTsJPC9nPiYjeGE7PC9nPiYjeGE7PC9zdmc+;" vertex="1" parent="1">
<mxGeometry x="955.0" y="1465.0" width="75" height="75" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth1:clab-arista-evpn-fabric-dc-leaf1:eth11-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth1:clab-arista-evpn-fabric-dc-leaf1:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth1:clab-arista-evpn-fabric-dc-leaf1:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth1:clab-arista-evpn-fabric-dc-leaf1:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth1:clab-arista-evpn-fabric-dc-leaf1:eth11" label="" src_label="eth1" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth2:clab-arista-evpn-fabric-dc-leaf2:eth11-src" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth2:clab-arista-evpn-fabric-dc-leaf2:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth2:clab-arista-evpn-fabric-dc-leaf2:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth2:clab-arista-evpn-fabric-dc-leaf2:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth2:clab-arista-evpn-fabric-dc-leaf2:eth11" label="" src_label="eth2" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth3:clab-arista-evpn-fabric-dc-leaf3:eth11-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth3:clab-arista-evpn-fabric-dc-leaf3:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth3:clab-arista-evpn-fabric-dc-leaf3:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth3:clab-arista-evpn-fabric-dc-leaf3:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth3:clab-arista-evpn-fabric-dc-leaf3:eth11" label="" src_label="eth3" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth4:clab-arista-evpn-fabric-dc-leaf4:eth11-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth4:clab-arista-evpn-fabric-dc-leaf4:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth4:clab-arista-evpn-fabric-dc-leaf4:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth4:clab-arista-evpn-fabric-dc-leaf4:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth4:clab-arista-evpn-fabric-dc-leaf4:eth11" label="" src_label="eth4" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth5:clab-arista-evpn-fabric-dc-leaf5:eth11-src" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth5:clab-arista-evpn-fabric-dc-leaf5:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth5:clab-arista-evpn-fabric-dc-leaf5:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth5:clab-arista-evpn-fabric-dc-leaf5:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth5:clab-arista-evpn-fabric-dc-leaf5:eth11" label="" src_label="eth5" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf5">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth6:clab-arista-evpn-fabric-dc-leaf6:eth11-src" value="eth6" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth6:clab-arista-evpn-fabric-dc-leaf6:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth6:clab-arista-evpn-fabric-dc-leaf6:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth6:clab-arista-evpn-fabric-dc-leaf6:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth6:clab-arista-evpn-fabric-dc-leaf6:eth11" label="" src_label="eth6" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf6">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth7:clab-arista-evpn-fabric-dc-leaf7:eth11-src" value="eth7" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth7:clab-arista-evpn-fabric-dc-leaf7:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth7:clab-arista-evpn-fabric-dc-leaf7:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth7:clab-arista-evpn-fabric-dc-leaf7:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth7:clab-arista-evpn-fabric-dc-leaf7:eth11" label="" src_label="eth7" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf7">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth8:clab-arista-evpn-fabric-dc-leaf8:eth11-src" value="eth8" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth8:clab-arista-evpn-fabric-dc-leaf8:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth8:clab-arista-evpn-fabric-dc-leaf8:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth8:clab-arista-evpn-fabric-dc-leaf8:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth8:clab-arista-evpn-fabric-dc-leaf8:eth11" label="" src_label="eth8" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf8">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-leaf8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth11-src" value="eth9" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth11" label="" src_label="eth9" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-border-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-border-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth11-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth11" label="" src_label="eth10" trgt_label="eth11" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine1" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth1:clab-arista-evpn-fabric-dc-leaf1:eth12-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth1:clab-arista-evpn-fabric-dc-leaf1:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth1:clab-arista-evpn-fabric-dc-leaf1:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth1:clab-arista-evpn-fabric-dc-leaf1:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth1:clab-arista-evpn-fabric-dc-leaf1:eth12" label="" src_label="eth1" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth2:clab-arista-evpn-fabric-dc-leaf2:eth12-src" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth2:clab-arista-evpn-fabric-dc-leaf2:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth2:clab-arista-evpn-fabric-dc-leaf2:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth2:clab-arista-evpn-fabric-dc-leaf2:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth2:clab-arista-evpn-fabric-dc-leaf2:eth12" label="" src_label="eth2" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth3:clab-arista-evpn-fabric-dc-leaf3:eth12-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth3:clab-arista-evpn-fabric-dc-leaf3:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth3:clab-arista-evpn-fabric-dc-leaf3:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth3:clab-arista-evpn-fabric-dc-leaf3:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth3:clab-arista-evpn-fabric-dc-leaf3:eth12" label="" src_label="eth3" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth4:clab-arista-evpn-fabric-dc-leaf4:eth12-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth4:clab-arista-evpn-fabric-dc-leaf4:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth4:clab-arista-evpn-fabric-dc-leaf4:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth4:clab-arista-evpn-fabric-dc-leaf4:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth4:clab-arista-evpn-fabric-dc-leaf4:eth12" label="" src_label="eth4" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth5:clab-arista-evpn-fabric-dc-leaf5:eth12-src" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth5:clab-arista-evpn-fabric-dc-leaf5:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth5:clab-arista-evpn-fabric-dc-leaf5:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth5:clab-arista-evpn-fabric-dc-leaf5:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth5:clab-arista-evpn-fabric-dc-leaf5:eth12" label="" src_label="eth5" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf5">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth6:clab-arista-evpn-fabric-dc-leaf6:eth12-src" value="eth6" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth6:clab-arista-evpn-fabric-dc-leaf6:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth6:clab-arista-evpn-fabric-dc-leaf6:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth6:clab-arista-evpn-fabric-dc-leaf6:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth6:clab-arista-evpn-fabric-dc-leaf6:eth12" label="" src_label="eth6" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf6">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth7:clab-arista-evpn-fabric-dc-leaf7:eth12-src" value="eth7" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth7:clab-arista-evpn-fabric-dc-leaf7:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth7:clab-arista-evpn-fabric-dc-leaf7:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth7:clab-arista-evpn-fabric-dc-leaf7:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth7:clab-arista-evpn-fabric-dc-leaf7:eth12" label="" src_label="eth7" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf7">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth8:clab-arista-evpn-fabric-dc-leaf8:eth12-src" value="eth8" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth8:clab-arista-evpn-fabric-dc-leaf8:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth8:clab-arista-evpn-fabric-dc-leaf8:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth8:clab-arista-evpn-fabric-dc-leaf8:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth8:clab-arista-evpn-fabric-dc-leaf8:eth12" label="" src_label="eth8" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf8">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-leaf8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth12-src" value="eth9" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth9:clab-arista-evpn-fabric-dc-border-leaf1:eth12" label="" src_label="eth9" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-border-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-border-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth12-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-spine2:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth12" label="" src_label="eth10" trgt_label="eth12" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-spine2" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth10:clab-arista-evpn-fabric-dc-leaf2:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth10:clab-arista-evpn-fabric-dc-leaf2:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth10:clab-arista-evpn-fabric-dc-leaf2:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth10:clab-arista-evpn-fabric-dc-leaf2:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth10:clab-arista-evpn-fabric-dc-leaf2:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-dc-leaf1" target="clab-arista-evpn-fabric-dc-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf1" target="clab-arista-evpn-fabric-dc-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth1:clab-arista-evpn-fabric-dc-access1:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth1:clab-arista-evpn-fabric-dc-access1:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth1:clab-arista-evpn-fabric-dc-access1:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth1:clab-arista-evpn-fabric-dc-access1:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf1:eth1:clab-arista-evpn-fabric-dc-access1:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-leaf1" target="clab-arista-evpn-fabric-dc-access1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf1" target="clab-arista-evpn-fabric-dc-access1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf2:eth1:clab-arista-evpn-fabric-dc-access1:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf2:eth1:clab-arista-evpn-fabric-dc-access1:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf2:eth1:clab-arista-evpn-fabric-dc-access1:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf2:eth1:clab-arista-evpn-fabric-dc-access1:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf2:eth1:clab-arista-evpn-fabric-dc-access1:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-leaf2" target="clab-arista-evpn-fabric-dc-access1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf2" target="clab-arista-evpn-fabric-dc-access1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth10:clab-arista-evpn-fabric-dc-leaf4:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth10:clab-arista-evpn-fabric-dc-leaf4:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth10:clab-arista-evpn-fabric-dc-leaf4:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth10:clab-arista-evpn-fabric-dc-leaf4:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth10:clab-arista-evpn-fabric-dc-leaf4:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-dc-leaf3" target="clab-arista-evpn-fabric-dc-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf3" target="clab-arista-evpn-fabric-dc-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth1:clab-arista-evpn-fabric-dc-access2:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth1:clab-arista-evpn-fabric-dc-access2:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth1:clab-arista-evpn-fabric-dc-access2:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth1:clab-arista-evpn-fabric-dc-access2:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf3:eth1:clab-arista-evpn-fabric-dc-access2:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-leaf3" target="clab-arista-evpn-fabric-dc-access2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf3" target="clab-arista-evpn-fabric-dc-access2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf4:eth1:clab-arista-evpn-fabric-dc-access2:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf4:eth1:clab-arista-evpn-fabric-dc-access2:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf4:eth1:clab-arista-evpn-fabric-dc-access2:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf4:eth1:clab-arista-evpn-fabric-dc-access2:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf4:eth1:clab-arista-evpn-fabric-dc-access2:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-leaf4" target="clab-arista-evpn-fabric-dc-access2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf4" target="clab-arista-evpn-fabric-dc-access2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth10:clab-arista-evpn-fabric-dc-leaf6:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth10:clab-arista-evpn-fabric-dc-leaf6:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth10:clab-arista-evpn-fabric-dc-leaf6:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth10:clab-arista-evpn-fabric-dc-leaf6:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth10:clab-arista-evpn-fabric-dc-leaf6:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-dc-leaf5" target="clab-arista-evpn-fabric-dc-leaf6">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf5" target="clab-arista-evpn-fabric-dc-leaf6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth1:clab-arista-evpn-fabric-dc-access3:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth1:clab-arista-evpn-fabric-dc-access3:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth1:clab-arista-evpn-fabric-dc-access3:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth1:clab-arista-evpn-fabric-dc-access3:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf5:eth1:clab-arista-evpn-fabric-dc-access3:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-leaf5" target="clab-arista-evpn-fabric-dc-access3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf5" target="clab-arista-evpn-fabric-dc-access3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf6:eth1:clab-arista-evpn-fabric-dc-access3:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf6:eth1:clab-arista-evpn-fabric-dc-access3:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf6:eth1:clab-arista-evpn-fabric-dc-access3:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf6:eth1:clab-arista-evpn-fabric-dc-access3:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf6:eth1:clab-arista-evpn-fabric-dc-access3:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-leaf6" target="clab-arista-evpn-fabric-dc-access3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf6" target="clab-arista-evpn-fabric-dc-access3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth10:clab-arista-evpn-fabric-dc-leaf8:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth10:clab-arista-evpn-fabric-dc-leaf8:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth10:clab-arista-evpn-fabric-dc-leaf8:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth10:clab-arista-evpn-fabric-dc-leaf8:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth10:clab-arista-evpn-fabric-dc-leaf8:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-dc-leaf7" target="clab-arista-evpn-fabric-dc-leaf8">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf7" target="clab-arista-evpn-fabric-dc-leaf8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth1:clab-arista-evpn-fabric-dc-access4:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth1:clab-arista-evpn-fabric-dc-access4:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth1:clab-arista-evpn-fabric-dc-access4:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth1:clab-arista-evpn-fabric-dc-access4:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf7:eth1:clab-arista-evpn-fabric-dc-access4:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-leaf7" target="clab-arista-evpn-fabric-dc-access4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf7" target="clab-arista-evpn-fabric-dc-access4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf8:eth1:clab-arista-evpn-fabric-dc-access4:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf8:eth1:clab-arista-evpn-fabric-dc-access4:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-leaf8:eth1:clab-arista-evpn-fabric-dc-access4:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-leaf8:eth1:clab-arista-evpn-fabric-dc-access4:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-leaf8:eth1:clab-arista-evpn-fabric-dc-access4:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-leaf8" target="clab-arista-evpn-fabric-dc-access4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-leaf8" target="clab-arista-evpn-fabric-dc-access4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth10:clab-arista-evpn-fabric-dc-border-leaf2:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-dc-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth1-src" value="eth13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth1" label="" src_label="eth13" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-core1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-core1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth1-src" value="eth14" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth1" label="" src_label="eth14" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-core2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-border-leaf1" target="clab-arista-evpn-fabric-core2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth2-src" value="eth13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth2" label="" src_label="eth13" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-border-leaf2" target="clab-arista-evpn-fabric-core1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-border-leaf2" target="clab-arista-evpn-fabric-core1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth2-src" value="eth14" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth2" label="" src_label="eth14" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-border-leaf2" target="clab-arista-evpn-fabric-core2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-border-leaf2" target="clab-arista-evpn-fabric-core2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth3:clab-arista-evpn-fabric-dc-server1:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access1:eth3:clab-arista-evpn-fabric-dc-server1:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth3:clab-arista-evpn-fabric-dc-server1:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access1:eth3:clab-arista-evpn-fabric-dc-server1:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth3:clab-arista-evpn-fabric-dc-server1:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-access1" target="clab-arista-evpn-fabric-dc-server1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access1" target="clab-arista-evpn-fabric-dc-server1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth4:clab-arista-evpn-fabric-dc-server1:eth2-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access1:eth4:clab-arista-evpn-fabric-dc-server1:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth4:clab-arista-evpn-fabric-dc-server1:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access1:eth4:clab-arista-evpn-fabric-dc-server1:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access1:eth4:clab-arista-evpn-fabric-dc-server1:eth2" label="" src_label="eth4" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-access1" target="clab-arista-evpn-fabric-dc-server1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access1" target="clab-arista-evpn-fabric-dc-server1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth3:clab-arista-evpn-fabric-dc-server2:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access2:eth3:clab-arista-evpn-fabric-dc-server2:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth3:clab-arista-evpn-fabric-dc-server2:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access2:eth3:clab-arista-evpn-fabric-dc-server2:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth3:clab-arista-evpn-fabric-dc-server2:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-access2" target="clab-arista-evpn-fabric-dc-server2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access2" target="clab-arista-evpn-fabric-dc-server2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth4:clab-arista-evpn-fabric-dc-server2:eth2-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access2:eth4:clab-arista-evpn-fabric-dc-server2:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth4:clab-arista-evpn-fabric-dc-server2:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access2:eth4:clab-arista-evpn-fabric-dc-server2:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access2:eth4:clab-arista-evpn-fabric-dc-server2:eth2" label="" src_label="eth4" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-access2" target="clab-arista-evpn-fabric-dc-server2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access2" target="clab-arista-evpn-fabric-dc-server2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth3:clab-arista-evpn-fabric-dc-server3:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access3:eth3:clab-arista-evpn-fabric-dc-server3:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth3:clab-arista-evpn-fabric-dc-server3:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access3:eth3:clab-arista-evpn-fabric-dc-server3:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth3:clab-arista-evpn-fabric-dc-server3:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-access3" target="clab-arista-evpn-fabric-dc-server3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access3" target="clab-arista-evpn-fabric-dc-server3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth4:clab-arista-evpn-fabric-dc-server3:eth2-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access3:eth4:clab-arista-evpn-fabric-dc-server3:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth4:clab-arista-evpn-fabric-dc-server3:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access3:eth4:clab-arista-evpn-fabric-dc-server3:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access3:eth4:clab-arista-evpn-fabric-dc-server3:eth2" label="" src_label="eth4" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-access3" target="clab-arista-evpn-fabric-dc-server3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access3" target="clab-arista-evpn-fabric-dc-server3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth3:clab-arista-evpn-fabric-dc-server4:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access4:eth3:clab-arista-evpn-fabric-dc-server4:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth3:clab-arista-evpn-fabric-dc-server4:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access4:eth3:clab-arista-evpn-fabric-dc-server4:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth3:clab-arista-evpn-fabric-dc-server4:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-dc-access4" target="clab-arista-evpn-fabric-dc-server4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access4" target="clab-arista-evpn-fabric-dc-server4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth4:clab-arista-evpn-fabric-dc-server4:eth2-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access4:eth4:clab-arista-evpn-fabric-dc-server4:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth4:clab-arista-evpn-fabric-dc-server4:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-dc-access4:eth4:clab-arista-evpn-fabric-dc-server4:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-dc-access4:eth4:clab-arista-evpn-fabric-dc-server4:eth2" label="" src_label="eth4" trgt_label="eth2" source="clab-arista-evpn-fabric-dc-access4" target="clab-arista-evpn-fabric-dc-server4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-dc-access4" target="clab-arista-evpn-fabric-dc-server4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-core1:eth5:clab-arista-evpn-fabric-core2:eth5-src" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-core1:eth5:clab-arista-evpn-fabric-core2:eth5">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-core1:eth5:clab-arista-evpn-fabric-core2:eth5-trgt" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-core1:eth5:clab-arista-evpn-fabric-core2:eth5">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-core1:eth5:clab-arista-evpn-fabric-core2:eth5" label="" src_label="eth5" trgt_label="eth5" source="clab-arista-evpn-fabric-core1" target="clab-arista-evpn-fabric-core2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-core1" target="clab-arista-evpn-fabric-core2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth1:clab-arista-evpn-fabric-campus-leaf1:eth11-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth1:clab-arista-evpn-fabric-campus-leaf1:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth1:clab-arista-evpn-fabric-campus-leaf1:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth1:clab-arista-evpn-fabric-campus-leaf1:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth1:clab-arista-evpn-fabric-campus-leaf1:eth11" label="" src_label="eth1" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth2:clab-arista-evpn-fabric-campus-leaf2:eth11-src" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth2:clab-arista-evpn-fabric-campus-leaf2:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth2:clab-arista-evpn-fabric-campus-leaf2:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth2:clab-arista-evpn-fabric-campus-leaf2:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth2:clab-arista-evpn-fabric-campus-leaf2:eth11" label="" src_label="eth2" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth3:clab-arista-evpn-fabric-campus-leaf3:eth11-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth3:clab-arista-evpn-fabric-campus-leaf3:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth3:clab-arista-evpn-fabric-campus-leaf3:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth3:clab-arista-evpn-fabric-campus-leaf3:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth3:clab-arista-evpn-fabric-campus-leaf3:eth11" label="" src_label="eth3" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth4:clab-arista-evpn-fabric-campus-leaf4:eth11-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth4:clab-arista-evpn-fabric-campus-leaf4:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth4:clab-arista-evpn-fabric-campus-leaf4:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth4:clab-arista-evpn-fabric-campus-leaf4:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth4:clab-arista-evpn-fabric-campus-leaf4:eth11" label="" src_label="eth4" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth11-src" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth11" label="" src_label="eth5" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-border-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-border-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth11-src" value="eth6" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth11">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth11-trgt" value="eth11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth11">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine1:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth11" label="" src_label="eth6" trgt_label="eth11" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine1" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth1:clab-arista-evpn-fabric-campus-leaf1:eth12-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth1:clab-arista-evpn-fabric-campus-leaf1:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth1:clab-arista-evpn-fabric-campus-leaf1:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth1:clab-arista-evpn-fabric-campus-leaf1:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth1:clab-arista-evpn-fabric-campus-leaf1:eth12" label="" src_label="eth1" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth2:clab-arista-evpn-fabric-campus-leaf2:eth12-src" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth2:clab-arista-evpn-fabric-campus-leaf2:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth2:clab-arista-evpn-fabric-campus-leaf2:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth2:clab-arista-evpn-fabric-campus-leaf2:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth2:clab-arista-evpn-fabric-campus-leaf2:eth12" label="" src_label="eth2" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth3:clab-arista-evpn-fabric-campus-leaf3:eth12-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth3:clab-arista-evpn-fabric-campus-leaf3:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth3:clab-arista-evpn-fabric-campus-leaf3:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth3:clab-arista-evpn-fabric-campus-leaf3:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth3:clab-arista-evpn-fabric-campus-leaf3:eth12" label="" src_label="eth3" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf3">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth4:clab-arista-evpn-fabric-campus-leaf4:eth12-src" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth4:clab-arista-evpn-fabric-campus-leaf4:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth4:clab-arista-evpn-fabric-campus-leaf4:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth4:clab-arista-evpn-fabric-campus-leaf4:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth4:clab-arista-evpn-fabric-campus-leaf4:eth12" label="" src_label="eth4" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth12-src" value="eth5" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth5:clab-arista-evpn-fabric-campus-border-leaf1:eth12" label="" src_label="eth5" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-border-leaf1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-border-leaf1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth12-src" value="eth6" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth12">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth12-trgt" value="eth12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth12">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-spine2:eth6:clab-arista-evpn-fabric-campus-border-leaf2:eth12" label="" src_label="eth6" trgt_label="eth12" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-spine2" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth3-src" value="eth13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth3">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth3-trgt" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth3">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth13:clab-arista-evpn-fabric-core1:eth3" label="" src_label="eth13" trgt_label="eth3" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-core1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-core1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth3-src" value="eth14" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth3">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth3-trgt" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth3">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth14:clab-arista-evpn-fabric-core2:eth3" label="" src_label="eth14" trgt_label="eth3" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-core2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-core2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth10:clab-arista-evpn-fabric-campus-border-leaf2:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth10:clab-arista-evpn-fabric-campus-border-leaf2:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth10:clab-arista-evpn-fabric-campus-border-leaf2:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth10:clab-arista-evpn-fabric-campus-border-leaf2:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf1:eth10:clab-arista-evpn-fabric-campus-border-leaf2:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-border-leaf1" target="clab-arista-evpn-fabric-campus-border-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth4-src" value="eth13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth4">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth4-trgt" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth4">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth13:clab-arista-evpn-fabric-core1:eth4" label="" src_label="eth13" trgt_label="eth4" source="clab-arista-evpn-fabric-campus-border-leaf2" target="clab-arista-evpn-fabric-core1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-border-leaf2" target="clab-arista-evpn-fabric-core1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth4-src" value="eth14" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth4">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth4-trgt" value="eth4" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth4">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-border-leaf2:eth14:clab-arista-evpn-fabric-core2:eth4" label="" src_label="eth14" trgt_label="eth4" source="clab-arista-evpn-fabric-campus-border-leaf2" target="clab-arista-evpn-fabric-core2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=1;exitY=0;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-border-leaf2" target="clab-arista-evpn-fabric-core2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth10:clab-arista-evpn-fabric-campus-leaf2:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth10:clab-arista-evpn-fabric-campus-leaf2:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth10:clab-arista-evpn-fabric-campus-leaf2:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth10:clab-arista-evpn-fabric-campus-leaf2:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth10:clab-arista-evpn-fabric-campus-leaf2:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-campus-leaf1" target="clab-arista-evpn-fabric-campus-leaf2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf1" target="clab-arista-evpn-fabric-campus-leaf2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth1:clab-arista-evpn-fabric-campus-access1:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth1:clab-arista-evpn-fabric-campus-access1:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth1:clab-arista-evpn-fabric-campus-access1:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth1:clab-arista-evpn-fabric-campus-access1:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf1:eth1:clab-arista-evpn-fabric-campus-access1:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-campus-leaf1" target="clab-arista-evpn-fabric-campus-access1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf1" target="clab-arista-evpn-fabric-campus-access1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf2:eth1:clab-arista-evpn-fabric-campus-access1:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf2:eth1:clab-arista-evpn-fabric-campus-access1:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf2:eth1:clab-arista-evpn-fabric-campus-access1:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf2:eth1:clab-arista-evpn-fabric-campus-access1:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf2:eth1:clab-arista-evpn-fabric-campus-access1:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-campus-leaf2" target="clab-arista-evpn-fabric-campus-access1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf2" target="clab-arista-evpn-fabric-campus-access1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth10:clab-arista-evpn-fabric-campus-leaf4:eth10-src" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth10:clab-arista-evpn-fabric-campus-leaf4:eth10">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth10:clab-arista-evpn-fabric-campus-leaf4:eth10-trgt" value="eth10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth10:clab-arista-evpn-fabric-campus-leaf4:eth10">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth10:clab-arista-evpn-fabric-campus-leaf4:eth10" label="" src_label="eth10" trgt_label="eth10" source="clab-arista-evpn-fabric-campus-leaf3" target="clab-arista-evpn-fabric-campus-leaf4">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0.5;exitY=0.5;entryX=0;exitX=1;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf3" target="clab-arista-evpn-fabric-campus-leaf4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth1:clab-arista-evpn-fabric-campus-access2:eth1-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth1:clab-arista-evpn-fabric-campus-access2:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth1:clab-arista-evpn-fabric-campus-access2:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth1:clab-arista-evpn-fabric-campus-access2:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf3:eth1:clab-arista-evpn-fabric-campus-access2:eth1" label="" src_label="eth1" trgt_label="eth1" source="clab-arista-evpn-fabric-campus-leaf3" target="clab-arista-evpn-fabric-campus-access2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf3" target="clab-arista-evpn-fabric-campus-access2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf4:eth1:clab-arista-evpn-fabric-campus-access2:eth2-src" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf4:eth1:clab-arista-evpn-fabric-campus-access2:eth2">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-leaf4:eth1:clab-arista-evpn-fabric-campus-access2:eth2-trgt" value="eth2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-leaf4:eth1:clab-arista-evpn-fabric-campus-access2:eth2">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-leaf4:eth1:clab-arista-evpn-fabric-campus-access2:eth2" label="" src_label="eth1" trgt_label="eth2" source="clab-arista-evpn-fabric-campus-leaf4" target="clab-arista-evpn-fabric-campus-access2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-leaf4" target="clab-arista-evpn-fabric-campus-access2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-access1:eth3:clab-arista-evpn-fabric-campus-host1:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-access1:eth3:clab-arista-evpn-fabric-campus-host1:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-access1:eth3:clab-arista-evpn-fabric-campus-host1:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-access1:eth3:clab-arista-evpn-fabric-campus-host1:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-access1:eth3:clab-arista-evpn-fabric-campus-host1:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-campus-access1" target="clab-arista-evpn-fabric-campus-host1">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-access1" target="clab-arista-evpn-fabric-campus-host1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-access2:eth3:clab-arista-evpn-fabric-campus-host2:eth1-src" value="eth3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-access2:eth3:clab-arista-evpn-fabric-campus-host2:eth1">
<mxGeometry x="-0.5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><mxCell id="link_id:link:clab-arista-evpn-fabric-campus-access2:eth3:clab-arista-evpn-fabric-campus-host2:eth1-trgt" value="eth1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];;" vertex="1" connectable="0" parent="link_id:link:clab-arista-evpn-fabric-campus-access2:eth3:clab-arista-evpn-fabric-campus-host2:eth1">
<mxGeometry x="0.5" relative="-1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell><object id="link_id:link:clab-arista-evpn-fabric-campus-access2:eth3:clab-arista-evpn-fabric-campus-host2:eth1" label="" src_label="eth3" trgt_label="eth1" source="clab-arista-evpn-fabric-campus-access2" target="clab-arista-evpn-fabric-campus-host2">
<mxCell style="endArrow=none;jumpStyle=gap;entryY=0;exitY=1;entryX=0.5;exitX=0.5;" edge="1" parent="1" source="clab-arista-evpn-fabric-campus-access2" target="clab-arista-evpn-fabric-campus-host2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</object></root>
</mxGraphModel>
</diagram></mxfile>

1
assets/evpn-lab.clab.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 282 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -0,0 +1,56 @@
! Campus-Access1 Configuration
! L2-only access switch for Campus VTEP1 (campus-leaf1/dc-leaf2)
!
hostname campus-access1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! VLANs
vlan 60
name vrf-gold-campus-subnet1
!
! Management interface
interface Management0
ip address 172.16.0.61/24
!
! Spanning-tree
spanning-tree mode mstp
spanning-tree edge-port bpduguard default
!
! Uplink to campus leaf MLAG pair (Port-Channel 10)
interface Ethernet1
description campus-leaf1-uplink
channel-group 10 mode active
!
interface Ethernet2
description campus-leaf2-uplink
channel-group 10 mode active
!
interface Port-Channel10
description uplink-to-campus-leaf-mlag
switchport mode trunk
switchport trunk allowed vlan 60
no shutdown
!
! Host-facing access port (single-attached endpoint in VLAN 60)
interface Ethernet3
description campus-host1
switchport mode access
switchport access vlan 60
spanning-tree portfast
spanning-tree bpduguard enable
no shutdown
!
! Default route for management
ip route 0.0.0.0/0 172.16.0.254
!
end

View File

@@ -0,0 +1,56 @@
! Campus-Access2 Configuration
! L2-only access switch for Campus VTEP2 (campus-leaf3/dc-leaf4)
!
hostname campus-access2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! VLANs
vlan 70
name vrf-gold-campus-subnet2
!
! Management interface
interface Management0
ip address 172.16.0.62/24
!
! Spanning-tree
spanning-tree mode mstp
spanning-tree edge-port bpduguard default
!
! Uplink to campus leaf MLAG pair (Port-Channel 10)
interface Ethernet1
description campus-leaf3-uplink
channel-group 10 mode active
!
interface Ethernet2
description campus-leaf4-uplink
channel-group 10 mode active
!
interface Port-Channel10
description uplink-to-campus-leaf-mlag
switchport mode trunk
switchport trunk allowed vlan 70
no shutdown
!
! Host-facing access port (single-attached endpoint in VLAN 70)
interface Ethernet3
description campus-host2
switchport mode access
switchport access vlan 70
spanning-tree portfast
spanning-tree bpduguard enable
no shutdown
!
! Default route for management
ip route 0.0.0.0/0 172.16.0.254
!
end

View File

@@ -0,0 +1,238 @@
! 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 campus-border-leaf1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.22/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.254/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.4/31
mtu 9214
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.21/32
!
interface Loopback1
description VTEP
ip address 10.1.255.21/32
!
interface Loopback2
description VRF-Gold-health
vrf gold
ip address 10.1.250.221/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.9/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.9/31
mtu 9214
!
! Uplink to Core1 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet13
description core1
no switchport
mtu 9214
!
interface Ethernet13.100
description core1-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.1/31
mtu 9214
!
interface Ethernet13.200
description core1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.1/31
mtu 9214
!
! Uplink to Core2
interface Ethernet14
description core2
no switchport
mtu 9214
!
interface Ethernet14.100
description core2-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.5/31
mtu 9214
!
interface Ethernet14.200
description core2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.5/31
mtu 9214
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id border-leafs-campus
local-interface Vlan4090
peer-address 10.1.199.255
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.23 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability with Core (default VRF)
router ospf 1
router-id 10.1.250.21
passive-interface default
no passive-interface Ethernet13.100
no passive-interface Ethernet14.100
network 10.1.250.21/32 area 0
network 10.0.5.0/31 area 0
network 10.0.5.4/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 66005
router-id 10.1.250.21
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group (to Campus spines)
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.8 peer group underlay
neighbor 10.1.2.8 peer group underlay
!
! iBGP peer-group (to MLAG peer)
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66005
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.5 peer group underlay_ibgp
!
! EVPN peer-group (to Campus spines)
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! eBGP to Core routers (default VRF)
neighbor core peer group
neighbor core remote-as 65500
neighbor core send-community extended
neighbor core maximum-routes 12000 warning-only
neighbor 10.0.5.0 peer group core
neighbor 10.0.5.4 peer group core
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
neighbor core activate
network 10.1.250.21/32
network 10.1.255.21/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.21:1
route-target import evpn 1:100001
route-target export evpn 1:100001
router-id 10.1.250.21
neighbor 10.0.15.0 remote-as 65500
neighbor 10.0.15.0 send-community extended
neighbor 10.0.15.0 maximum-routes 12000 warning-only
neighbor 10.0.15.4 remote-as 65500
neighbor 10.0.15.4 send-community extended
neighbor 10.0.15.4 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.15.0 activate
neighbor 10.0.15.4 activate
!
redistribute connected
!
end

View File

@@ -0,0 +1,238 @@
! 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 campus-border-leaf2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.23/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.255/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.5/31
mtu 9214
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.22/32
!
interface Loopback1
description VTEP
ip address 10.1.255.21/32
!
interface Loopback2
description VRF-Gold-health
vrf gold
ip address 10.1.250.222/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.11/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.11/31
mtu 9214
!
! Uplink to Core1 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet13
description core1
no switchport
mtu 9214
!
interface Ethernet13.100
description core1-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.3/31
mtu 9214
!
interface Ethernet13.200
description core1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.3/31
mtu 9214
!
! Uplink to Core2
interface Ethernet14
description core2
no switchport
mtu 9214
!
interface Ethernet14.100
description core2-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.7/31
mtu 9214
!
interface Ethernet14.200
description core2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.7/31
mtu 9214
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id border-leafs-campus
local-interface Vlan4090
peer-address 10.1.199.254
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.22 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability with Core (default VRF)
router ospf 1
router-id 10.1.250.22
passive-interface default
no passive-interface Ethernet13.100
no passive-interface Ethernet14.100
network 10.1.250.22/32 area 0
network 10.0.5.2/31 area 0
network 10.0.5.6/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 66005
router-id 10.1.250.22
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group (to Campus spines)
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.10 peer group underlay
neighbor 10.1.2.10 peer group underlay
!
! iBGP peer-group (to MLAG peer)
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66005
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.4 peer group underlay_ibgp
!
! EVPN peer-group (to Campus spines)
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! eBGP to Core routers (default VRF)
neighbor core peer group
neighbor core remote-as 65500
neighbor core send-community extended
neighbor core maximum-routes 12000 warning-only
neighbor 10.0.5.2 peer group core
neighbor 10.0.5.6 peer group core
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
neighbor core activate
network 10.1.250.22/32
network 10.1.255.21/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.22:1
route-target import evpn 1:100001
route-target export evpn 1:100001
router-id 10.1.250.22
neighbor 10.0.15.2 remote-as 65500
neighbor 10.0.15.2 send-community extended
neighbor 10.0.15.2 maximum-routes 12000 warning-only
neighbor 10.0.15.6 remote-as 65500
neighbor 10.0.15.6 send-community extended
neighbor 10.0.15.6 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.15.2 activate
neighbor 10.0.15.6 activate
!
redistribute connected
!
end

195
configs/campus-leaf1.cfg Normal file
View File

@@ -0,0 +1,195 @@
! Campus-Leaf1 Configuration
! Campus VTEP1 - AS 66001 (MLAG pair with campus-leaf2)
!
hostname campus-leaf1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 50
name test-l2-vxlan-campus
!
vlan 60
name vrf-gold-campus-subnet1
!
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.51/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.252/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.0/31
mtu 9214
!
! VRF VLAN Interface
interface Vlan60
vrf gold
ip address 10.60.60.2/24
ip virtual-router address 10.60.60.1
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.11/32
!
interface Loopback1
description VTEP
ip address 10.1.255.11/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.1/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.1/31
mtu 9214
!
! Access-facing interface (MLAG with LACP)
interface Ethernet1
description campus-access1
channel-group 1 mode active
!
interface Port-Channel1
description campus-access1
switchport mode trunk
switchport trunk allowed vlan 60
mlag 1
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
no shutdown
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id campus-leafs
local-interface Vlan4090
peer-address 10.1.199.253
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.52 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vlan 50 vni 110050
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! BGP Configuration
router bgp 66001
router-id 10.1.250.11
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.0 peer group underlay
neighbor 10.1.2.0 peer group underlay
!
! iBGP peer-group
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66001
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.1 peer group underlay_ibgp
!
! EVPN peer-group
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! VLAN 50 for L2 VXLAN (stretched across Campus VTEPs)
vlan 50
rd 66001:110050
route-target both 50:110050
redistribute learned
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
network 10.1.250.11/32
network 10.1.255.11/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.11:1
route-target import evpn 1:100001
route-target export evpn 1:100001
redistribute connected
!
end

195
configs/campus-leaf2.cfg Normal file
View File

@@ -0,0 +1,195 @@
! Campus-Leaf2 Configuration
! Campus VTEP1 - AS 66001 (MLAG pair with campus-leaf1)
!
hostname campus-leaf2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 50
name test-l2-vxlan-campus
!
vlan 60
name vrf-gold-campus-subnet1
!
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.52/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.253/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.1/31
mtu 9214
!
! VRF VLAN Interface
interface Vlan60
vrf gold
ip address 10.60.60.3/24
ip virtual-router address 10.60.60.1
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.12/32
!
interface Loopback1
description VTEP
ip address 10.1.255.11/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.3/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.3/31
mtu 9214
!
! Access-facing interface (MLAG with LACP)
interface Ethernet1
description campus-access1
channel-group 1 mode active
!
interface Port-Channel1
description campus-access1
switchport mode trunk
switchport trunk allowed vlan 60
mlag 1
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
no shutdown
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id campus-leafs
local-interface Vlan4090
peer-address 10.1.199.252
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.51 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vlan 50 vni 110050
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! BGP Configuration
router bgp 66001
router-id 10.1.250.12
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.2 peer group underlay
neighbor 10.1.2.2 peer group underlay
!
! iBGP peer-group
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66001
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.0 peer group underlay_ibgp
!
! EVPN peer-group
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! VLAN 50 for L2 VXLAN (stretched across Campus VTEPs)
vlan 50
rd 66001:110050
route-target both 50:110050
redistribute learned
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
network 10.1.250.12/32
network 10.1.255.11/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.12:1
route-target import evpn 1:100001
route-target export evpn 1:100001
redistribute connected
!
end

195
configs/campus-leaf3.cfg Normal file
View File

@@ -0,0 +1,195 @@
! Campus-Leaf3 Configuration
! Campus VTEP2 - AS 66002 (MLAG pair with campus-leaf4)
!
hostname campus-leaf3
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 50
name test-l2-vxlan-campus
!
vlan 70
name vrf-gold-campus-subnet2
!
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.53/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.250/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.2/31
mtu 9214
!
! VRF VLAN Interface
interface Vlan70
vrf gold
ip address 10.60.70.2/24
ip virtual-router address 10.60.70.1
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.13/32
!
interface Loopback1
description VTEP
ip address 10.1.255.12/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.5/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.5/31
mtu 9214
!
! Access-facing interface (MLAG with LACP)
interface Ethernet1
description campus-access2
channel-group 1 mode active
!
interface Port-Channel1
description campus-access2
switchport mode trunk
switchport trunk allowed vlan 70
mlag 1
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
no shutdown
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id campus-leafs
local-interface Vlan4090
peer-address 10.1.199.251
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.54 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vlan 50 vni 110050
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! BGP Configuration
router bgp 66002
router-id 10.1.250.13
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.4 peer group underlay
neighbor 10.1.2.4 peer group underlay
!
! iBGP peer-group
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66002
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.3 peer group underlay_ibgp
!
! EVPN peer-group
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! VLAN 50 for L2 VXLAN (stretched across Campus VTEPs)
vlan 50
rd 66002:110050
route-target both 50:110050
redistribute learned
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
network 10.1.250.13/32
network 10.1.255.12/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.13:1
route-target import evpn 1:100001
route-target export evpn 1:100001
redistribute connected
!
end

195
configs/campus-leaf4.cfg Normal file
View File

@@ -0,0 +1,195 @@
! Campus-Leaf4 Configuration
! Campus VTEP2 - AS 66002 (MLAG pair with campus-leaf3)
!
hostname campus-leaf4
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 50
name test-l2-vxlan-campus
!
vlan 70
name vrf-gold-campus-subnet2
!
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.54/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.1.199.251/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.1.3.3/31
mtu 9214
!
! VRF VLAN Interface
interface Vlan70
vrf gold
ip address 10.60.70.3/24
ip virtual-router address 10.60.70.1
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.1.250.14/32
!
interface Loopback1
description VTEP
ip address 10.1.255.12/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Campus Spines
interface Ethernet11
description campus-spine1
no switchport
ip address 10.1.1.7/31
mtu 9214
!
interface Ethernet12
description campus-spine2
no switchport
ip address 10.1.2.7/31
mtu 9214
!
! Access-facing interface (MLAG with LACP)
interface Ethernet1
description campus-access2
channel-group 1 mode active
!
interface Port-Channel1
description campus-access2
switchport mode trunk
switchport trunk allowed vlan 70
mlag 1
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
no shutdown
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id campus-leafs
local-interface Vlan4090
peer-address 10.1.199.250
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.53 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vlan 50 vni 110050
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! BGP Configuration
router bgp 66002
router-id 10.1.250.14
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group
neighbor underlay peer group
neighbor underlay remote-as 66000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.1.1.6 peer group underlay
neighbor 10.1.2.6 peer group underlay
!
! iBGP peer-group
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 66002
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.1.3.2 peer group underlay_ibgp
!
! EVPN peer-group
neighbor evpn peer group
neighbor evpn remote-as 66000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.1.250.1 peer group evpn
neighbor 10.1.250.2 peer group evpn
!
! VLAN 50 for L2 VXLAN (stretched across Campus VTEPs)
vlan 50
rd 66002:110050
route-target both 50:110050
redistribute learned
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
network 10.1.250.14/32
network 10.1.255.12/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.1.250.14:1
route-target import evpn 1:100001
route-target export evpn 1:100001
redistribute connected
!
end

124
configs/campus-spine1.cfg Normal file
View File

@@ -0,0 +1,124 @@
! Campus-Spine1 Configuration
! Campus BGP EVPN Spine - AS 66000
!
hostname campus-spine1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
ip route 100.64.0.0/10 172.16.0.254
!
! Enable routing protocols
service routing protocols model multi-agent
!
! Management interface
interface Management0
ip address 172.16.0.20/24
!
! Loopback for BGP Router-ID
interface Loopback0
ip address 10.1.250.1/32
!
! Underlay P2P interfaces to Campus Leafs
interface Ethernet1
description campus-leaf1
no switchport
ip address 10.1.1.0/31
mtu 9214
!
interface Ethernet2
description campus-leaf2
no switchport
ip address 10.1.1.2/31
mtu 9214
!
interface Ethernet3
description campus-leaf3
no switchport
ip address 10.1.1.4/31
mtu 9214
!
interface Ethernet4
description campus-leaf4
no switchport
ip address 10.1.1.6/31
mtu 9214
!
! Underlay P2P interfaces to Campus Border Leafs
interface Ethernet5
description campus-border-leaf1
no switchport
ip address 10.1.1.8/31
mtu 9214
!
interface Ethernet6
description campus-border-leaf2
no switchport
ip address 10.1.1.10/31
mtu 9214
!
! BGP Configuration
router bgp 66000
router-id 10.1.250.1
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay IPv4 neighbors
neighbor 10.1.1.1 remote-as 66001
neighbor 10.1.1.3 remote-as 66001
neighbor 10.1.1.5 remote-as 66002
neighbor 10.1.1.7 remote-as 66002
neighbor 10.1.1.9 remote-as 66005
neighbor 10.1.1.11 remote-as 66005
!
! EVPN peer-group configuration
neighbor evpn peer group
neighbor evpn next-hop-unchanged
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
!
! EVPN neighbors (to campus leaf loopbacks)
neighbor 10.1.250.11 peer group evpn
neighbor 10.1.250.11 remote-as 66001
neighbor 10.1.250.12 peer group evpn
neighbor 10.1.250.12 remote-as 66001
neighbor 10.1.250.13 peer group evpn
neighbor 10.1.250.13 remote-as 66002
neighbor 10.1.250.14 peer group evpn
neighbor 10.1.250.14 remote-as 66002
!
! EVPN neighbors (to campus border-leaf loopbacks)
neighbor 10.1.250.21 peer group evpn
neighbor 10.1.250.21 remote-as 66005
neighbor 10.1.250.22 peer group evpn
neighbor 10.1.250.22 remote-as 66005
!
! IPv4 address family
address-family ipv4
neighbor 10.1.1.1 activate
neighbor 10.1.1.3 activate
neighbor 10.1.1.5 activate
neighbor 10.1.1.7 activate
neighbor 10.1.1.9 activate
neighbor 10.1.1.11 activate
network 10.1.250.1/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
end

124
configs/campus-spine2.cfg Normal file
View File

@@ -0,0 +1,124 @@
! Campus-Spine2 Configuration
! Campus BGP EVPN Spine - AS 66000
!
hostname campus-spine2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
ip route 100.64.0.0/10 172.16.0.254
!
! Enable routing protocols
service routing protocols model multi-agent
!
! Management interface
interface Management0
ip address 172.16.0.21/24
!
! Loopback for BGP Router-ID
interface Loopback0
ip address 10.1.250.2/32
!
! Underlay P2P interfaces to Campus Leafs
interface Ethernet1
description campus-leaf1
no switchport
ip address 10.1.2.0/31
mtu 9214
!
interface Ethernet2
description campus-leaf2
no switchport
ip address 10.1.2.2/31
mtu 9214
!
interface Ethernet3
description campus-leaf3
no switchport
ip address 10.1.2.4/31
mtu 9214
!
interface Ethernet4
description campus-leaf4
no switchport
ip address 10.1.2.6/31
mtu 9214
!
! Underlay P2P interfaces to Campus Border Leafs
interface Ethernet5
description campus-border-leaf1
no switchport
ip address 10.1.2.8/31
mtu 9214
!
interface Ethernet6
description campus-border-leaf2
no switchport
ip address 10.1.2.10/31
mtu 9214
!
! BGP Configuration
router bgp 66000
router-id 10.1.250.2
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay IPv4 neighbors
neighbor 10.1.2.1 remote-as 66001
neighbor 10.1.2.3 remote-as 66001
neighbor 10.1.2.5 remote-as 66002
neighbor 10.1.2.7 remote-as 66002
neighbor 10.1.2.9 remote-as 66005
neighbor 10.1.2.11 remote-as 66005
!
! EVPN peer-group configuration
neighbor evpn peer group
neighbor evpn next-hop-unchanged
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
!
! EVPN neighbors (to campus leaf loopbacks)
neighbor 10.1.250.11 peer group evpn
neighbor 10.1.250.11 remote-as 66001
neighbor 10.1.250.12 peer group evpn
neighbor 10.1.250.12 remote-as 66001
neighbor 10.1.250.13 peer group evpn
neighbor 10.1.250.13 remote-as 66002
neighbor 10.1.250.14 peer group evpn
neighbor 10.1.250.14 remote-as 66002
!
! EVPN neighbors (to campus border-leaf loopbacks)
neighbor 10.1.250.21 peer group evpn
neighbor 10.1.250.21 remote-as 66005
neighbor 10.1.250.22 peer group evpn
neighbor 10.1.250.22 remote-as 66005
!
! IPv4 address family
address-family ipv4
neighbor 10.1.2.1 activate
neighbor 10.1.2.3 activate
neighbor 10.1.2.5 activate
neighbor 10.1.2.7 activate
neighbor 10.1.2.9 activate
neighbor 10.1.2.11 activate
network 10.1.250.2/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
end

232
configs/core1.cfg Normal file
View File

@@ -0,0 +1,232 @@
! Core1 Configuration
! Core Router - AS 65500
! Transit between DC Border Leafs and Campus Border Leafs
!
hostname core1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! Management interface
interface Management0
ip address 172.16.0.10/24
!
! Loopback for BGP Router-ID (default VRF)
interface Loopback0
description Router-ID
ip address 10.0.200.1/32
!
! Loopback in VRF Gold (router-id and health)
interface Loopback1
description VRF-Gold-RouterID
vrf gold
ip address 10.0.200.101/32
!
! Link to DC Border Leaf 1 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet1
description dc-border-leaf1
no switchport
mtu 9214
!
interface Ethernet1.100
description dc-border-leaf1-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.0/31
mtu 9214
!
interface Ethernet1.200
description dc-border-leaf1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.0/31
mtu 9214
!
! Link to DC Border Leaf 2
interface Ethernet2
description dc-border-leaf2
no switchport
mtu 9214
!
interface Ethernet2.100
description dc-border-leaf2-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.2/31
mtu 9214
!
interface Ethernet2.200
description dc-border-leaf2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.2/31
mtu 9214
!
! Link to Campus Border Leaf 1
interface Ethernet3
description campus-border-leaf1
no switchport
mtu 9214
!
interface Ethernet3.100
description campus-border-leaf1-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.0/31
mtu 9214
!
interface Ethernet3.200
description campus-border-leaf1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.0/31
mtu 9214
!
! Link to Campus Border Leaf 2
interface Ethernet4
description campus-border-leaf2
no switchport
mtu 9214
!
interface Ethernet4.100
description campus-border-leaf2-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.2/31
mtu 9214
!
interface Ethernet4.200
description campus-border-leaf2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.2/31
mtu 9214
!
! Inter-Core link
interface Ethernet5
description core2
no switchport
mtu 9214
!
interface Ethernet5.100
description core2-underlay
encapsulation dot1q vlan 100
ip address 10.0.200.128/31
mtu 9214
!
interface Ethernet5.200
description core2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.200.130/31
mtu 9214
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability (default VRF)
router ospf 1
router-id 10.0.200.1
passive-interface default
no passive-interface Ethernet1.100
no passive-interface Ethernet2.100
no passive-interface Ethernet3.100
no passive-interface Ethernet4.100
no passive-interface Ethernet5.100
network 10.0.200.1/32 area 0
network 10.0.4.0/31 area 0
network 10.0.4.2/31 area 0
network 10.0.5.0/31 area 0
network 10.0.5.2/31 area 0
network 10.0.200.128/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 65500
router-id 10.0.200.1
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! iBGP to core2 (loopback-based, default VRF)
neighbor core_ibgp peer group
neighbor core_ibgp remote-as 65500
neighbor core_ibgp update-source Loopback0
neighbor core_ibgp next-hop-self
neighbor core_ibgp send-community extended
neighbor core_ibgp maximum-routes 12000 warning-only
neighbor 10.0.200.2 peer group core_ibgp
!
! eBGP to DC Border Leafs (default VRF)
neighbor dc_bl peer group
neighbor dc_bl remote-as 65005
neighbor dc_bl send-community extended
neighbor dc_bl maximum-routes 12000 warning-only
neighbor 10.0.4.1 peer group dc_bl
neighbor 10.0.4.3 peer group dc_bl
!
! eBGP to Campus Border Leafs (default VRF)
neighbor campus_bl peer group
neighbor campus_bl remote-as 66005
neighbor campus_bl send-community extended
neighbor campus_bl maximum-routes 12000 warning-only
neighbor 10.0.5.1 peer group campus_bl
neighbor 10.0.5.3 peer group campus_bl
!
! IPv4 address family (default VRF)
address-family ipv4
neighbor core_ibgp activate
neighbor dc_bl activate
neighbor campus_bl activate
network 10.0.200.1/32
!
! VRF Gold configuration - transit for inter-fabric routing
vrf gold
rd 10.0.200.1:100001
router-id 10.0.200.1
! iBGP to core2 in VRF gold (P2P)
neighbor 10.0.200.131 remote-as 65500
neighbor 10.0.200.131 next-hop-self
neighbor 10.0.200.131 send-community extended
neighbor 10.0.200.131 maximum-routes 12000 warning-only
! eBGP to DC Border Leafs in VRF gold
neighbor 10.0.14.1 remote-as 65005
neighbor 10.0.14.1 send-community extended
neighbor 10.0.14.1 maximum-routes 12000 warning-only
neighbor 10.0.14.3 remote-as 65005
neighbor 10.0.14.3 send-community extended
neighbor 10.0.14.3 maximum-routes 12000 warning-only
! eBGP to Campus Border Leafs in VRF gold
neighbor 10.0.15.1 remote-as 66005
neighbor 10.0.15.1 send-community extended
neighbor 10.0.15.1 maximum-routes 12000 warning-only
neighbor 10.0.15.3 remote-as 66005
neighbor 10.0.15.3 send-community extended
neighbor 10.0.15.3 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.14.1 activate
neighbor 10.0.14.3 activate
neighbor 10.0.15.1 activate
neighbor 10.0.15.3 activate
neighbor 10.0.200.131 activate
!
redistribute connected
!
end

232
configs/core2.cfg Normal file
View File

@@ -0,0 +1,232 @@
! Core2 Configuration
! Core Router - AS 65500
! Transit between DC Border Leafs and Campus Border Leafs
!
hostname core2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! Management interface
interface Management0
ip address 172.16.0.11/24
!
! Loopback for BGP Router-ID (default VRF)
interface Loopback0
description Router-ID
ip address 10.0.200.2/32
!
! Loopback in VRF Gold (router-id and health)
interface Loopback1
description VRF-Gold-RouterID
vrf gold
ip address 10.0.200.102/32
!
! Link to DC Border Leaf 1
interface Ethernet1
description dc-border-leaf1
no switchport
mtu 9214
!
interface Ethernet1.100
description dc-border-leaf1-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.4/31
mtu 9214
!
interface Ethernet1.200
description dc-border-leaf1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.4/31
mtu 9214
!
! Link to DC Border Leaf 2
interface Ethernet2
description dc-border-leaf2
no switchport
mtu 9214
!
interface Ethernet2.100
description dc-border-leaf2-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.6/31
mtu 9214
!
interface Ethernet2.200
description dc-border-leaf2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.6/31
mtu 9214
!
! Link to Campus Border Leaf 1
interface Ethernet3
description campus-border-leaf1
no switchport
mtu 9214
!
interface Ethernet3.100
description campus-border-leaf1-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.4/31
mtu 9214
!
interface Ethernet3.200
description campus-border-leaf1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.4/31
mtu 9214
!
! Link to Campus Border Leaf 2
interface Ethernet4
description campus-border-leaf2
no switchport
mtu 9214
!
interface Ethernet4.100
description campus-border-leaf2-underlay
encapsulation dot1q vlan 100
ip address 10.0.5.6/31
mtu 9214
!
interface Ethernet4.200
description campus-border-leaf2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.15.6/31
mtu 9214
!
! Inter-Core link
interface Ethernet5
description core1
no switchport
mtu 9214
!
interface Ethernet5.100
description core1-underlay
encapsulation dot1q vlan 100
ip address 10.0.200.129/31
mtu 9214
!
interface Ethernet5.200
description core1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.200.131/31
mtu 9214
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability (default VRF)
router ospf 1
router-id 10.0.200.2
passive-interface default
no passive-interface Ethernet1.100
no passive-interface Ethernet2.100
no passive-interface Ethernet3.100
no passive-interface Ethernet4.100
no passive-interface Ethernet5.100
network 10.0.200.2/32 area 0
network 10.0.4.4/31 area 0
network 10.0.4.6/31 area 0
network 10.0.5.4/31 area 0
network 10.0.5.6/31 area 0
network 10.0.200.128/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 65500
router-id 10.0.200.2
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! iBGP to core1 (loopback-based, default VRF)
neighbor core_ibgp peer group
neighbor core_ibgp remote-as 65500
neighbor core_ibgp update-source Loopback0
neighbor core_ibgp next-hop-self
neighbor core_ibgp send-community extended
neighbor core_ibgp maximum-routes 12000 warning-only
neighbor 10.0.200.1 peer group core_ibgp
!
! eBGP to DC Border Leafs (default VRF)
neighbor dc_bl peer group
neighbor dc_bl remote-as 65005
neighbor dc_bl send-community extended
neighbor dc_bl maximum-routes 12000 warning-only
neighbor 10.0.4.5 peer group dc_bl
neighbor 10.0.4.7 peer group dc_bl
!
! eBGP to Campus Border Leafs (default VRF)
neighbor campus_bl peer group
neighbor campus_bl remote-as 66005
neighbor campus_bl send-community extended
neighbor campus_bl maximum-routes 12000 warning-only
neighbor 10.0.5.5 peer group campus_bl
neighbor 10.0.5.7 peer group campus_bl
!
! IPv4 address family (default VRF)
address-family ipv4
neighbor core_ibgp activate
neighbor dc_bl activate
neighbor campus_bl activate
network 10.0.200.2/32
!
! VRF Gold configuration - transit for inter-fabric routing
vrf gold
rd 10.0.200.2:100001
router-id 10.0.200.2
! iBGP to core1 in VRF gold (P2P)
neighbor 10.0.200.130 remote-as 65500
neighbor 10.0.200.130 next-hop-self
neighbor 10.0.200.130 send-community extended
neighbor 10.0.200.130 maximum-routes 12000 warning-only
! eBGP to DC Border Leafs in VRF gold
neighbor 10.0.14.5 remote-as 65005
neighbor 10.0.14.5 send-community extended
neighbor 10.0.14.5 maximum-routes 12000 warning-only
neighbor 10.0.14.7 remote-as 65005
neighbor 10.0.14.7 send-community extended
neighbor 10.0.14.7 maximum-routes 12000 warning-only
! eBGP to Campus Border Leafs in VRF gold
neighbor 10.0.15.5 remote-as 66005
neighbor 10.0.15.5 send-community extended
neighbor 10.0.15.5 maximum-routes 12000 warning-only
neighbor 10.0.15.7 remote-as 66005
neighbor 10.0.15.7 send-community extended
neighbor 10.0.15.7 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.14.5 activate
neighbor 10.0.14.7 activate
neighbor 10.0.15.5 activate
neighbor 10.0.15.7 activate
neighbor 10.0.200.130 activate
!
redistribute connected
!
end

View File

@@ -1,7 +1,7 @@
! Access1 Configuration ! DC-Access1 Configuration
! L2-only access switch for VTEP1 (leaf1/leaf2) ! L2-only access switch for VTEP1 (dc-leaf1/dc-leaf2)
! !
hostname access1 hostname dc-access1
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default
! !
! Uplink to leaf MLAG pair (Port-Channel 10) ! Uplink to leaf MLAG pair (Port-Channel 10)
interface Ethernet1 interface Ethernet1
description leaf1-uplink description dc-leaf1-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Ethernet2 interface Ethernet2
description leaf2-uplink description dc-leaf2-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Port-Channel10 interface Port-Channel10
@@ -43,15 +43,15 @@ interface Port-Channel10
! !
! Host-facing downlink (Port-Channel 1) ! Host-facing downlink (Port-Channel 1)
interface Ethernet3 interface Ethernet3
description host1 description dc-server1
channel-group 1 mode active channel-group 1 mode active
! !
interface Ethernet4 interface Ethernet4
description host1 description dc-server1
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description host1 description dc-server1
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
port-channel lacp fallback timeout 5 port-channel lacp fallback timeout 5

View File

@@ -1,7 +1,7 @@
! Access2 Configuration ! DC-Access2 Configuration
! L2-only access switch for VTEP2 (leaf3/leaf4) ! L2-only access switch for VTEP2 (dc-leaf3/dc-leaf4)
! !
hostname access2 hostname dc-access2
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default
! !
! Uplink to leaf MLAG pair (Port-Channel 10) ! Uplink to leaf MLAG pair (Port-Channel 10)
interface Ethernet1 interface Ethernet1
description leaf3-uplink description dc-leaf3-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Ethernet2 interface Ethernet2
description leaf4-uplink description dc-leaf4-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Port-Channel10 interface Port-Channel10
@@ -43,15 +43,15 @@ interface Port-Channel10
! !
! Host-facing downlink (Port-Channel 1) ! Host-facing downlink (Port-Channel 1)
interface Ethernet3 interface Ethernet3
description host2 description dc-server2
channel-group 1 mode active channel-group 1 mode active
! !
interface Ethernet4 interface Ethernet4
description host2 description dc-server2
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description host2 description dc-server2
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 34 switchport trunk allowed vlan 34
port-channel lacp fallback timeout 5 port-channel lacp fallback timeout 5

View File

@@ -1,7 +1,7 @@
! Access3 Configuration ! DC-Access3 Configuration
! L2-only access switch for VTEP3 (leaf5/leaf6) ! L2-only access switch for VTEP3 (dc-leaf5/dc-leaf6)
! !
hostname access3 hostname dc-access3
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default
! !
! Uplink to leaf MLAG pair (Port-Channel 10) ! Uplink to leaf MLAG pair (Port-Channel 10)
interface Ethernet1 interface Ethernet1
description leaf5-uplink description dc-leaf5-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Ethernet2 interface Ethernet2
description leaf6-uplink description dc-leaf6-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Port-Channel10 interface Port-Channel10
@@ -43,15 +43,15 @@ interface Port-Channel10
! !
! Host-facing downlink (Port-Channel 1) ! Host-facing downlink (Port-Channel 1)
interface Ethernet3 interface Ethernet3
description host3 description dc-server3
channel-group 1 mode active channel-group 1 mode active
! !
interface Ethernet4 interface Ethernet4
description host3 description dc-server3
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description host3 description dc-server3
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
port-channel lacp fallback timeout 5 port-channel lacp fallback timeout 5

View File

@@ -1,7 +1,7 @@
! Access4 Configuration ! DC-Access4 Configuration
! L2-only access switch for VTEP4 (leaf7/leaf8) ! L2-only access switch for VTEP4 (dc-leaf7/dc-leaf8)
! !
hostname access4 hostname dc-access4
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -28,11 +28,11 @@ spanning-tree edge-port bpduguard default
! !
! Uplink to leaf MLAG pair (Port-Channel 10) ! Uplink to leaf MLAG pair (Port-Channel 10)
interface Ethernet1 interface Ethernet1
description leaf7-uplink description dc-leaf7-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Ethernet2 interface Ethernet2
description leaf8-uplink description dc-leaf8-uplink
channel-group 10 mode active channel-group 10 mode active
! !
interface Port-Channel10 interface Port-Channel10
@@ -43,15 +43,15 @@ interface Port-Channel10
! !
! Host-facing downlink (Port-Channel 1) ! Host-facing downlink (Port-Channel 1)
interface Ethernet3 interface Ethernet3
description host4 description dc-server4
channel-group 1 mode active channel-group 1 mode active
! !
interface Ethernet4 interface Ethernet4
description host4 description dc-server4
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description host4 description dc-server4
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 78 switchport trunk allowed vlan 78
port-channel lacp fallback timeout 5 port-channel lacp fallback timeout 5

238
configs/dc-border-leaf1.cfg Normal file
View File

@@ -0,0 +1,238 @@
! 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 dc-border-leaf1
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.3/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.0.199.246/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.0.3.8/31
mtu 9214
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.0.250.21/32
!
interface Loopback1
description VTEP
ip address 10.0.255.15/32
!
interface Loopback2
description VRF-Gold-health
vrf gold
ip address 10.0.250.221/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Spines
interface Ethernet11
description dc-spine1
no switchport
ip address 10.0.1.17/31
mtu 9214
!
interface Ethernet12
description dc-spine2
no switchport
ip address 10.0.2.17/31
mtu 9214
!
! Uplink to Core1 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet13
description core1
no switchport
mtu 9214
!
interface Ethernet13.100
description core1-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.1/31
mtu 9214
!
interface Ethernet13.200
description core1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.1/31
mtu 9214
!
! Uplink to Core2 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet14
description core2
no switchport
mtu 9214
!
interface Ethernet14.100
description core2-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.5/31
mtu 9214
!
interface Ethernet14.200
description core2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.5/31
mtu 9214
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id border-leafs-dc
local-interface Vlan4090
peer-address 10.0.199.247
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.4 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability with Core (default VRF)
router ospf 1
router-id 10.0.250.21
passive-interface default
no passive-interface Ethernet13.100
no passive-interface Ethernet14.100
network 10.0.250.21/32 area 0
network 10.0.4.0/31 area 0
network 10.0.4.4/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 65005
router-id 10.0.250.21
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group (to DC spines)
neighbor underlay peer group
neighbor underlay remote-as 65000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.0.1.16 peer group underlay
neighbor 10.0.2.16 peer group underlay
!
! iBGP peer-group (to MLAG peer)
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 65005
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.0.3.9 peer group underlay_ibgp
!
! EVPN peer-group (to DC spines)
neighbor evpn peer group
neighbor evpn remote-as 65000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.0.250.1 peer group evpn
neighbor 10.0.250.2 peer group evpn
!
! eBGP to Core routers (default VRF, underlay peer-group for /31 sessions)
neighbor core peer group
neighbor core remote-as 65500
neighbor core send-community extended
neighbor core maximum-routes 12000 warning-only
neighbor 10.0.4.0 peer group core
neighbor 10.0.4.4 peer group core
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
neighbor core activate
network 10.0.250.21/32
network 10.0.255.15/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.0.250.21:1
route-target import evpn 1:100001
route-target export evpn 1:100001
router-id 10.0.250.21
neighbor 10.0.14.0 remote-as 65500
neighbor 10.0.14.0 send-community extended
neighbor 10.0.14.0 maximum-routes 12000 warning-only
neighbor 10.0.14.4 remote-as 65500
neighbor 10.0.14.4 send-community extended
neighbor 10.0.14.4 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.14.0 activate
neighbor 10.0.14.4 activate
!
redistribute connected
!
end

238
configs/dc-border-leaf2.cfg Normal file
View File

@@ -0,0 +1,238 @@
! 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 dc-border-leaf2
!
! LLDP Management0
lldp management-address Management0
!
! enable gNMI API
management api gnmi
transport grpc default
provider eos-native
!
! admin/admin for ssh access
username admin privilege 15 role network-admin secret sha512 $6$xQktFrbdeqEhVzLM$.1wOJB25nw2fqYaSXDu6y4mo6AP9hngMCFe2vGDl84hWoz00Q.4unoEBqspNI0HEoRz.OZhdBHqQv12KABf0B0
!
! Enable IP routing
ip routing
!
! Enable routing protocols
service routing protocols model multi-agent
!
! VRF Definition
vrf instance gold
!
! VLANs
vlan 4090
name mlag-peer
trunk group mlag-peer
!
vlan 4091
name mlag-ibgp
trunk group mlag-peer
!
! Management interface
interface Management0
ip address 172.16.0.4/24
!
! MLAG Peer-link SVI
interface Vlan4090
description MLAG Peer-Link
ip address 10.0.199.247/31
no autostate
!
! iBGP Peering SVI
interface Vlan4091
description MLAG iBGP Peering
ip address 10.0.3.9/31
mtu 9214
!
! Loopbacks
interface Loopback0
description Router-ID
ip address 10.0.250.22/32
!
interface Loopback1
description VTEP
ip address 10.0.255.15/32
!
interface Loopback2
description VRF-Gold-health
vrf gold
ip address 10.0.250.222/32
!
! MLAG Peer-link
interface Ethernet10
description mlag peer link
channel-group 999 mode active
!
interface Port-Channel999
description MLAG Peer
switchport mode trunk
switchport trunk group mlag-peer
spanning-tree link-type point-to-point
!
! Underlay P2P interfaces to Spines
interface Ethernet11
description dc-spine1
no switchport
ip address 10.0.1.19/31
mtu 9214
!
interface Ethernet12
description dc-spine2
no switchport
ip address 10.0.2.19/31
mtu 9214
!
! Uplink to Core1 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet13
description core1
no switchport
mtu 9214
!
interface Ethernet13.100
description core1-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.3/31
mtu 9214
!
interface Ethernet13.200
description core1-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.3/31
mtu 9214
!
! Uplink to Core2 (subinterfaced: .100 default VRF, .200 VRF gold)
interface Ethernet14
description core2
no switchport
mtu 9214
!
interface Ethernet14.100
description core2-underlay
encapsulation dot1q vlan 100
ip address 10.0.4.7/31
mtu 9214
!
interface Ethernet14.200
description core2-vrf-gold
encapsulation dot1q vlan 200
vrf gold
ip address 10.0.14.7/31
mtu 9214
!
! Spanning-tree
no spanning-tree vlan 4090
no spanning-tree vlan 4091
!
! Virtual MAC for Anycast Gateway
ip virtual-router mac-address c001.cafe.babe
!
! MLAG Configuration
mlag configuration
domain-id border-leafs-dc
local-interface Vlan4090
peer-address 10.0.199.246
peer-link Port-Channel999
dual-primary detection delay 10 action errdisable all-interfaces
peer-address heartbeat 172.16.0.3 vrf mgmt
!
! VXLAN Interface
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan learn-restrict any
vxlan vrf gold vni 100001
!
! IP Routing
ip routing
ip routing vrf gold
ip route 100.64.0.0/10 172.16.0.254
!
! OSPF for loopback reachability with Core (default VRF)
router ospf 1
router-id 10.0.250.22
passive-interface default
no passive-interface Ethernet13.100
no passive-interface Ethernet14.100
network 10.0.250.22/32 area 0
network 10.0.4.2/31 area 0
network 10.0.4.6/31 area 0
max-lsa 12000
!
! BGP Configuration
router bgp 65005
router-id 10.0.250.22
no bgp default ipv4-unicast
bgp log-neighbor-changes
distance bgp 20 200 200
maximum-paths 4 ecmp 64
!
! Underlay peer-group (to DC spines)
neighbor underlay peer group
neighbor underlay remote-as 65000
neighbor underlay maximum-routes 12000 warning-only
neighbor 10.0.1.18 peer group underlay
neighbor 10.0.2.18 peer group underlay
!
! iBGP peer-group (to MLAG peer)
neighbor underlay_ibgp peer group
neighbor underlay_ibgp remote-as 65005
neighbor underlay_ibgp maximum-routes 12000 warning-only
neighbor underlay_ibgp next-hop-self
neighbor 10.0.3.8 peer group underlay_ibgp
!
! EVPN peer-group (to DC spines)
neighbor evpn peer group
neighbor evpn remote-as 65000
neighbor evpn update-source Loopback0
neighbor evpn ebgp-multihop 3
neighbor evpn send-community extended
neighbor evpn maximum-routes 12000 warning-only
neighbor 10.0.250.1 peer group evpn
neighbor 10.0.250.2 peer group evpn
!
! eBGP to Core routers (default VRF)
neighbor core peer group
neighbor core remote-as 65500
neighbor core send-community extended
neighbor core maximum-routes 12000 warning-only
neighbor 10.0.4.2 peer group core
neighbor 10.0.4.6 peer group core
!
! IPv4 address family
address-family ipv4
neighbor underlay activate
neighbor underlay_ibgp activate
neighbor core activate
network 10.0.250.22/32
network 10.0.255.15/32
!
! EVPN address family
address-family evpn
neighbor evpn activate
!
! VRF Gold configuration
vrf gold
rd 10.0.250.22:1
route-target import evpn 1:100001
route-target export evpn 1:100001
router-id 10.0.250.22
neighbor 10.0.14.2 remote-as 65500
neighbor 10.0.14.2 send-community extended
neighbor 10.0.14.2 maximum-routes 12000 warning-only
neighbor 10.0.14.6 remote-as 65500
neighbor 10.0.14.6 send-community extended
neighbor 10.0.14.6 maximum-routes 12000 warning-only
!
address-family ipv4
neighbor 10.0.14.2 activate
neighbor 10.0.14.6 activate
!
redistribute connected
!
end

View File

@@ -1,7 +1,7 @@
! Leaf1 Configuration ! DC-Leaf1 Configuration
! VTEP1 - AS 65001 ! VTEP1 - AS 65001
! !
hostname leaf1 hostname dc-leaf1
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -67,24 +67,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.1/31 ip address 10.0.1.1/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.1/31 ip address 10.0.2.1/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access1 description dc-access1
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access1 description dc-access1
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf2 Configuration ! DC-Leaf2 Configuration
! VTEP1 - AS 65001 ! VTEP1 - AS 65001
! !
hostname leaf2 hostname dc-leaf2
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -67,24 +67,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.3/31 ip address 10.0.1.3/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.3/31 ip address 10.0.2.3/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access1 description dc-access1
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access1 description dc-access1
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf3 Configuration ! DC-Leaf3 Configuration
! VTEP2 - AS 65002 ! VTEP2 - AS 65002
! !
hostname leaf3 hostname dc-leaf3
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -80,24 +80,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.5/31 ip address 10.0.1.5/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.5/31 ip address 10.0.2.5/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access2 description dc-access2
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access2 description dc-access2
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 34 switchport trunk allowed vlan 34
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf4 Configuration ! DC-Leaf4 Configuration
! VTEP2 - AS 65002 ! VTEP2 - AS 65002
! !
hostname leaf4 hostname dc-leaf4
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -80,24 +80,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.7/31 ip address 10.0.1.7/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.7/31 ip address 10.0.2.7/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access2 description dc-access2
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access2 description dc-access2
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 34 switchport trunk allowed vlan 34
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf5 Configuration ! DC-Leaf5 Configuration
! VTEP3 - AS 65003 ! VTEP3 - AS 65003
! !
hostname leaf5 hostname dc-leaf5
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -68,24 +68,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.9/31 ip address 10.0.1.9/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.9/31 ip address 10.0.2.9/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access3 description dc-access3
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access3 description dc-access3
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf6 Configuration ! DC-Leaf6 Configuration
! VTEP3 - AS 65003 ! VTEP3 - AS 65003
! !
hostname leaf6 hostname dc-leaf6
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -67,24 +67,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.11/31 ip address 10.0.1.11/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.11/31 ip address 10.0.2.11/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access3 description dc-access3
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access3 description dc-access3
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 40 switchport trunk allowed vlan 40
mlag 1 mlag 1

View File

@@ -1,7 +1,7 @@
! Leaf7 Configuration ! DC-Leaf7 Configuration
! VTEP4 - AS 65004 ! VTEP4 - AS 65004
! !
hostname leaf7 hostname dc-leaf7
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -27,9 +27,6 @@ vrf instance gold
vlan 78 vlan 78
name vrf-gold-subnet name vrf-gold-subnet
! !
vlan 900
name bgp-border
!
vlan 4090 vlan 4090
name mlag-peer name mlag-peer
trunk group mlag-peer trunk group mlag-peer
@@ -60,10 +57,6 @@ interface Vlan78
ip address 10.78.78.2/24 ip address 10.78.78.2/24
ip virtual-router address 10.78.78.1 ip virtual-router address 10.78.78.1
! !
interface Vlan900
vrf gold
ip address 10.90.90.2/29
!
! Loopbacks ! Loopbacks
interface Loopback0 interface Loopback0
description Router-ID description Router-ID
@@ -86,24 +79,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.13/31 ip address 10.0.1.13/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.13/31 ip address 10.0.2.13/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access4 description dc-access4
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access4 description dc-access4
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 78 switchport trunk allowed vlan 78
mlag 1 mlag 1
@@ -187,10 +180,5 @@ router bgp 65004
rd 10.0.250.17:1 rd 10.0.250.17:1
route-target import evpn 1:100001 route-target import evpn 1:100001
route-target export evpn 1:100001 route-target export evpn 1:100001
neighbor 10.90.90.1 remote-as 64999
redistribute connected redistribute connected
!
address-family ipv4
neighbor 10.90.90.1 activate
!
end end

View File

@@ -1,7 +1,7 @@
! Leaf8 Configuration ! DC-Leaf8 Configuration
! VTEP4 - AS 65004 ! VTEP4 - AS 65004
! !
hostname leaf8 hostname dc-leaf8
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -27,9 +27,6 @@ vrf instance gold
vlan 78 vlan 78
name vrf-gold-subnet name vrf-gold-subnet
! !
vlan 900
name bgp-border
!
vlan 4090 vlan 4090
name mlag-peer name mlag-peer
trunk group mlag-peer trunk group mlag-peer
@@ -60,10 +57,6 @@ interface Vlan78
ip address 10.78.78.3/24 ip address 10.78.78.3/24
ip virtual-router address 10.78.78.1 ip virtual-router address 10.78.78.1
! !
interface Vlan900
vrf gold
ip address 10.90.90.3/29
!
! Loopbacks ! Loopbacks
interface Loopback0 interface Loopback0
description Router-ID description Router-ID
@@ -86,24 +79,24 @@ interface Port-Channel999
! !
! Underlay P2P interfaces to Spines ! Underlay P2P interfaces to Spines
interface Ethernet11 interface Ethernet11
description spine1 description dc-spine1
no switchport no switchport
ip address 10.0.1.15/31 ip address 10.0.1.15/31
mtu 9214 mtu 9214
! !
interface Ethernet12 interface Ethernet12
description spine2 description dc-spine2
no switchport no switchport
ip address 10.0.2.15/31 ip address 10.0.2.15/31
mtu 9214 mtu 9214
! !
! Access-facing interface (MLAG with LACP) ! Access-facing interface (MLAG with LACP)
interface Ethernet1 interface Ethernet1
description access4 description dc-access4
channel-group 1 mode active channel-group 1 mode active
! !
interface Port-Channel1 interface Port-Channel1
description access4 description dc-access4
switchport mode trunk switchport mode trunk
switchport trunk allowed vlan 78 switchport trunk allowed vlan 78
mlag 1 mlag 1
@@ -187,10 +180,6 @@ router bgp 65004
rd 10.0.250.18:1 rd 10.0.250.18:1
route-target import evpn 1:100001 route-target import evpn 1:100001
route-target export evpn 1:100001 route-target export evpn 1:100001
neighbor 10.90.90.1 remote-as 64999
redistribute connected redistribute connected
!
address-family ipv4
neighbor 10.90.90.1 activate
! !
end end

View File

@@ -1,7 +1,7 @@
! Spine1 Configuration ! DC-Spine1 Configuration
! BGP EVPN Spine - AS 65000 ! BGP EVPN Spine - AS 65000
! !
hostname spine1 hostname dc-spine1
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -34,53 +34,66 @@ interface Loopback0
! !
! Underlay P2P interfaces to Leafs ! Underlay P2P interfaces to Leafs
interface Ethernet1 interface Ethernet1
description leaf1 description dc-leaf1
no switchport no switchport
ip address 10.0.1.0/31 ip address 10.0.1.0/31
mtu 9214 mtu 9214
! !
interface Ethernet2 interface Ethernet2
description leaf2 description dc-leaf2
no switchport no switchport
ip address 10.0.1.2/31 ip address 10.0.1.2/31
mtu 9214 mtu 9214
! !
interface Ethernet3 interface Ethernet3
description leaf3 description dc-leaf3
no switchport no switchport
ip address 10.0.1.4/31 ip address 10.0.1.4/31
mtu 9214 mtu 9214
! !
interface Ethernet4 interface Ethernet4
description leaf4 description dc-leaf4
no switchport no switchport
ip address 10.0.1.6/31 ip address 10.0.1.6/31
mtu 9214 mtu 9214
! !
interface Ethernet5 interface Ethernet5
description leaf5 description dc-leaf5
no switchport no switchport
ip address 10.0.1.8/31 ip address 10.0.1.8/31
mtu 9214 mtu 9214
! !
interface Ethernet6 interface Ethernet6
description leaf6 description dc-leaf6
no switchport no switchport
ip address 10.0.1.10/31 ip address 10.0.1.10/31
mtu 9214 mtu 9214
! !
interface Ethernet7 interface Ethernet7
description leaf7 description dc-leaf7
no switchport no switchport
ip address 10.0.1.12/31 ip address 10.0.1.12/31
mtu 9214 mtu 9214
! !
interface Ethernet8 interface Ethernet8
description leaf8 description dc-leaf8
no switchport no switchport
ip address 10.0.1.14/31 ip address 10.0.1.14/31
mtu 9214 mtu 9214
! !
! Underlay P2P interfaces to DC Border Leafs
interface Ethernet9
description dc-border-leaf1
no switchport
ip address 10.0.1.16/31
mtu 9214
!
interface Ethernet10
description dc-border-leaf2
no switchport
ip address 10.0.1.18/31
mtu 9214
!
! BGP Configuration ! BGP Configuration
router bgp 65000 router bgp 65000
router-id 10.0.250.1 router-id 10.0.250.1
@@ -98,6 +111,8 @@ router bgp 65000
neighbor 10.0.1.11 remote-as 65003 neighbor 10.0.1.11 remote-as 65003
neighbor 10.0.1.13 remote-as 65004 neighbor 10.0.1.13 remote-as 65004
neighbor 10.0.1.15 remote-as 65004 neighbor 10.0.1.15 remote-as 65004
neighbor 10.0.1.17 remote-as 65005
neighbor 10.0.1.19 remote-as 65005
! !
! EVPN peer-group configuration ! EVPN peer-group configuration
neighbor evpn peer group neighbor evpn peer group
@@ -125,6 +140,12 @@ router bgp 65000
neighbor 10.0.250.18 peer group evpn neighbor 10.0.250.18 peer group evpn
neighbor 10.0.250.18 remote-as 65004 neighbor 10.0.250.18 remote-as 65004
! !
! EVPN neighbors (to DC border-leaf loopbacks)
neighbor 10.0.250.21 peer group evpn
neighbor 10.0.250.21 remote-as 65005
neighbor 10.0.250.22 peer group evpn
neighbor 10.0.250.22 remote-as 65005
!
! IPv4 address family ! IPv4 address family
address-family ipv4 address-family ipv4
neighbor 10.0.1.1 activate neighbor 10.0.1.1 activate
@@ -135,6 +156,8 @@ router bgp 65000
neighbor 10.0.1.11 activate neighbor 10.0.1.11 activate
neighbor 10.0.1.13 activate neighbor 10.0.1.13 activate
neighbor 10.0.1.15 activate neighbor 10.0.1.15 activate
neighbor 10.0.1.17 activate
neighbor 10.0.1.19 activate
network 10.0.250.1/32 network 10.0.250.1/32
! !
! EVPN address family ! EVPN address family

View File

@@ -1,7 +1,7 @@
! Spine2 Configuration ! DC-Spine2 Configuration
! BGP EVPN Spine - AS 65000 ! BGP EVPN Spine - AS 65000
! !
hostname spine2 hostname dc-spine2
! !
! LLDP Management0 ! LLDP Management0
lldp management-address Management0 lldp management-address Management0
@@ -34,53 +34,66 @@ interface Loopback0
! !
! Underlay P2P interfaces to Leafs ! Underlay P2P interfaces to Leafs
interface Ethernet1 interface Ethernet1
description leaf1 description dc-leaf1
no switchport no switchport
ip address 10.0.2.0/31 ip address 10.0.2.0/31
mtu 9214 mtu 9214
! !
interface Ethernet2 interface Ethernet2
description leaf2 description dc-leaf2
no switchport no switchport
ip address 10.0.2.2/31 ip address 10.0.2.2/31
mtu 9214 mtu 9214
! !
interface Ethernet3 interface Ethernet3
description leaf3 description dc-leaf3
no switchport no switchport
ip address 10.0.2.4/31 ip address 10.0.2.4/31
mtu 9214 mtu 9214
! !
interface Ethernet4 interface Ethernet4
description leaf4 description dc-leaf4
no switchport no switchport
ip address 10.0.2.6/31 ip address 10.0.2.6/31
mtu 9214 mtu 9214
! !
interface Ethernet5 interface Ethernet5
description leaf5 description dc-leaf5
no switchport no switchport
ip address 10.0.2.8/31 ip address 10.0.2.8/31
mtu 9214 mtu 9214
! !
interface Ethernet6 interface Ethernet6
description leaf6 description dc-leaf6
no switchport no switchport
ip address 10.0.2.10/31 ip address 10.0.2.10/31
mtu 9214 mtu 9214
! !
interface Ethernet7 interface Ethernet7
description leaf7 description dc-leaf7
no switchport no switchport
ip address 10.0.2.12/31 ip address 10.0.2.12/31
mtu 9214 mtu 9214
! !
interface Ethernet8 interface Ethernet8
description leaf8 description dc-leaf8
no switchport no switchport
ip address 10.0.2.14/31 ip address 10.0.2.14/31
mtu 9214 mtu 9214
! !
! Underlay P2P interfaces to DC Border Leafs
interface Ethernet9
description dc-border-leaf1
no switchport
ip address 10.0.2.16/31
mtu 9214
!
interface Ethernet10
description dc-border-leaf2
no switchport
ip address 10.0.2.18/31
mtu 9214
!
! BGP Configuration ! BGP Configuration
router bgp 65000 router bgp 65000
router-id 10.0.250.2 router-id 10.0.250.2
@@ -98,6 +111,8 @@ router bgp 65000
neighbor 10.0.2.11 remote-as 65003 neighbor 10.0.2.11 remote-as 65003
neighbor 10.0.2.13 remote-as 65004 neighbor 10.0.2.13 remote-as 65004
neighbor 10.0.2.15 remote-as 65004 neighbor 10.0.2.15 remote-as 65004
neighbor 10.0.2.17 remote-as 65005
neighbor 10.0.2.19 remote-as 65005
! !
! EVPN peer-group configuration ! EVPN peer-group configuration
neighbor evpn peer group neighbor evpn peer group
@@ -125,6 +140,12 @@ router bgp 65000
neighbor 10.0.250.18 peer group evpn neighbor 10.0.250.18 peer group evpn
neighbor 10.0.250.18 remote-as 65004 neighbor 10.0.250.18 remote-as 65004
! !
! EVPN neighbors (to DC border-leaf loopbacks)
neighbor 10.0.250.21 peer group evpn
neighbor 10.0.250.21 remote-as 65005
neighbor 10.0.250.22 peer group evpn
neighbor 10.0.250.22 remote-as 65005
!
! IPv4 address family ! IPv4 address family
address-family ipv4 address-family ipv4
neighbor 10.0.2.1 activate neighbor 10.0.2.1 activate
@@ -135,6 +156,8 @@ router bgp 65000
neighbor 10.0.2.11 activate neighbor 10.0.2.11 activate
neighbor 10.0.2.13 activate neighbor 10.0.2.13 activate
neighbor 10.0.2.15 activate neighbor 10.0.2.15 activate
neighbor 10.0.2.17 activate
neighbor 10.0.2.19 activate
network 10.0.250.2/32 network 10.0.250.2/32
! !
! EVPN address family ! EVPN address family

View File

@@ -8,87 +8,102 @@ mgmt:
topology: topology:
kinds: kinds:
arista_ceos: arista_ceos:
image: ceos:4.35.0F image: gitea.arnodo.fr/damien/ceos:4.36.0F
nodes: nodes:
# Spine Switches # =====================================================
spine1: # DATACENTER FABRIC
# =====================================================
# DC Spine Switches (AS 65000)
dc-spine1:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.1 mgmt-ipv4: 172.16.0.1
startup-config: configs/spine1.cfg startup-config: configs/dc-spine1.cfg
spine2: dc-spine2:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.2 mgmt-ipv4: 172.16.0.2
startup-config: configs/spine2.cfg startup-config: configs/dc-spine2.cfg
# Leaf Switches - VTEP1 (AS 65001) # DC Leaf Switches - VTEP1 (AS 65001)
leaf1: dc-leaf1:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.25 mgmt-ipv4: 172.16.0.25
startup-config: configs/leaf1.cfg startup-config: configs/dc-leaf1.cfg
leaf2: dc-leaf2:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.50 mgmt-ipv4: 172.16.0.50
startup-config: configs/leaf2.cfg startup-config: configs/dc-leaf2.cfg
# Leaf Switches - VTEP2 (AS 65002) # DC Leaf Switches - VTEP2 (AS 65002)
leaf3: dc-leaf3:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.27 mgmt-ipv4: 172.16.0.27
startup-config: configs/leaf3.cfg startup-config: configs/dc-leaf3.cfg
leaf4: dc-leaf4:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.28 mgmt-ipv4: 172.16.0.28
startup-config: configs/leaf4.cfg startup-config: configs/dc-leaf4.cfg
# Leaf Switches - VTEP3 (AS 65003) # DC Leaf Switches - VTEP3 (AS 65003)
leaf5: dc-leaf5:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.29 mgmt-ipv4: 172.16.0.29
startup-config: configs/leaf5.cfg startup-config: configs/dc-leaf5.cfg
leaf6: dc-leaf6:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.30 mgmt-ipv4: 172.16.0.30
startup-config: configs/leaf6.cfg startup-config: configs/dc-leaf6.cfg
# Leaf Switches - VTEP4 (AS 65004) # DC Leaf Switches - VTEP4 (AS 65004)
leaf7: dc-leaf7:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.31 mgmt-ipv4: 172.16.0.31
startup-config: configs/leaf7.cfg startup-config: configs/dc-leaf7.cfg
leaf8: dc-leaf8:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.32 mgmt-ipv4: 172.16.0.32
startup-config: configs/leaf8.cfg startup-config: configs/dc-leaf8.cfg
# Access Switches - L2 only # DC Border Leafs - MLAG pair (AS 65005)
access1: dc-border-leaf1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.3
startup-config: configs/dc-border-leaf1.cfg
dc-border-leaf2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.4
startup-config: configs/dc-border-leaf2.cfg
# DC Access Switches - L2 only
dc-access1:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.41 mgmt-ipv4: 172.16.0.41
startup-config: configs/access1.cfg startup-config: configs/dc-access1.cfg
access2: dc-access2:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.42 mgmt-ipv4: 172.16.0.42
startup-config: configs/access2.cfg startup-config: configs/dc-access2.cfg
access3: dc-access3:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.43 mgmt-ipv4: 172.16.0.43
startup-config: configs/access3.cfg startup-config: configs/dc-access3.cfg
access4: dc-access4:
kind: arista_ceos kind: arista_ceos
mgmt-ipv4: 172.16.0.44 mgmt-ipv4: 172.16.0.44
startup-config: configs/access4.cfg startup-config: configs/dc-access4.cfg
# Host devices - DUAL-HOMED with LACP bonding to access switches # DC Host devices - dual-homed with LACP bonding
host1: dc-server1:
kind: linux kind: linux
mgmt-ipv4: 172.16.0.101 mgmt-ipv4: 172.16.0.101
image: ghcr.io/hellt/network-multitool image: ghcr.io/hellt/network-multitool
@@ -109,7 +124,7 @@ topology:
- ip link set bond0.40 up - ip link set bond0.40 up
- ip addr add 10.40.40.101/24 dev bond0.40 - ip addr add 10.40.40.101/24 dev bond0.40
host2: dc-server2:
kind: linux kind: linux
mgmt-ipv4: 172.16.0.102 mgmt-ipv4: 172.16.0.102
image: ghcr.io/hellt/network-multitool image: ghcr.io/hellt/network-multitool
@@ -130,8 +145,9 @@ topology:
- ip link set bond0.34 up - ip link set bond0.34 up
- ip addr add 10.34.34.102/24 dev bond0.34 - ip addr add 10.34.34.102/24 dev bond0.34
- ip route add 10.78.78.0/24 via 10.34.34.1 - 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 kind: linux
mgmt-ipv4: 172.16.0.103 mgmt-ipv4: 172.16.0.103
image: ghcr.io/hellt/network-multitool image: ghcr.io/hellt/network-multitool
@@ -152,14 +168,14 @@ topology:
- ip link set bond0.40 up - ip link set bond0.40 up
- ip addr add 10.40.40.103/24 dev bond0.40 - ip addr add 10.40.40.103/24 dev bond0.40
host4: dc-server4:
kind: linux kind: linux
mgmt-ipv4: 172.16.0.104 mgmt-ipv4: 172.16.0.104
image: ghcr.io/hellt/network-multitool image: ghcr.io/hellt/network-multitool
cap-add: cap-add:
- NET_ADMIN - NET_ADMIN
binds: binds:
- hosts/host4_interfaces:/etc/network/interfaces - hosts/dc-server4_interfaces:/etc/network/interfaces
exec: exec:
- ip link add bond0 type bond mode 802.3ad - ip link add bond0 type bond mode 802.3ad
- ip link set dev bond0 type bond xmit_hash_policy layer3+4 - ip link set dev bond0 type bond xmit_hash_policy layer3+4
@@ -175,64 +191,211 @@ topology:
- ip link set bond0.78 up - ip link set bond0.78 up
- ip addr add 10.78.78.104/24 dev bond0.78 - ip addr add 10.78.78.104/24 dev bond0.78
- ip route add 10.34.34.0/24 via 10.78.78.1 - ip route add 10.34.34.0/24 via 10.78.78.1
- ip route add 10.60.0.0/16 via 10.78.78.1
# =====================================================
# CORE L3 (inter-fabric transit)
# =====================================================
# Core routers (AS 65500, iBGP between them)
core1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.10
startup-config: configs/core1.cfg
core2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.11
startup-config: configs/core2.cfg
# =====================================================
# CAMPUS FABRIC
# =====================================================
# Campus Spines (AS 66000)
campus-spine1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.20
startup-config: configs/campus-spine1.cfg
campus-spine2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.21
startup-config: configs/campus-spine2.cfg
# Campus Border Leafs - MLAG pair (AS 66005)
campus-border-leaf1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.22
startup-config: configs/campus-border-leaf1.cfg
campus-border-leaf2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.23
startup-config: configs/campus-border-leaf2.cfg
# Campus Leafs - VTEP1 (AS 66001)
campus-leaf1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.51
startup-config: configs/campus-leaf1.cfg
campus-leaf2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.52
startup-config: configs/campus-leaf2.cfg
# Campus Leafs - VTEP2 (AS 66002)
campus-leaf3:
kind: arista_ceos
mgmt-ipv4: 172.16.0.53
startup-config: configs/campus-leaf3.cfg
campus-leaf4:
kind: arista_ceos
mgmt-ipv4: 172.16.0.54
startup-config: configs/campus-leaf4.cfg
# Campus Access switches - L2 only
campus-access1:
kind: arista_ceos
mgmt-ipv4: 172.16.0.61
startup-config: configs/campus-access1.cfg
campus-access2:
kind: arista_ceos
mgmt-ipv4: 172.16.0.62
startup-config: configs/campus-access2.cfg
# Campus Hosts - single-attached to access switch (enterprise user endpoint pattern)
campus-host1:
kind: linux
mgmt-ipv4: 172.16.0.105
image: ghcr.io/hellt/network-multitool
cap-add:
- NET_ADMIN
binds:
- hosts/campus-host1_interfaces:/etc/network/interfaces
exec:
- ifup eth1
campus-host2:
kind: linux
mgmt-ipv4: 172.16.0.106
image: ghcr.io/hellt/network-multitool
cap-add:
- NET_ADMIN
binds:
- hosts/campus-host2_interfaces:/etc/network/interfaces
exec:
- ifup eth1
links: links:
# Spine1 to Leaf connections (underlay fabric) # =====================================================
- endpoints: ["spine1:eth1", "leaf1:eth11"] # DATACENTER FABRIC LINKS
- 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) # Spine1 to Leaf/Border-Leaf connections (underlay)
- endpoints: ["spine2:eth1", "leaf1:eth12"] - endpoints: ["dc-spine1:eth1", "dc-leaf1:eth11"]
- endpoints: ["spine2:eth2", "leaf2:eth12"] - endpoints: ["dc-spine1:eth2", "dc-leaf2:eth11"]
- endpoints: ["spine2:eth3", "leaf3:eth12"] - endpoints: ["dc-spine1:eth3", "dc-leaf3:eth11"]
- endpoints: ["spine2:eth4", "leaf4:eth12"] - endpoints: ["dc-spine1:eth4", "dc-leaf4:eth11"]
- endpoints: ["spine2:eth5", "leaf5:eth12"] - endpoints: ["dc-spine1:eth5", "dc-leaf5:eth11"]
- endpoints: ["spine2:eth6", "leaf6:eth12"] - endpoints: ["dc-spine1:eth6", "dc-leaf6:eth11"]
- endpoints: ["spine2:eth7", "leaf7:eth12"] - endpoints: ["dc-spine1:eth7", "dc-leaf7:eth11"]
- endpoints: ["spine2:eth8", "leaf8:eth12"] - endpoints: ["dc-spine1:eth8", "dc-leaf8:eth11"]
- endpoints: ["dc-spine1:eth9", "dc-border-leaf1:eth11"]
- endpoints: ["dc-spine1:eth10", "dc-border-leaf2:eth11"]
# MLAG Peer Links (leaf pairs) # Spine2 to Leaf/Border-Leaf connections (underlay)
- endpoints: ["leaf1:eth10", "leaf2:eth10"] - endpoints: ["dc-spine2:eth1", "dc-leaf1:eth12"]
- endpoints: ["leaf3:eth10", "leaf4:eth10"] - endpoints: ["dc-spine2:eth2", "dc-leaf2:eth12"]
- endpoints: ["leaf5:eth10", "leaf6:eth10"] - endpoints: ["dc-spine2:eth3", "dc-leaf3:eth12"]
- endpoints: ["leaf7:eth10", "leaf8:eth10"] - 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"]
# Access switch uplinks to leaf MLAG pairs (dual-homed via LACP) # DC MLAG Peer Links (leaf pairs + border-leaf pair)
# access1 dual-homed to leaf1 + leaf2 - endpoints: ["dc-leaf1:eth10", "dc-leaf2:eth10"]
- endpoints: ["leaf1:eth1", "access1:eth1"] - endpoints: ["dc-leaf3:eth10", "dc-leaf4:eth10"]
- endpoints: ["leaf2:eth1", "access1:eth2"] - endpoints: ["dc-leaf5:eth10", "dc-leaf6:eth10"]
- endpoints: ["dc-leaf7:eth10", "dc-leaf8:eth10"]
- endpoints: ["dc-border-leaf1:eth10", "dc-border-leaf2:eth10"]
# access2 dual-homed to leaf3 + leaf4 # DC Access switch uplinks to leaf MLAG pairs (dual-homed via LACP)
- endpoints: ["leaf3:eth1", "access2:eth1"] - endpoints: ["dc-leaf1:eth1", "dc-access1:eth1"]
- endpoints: ["leaf4:eth1", "access2:eth2"] - 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"]
# access3 dual-homed to leaf5 + leaf6 # DC Host connections to access switches (dual-homed via LACP)
- endpoints: ["leaf5:eth1", "access3:eth1"] - endpoints: ["dc-access1:eth3", "dc-server1:eth1"]
- endpoints: ["leaf6:eth1", "access3:eth2"] - 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"]
# access4 dual-homed to leaf7 + leaf8 # =====================================================
- endpoints: ["leaf7:eth1", "access4:eth1"] # CORE INTERCONNECT (DC Border Leafs <-> Core <-> Campus Border Leafs)
- endpoints: ["leaf8:eth1", "access4:eth2"] # =====================================================
# Host connections to access switches (dual-homed via LACP) # DC Border Leafs to Core routers (4 links)
# host1 dual-homed to access1 - endpoints: ["dc-border-leaf1:eth13", "core1:eth1"]
- endpoints: ["access1:eth3", "host1:eth1"] - endpoints: ["dc-border-leaf1:eth14", "core2:eth1"]
- endpoints: ["access1:eth4", "host1:eth2"] - endpoints: ["dc-border-leaf2:eth13", "core1:eth2"]
- endpoints: ["dc-border-leaf2:eth14", "core2:eth2"]
# host2 dual-homed to access2 # Campus Border Leafs to Core routers (4 links)
- endpoints: ["access2:eth3", "host2:eth1"] - endpoints: ["campus-border-leaf1:eth13", "core1:eth3"]
- endpoints: ["access2:eth4", "host2:eth2"] - endpoints: ["campus-border-leaf1:eth14", "core2:eth3"]
- endpoints: ["campus-border-leaf2:eth13", "core1:eth4"]
- endpoints: ["campus-border-leaf2:eth14", "core2:eth4"]
# host3 dual-homed to access3 # Core routers interconnect
- endpoints: ["access3:eth3", "host3:eth1"] - endpoints: ["core1:eth5", "core2:eth5"]
- endpoints: ["access3:eth4", "host3:eth2"]
# host4 dual-homed to access4 # =====================================================
- endpoints: ["access4:eth3", "host4:eth1"] # CAMPUS FABRIC LINKS
- endpoints: ["access4:eth4", "host4:eth2"] # =====================================================
# Campus Spine1 to Leafs/Border-Leafs (underlay)
- endpoints: ["campus-spine1:eth1", "campus-leaf1:eth11"]
- 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", "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", "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: ["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"]
- endpoints: ["campus-leaf2:eth1", "campus-access1:eth2"]
- endpoints: ["campus-leaf3:eth1", "campus-access2:eth1"]
- endpoints: ["campus-leaf4:eth1", "campus-access2:eth2"]
# Campus Host connections to access switches (single link, enterprise user endpoint)
- endpoints: ["campus-access1:eth3", "campus-host1:eth1"]
- endpoints: ["campus-access2:eth3", "campus-host2:eth1"]

View File

@@ -2,133 +2,433 @@
"freeTextAnnotations": [], "freeTextAnnotations": [],
"freeShapeAnnotations": [], "freeShapeAnnotations": [],
"trafficRateAnnotations": [], "trafficRateAnnotations": [],
"groupStyleAnnotations": [], "groupStyleAnnotations": [
{
"id": "group-1",
"name": "AS65500",
"level": "1",
"position": {
"x": 889.1396938996185,
"y": 235.43048452777563
},
"width": 384,
"height": 186,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-2",
"name": "AS65005",
"level": "1",
"position": {
"x": 1337.1424783113316,
"y": 370.853013593514
},
"width": 248,
"height": 98,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-3",
"name": "AS65001",
"level": "1",
"position": {
"x": 1633.71849074422,
"y": 374.2803159364748
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-4",
"name": "AS65002",
"level": "1",
"position": {
"x": 1913,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-5",
"name": "AS65003",
"level": "1",
"position": {
"x": 2193,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-6",
"name": "AS65004",
"level": "1",
"position": {
"x": 2473,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-7",
"name": "AS65000",
"level": "1",
"position": {
"x": 1724.5715043377336,
"y": 131.71464560423502
},
"width": 640,
"height": 100,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-8",
"name": "AS66000",
"level": "1",
"position": {
"x": 48.000132591034,
"y": 129.42889343536817
},
"width": 460,
"height": 100,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-9",
"name": "AS66001",
"level": "1",
"position": {
"x": -87,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-10",
"name": "AS66002",
"level": "1",
"position": {
"x": 213,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
},
{
"id": "group-11",
"name": "AS66005",
"level": "1",
"position": {
"x": 513,
"y": 374
},
"width": 246,
"height": 97,
"backgroundColor": "rgba(100, 100, 255, 0.1)",
"borderColor": "#bbbebf",
"borderWidth": 2,
"borderStyle": "dashed",
"borderRadius": 8,
"zIndex": -1
}
],
"networkNodeAnnotations": [], "networkNodeAnnotations": [],
"nodeAnnotations": [ "nodeAnnotations": [
{ {
"id": "spine1", "id": "campus-spine1",
"position": { "position": {
"x": 260, "x": 120,
"y": 160 "y": 160
} }
}, },
{ {
"id": "spine2", "id": "campus-spine2",
"position": {
"x": 740,
"y": 160
}
},
{
"id": "leaf1",
"position": {
"x": -60,
"y": 420
}
},
{
"id": "leaf2",
"position": {
"x": 100,
"y": 420
}
},
{
"id": "leaf3",
"position": {
"x": 260,
"y": 420
}
},
{
"id": "leaf4",
"position": { "position": {
"x": 420, "x": 420,
"y": 420 "y": 160
} }
}, },
{ {
"id": "leaf5", "id": "campus-leaf1",
"position": { "position": {
"x": 580, "x": -60,
"y": 420 "y": 400
} }
}, },
{ {
"id": "leaf6", "id": "campus-leaf2",
"position": { "position": {
"x": 740, "x": 80,
"y": 420 "y": 400
} }
}, },
{ {
"id": "leaf7", "id": "campus-leaf3",
"position": { "position": {
"x": 920, "x": 240,
"y": 420 "y": 400
} }
}, },
{ {
"id": "leaf8", "id": "campus-leaf4",
"position": { "position": {
"x": 1080, "x": 380,
"y": 420 "y": 400
} }
}, },
{ {
"id": "host1", "id": "campus-border-leaf1",
"position": { "position": {
"x": 20, "x": 540,
"y": 680 "y": 400
} }
}, },
{ {
"id": "host2", "id": "campus-border-leaf2",
"position": { "position": {
"x": 340, "x": 680,
"y": 680 "y": 400
} }
}, },
{ {
"id": "host3", "id": "campus-access1",
"position": { "position": {
"x": 660, "x": 40,
"y": 680
}
},
{
"id": "host4",
"position": {
"x": 1000,
"y": 680
}
},
{
"id": "access4",
"position": {
"x": 1000,
"y": 540 "y": 540
} }
}, },
{ {
"id": "access3", "id": "campus-access2",
"position": { "position": {
"x": 660, "x": 320,
"y": 520 "y": 540
} }
}, },
{ {
"id": "access2", "id": "campus-host1",
"position": { "position": {
"x": 340, "x": 40,
"y": 520 "y": 680
} }
}, },
{ {
"id": "access1", "id": "campus-host2",
"position": { "position": {
"x": 20, "x": 320,
"y": 520 "y": 680
}
},
{
"id": "core1",
"position": {
"x": 960,
"y": 300
}
},
{
"id": "core2",
"position": {
"x": 1180,
"y": 300
}
},
{
"id": "dc-border-leaf1",
"position": {
"x": 1380,
"y": 400
}
},
{
"id": "dc-border-leaf2",
"position": {
"x": 1520,
"y": 400
}
},
{
"id": "dc-spine1",
"position": {
"x": 1800,
"y": 160
}
},
{
"id": "dc-spine2",
"position": {
"x": 2280,
"y": 160
}
},
{
"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": "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": "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
} }
} }
], ],

View File

@@ -4,26 +4,39 @@ This directory contains network interface configuration files for Alpine Linux h
## Files ## Files
- `host1_interfaces` - Configuration for host1 (VLAN 40, IP 10.40.40.101) ### DC hosts
- `host2_interfaces` - Configuration for host2 (VLAN 34, IP 10.34.34.102)
- `host3_interfaces` - Configuration for host3 (VLAN 40, IP 10.40.40.103) - `dc-server1_interfaces` - Configuration for dc-server1 (VLAN 40, IP 10.40.40.101)
- `host4_interfaces` - Configuration for host4 (VLAN 78, IP 10.78.78.104) - `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
Campus hosts are **single-attached** to a Campus access switch (enterprise user endpoint
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-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 ## Usage
Each file is mounted to `/etc/network/interfaces` in its respective host container via ContainerLab's `binds` feature: Each file is mounted to `/etc/network/interfaces` in its respective host container via ContainerLab's `binds` feature:
```yaml ```yaml
host1: dc-server1:
kind: linux kind: linux
image: alpine:latest image: alpine:latest
binds: binds:
- hosts/host1_interfaces:/etc/network/interfaces - hosts/dc-server1_interfaces:/etc/network/interfaces
``` ```
## Format ## Format
Files use Debian/Alpine ifupdown format with bonding and VLAN extensions: Files use Debian/Alpine ifupdown format.
### DC hosts (dual-homed via LACP to access switches)
``` ```
auto lo auto lo
@@ -43,20 +56,39 @@ iface bond0.<vlan> inet static
vlan-raw-device bond0 vlan-raw-device bond0
``` ```
### Campus hosts (single-attached, no bonding, no VLAN tagging)
```
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address <ip-address>/<mask>
gateway <gateway>
```
## Key Concepts ## Key Concepts
### LACP Bonding ### DC: LACP Bonding
- All hosts use **mode 4** (802.3ad LACP) bonding - DC hosts use **mode 4** (802.3ad LACP) bonding
- Dual-homed to MLAG leaf pairs for redundancy - Dual-homed to MLAG leaf pairs — typical for DC servers that need NIC-level redundancy
- Requires matching LACP configuration on switches - Requires matching LACP configuration on switches
### Campus: Single-attached user endpoints
- Campus hosts use a single `eth1` interface connected to an access port
- Redundancy is handled at the access-switch layer (the access switch is itself
dual-homed via LACP to the leaf MLAG pair), not at the host
- This matches the realistic enterprise pattern for PCs, phones, printers, etc.
### VLAN Tagging ### VLAN Tagging
- Hosts handle VLAN tagging via sub-interfaces - DC hosts: VLAN tagging happens in the host via `bond0.<vlan_id>` sub-interfaces
- Format: `bond0.<vlan_id>` (e.g., bond0.40, bond0.34, bond0.78) (e.g., bond0.40, bond0.34, bond0.78); switch ports are trunks
- Switch ports are configured as trunks allowing specific VLANs - Campus hosts: no tagging on the host; the access switch places untagged frames
into `switchport access vlan <id>`
### IP Addressing ### IP Addressing
- Static IP configuration on VLAN sub-interfaces - Static IP configuration on the host interface (sub-interface for DC, `eth1` for Campus)
- Subnet assignment based on VLAN ID pattern (e.g., VLAN 40 = 10.40.40.0/24) - Subnet assignment based on VLAN ID pattern (e.g., VLAN 40 = 10.40.40.0/24)
## Modification ## Modification

View File

@@ -0,0 +1,8 @@
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 10.60.60.101
netmask 255.255.255.0
post-up ip route replace default via 10.60.60.1

View File

@@ -0,0 +1,8 @@
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 10.60.70.102
netmask 255.255.255.0
post-up ip route replace default via 10.60.70.1