SNMP::Info::Layer2(3pm)

NAME
SNMP::Info::Layer2 - SNMP Interface to network devices serving Layer2 only.

AUTHOR
Max Baker

SYNOPSIS
 # Let SNMP::Info determine the correct subclass for you.
 my $l2 = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myswitch',
                          Community   => 'public',
                          Version     => 2
                        )
    or die "Can't connect to DestHost.\n";

 my $class      = $l2->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

 # Let's get some basic Port information
 my $interfaces = $l2->interfaces();
 my $i_up       = $l2->i_up();
 my $i_speed    = $l2->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";
 }

DESCRIPTION
This class is usually used as a superclass for more specific device classes listed under SNMP::Info::Layer2::* Please read all docs under SNMP::Info first.

Provides abstraction to the configuration information obtainable from a Layer2 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 $l2 = new SNMP::Info::Layer2(...);

  Inherited Classes

SNMP::Info
SNMP::Info::Bridge
SNMP::Info::DocsisHE
SNMP::Info::Entity
SNMP::Info::LLDP
SNMP::Info::PowerEthernet
SNMP::Info::PortAccessEntity

  Required MIBs

Inherited Classes
    MIBs required by the inherited classes listed above.

MIBs can be found in netdisco-mibs package.

GLOBALS
These are methods that return scalar value from SNMP

  Overrides

$l2->model()
    Cross references $l2->id() with product IDs in the Cisco MIBs.

    For HP devices, removes 'hpswitch' from the name

    For Cisco devices, removes c<'sysid'> from the name

$l2->vendor()
    Tries to discover the vendor from $l2->model() and $l2->description()

$l2->serial()
    Returns a serial number if found from ENTITY-MIB and OLD-CISCO-... MIB.

  Globals imported from SNMP::Info
See documentation in "USAGE" in SNMP::Info for details.

  Globals imported from SNMP::Info::Bridge
See documentation in "GLOBALS" in SNMP::Info::Bridge for details.

  Globals imported from SNMP::Info::Entity
See documentation in "GLOBALS" in SNMP::Info::Entity for details.

  Globals imported from SNMP::Info::LLDP
See documentation in "GLOBALS" in SNMP::Info::LLDP for details.

  Globals imported from SNMP::Info::PortAccessEntity
See documentation in "GLOBALS" in SNMP::Info::PortAccessEntity for details.

TABLE METHODS
These are methods that return tables of information in the form of a reference to a hash.

  Overrides

$l2->interfaces()
    Creates a map between the interface identifier (iid) and the physical port name.

    Defaults to "ifDescr" but checks and overrides with "ifName"

  Table Methods imported from SNMP::Info
See documentation in "USAGE" in SNMP::Info for details.

  Table Methods imported from SNMP::Info::Bridge
See documentation in "TABLE METHODS" in SNMP::Info::Bridge for details.

  Table Methods imported from SNMP::Info::Entity
See documentation in "TABLE METHODS" in SNMP::Info::Entity for details.

  Table Methods imported from SNMP::Info::LLDP
See documentation in "TABLE METHODS" in SNMP::Info::LLDP for details.

  Table Methods imported from SNMP::Info::PortAccessEntity
See documentation in "TABLE METHODS" in SNMP::Info::PortAccessEntity for details.