Info::Layer3::NetSNMP(3)

NAME
SNMP::Info::Layer3::NetSNMP - SNMP Interface to L3 Net-SNMP Devices

AUTHORS
Bradley Baetz and Bill Fenner

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

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

DESCRIPTION
Subclass for Generic Net-SNMP devices

  Inherited Classes

SNMP::Info::Layer3

  Required MIBs
UCD-SNMP-MIB
NET-SNMP-TC
HOST-RESOURCES-MIB
Inherited Classes' MIBs
    See SNMP::Info::Layer3 for its own MIB requirements.

    See SNMP::Info::LLDP for its own MIB requirements.

GLOBALS
These are methods that return scalar value from SNMP

$netsnmp->vendor()
    Returns 'Net-SNMP'.

$netsnmp->os()
    Returns the OS extracted from "sysDescr".

$netsnmp->os_ver()
    Returns the software version extracted from "sysDescr", along with the Net-SNMP version.

$netsnmp->uptime()
    Returns the system uptime instead of the agent uptime. NOTE: discontinuity timers and other Time Stamp based objects are based on agent uptime, so use orig_uptime().

$netsnmp->serial()
    Returns ''.

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

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

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

  Overrides

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

    Ignores loopback

  Topology information
Link Layer Discovery Protocol (LLDP) support. The device must be running an optional LLDP agent, such as lldpd, which can integrate with the SNMP agent.

$netsnmp->hasCDP()
    Returns true if the device is running LLDP.

$netsnmp->c_if()
    Returns reference to hash. Key: iid Value: local device port (interfaces)

$netsnmp->c_ip()
    Returns reference to hash. Key: iid Value: remote IPv4 address

    If multiple entries exist with the same local port, c_if(), with different IPv4 addresses, c_ip(), there is either a non-LLDP device in between two or more devices or multiple devices which are not directly connected.

    Use the data from the Layer2 Topology Table below to dig deeper.

$netsnmp->c_port()
    Returns reference to hash. Key: iid Value: remote port (interfaces)

$netsnmp->c_id()
    Returns reference to hash. Key: iid Value: string value used to identify the chassis component associated with the remote system.

$netsnmp->c_platform()
    Returns reference to hash. Key: iid Value: Remote Device Type

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

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

NOTES
In order to cause SNMP::Info to classify your device into this class, it may be necessary to put a configuration line into your snmpd.conf similar to

  sysobjectid .1.3.6.1.4.1.8072.3.2.N

where N is the object ID for your OS from the "NET-SNMP-TC" MIB (or 255 if not listed). Some Net-SNMP installations default to an incorrect return value for "system.sysObjectId".

In order to recognize a Net-SNMP device as Layer3, it may be necessary to put a configuration line similar to

  sysservices 76

in your snmpd.conf.