The Link Layer Discovery Protocol (LLDP) is a vendor-neutral Data Link Layer protocol used by network devices for advertising of their identity, capabilities, and interconnections on a IEEE 802 LAN network. […] LLDP performs functions similar to several proprietary protocols, such as Cisco Discovery Protocol [(CDP)], Extreme Discovery Protocol [(EDP)], Nortel Discovery Protocol (also known as SONMP).
Several LLDP projects exist. Here's a comparison.
(Last updated: )
|Homepage||homepage vcs wiki (old) dl||openlldp.sf.net, 2, cvs||blinkenlights.nl, vcs||snar.spb.ru, ftp (down)||voiceroute.org (down)|
|Author||Vincent Bernat <bernat (at) luffy (dot) cx>||OpenLLDP team (Terry Simons <terry (dot) simons (at) gmail (dot) com>, Jason Peterson <condurre (at) users (dot) sourceforge (dot) net>)||Sten Spans <sten (at) blinkenlights (dot) nl>||Alexandre Snarskii <snar (at) paranoia (dot) ru> / <snar (at) snar (dot) spb (dot) ru>||Navin Kumar <navin (at) voiceroute (dot) net>|
SVN rev. 101
|Packaged in Debian (
|0.5.7 (maintained by the upstream author Vincent Bernat <bernat (at) debian (dot) org>)||RFP (26 Jun 2008, btw: by Vincent Bernat, author of LLDPd)||RFP (3 Mar 2010, by Sten Spans, the upstream author) but some binary packages are available and it comes with a debian sub-directory|
|OS||Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X||Linux, FreeBSD, NetBSD, Mac OS X||Unix, Linux||Linux, Unix, Windows||Systems where Perl and the Net::CDP module is available|
|License||ISC license||BSD-style license||ISC license||BSD-style license (2-clause)||GNU GPL (v.2)|
|Reception||(well yes, but doesn't do anything useful with it)||(not planned, see man page)||(well yes, but doesn't do anything useful with it)|
|CDP||(not really verified)||? (yes but not verified)||? (yes but not verified)||(not really verified)||? (yes but not verified)|
|LLDP||(not verified)||(not verified)|
|LLDP Fast Start|
|Announces IPv4 mgmt. addrs||(not verified)||?|
|Announces IPv6 mgmt. addrs||(not verified)||?|
|SNMP sub-agent (AgentX), SNMP LLDP MIB||(partially, read-only, see supported features||? (probably not)|
|LLDP-MED||(partially)||? (yes, partially, but not verified)||? (not verified)|
|Announces tagged VLAN ID org. TLV (type 127) OUI 00-80-c2 (IEEE 802.1, annex F), subtype 3
VLAN name, includes VLAN ID
|?||n/a (no LLDP support, yes for CDP)|
|Can advertise Network Policy TLVs org. TLV (type 127) OUI 00-12-bb (TIA TR-41.4 TIA-1057 LLDP-MED), subtype 2: IEEE 802.1q VLAN ID (layer 2), IEEE 802.1p priority (layer 2), IETF RFC 2474 Diffserv/DSCP/ToS (layer 3)||?||(not verified)||n/a (no LLDP support)|
|Quirks / annotations||
With the -x option (enable SNMP subagent) it doesn't fallback gracefully if SNMP (AgentX) is not available.
Lacks an option to set the transmission interval (as a workaround until Fast Start is supported).
With -r switch announces (in TLV 7
Some small improvements seem to have happened in a FreeBSD port.
Uses a patched version of the Net::CDP module instead of properly re-integrating changes with upstream.
LLDP(-MED) Fast Start basically means that once a LLDP message
including LLDP-MED TLVs is received you immediately send 3
LLDP-MED announcements within 3 seconds.
There must be some kind of rate-limiting mechanism such as:
only do a Fast Start if the device was not previously known
or if a device announces that it requires a Network Policy
Unknown Policy Flag).
What roughly falls into this category as well is that you
immediately send LLDP announcements once a new interface or
link is detected. The same thing applies for CDP and other