SNMP::Info::Layer3::Lenovo - SNMP Interface to Lenovo switches running CNOS.
# Let SNMP::Info determine the correct subclass for you.
use SNMP::Info;
my $cnos = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $cnos->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
Subclass for Lenovo switches running CNOS.
- SNMP::Info::IEEE802dot3ad
- SNMP::Info::Layer3
- LENOVO-ENV-MIB
- LENOVO-PRODUCTS-MIB
See SNMP::Info::IEEE802dot3ad for its own MIB requirements.
See SNMP::Info::Layer3 for its own MIB requirements.
These are methods that return scalar value from SNMP.
- $cnos->mac()
- Returns base mac based on
"dot1dBaseBridgeAddress".
- $cnos->os_ver()
- Returns the OS version extracted from
"entPhysicalSoftwareRev.1".
- $cnos->vendor()
- Returns 'lenovo'.
- $cnos->os()
- Returns 'cnos'.
See documentation in SNMP::Info::IEEE802dot3ad for details.
See documentation in SNMP::Info::Layer3 for details.
These are methods that return tables of information in the form of a reference
to a hash.
- $cnos->agg_ports_cnos()
- placeholder function, will return agg_ports mapping once implemented.
- $cnos->i_description()
- Uses "ifName" to match most other
devices.
- $cnos->i_name()
- Uses "ifDescr" to match most other
devices.
- $cnos->i_speed()
- CNOS does not set "ifSpeed" to
4294967295 for high speed links, return
"orig_if_speed_high()" instead.
SNMP::Info will handle this correctly.
- $cnos->i_speed_raw()
- If "ifSpeedHigh" > 2500 we overwrite
"i_speed_raw()", using the formula:
"ifSpeedHigh" * 1_000_000.
See documentation in SNMP::Info::IEEE802dot3ad for details.
See documentation in SNMP::Info::Layer3 for details.