SNMP::Info::Layer1 - SNMP Interface to network devices serving Layer1 only.
Max Baker
# Let SNMP::Info determine the correct subclass for you. my $l1 = new SNMP::Info( AutoSpecify => 1, Debug => 1, DestHost => 'myswitch', Community => 'public', Version => 1 ) or die "Can't connect to DestHost.\n";
my $class = $l1->class(); print "SNMP::Info determined this device to fall under subclass : $class\n";
# Let's get some basic Port information my $interfaces = $l1->interfaces(); my $i_up = $l1->i_up(); my $i_speed = $l1->i_speed();
foreach my $iid (keys %$interfaces) { my $port = $interfaces->{$iid}; my $up = $i_up->{$iid}; my $speed = $i_speed->{$iid} print "Port $port is $up. Port runs at $speed.\n"; }
This class is usually used as a superclass for more specific device classes listed under SNMP::Info::Layer1::* Please read all docs under SNMP::Info first.
Provides abstraction to the configuration information obtainable from a Layer1 device through SNMP. Information is stored in a number of MIBs.
For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.
my $l1 = new SNMP::Info::Layer1(...);
MIBs required for Required MIBs in the SNMP::Info manpage
See Required MIBs in the SNMP::Info manpage for its MIB requirements.
SNMP-REPEATER-MIB needs to be extracted from ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
These are methods that return scalar value from SNMP
ports_managed()
Gets the number of ports under the interface mib
(ifNumber
)
model()
Cross references $l1->id()
with product IDs.
For HP devices, removes 'hpswitch'
from the name
For Cisco devices, removes 'sysid'
from the name
vendor()
Tries to discover the vendor from $l1->model()
and $l1->vendor()
ports()
Adds the values from rptr_ports()
and ports_managed()
slots()
Number of 'groups' in the Repeater MIB
(rptrGroupCapacity
)
See documentation in GLOBALS in the SNMP::Info manpage for details.
These are methods that return tables of information in the form of a reference to a hash.
interfaces()
Returns reference to the map between IID and physical Port.
i_up()
Returns reference to map of IIDs to link status.
i_up_admin()
Returns reference to map of IIDs to administrative link status.
rptr_ports()
Number of ports in each group.
(rptrGroupPortCapacity
)
rptr_port()
Port number in Group
(rptrPortIndex
)
rptr_slot()
Group (slot) Number for given port.
(rptrPortGroupIndex
)
rptr_up_admin()
(rptrPortAdminStatus
)
rptr_up()
(rptrPortOperStatus
)
rptr_last_src()
(rptrAddrTrackNewLastSrcAddress
)
See documentation in TABLE METHODS in the SNMP::Info manpage for details.