Link Layer Discovery

The Link Layer Discovery Protocol (LLDP) is a vendor-neutral link layer protocol. Network devices use it to advertise their identity, capabilities, and neighbors.

LLDP performs functions similar to several proprietary protocols, such as the Cisco Discovery Protocol (CDP), Extreme Discovery Protocol (EDP), Foundry Discovery Protocol (FDP), Nortel Discovery Protocol (also known as SONMP), and Microsoft’s Link Layer Discovery Protocol (LLDP).

Only nodes with a running LLDP process can be part of the link discovery. The data is similar to running the show lldp neighbor command on a device’s command line. Linux and Windows servers don’t have an LLDP process running by default, and will not be part of the link discovery unless an LLDP agent is manually installed and configured.

You can find generic information about the LLDP process in the LLDP Information box on any device’s Node Detail page.

LLDP Topology Updater

The LLDP Topology Updater consolidates LLDP data and provides the LLDP OnmsTopology. Only full bidirectional connections between two LLDP-supported devices become edges in the topology. For example, Node A and Node B are connected by an edge if, and only if, there is an LLDP MIB port connection in Node A to Node B, and vice versa.

Information gathered from supported OIDs is stored in the following database tables:

Network diagram depicting database tables used in LLDP discovery
Figure 1. Database tables related to LLDP discovery

Supported OIDs

The following OIDs are supported for the discovery and construction of the LLDP network topology. The LLDP Discovery Collector collects them:

Table 1. Supported OIDs from the LLDP-MIB module
Name Description OID

lldpLocChassisIdSubtype

Type of encoding used to identify the chassis associated with the local system (chassisComponent(1), interfaceAlias(2), portComponent(3), macAddress(4), networkAddress(5), interfaceName(6), or local(7)).

.1.0.8802.1.1.2.1.3.1.0

lldpLocChassisId

String value used to identify the chassis component associated with the local system.

.1.0.8802.1.1.2.1.3.2.0

lldpLocSysName

String value used to identify the system name of the local system. If the local agent supports IETF RFC 3418, lldpLocSysName should have the same value as sysName.

.1.0.8802.1.1.2.1.3.3.0

lldpLocPortIdSubtype

Type of port identifier encoding used in the associated lldpLocPortId object.

.1.0.8802.1.1.2.1.3.7.1.2

lldpLocPortId

String value used to identify the port component associated with a given port in the local system.

.1.0.8802.1.1.2.1.3.7.1.3

lldpLocPortDesc

String value used to identify the 802 LAN station’s port description that is associated with the local system. If the local agent supports IETF RFC 2863, lldpLocPortDesc should have the same value as ifDescr.

.1.0.8802.1.1.2.1.3.7.1.4

lldpRemChassisIdSubtype

Type of encoding used to identify the chassis associated with the local system (chassisComponent(1), interfaceAlias(2), portComponent(3), macAddress(4), networkAddress(5), interfaceName(6), or local(7)).

.1.0.8802.1.1.2.1.4.1.1.4

lldpRemChassisId

String value used to identify the chassis component associated with the remote system.

.1.0.8802.1.1.2.1.4.1.1.5

lldpRemPortIdSubtype

Type of port identifier encoding used in the associated lldpRemPortId object.
interfaceAlias(1): Identifies an instance of the ifAlias object (defined in IETF RFC 2863). If that ifAlias object does not contain any values, use another port identifier type.
portComponent(2): Identifies a particular instance of the entPhysicalAlias object (defined in IETF RFC 2737) for a port or backplane component.
macAddress(3): Identifies a particular unicast source address (encoded in network byte order and IEEE 802.3 canonical bit order) that is associated with the port (IEEE Std 802-2001).
networkAddress(4): Identifies a network address that is associated with the port. The first octet contains the IANA AddressFamilyNumbers enumeration value for the specific address type. Octets 2 through N contain the networkAddress value (in network byte order).
interfaceName(5): Identifies a particular instance of the ifName object (defined in IETF RFC 2863). If the particular ifName object does not contain any values, use another port identifier type.
acentCircuitId(6): Identifies an agent-local circuit identifier (defined in RFC 3046).
local(7): Identifies a locally assigned port ID.

.1.0.8802.1.1.2.1.4.1.1.6

lldpRemPortId

String value used to identify the port component that is associated with the remote system.

.1.0.8802.1.1.2.1.4.1.1.7

lldpRemPortDesc

String value used to identify the description of the given port that is associated with the remote system.

.1.0.8802.1.1.2.1.4.1.1.8

lldpRemSysName

String value used to identify the remote system’s name.

.1.0.8802.1.1.2.1.4.1.1.9