lldpad(8)
π lldpad β the LLDP agent daemon, explained by your favorite nerd bestie π
okay so real talk, this page comes straight out of the System Manager's Manual and it's all about lldpad, which is genuinely iconic once you know what it does. stay with me, we're gonna get through all of it together π«Ά
β¨ NAME β¨
lldpad β the Link Layer Discovery Protocol (LLDP) agent daemon. yes that's a mouthful, no you don't have to say it out loud π
πΈ SYNOPSIS πΈ
lldpad [-h] [-v] [-V level] [-d] [-k] [-p] [-s] [-t] [-f filename]
π DESCRIPTION π
So lldpad runs the LLDP protocol for the network interfaces it supports. That's the whole vibe. And the list of TLVs it currently supports? Obsessed, honestly:
- IEEE 802.1AB Mandatory TLVs
- IEEE 802.1AB Basic Management TLVs
- IEEE 802.3 Organizationally Specific TLVs
- LLDP-MED Organizationally Specific TLVs
- Data Center Bridging capabilities exchange protocol (DCBX) TLVs
- Edge Virtual Bridging (EVB) TLVs
π¦ what lldpad can actually do
like, its capabilities, bestie:
- Transmission of LLDP PDUs containing enabled TLVs from enabled ports.
- Reception of LLDP PDUs from enabled ports.
- Operation of the DCBX protocol for interfaces which support the DCB rtnetlink interface. This includes operation of the DCBX state machines above LLDP and corresponding configuration of the DCB parameters of the network interface. The supported DCB features are: Extended Transmission Selection, Priority Flow Control and the FCoE application.
- Configuring the DCB settings of the network driver based on the operation of DCBX.
- It provides a multi-channel interface so client applications can query and configure features. Events also get generated on the client interface to tell clients about changes. The
lldpadpackage ships two clients:lldptoolfor general LLDP agent management anddcbtoolfor DCB management.
π the DCBX versions it supports
lldpad supports these versions of the DCB capabilities exchange (DCBX) protocol:
- version 1 β also known as CIN DCBX
http://download.intel.com/technology/eedc/dcb_cep_spec.pdf - version 2 β also known as CEE DCBX
http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf - IEEE DCBX See the IEEE 802.1Qaz-2011 specification for details.
β the whole default-mode situation (important, no cap)
IEEE DCBX is the default DCBX mode for a DCB capable interface, so when the interface comes up, the default and configured IEEE DCBX TLVs get transmitted. lldpad can be globally configured to support one of the legacy DCBX versions (CIN or CEE). If the remote LLDP agent doesn't transmit any IEEE DCBX TLVs but does transmit a legacy DCBX TLV matching the configured legacy DCBX version, then the DCBX mode drops back to legacy DCBX mode. It will not transition back to IEEE DCBX mode until the next link reset.
Also: if lldpad has dropped back to legacy DCBX mode for a given interface and the daemon is stopped and restarted, the legacy DCBX mode for that interface will be used instead of starting out in IEEE DCBX mode. This behavior only applies to the case where lldpad is restarted, and it is not persistent across a system reboot.
See dcbtool for info on how to globally configure which legacy version of DCBX lldpad executes.
See lldptool for info on how to reset the DCBX mode of an interface back to default (that's the one that starts out in IEEE DCBX mode, iykyk).
lldpad also supports edge virtual bridging as currently under specification in the IEEE 802.1Qb working group: http://www.ieee802.org/1/pages/802.1bg.html
π₯ OPTIONS π₯
lldpad has these command line options, and yes we're doing all of them:
-hβ show usage information-f filenameβ use the specified file as the configuration file instead of the default file, which is/var/lib/lldpad/lldpad.conf. Heads up:lldpadexpects the directory of the configuration file to exist, but if the configuration file itself doesn't exist, then a default configuration file will be created.lldpadcreates and maintains the contents of the configuration file. Configuration should be performed by usinglldptoolordcbtool.-dβ runlldpadas a daemon-vβ showlldpadversion-V levelβ set thelldpaddebugging level. It uses syslog debug levels, so seesyslog.2for details.-kβ used to terminate the first instance oflldpadthat was started (e.g. from initrd). Oncelldpad -khas been invoked andlldpadhas been restarted, subsequent invocations oflldpad -kwill not terminatelldpad.-sβ removelldpadstate records from shared memory-pβ do not create the PID file/var/run/lldpad.pidon startup-tβ omit timestamps from logging messages
π NOTE π
On termination,lldpaddoes not undo any of the configurations that it has set. This approach minimizes the risk of restarting the daemon to perform a software update, or of having storage issues during shutdown. Ongoing operation of network interfaces that had been controlled bylldpadmay result in unexpected behavior. so yeah, read that twice π«
π SEE ALSO π
dcbtool(8), lldptool(8), lldptool-dcbx(8), lldptool-ets(8), lldptool-pfc(8), lldptool-app(8), lldptool-med(8), lldptool-vdp(8), lldptool-evb(8)
π COPYRIGHT π
lldpad β LLDP agent daemon with DCBX support
Copyright(c) 2007-2012 Intel Corporation. Portions of lldpad are based on:
hostapd-0.5.7
Copyright: (c) 2004-2008, Jouni Malinen <j@w1.fi>
π LICENSE π
This program is free software; you can redistribute it and/or modify it under the terms and conditions of the GNU General Public License, version 2, as published by the Free Software Foundation.
This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in the file called "COPYING".
π§ SUPPORT π§
Contact Information: open-lldp Mailing List <lldp-devel@open-lldp.org>
and that's the whole page, bestie π this one's from the System Manager's Manual, dated March 23, 2012 β go forth and configure responsibly β¨π
π¦ where this page comes from
- alpine 3.22: open-lldp-doc 1.1-r2 Β· GPL-2.0-only
- alpine 3.23: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- alpine 3.24: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- centos-stream 10: lldpad 1.1.1-4.gitf1dd9eb.el10 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms