Provided by: libsnmp-info-perl_3.11-1_all bug

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::Entity

   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 serial number if available through SNMP

   Globals imported from SNMP::Info
       See documentation in "GLOBALS" 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.

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"

       $l2->i_ignore()
           Returns reference to hash.  Increments value of IID if port is to be ignored.

           Ignores ports with "ifType" of loopback, propvirtual, other, and cpu

   Table Methods imported from SNMP::Info
       See documentation in "TABLE METHODS" 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.