EVPN¶
The evpn collector dispatches to a vendor-specific implementation. Only
junos is wired up today.
Junos collection¶
- Runs
driver.cli(["show evpn mac-table"]). - Scrapes MAC addresses out of the raw output via a single regex:
([0-9A-Fa-f]{2}(?::[0-9A-Fa-f]{2}){5}).
What it produces¶
Per MAC matched in the output:
Action: confirmed if a MACAddress already exists, else new.
Apply behavior¶
- Get-or-create the
MACAddress. - Set
discovery_method = evpnandlast_seen = now.
A single JournalEntry is recorded on the device for the run, including
the first 2000 characters of the raw show evpn mac-table output.
Limitations¶
- The collector does not currently parse interface, VTEP, ESI, or encapsulation context out of the EVPN output.
- Only Junos is supported. Adding another vendor requires implementing
_evpn_<vendor>(self, driver)and registering the driver in thevendor_mapinside_get_vendor_method(). See Vendor Dispatch.