Back to skills
SKILL.md
Arista Eos
ASecurityExpert coverage of Arista EOS across all versions: Sysdb architecture, VXLAN/EVPN fabric design, MLAG, eAPI, CloudVision, AVD automation, spine-leaf BGP design, and DC fabric operations. Use for \"Arista EOS\", \"eAPI\", \"CloudVision\", \"MLAG\", \"AVD\", \"Arista VXLAN\", \"Arista BGP\", \"pyeapi\", \"Sysdb\", \"CloudVision Studios\". Do NOT use for cross-vendor comparison, platform selection, or category-wide architecture -- use the `routing-switching` skill.
- 4 stars
- 0 votes
- 0 copies
- 0 views
- Added September 24, 2026
Works with
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add chrishuffman5/domain-expert --skill arista-eos --agent claude-codeAre you the author of Arista Eos?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/chrishuffman5-arista-eos)---
name: arista-eos
description: "Expert coverage of Arista EOS across all versions: Sysdb architecture, VXLAN/EVPN fabric design, MLAG, eAPI, CloudVision, AVD automation, spine-leaf BGP design, and DC fabric operations. Use for \"Arista EOS\", \"eAPI\", \"CloudVision\", \"MLAG\", \"AVD\", \"Arista VXLAN\", \"Arista BGP\", \"pyeapi\", \"Sysdb\", \"CloudVision Studios\". Do NOT use for cross-vendor comparison, platform selection, or category-wide architecture -- use the `routing-switching` skill."
license: MIT
---
# Arista EOS
This skill covers Arista EOS (Extensible Operating System) across all supported versions (4.28+). Areas of expertise include:
- Linux-based architecture with Sysdb (System Database) centralized state
- Multi-process architecture with fault isolation and stateful restarts
- VXLAN/EVPN fabric design (symmetric IRB, ARP suppression, multi-site DCI)
- MLAG (Multi-Chassis Link Aggregation) and EVPN Multihoming (ESI-LAG)
- eAPI (JSON-RPC 2.0) programmatic interface
- CloudVision (CVP/CVaaS) management, Studios, and Change Control
- AVD (Arista Validated Designs) for IaC fabric automation
- Spine-leaf BGP design with eBGP underlay and EVPN overlay
- gNMI streaming telemetry with OpenConfig and EOS-native paths
## How to Approach Tasks
1. **Classify** the request:
- **Troubleshooting** -- Load `references/diagnostics.md` for show commands, eAPI queries, MLAG/VXLAN troubleshooting
- **Design / Architecture** -- Load `references/architecture.md` for Sysdb, eAPI, CloudVision, MLAG, VXLAN/EVPN
- **Best practices** -- Load `references/best-practices.md` for DC fabric design, BGP, MLAG vs ESI, AVD, upgrades
- **Configuration** -- Apply EOS expertise directly
- **Automation** -- Focus on eAPI, AVD, CloudVision Studios, pyeapi, Ansible arista.eos
2. **Identify version** -- EOS uses `4.MAJOR.MINOR[F|M]` versioning. F = Feature, M = Maintenance. 36-month support per train.
3. **Identify platform** -- 7050X (ToR leaf), 7060X (high-density spine/leaf), 7280R (universal spine), 7500R/7800R (modular), 720XP (campus PoE).
4. **Load context** -- Read the relevant reference file.
5. **Recommend** -- Provide actionable guidance with EOS CLI examples.
6. **Verify** -- Suggest validation with specific show commands.
## Core Architecture
### Sysdb -- The Heart of EOS
Sysdb is an in-memory, centralized key-value store that is the authoritative source for ALL switch state:
- All agents (processes) read/write state through Sysdb, never directly to each other or hardware
- Publish/subscribe model: agents subscribe to Sysdb paths; changes trigger automatic notifications
- State survives individual agent crashes -- BGP crash does not disturb FIB
- Hardware abstraction: ASIC driver reads Sysdb and programs hardware; protocol agents never touch hardware
- Foundation for stateful restart and ISSU
### Multi-Process Architecture
100+ independent agents (separate Linux processes): `Bgp`, `Ospf`, `Isis`, `Stp`, `Mlag`, `Vxlanctl`, etc.
- Process crash does not affect others; watchdog auto-restarts failed agents
- ASIC continues forwarding during agent restarts
- ISSU upgrades agents one-by-one while forwarding continues
### Linux Foundation
EOS runs on unmodified Linux (AlmaLinux base). Direct shell access:
```
switch# bash
[admin@switch ~]$ tcpdump -i eth0
[admin@switch ~]$ python3 /mnt/flash/myscript.py
```
Full GNU tools, Python 3, EOS SDK (C++/Python) for custom agents.
### eAPI
JSON-RPC 2.0 interface over HTTPS for programmatic CLI execution:
```
management api http-commands
protocol https
no shutdown
```
Returns structured JSON output. Libraries: pyeapi (Python), curl, Ansible arista.eos modules.
### CloudVision (CVP / CVaaS)
| Feature | Description |
|---|---|
| Telemetry | Streaming per-device state via gRPC |
| Config Management | Configlets, desired-state enforcement |
| Change Control | Approval-gated config change workflows |
| Studios | Intent-based provisioning (L3LS, Campus) |
| Image Management | EOS software upgrades via Change Control |
| Compliance | Config drift detection, audit trail |
### gNMI Telemetry
```
management api gnmi
transport grpc openmgmt
port 6030
provider eos-native
```
Supports OpenConfig and EOS-native Sysdb paths. Subscribe modes: ONCE, POLL, STREAM (SAMPLE, ON_CHANGE).
## VXLAN/EVPN Design
### Key Configuration Pattern
```
ip virtual-router mac-address 00:1c:73:00:00:01
interface Vxlan1
vxlan source-interface Loopback1
vxlan udp-port 4789
vxlan vlan 100 vni 10100
vxlan vrf TENANT-A vni 50001
router bgp 65101
no bgp default ipv4-unicast
maximum-paths 4 ecmp 4
neighbor SPINE-EVPN peer group
neighbor SPINE-EVPN remote-as 65100
neighbor SPINE-EVPN update-source Loopback0
neighbor SPINE-EVPN ebgp-multihop 3
neighbor SPINE-EVPN send-community extended
address-family evpn
neighbor SPINE-EVPN activate
vlan 100
rd auto
route-target both 100:100
redistribute learned
vrf TENANT-A
rd 10.0.255.3:50001
route-target import evpn 50001:50001
route-target export evpn 50001:50001
redistribute connected
```
### ARP Suppression
Automatic when `redistribute learned` is configured and SVIs exist with `ip address virtual`. Eliminates BUM flooding for ARP.
### MLAG vs EVPN Multihoming (ESI-LAG)
| Aspect | MLAG | EVPN MH (ESI-LAG) |
|---|---|---|
| Standard | Arista proprietary | RFC 7432/8365 |
| Max switches | 2 per domain | 4+ per segment |
| Peer-link | Required | Not required |
| Configuration | Simpler | More complex |
| Multi-vendor | No | Yes |
| Feature compat | Broadest in EOS | Growing |
### MLAG with VXLAN
Both MLAG peers share identical Loopback1 (VTEP) address. Configure:
```
interface Vxlan1
vxlan virtual-router encapsulation mac-address mlag-system-id
```
## Automation Ecosystem
### AVD (Arista Validated Designs)
AVD is the gold-standard for IaC DC fabric automation:
1. Define fabric intent in YAML group_vars
2. `eos_designs` role generates structured data model
3. `eos_cli_config_gen` renders EOS CLI configurations
4. `cv_deploy` pushes to CVaaS or `eos_config_deploy_eapi` pushes direct
### Ansible arista.eos Collection
Key modules: `eos_command`, `eos_config`, `eos_facts`, `eos_vlans`, `eos_bgp_global`, `eos_interfaces`
### Terraform arista/eos Provider
Manages EOS configuration as infrastructure code.
## Common Pitfalls
1. **MLAG Loopback1 mismatch** -- Both MLAG peers must have identical Loopback1 (VTEP) IP. Mismatched addresses cause VXLAN tunnel failures.
2. **Missing `redistribute learned`** -- Without this under each `vlan X` in BGP, Type-2 MAC/IP routes are not advertised. ARP suppression and remote learning fail.
3. **MTU not 9214** -- VXLAN adds 50 bytes. All spine-leaf and peer-link interfaces must be MTU 9214. Check with `show interfaces Ethernet1 | include MTU`.
4. **No BFD on BGP sessions** -- Without BFD, BGP failover depends on hold timers. Enable BFD on all underlay and overlay peers.
5. **`bgp default ipv4-unicast` not disabled** -- Leave IPv4 unicast active only where needed. Disable globally: `no bgp default ipv4-unicast`.
6. **MLAG reload-delay not set** -- Without `reload-delay mlag 300` and `reload-delay non-mlag 330`, traffic can blackhole during reboot. Always configure reload delays.
7. **Missing `send-community extended`** -- EVPN requires extended communities for Route Target. Without this on EVPN peers, routes are exchanged but not imported.
## Version-Specific Guidance
| Version | Reference | What's version-specific |
|---|---|---|
| 4.35 | `references/versions/4.35.md` | Current recommended train; Cluster Load Balancing, Measured Boot, Adjacency Sharing |
## Reference Files
- `references/architecture.md` -- Sysdb, multi-process, eAPI, CloudVision, gNMI, MLAG architecture, VXLAN/EVPN, EOS SDK
- `references/diagnostics.md` -- Show commands for interfaces, routing, VXLAN/EVPN, MLAG, security, system
- `references/best-practices.md` -- DC fabric design (spine-leaf, BGP underlay, EVPN overlay), MLAG vs ESI, MTU, BFD, management, AVD, upgrades
Files in this skill
- SKILL.md
- references/architecture.md
- references/best-practices.md
- references/diagnostics.md
- references/versions/4.35.md
Attribution
Comments
Loading comments…