[Phase 1] Document working YANG paths for all fabric features #3
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Document the exact YANG paths that work for configuring VLANs, Interfaces, BGP, VXLAN, and MLAG on EOS 4.35.0F via gNMI.
Tasks
For each feature, document:
Deliverable Format
For each path, document:
Output
docs/yang-paths.mdwith all documented pathssrc/yang/paths.pywith path constants📋 Complete YANG Path Documentation
Based on testing with Arista cEOS 4.35.0F via gNMI.
Interfaces (OpenConfig)
/interfaces/interface/interfaces/interface[name=Ethernet1]/interfaces/interface[name=X]/config/interfaces/interface[name=X]/state/interfaces/interface[name=X]/state/oper-statusSubscribe ON_CHANGE: ✅ Works (use native path without
openconfig-interfaces:prefix)Loopbacks (OpenConfig)
/interfaces/interface[name=Loopback0]/interfaces/interface[name=Loopback0]/configVLANs (OpenConfig)
/network-instances/network-instance[name=default]/vlans/vlan/network-instances/network-instance[name=default]/vlans/vlan[vlan-id=40]/interfaces/interface[name=Vlan40]BGP (OpenConfig)
/network-instances/network-instance[name=default]/protocols/protocol[identifier=BGP][name=BGP]/bgp/global/network-instances/network-instance[name=default]/protocols/protocol[identifier=BGP][name=BGP]/bgp/neighbors/neighbor/network-instances/network-instance[name=default]/protocols/protocol[identifier=BGP][name=BGP]/bgp/neighbors/neighbor[neighbor-address=10.0.1.0].../neighbor[neighbor-address=X]/state.../neighbor[neighbor-address=X]/afi-safis/afi-safi[afi-safi-name=IPV4_UNICAST]Subscribe ON_CHANGE: ✅ Works
VXLAN (Arista Experimental)
/interfaces/interface[name=Vxlan1]/interfaces/interface[name=Vxlan1]/arista-vxlan/interfaces/interface[name=Vxlan1]/arista-vxlan/config/src-ip-intf/interfaces/interface[name=Vxlan1]/arista-vxlan/config/udp-port/interfaces/interface[name=Vxlan1]/arista-vxlan/vlan-to-vnis/interfaces/interface[name=Vxlan1]/arista-vxlan/vlan-to-vnis/vlan-to-vni[vlan=40]/interfaces/interface[name=Vxlan1]/arista-vxlan/vrf-to-vnisSubscribe ON_CHANGE: ✅ Works
MLAG (Arista Experimental) ⚠️
/arista/eos/mlag/arista/eos/mlag/configKey fields:
domain-id,local-intf,peer-address,peer-link-intf,dual-primary-action,heartbeat-peer-address⚠️ Limitation: State NOT exposed via gNMI. Use eAPI for
show mlag.EVPN (Arista Experimental) ⚠️
/arista/eos/evpn/arista/eos/evpn/evpn-instances/arista/eos/evpn/evpn-instances/evpn-instance[name=40]Key fields:
name,route-distinguisher,redistribute,route-target/import,route-target/export,vlans⚠️ Limitation: State NOT exposed via gNMI. Use eAPI for
show bgp evpn.Port-Channel / LAG (OpenConfig)
/interfaces/interface[name=Port-Channel999]/interfaces/interface[name=Port-Channel999]/aggregationSummary Table
Key Learnings
/interfaces/interface[name=X]/stateNOT/openconfig-interfaces:interfaces/.../interfaces/interface[name=Vxlan1]/arista-vxlan/network-instances/network-instance[name=default]/protocols/protocol[identifier=BGP][name=BGP]/bgp✅ Deliverables Complete
Created the following files:
1.
docs/yang-paths.mdComplete reference documentation with:
2.
src/yang/paths.pyPython module with path constants:
Interfaces,Loopbacks,VLANs- OpenConfig pathsBGP,AfiSafi- BGP with neighbor helpersVXLAN- VNI mapping pathsMLAG,EVPN- Arista experimental pathsPortChannel,System- Additional pathsFabricSubscriptions- Pre-built subscription paths3.
src/yang/__init__.pyPackage init with exports
Usage