SNMP::Info::Layer1 - Perl5 Interface to network devices serving Layer1 only.
Max Baker (max@warped.org)
max@warped.org
# Let SNMP::Info determine the correct subclass for you. my $l1 = new SNMP::Info( AutoSpecify => 1, Debug => 1, # These arguments are passed directly on to SNMP::Session 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 SNMP::Info
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
Gets the number of ports under the interface mib
(ifNumber)
Trys to discover the vendor from $l1->model() and $l1->vendor()
Adds the values from rptr_ports() and ports_managed()
Number of 'groups' in the Repeater MIB
(rptrGroupCapacity)
See documentation in SNMP::Info for details.
These are methods that return tables of information in the form of a reference to a hash.
Number of ports in each group.
(rptrGroupPortCapacity)
Port number in Group
(rptrPortIndex)
Group (slot) Number for given port.
(rptrPortGroupIndex)
(rptrPortAdminStatus)
(rptrPortOperStatus)
To install SNMP::Info, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SNMP::Info
CPAN shell
perl -MCPAN -e shell install SNMP::Info
For more information on module installation, please visit the detailed CPAN module installation guide.