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: 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 Layer 2 Link Discovery Cisco Discovery Protocol