lldpd #0

Supports: xenial bionic
Add to new model


LLDP is an industry standard protocol designed to supplant proprietary Link-Layer protocols such as Extreme's EDP (Extreme Discovery Protocol) and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an inter-vendor compatible mechanism to deliver Link-Layer notifications to adjacent network devices. This implementation provides LLDP sending and reception, supports VLAN and includes an SNMP subagent that can interface to an SNMP agent through AgentX protocol. This daemon is also able to deal with CDP, SONMP, FDP and EDP protocol. It also handles LLDP-MED extension.


Purpose of this charm is to install and configure LLDP daemon (lldpd). LLDP is used by network administrators to detect how machines are connected to switches and routers.


Step by step instructions on using the charm:

juju deploy lldpd

juju add-relation lldpd application-on-physical-machine

Being a subordinate charm it needs to be related to an application running on physical machine. It doesn't make much sense to install LLDP on a VM or LXD container, because Linux bridge will terminate LLDP traffic.

Scale out Usage

By scaling your application, subordinate charm will get installed automatically.

Known Limitations and Issues

LLDP is not very useful on containers and virtual machines and therefore it's use on those is not recommended.


By default LLDPd will listen on all interfaces and pick, more or less, a random systemid. Two given configuration options allow user to specify which interfaces will be used to broadcast LLDP data and which will be used for systemid.

One additional option, i40e-lldp-stop, is included because some Intel NICs block user-space LLDP generated data and instead broadcast their own. By setting this option to True (default), NIC's built-in LLDP daemon will be disabled, if such a NIC has been discovered on the system.


(boolean) "This allows control over Intel's i40e NIC driver. By default i40e blocks userspace LLDP and does it on its own. Setting this option to 'True' means charm will disable this functionality in the NIC and do it within userspace."
(string) "Which interfaces should lldpd announce details. If you want lldpd to listen on multiple interfaces, set it here. Examples: seth*,meth* You can also use exclamation mark to exclude an interface: eth*,!eth1 This way lldpd will listen on all eth* interfaces with an exception of eth1."
(boolean) Set short name in SysName instead of FQDN
(string) Pull systemID from this interface