NAME
SNMP::Info::Layer3::Arista - SNMP Interface to Arista Networks EOS
AUTHOR
Bill Fenner
SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $arista = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
# These arguments are passed directly to SNMP::Session
DestHost => 'myswitch',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $arista->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
DESCRIPTION
Subclass for Arista Networks EOS-based devices
Inherited Classes
Required MIBs
- ARISTA-PRODUCTS-MIB
- ARISTA-VRF-MIB
- Inherited Classes' MIBs
-
See "Required MIBs" in SNMP::Info::Layer3 for its own MIB requirements.
See "Required MIBs" in SNMP::Info::Aggregate for its own MIB requirements.
See "Required MIBs" in SNMP::Info::MAU for its own MIB requirements.
GLOBALS
These are methods that return scalar values from SNMP
- $arista->vendor()
-
Returns 'arista'
- $arista->model()
-
Tries to reference $arista->id() to one of the product MIBs listed above
Removes 'arista' from the name for readability.
- $arista->os()
-
Returns 'EOS'
- $arista->os_ver()
-
Grabs the os version from
sysDescr
Global Methods imported from SNMP::Info::Layer3
See documentation in "GLOBALS" in SNMP::Info::Layer3 for details.
Global Methods imported from SNMP::Info::MAU
See documentation in "GLOBALS" in SNMP::Info::MAU for details.
TABLE METHODS
These are methods that return tables of information in the form of a reference to a hash.
- $arista->i_duplex_admin()
-
Returns info from MAU-MIB
- $arista->i_speed_admin()
-
Returns info from MAU-MIB
- $arista->lldp_if()
-
Returns the mapping to the SNMP Interface Table.
- $arista->vrf_arista_rd()
-
Returns the route distinguisher of each VRF, keyed by the length-prefixed VRF name. EOS serves
INVALIDfor a VRF with none.(
aristaVrfRouteDistinguisher) - $arista->vrf_arista_state()
-
Returns the state of each VRF,
activeorinactive, keyed by the length-prefixed VRF name.(
aristaVrfState) - $arista->vrf_arista_if()
-
Returns the name of the VRF each routed interface is in, keyed by ifIndex.
(
aristaVrfIfMembership) agg_ports-
Returns a HASH reference mapping from slave to master port for each member of a port bundle on the device. Keys are ifIndex of the slave ports, Values are ifIndex of the corresponding master ports.
VRF Instances
See "VRF Instances" in SNMP::Info::VRF for the readers.
EOS has no
MPLS-L3VPN-STD-MIB, so ARISTA-VRF-MIB lists the VRFs and the ports they hold. Each record'ssources{list}isARISTA-VRF-MIB.A route distinguisher of
INVALIDis none, sordis undef.operis undef. EOS 4.36 servesaristaVrfStateinactivefor VRFs its CLI shows routing, so the state is not an operational status.A port
aristaVrfIfTablegivesdefaultis a port of the default instance, absent fromi_vrf().
aristaVrfTable has no row for the default VRF, so a device with no VRF serves no row at all. How the list reads then:
Both
aristaVrfRouteDistinguisherandaristaVrfStatewalked whole, with no reason inwalk_status(): the list holdsdefault, with the sourceARISTA-VRF-MIB, andvrf_instances_complete()reports 1, none configured (see "Completeness" in SNMP::Info::VRF). A device that does not implement the MIB answers the walks this way, so it reads none.Either walk missing from
walk_status(), as on an object primed from a cache, cut short, or recordedabsentbecause the poller could not resolve the MIB: the list reads as unsupported, undef.
Each VRF reads in its own context (context mode), and that context serves only the VRF's addresses and neighbors.
The default context serves only the default instance's rows, such as
Management0's.i_vrf()there still maps every VRF port, fromaristaVrfIfTable.A VRF context serves no ARISTA-VRF-MIB row.
i_vrf()there takes the instance from the context name, which is the VRF name.
- $arista->context_kinds($feature)
-
See
context_kinds()in SNMP::Info. Returns['vrf']forvrf. - $arista->snmp_context($kind, $id)
-
For
vrf, the answer is{ kind => 'vrf', id => $name, v2c => '%s@$name', v3 => $name }: the community,@, then the VRF name. The default VRF and an empty name have no context, so nothing is returned.
Table Methods imported from SNMP::Info::Layer3
See documentation in "TABLE METHODS" in SNMP::Info::Layer3 for details.
Table Methods imported from SNMP::Info::MAU
See documentation in "TABLE METHODS" in SNMP::Info::MAU for details.
SET METHODS
These are methods that provide SNMP set functionality for overridden methods or provide a simpler interface to complex set operations. See "SETTING DATA VIA SNMP" in SNMP::Info for general information on set operations.