Generated by GPT-5-mini| lldpd | |
|---|---|
| Name | lldpd |
| Developer | lldpd Project |
| Released | 2011 |
| Operating system | FreeBSD, NetBSD, OpenBSD, Linux, Solaris |
| License | ISC-style |
| Website | (omitted) |
lldpd
lldpd is an open-source implementation of the Link Layer Discovery Protocol (LLDP) intended for use on Unix-like FreeBSD, NetBSD, OpenBSD, Linux, and Solaris systems. It provides network devices and servers with the ability to advertise identity and capability information to adjacent devices using standardized TLV (Type-Length-Value) structures derived from IEEE 802.1AB. lldpd interoperates with managed switches and routers from vendors such as Cisco Systems, Juniper Networks, Arista Networks, Hewlett-Packard Enterprise, and Cisco Meraki to support topology discovery, inventory, and diagnostic workflows.
lldpd implements the IEEE 802.1AB protocol and related extensions such as LLDP-MED and CDP-compatible features to facilitate neighbor discovery in heterogeneous environments that include devices from Cisco Systems, Arista Networks, Juniper Networks, Extreme Networks, and Huawei Technologies. Operators use lldpd on servers running CentOS, Debian, Ubuntu, Fedora, and BSD distributions to enable integration with management platforms like Nagios, Zabbix, Prometheus, netbox, and RANCID. The daemon exposes data via UNIX sockets, NETLINK, and a management CLI that can be integrated into orchestration stacks managed by Ansible, Puppet, and Chef.
lldpd supports core LLDP TLVs specified by IEEE 802.1AB and optional TLVs such as LLDP-MED for voice, inventory, and location, plus experimental TLVs for vendor extensions used by Cisco Systems, Juniper Networks, Arista Networks, and Dell Technologies. It can advertise chassis ID, port ID, system name, system description, and management address information consumable by network controllers such as OpenDaylight, ONOS, and Cisco DNA Center. Built-in command-line tools allow inspection and dumping of neighbor tables for integration with monitoring tools like SolarWinds, PRTG Network Monitor, and Icinga. lldpd supports transmit/receive control per-interface, rate limiting, and the export of LLDP information to configuration management and inventory systems, enabling automated documentation used by teams leveraging GitLab CI/CD, Jenkins, and Travis CI pipelines.
The lldpd architecture comprises a core daemon, per-interface agents, a control socket, and plugins for storage and management. The daemon handles packet assembly and parsing compliant with IEEE 802.1AB, interacting with kernel facilities like Netlink on Linux and BPF slices on modern kernels, and with packet capture APIs on FreeBSD and OpenBSD. Plugins include a SNMP agent integration for interoperability with Net-SNMP and an output module for JSON suitable for consumption by Elasticsearch and Logstash. The control socket permits CLI utilities and GUIs to interrogate the runtime state; this socket model echoes designs used by systemd, OpenSSH, and Docker to provide service control and observability.
Configuration is typically performed through a combination of command-line tools and a configuration file; distributions provide init scripts and systemd units for automatic startup on boot targets used by systemd-managed systems such as Red Hat Enterprise Linux and Ubuntu Server. Administrators set global and per-interface options—advertisement intervals, TTL, and enabled TLVs—using a CLI resembling utilities from ifconfig and iproute2. Example workflows integrate lldpd output into asset databases maintained in NetBox or spreadsheets exported to Microsoft Excel for change-control processes tied to ITIL-based change boards. Troubleshooting uses tools and traces comparable to those used by tcpdump, wireshark, and vendor-specific diagnostics on platforms like Cisco IOS and Juniper Junos.
Because LLDP advertises device-identifying TLVs such as chassis ID and management addresses, deploying lldpd in multi-tenant environments requires consideration of information leakage policies commonly enforced by organizations like NIST and ISO. Best practices include filtering LLDP traffic on access ports, using per-interface configuration to disable TLVs that expose inventory attributes, and integrating with network access control solutions such as 802.1X and RADIUS to limit unauthorized management-plane access. Operators should consider restricting UNIX socket access and employing host-based controls found in OpenSSH and SELinux profiles to limit who can query lldpd state. When exporting data to external systems like Elasticsearch or Splunk, use encryption and access controls consistent with PCI DSS or HIPAA requirements when handling sensitive asset metadata.
lldpd is written in C and maintained to build on multiple BSD variants and mainstream Linux distributions; packaging is available in repositories for Debian, Ubuntu, Fedora, Red Hat Enterprise Linux, Arch Linux, and ports collections for FreeBSD and OpenBSD. The project provides integration bridges for proprietary discovery protocols such as CDP used by Cisco Systems and supports LLDP-MED profiles used in enterprise telephony from vendors like Polycom and Avaya. Cloud and virtualization platforms including KVM, Xen, and VMware ESXi can carry LLDP frames on bridged virtual NICs, enabling lldpd to participate in virtualized topologies for orchestration tools like OpenStack and Kubernetes.
lldpd began as a response to the lack of a portable LLDP daemon across Unix-like systems, with initial development influenced by reference implementations and vendor artifacts from Cisco Systems and standards activity at the IEEE working groups responsible for 802.1AB. Over time the project incorporated support for LLDP-MED, CDP interoperability, and management interfaces to integrate with monitoring ecosystems such as Nagios and Zabbix. Contributions have come from individual maintainers and organizations active in open networking such as Cumulus Networks and various BSD project contributors, with ongoing development tracked through code hosting platforms that host many open-source projects including GitHub and GitLab.
Category:Network software