NAME¶
SNMP::Info::LLDP - SNMP Interface to the Link Layer Discovery Protocol (LLDP)
AUTHOR¶
Eric Miller
SYNOPSIS¶
my $lldp = new SNMP::Info (
AutoSpecify => 1,
Debug => 1,
DestHost => 'router',
Community => 'public',
Version => 2
);
my $class = $lldp->class();
print " Using device sub class : $class\n";
$haslldp = $lldp->hasLLDP() ? 'yes' : 'no';
# Print out a map of device ports with LLDP neighbors:
my $interfaces = $lldp->interfaces();
my $lldp_if = $lldp->lldp_if();
my $lldp_ip = $lldp->lldp_ip();
my $lldp_port = $lldp->lldp_port();
foreach my $lldp_key (keys %$lldp_ip){
my $iid = $lldp_if->{$lldp_key};
my $port = $interfaces->{$iid};
my $neighbor = $lldp_ip->{$lldp_key};
my $neighbor_port = $lldp_port->{$lldp_key};
print "Port : $port connected to $neighbor / $neighbor_port\n";
}
DESCRIPTION¶
SNMP::Info::LLDP is a subclass of SNMP::Info that provides an object oriented
interface to LLDP information through SNMP.
LLDP is a Layer 2 protocol that allows a network device to advertise its
identity and capabilities on the local network providing topology information.
The protocol is defined in the IEEE standard 802.1AB.
Create or use a device subclass that inherits this class. Do not use directly.
Inherited Classes¶
None.
Required MIBs¶
- LLDP-MIB
- LLDP-EXT-DOT1-MIB
- LLDP-EXT-DOT3-MIB
GLOBAL METHODS¶
These are methods that return scalar values from SNMP
- $lldp->hasLLDP()
- Is LLDP is active in this device?
Note: LLDP may be active, but nothing in "lldpRemoteSystemsData"
Tables so the device would not return any useful topology
information.
- $lldp->lldp_sysname()
- The string value used to identify the system name of the
local system. If the local agent supports IETF RFC 3418,
"lldpLocSysName" object should have the same value of
"sysName" object.
Nulls are removed before the value is returned.
("lldpLocSysName")
- $lldp->lldp_sysdesc()
- The string value used to identify the system description of
the local system. If the local agent supports IETF RFC 3418,
"lldpLocSysDesc" object should have the same value of
"sysDesc" object.
Nulls are removed before the value is returned.
("lldpLocSysDesc")
- $lldp->lldp_sys_cap()
- Returns which system capabilities are enabled on the local
system. Results are munged into an ascii binary string, LSB. Each digit
represents a bit from the table below:
- Bit 'other(0)' indicates that the system has
capabilities other than those listed below.
- Bit 'repeater(1)' indicates that the system has
repeater capability.
- Bit 'bridge(2)' indicates that the system has bridge
capability.
- Bit 'wlanAccessPoint(3)' indicates that the system
has WLAN access point capability.
- Bit 'router(4)' indicates that the system has router
capability.
- Bit 'telephone(5)' indicates that the system has
telephone capability.
- Bit 'docsisCableDevice(6)' indicates that the system
has DOCSIS Cable Device capability (IETF RFC 2669 & 2670).
- Bit 'stationOnly(7)' indicates that the system has
only station capability and nothing else."
TABLE METHODS¶
These are methods that return tables of information in the form of a reference
to a hash.
- $lldp->lldp_id()
- Returns the string value used to identify the chassis
component associated with the remote system.
("lldpRemChassisId")
- $lldp->lldp_if()
- Returns the mapping to the SNMP Interface Table.
- $lldp->lldp_ip()
- Returns remote IPv4 address. Returns for all other address
types, use lldp_addr if you want any return address type.
- $lldp->lldp_addr()
- Returns remote address. Type may be any IANA Address Family
Number. Currently only returns IPv4 or MAC addresses.
- $lldp->lldp_port()
- Returns remote port ID
LLDP Remote Table ("lldpRemTable")¶
- $lldp->lldp_rem_id_type()
- Returns the type of encoding used to identify the chassis
associated with the remote system.
("lldpRemChassisIdSubtype")
- $lldp->lldp_rem_id()
- Returns the string value used to identify the chassis
component associated with the remote system.
("lldpRemChassisId")
- $lldp->lldp_rem_pid_type()
- Returns the type of port identifier encoding used in the
associated "lldpRemPortId" object.
("lldpRemPortIdSubtype")
- $lldp->lldp_rem_pid()
- Returns the string value used to identify the port
component associated with the remote system.
("lldpRemPortId")
- $lldp->lldp_rem_desc()
- Returns the string value used to identify the description
of the given port associated with the remote system.
Nulls are removed before the value is returned.
("lldpRemPortDesc")
- $lldp->lldp_rem_sysname()
- Returns the string value used to identify the system name
of the remote system.
Nulls are removed before the value is returned.
("lldpRemSysName")
- $lldp->lldp_rem_sysdesc()
- Returns the string value used to identify the system
description of the remote system.
Nulls are removed before the value is returned.
("lldpRemSysDesc")
- $lldp->lldp_rem_sys_cap()
- Returns which system capabilities are enabled on the local
system. Results are munged into an ascii binary string, LSB. Each digit
represents a bit from the table below:
- Bit 'other(0)' indicates that the system has
capabilities other than those listed below.
- Bit 'repeater(1)' indicates that the system has
repeater capability.
- Bit 'bridge(2)' indicates that the system has bridge
capability.
- Bit 'wlanAccessPoint(3)' indicates that the system
has WLAN access point capability.
- Bit 'router(4)' indicates that the system has router
capability.
- Bit 'telephone(5)' indicates that the system has
telephone capability.
- Bit 'docsisCableDevice(6)' indicates that the system
has DOCSIS Cable Device capability (IETF RFC 2669 & 2670).
- Bit 'stationOnly(7)' indicates that the system has
only station capability and nothing else."