Provided by: lldpd_1.0.13-1_amd64 

NAME
lldpcli, lldpctl — control LLDP daemon
SYNOPSIS
lldpcli [-dv] [-u socket] [-f format] [-c file] [command ...]
lldpctl [-dv] [-u socket] [-f format] [interfaces ...]
DESCRIPTION
The lldpcli program controls lldpd(8) daemon.
When no command is specified, lldpcli will start an interactive shell which can be used to input
arbitrary commands as if they were specified on the command line. This interactive shell should provide
completion and history support.
The options are as follows:
-d Enable more debugging information. This flag can be repeated.
-u socket
Specify the Unix-domain socket used for communication with lldpd(8).
-v Show lldpcli version. When repeated, show more build information.
-f format
Choose the output format. Currently plain, xml, json, json0 and keyvalue formats are available.
The default is plain. json0 is more verbose than json but the structure of the JSON object is
not affected by the number of interfaces or the number of neighbors. It is therefore easier to
parse.
-c file
Read the given configuration file. This option may be repeated several times. If a directory is
provided, each file contained in it will be read if ending by .conf. Order is alphabetical.
When invoked as lldpctl, lldpcli will display detailed information about each neighbors on the specified
interfaces or on all interfaces if none are specified. This command is mostly kept for backward
compatibility with older versions.
The following commands are supported by lldpcli. When there is no ambiguity, the keywords can be
abbreviated. For example, show neighbors ports eth0 summary and sh neigh p eth0 sum are the same command.
exit
Quit lldpcli.
help [...]
Display general help or help about a command. Also, you can get help using the completion or by
pressing the ? key. However, completion and inline help may be unavailable if lldpcli was
compiled without readline support but help command is always available.
show neighbors [ports ethX [,...]] [details | summary] [hidden]
Display information about each neighbor known by lldpd(8) daemon. With summary, only the name and
the port description of each remote host will be displayed. On the other hand, with details, all
available information will be displayed, giving a verbose view. When using hidden, also display
remote ports hidden by the smart filter. When specifying one or several ports, the information
displayed is limited to the given list of ports.
show interfaces [ports ethX [,...]] [details | summary] [hidden]
Display information about each local interface known by lldpd(8) daemon. With summary, only the
name and the port description of each local interface will be displayed. On the other hand, with
details, all available information will be displayed, giving a verbose view. When using hidden,
also display local ports hidden by the smart filter. When specifying one or several ports, the
information displayed is limited to the given list of ports.
show chassis [details | summary]
Display information about local chassis. With summary, most details are skipped. On the other
hand, with details, all available information will be displayed, giving a verbose view.
watch [ports ethX [,...]] [details | summary] [hidden] [limit X]
Watch for any neighbor changes and report them as soon as they happen. When specifying ports, the
changes are only reported when happening on the given ports. hidden, summary and details have
the same meaning than previously described. If limit is specified, lldpcli will exit after
receiving the specified number of events.
show configuration
Display global configuration of lldpd(8) daemon.
show statistics [ports ethX [,...]] [summary]
Report LLDP-related statistics, like the number of LLDPDU transmitted, received, discarded or
unrecognized. When specifying ports, only the statistics from the given port are reported. With
summary the statistics of each port is summed.
update
Make lldpd(8) update its information and send new LLDP PDU on all interfaces.
configure system hostname name
Override system hostname with the provided value. By default, the system name is the FQDN found
from the resolved value of uname -n. As a special value, use "." (dot) to use the short hostname
instead of a FQDN.
unconfigure system hostname
Do not override system hostname and restore the use of the node name.
configure system description description
Override chassis description with the provided value instead of using kernel name, node name,
kernel version, build date and architecture.
unconfigure system description
Do not override chassis description and use a value computed from node name, kernel name, kernel
version, build date and architecture instead.
configure system chassisid description
Override chassis ID with the provided value instead of using MAC address from one interface or
host name.
unconfigure system chassisid
Do not override chassis ID and use a value computed from one of the interface MAC address (or
host name if none is found).
configure system platform description
Override platform description with the provided value instead of using kernel name. This value is
currently only used for CDP.
unconfigure system platform
Do not override platform description and use the kernel name. This option undoes the previous
one.
configure system interface pattern pattern
Specify which interface to listen and send LLDPDU to. Without this option, lldpd will use all
available physical interfaces. This option can use wildcards. Several interfaces can be specified
separated by commas. It is also possible to remove an interface by prefixing it with an
exclamation mark. It is possible to allow an interface by prefixing it with two exclamation
marks. An allowed interface beats a forbidden interfaces which beats a simple matched interface.
For example, with eth*,!eth1,!eth2 lldpd will only use interfaces starting by eth with the
exception of eth1 and eth2. While with *,!eth*,!!eth1 lldpcli will use all interfaces, except
interfaces starting by eth with the exception of eth1. When an exact match is found, it will
circumvent some tests. For example, if eth0.12 is specified, it will be accepted even if this is
a VLAN interface.
unconfigure system interface pattern
Remove any previously configured interface pattern and use all physical interfaces. This option
undoes the previous one.
configure system interface permanent pattern
Specify interfaces whose configuration is permanently kept by lldpd. By default, lldpd disregard
any data about interfaces when they are removed from the system (statistics, custom
configuration). This option allows one to specify a pattern similar to the interface pattern. If
an interface disappear but matches the pattern, its data is kept in memory and reused if the
interface reappear at some point. For example, on Linux, one could use the pattern
eth*,eno*,enp*, which should match fixed interfaces on most systems.
unconfigure system interface permanent
Remove any previously configured permanent interface pattern. Any interface removed from the
system will be forgotten. This option undoes the previous one.
configure system interface description
Some OS allows the user to set a description for an interface. Setting this option will enable
lldpd to override this description with the name of the peer neighbor if one is found or with the
number of neighbors found.
unconfigure system interface description
Do not update interface description with the name of the peer neighbor. This option undoes the
previous one.
configure system interface promiscuous
Enable promiscuous mode on managed interfaces.
When the interface is not managed any more (or when quitting lldpd), the interface is left in
promiscuous mode as it is difficult to know if someone else also put the interface in promiscuous
mode.
This option is known to be useful when the remote switch is a Cisco 2960 and the local network
card features VLAN hardware acceleration. In this case, you may not receive LLDP frames from the
remote switch. The most plausible explanation for this is the frame is tagged with some VLAN
(usually VLAN 1) and your network card is filtering VLAN. This is not the only available solution
to work-around this problem. If you are concerned about performance issues, you can also tag the
VLAN 1 on each interface instead.
Currently, this option has no effect on anything else than Linux. On other OS, either disable
VLAN acceleration, tag VLAN 1 or enable promiscuous mode manually on the interface.
unconfigure system interface promiscuous
Do not set promiscuous mode on managed interfaces. This option does not disable promiscuous mode
on interfaces already using this mode.
configure system ip management pattern pattern
Specify the management addresses of this system. As for interfaces (described above), this option
can use wildcards and inversions. Without this option, the first IPv4 and the first IPv6 are
used. If an exact IP address is provided, it is used as a management address without any check.
If only negative patterns are provided, only one IPv4 and one IPv6 addresses are chosen.
Otherwise, many of them can be selected. If you want to remove IPv6 addresses, you can use !*:*.
If an interface name is matched, the first IPv4 address and the first IPv6 address associated to
this interface will be chosen.
unconfigure system ip management pattern
Unset any specific pattern for matching management addresses. This option undoes the previous
one.
configure system bond-slave-src-mac-type value
Set the type of src mac in lldp frames sent on bond slaves
Valid types are:
real Slave real mac
zero All zero mac
fixed
An arbitrary fixed value (00:60:08:69:97:ef)
local
Real mac with locally administered bit set. If the real mac already has the locally
administered bit set, fallback to the fixed value.
Default value for bond-slave-src-mac-type is local. Some switches may complain when using one of
the two other possible values (either because 00:00:00:00:00:00 is not a valid MAC or because the
MAC address is flapping from one port to another). Using local might lead to a duplicate MAC
address on the network (but this is quite unlikely).
configure system max-neighbors neighbors
Change the maximum number of neighbors accepted (for each protocol) on an interface. This is a
global value. The default is 32. This setting only applies to future neighbors.
configure lldp agent-type nearest-bridge | nearest-non-tpmr-bridge | nearest-customer-bridge
The destination MAC address used to send LLDPDU allows an agent to control the propagation of
LLDPDUs. By default, the 01:80:c2:00:00:0e MAC address is used and limit the propagation of the
LLDPDU to the nearest bridge (nearest-bridge). To instruct lldpd to use the 01:80:c2:00:00:03
MAC address instead, use nearest-nontpmr-bridge instead. To use the 01:80:c2:00:00:00 MAC
address instead, use nearest-customer-bridge instead.
configure lldp portidsubtype ifname | macaddress
configure [ports ethX [,...]] lldp portidsubtype local value
Force port ID subtype. By default, lldpd will use the MAC address as port identifier and the
interface name as port description, unless the interface has an alias. In this case, the
interface name will be used as port identifier and the description will be the interface alias.
With this command, you can force the port identifier to be the interface name (with ifname), the
MAC address (with macaddress) or a local value (with value). In the latest case, the local value
should be provided.
configure [ports ethX [,...]] lldp portdescription description
Force port description to the provided string.
configure lldp tx-interval interval
Change transmit delay to the specified value in seconds. The transmit delay is the delay between
two transmissions of LLDP PDU. The default value is 30 seconds. Note: lldpd also starts another
system based refresh timer on each port to detect changes such as a hostname. This is the value
of the tx-interval multiplied by 20.
You can specify an interval value in milliseconds by appending a "ms" suffix to the figure (e.g.
"configure lldp tx-interval 1500ms" is 1.5s, not 1500s). In this case the TTL for received and
sent LLDP frames is rounded up to the next second. Note: the effective interval can be limited by
the operating system capabilities and CPU speed.
configure lldp tx-hold hold
Change transmit hold value to the specified value. This value is used to compute the TTL of
transmitted packets which is the product of this value and of the transmit delay. The default
value is 4 and therefore the default TTL is 120 seconds.
configure [ports ethX [,...]] lldp status rx-and-tx | rx-only | tx-only | disabled
Configure the administrative status of the given port. By default, all ports are configured to be
in rx-and-tx mode. This means they can receive and transmit LLDP frames (as well as other
protocols if needed). In rx-only mode, they won't emit any frames and in tx-only mode, they won't
receive any frames. In disabled mode, no frame will be sent and any incoming frame will be
discarded. This setting does not override the operational mode of the main daemon. If it is
configured in receive-only mode (with the -r flag), setting any transmit mode won't have any
effect.
configure [ports ethX [,...]] lldp vlan-tx vlan_id [prio priority [dei dei]]
Configure the given port to send LLDP frames over a specified VLAN. With VLAN Identifier (VID) as
vlan_id, Priority Code Point (PCP) as priority, and Drop Eligible Indicator (DEI) as dei. lldpd
accepts LLDP frames on all VLANs.
configure lldp custom-tlv [add | replace] oui oui subtype subtype [oui-info content]
Emit a custom TLV for OUI oui, with subtype subtype and optionally with the bytes specified in
content. Both oui and content should be a comma-separated list of bytes in hex format. oui must
be exactly 3-byte long. If add is specified then the TLV will be added. This is the default
action. If replace is specified then all TLVs with the same oui and subtype will be replaced.
unconfigure lldp custom-tlv [oui oui] [subtype subtype]
When no oui is specified, remove all previously configured custom TLV. When OUI oui and subtype
subtype is specified, remove specific instances of custom TLV.
configure med fast-start enable | tx-interval interval
Configure LLDP-MED fast start mechanism. When a new LLDP-MED-enabled neighbor is detected, fast
start allows lldpd to shorten the interval between two LLDPDU. enable should enable LLDP-MED
fast start while tx-interval specifies the interval between two LLDPDU in seconds. The default
interval is 1 second. Once 4 LLDPDU have been sent, the fast start mechanism is disabled until a
new neighbor is detected.
unconfigure med fast-start
Disable LLDP-MED fast start mechanism.
configure [ports ethX [,...]] med location coordinate latitude latitude longitude longitude altitude
altitude unit datum datum
Advertise a coordinate based location on the given ports (or on all ports if no port is
specified). The format of latitude is a decimal floating point number followed either by N or S.
The format of longitude is a decimal floating point number followed either by E or W. altitude
is a decimal floating point number followed either by m when expressed in meters or f when
expressed in floors. A space is expected between the floating point number and the unit. datum
is one of those values:
• WGS84
• NAD83
• NAD83/MLLW
A valid use of this command is:
configure ports eth0 med location coordinate latitude 48.85667N longitude 2.2014E altitude
117.47 m datum WGS84
configure [ports ethX [,...]] med location address country country [type value [...]]
Advertise a civic address on the given ports (or on all ports if no port is specified). country
is the two-letter code representing the country. The remaining arguments should be paired to form
the address. The first member of each pair indicates the type of the second member which is a
free-form text. Here is the list of valid types:
• language
• country-subdivision
• county
• city
• city-division
• block
• street
• direction
• trailing-street-suffix
• street-suffix
• number
• number-suffix
• landmark
• additional
• name
• zip
• building
• unit
• floor
• room
• place-type
• script
A valid use of this command is:
configure ports eth1 med location address country US street "Commercial Road" city
"Roseville"
configure [ports ethX [,...]] med location elin number
Advertise the availability of an ELIN number. This is used for setting up emergency call. If the
provided number is too small, it will be padded with 0. Here is an example of use:
configure ports eth2 med location elin 911
configure [ports ethX [,...]] med policy application application [unknown] [tagged] [vlan vlan]
[priority priority] [dscp dscp]
Advertise a specific network policy for the given ports (or for all ports if no port was
provided). Only the application type is mandatory. application should be one of the following
values:
• voice
• voice-signaling
• guest-voice
• guest-voice-signaling
• softphone-voice
• video-conferencing
• streaming-video
• video-signaling
The unknown flag tells that the network policy for the specified application type is required by
the device but is currently unknown. This is used by Endpoint Devices, not by Network
Connectivity Devices. If not specified, the network policy for the given application type is
defined.
When a VLAN is specified with vlan tells which 802.1q VLAN ID has to be advertised for the
network policy. A valid value is between 1 and 4094. tagged tells the VLAN should be tagged for
the specified application type.
priority allows one to specify IEEE 802.1d / IEEE 802.1p Layer 2 Priority, also known as Class of
Service (CoS), to be used for the specified application type. This field is usually ignored if no
VLAN is specified. The names match 802.1D-2004 standard (table G-2). Some more recent standards
may use different labels. Only the numeric values should be relied upon. The accepted labels are:
1 background
0 best-effort
2 excellent-effort
3 critical-applications
4 video
5 voice
6 internetwork-control
7 network-control
dscp represents the DSCP value to be advertised for the given network policy.
DiffServ/Differentiated Services Code Point (DSCP) value as defined in IETF RFC 2474 for the
specified application type. Value: 0 (default per RFC 2475) through 63. Note: The class selector
DSCP values are backwards compatible for devices that only support the old IP precedence Type of
Service (ToS) format. (See the RFCs for what these values mean)
A valid use of this command is:
configure med policy application voice vlan 500 priority voice dscp 46
configure [ports ethX [,...]] med power pse | pd source source priority priority value value
Advertise the LLDP-MED POE-MDI TLV for the given ports or for all interfaces if no port is
provided. One can act as a PD (power consumer) or a PSE (power provider). No check is done on
the validity of the parameters while LLDP-MED requires some restrictions:
• PD shall never request more power than physical 802.3af class.
• PD shall never draw more than the maximum power advertised by PSE.
• PSE shall not reduce power allocated to PD when this power is in use.
• PSE may request reduced power using conservation mode
• Being PSE or PD is a global parameter, not a per-port parameter. lldpcli does not enforce
this: a port can be set as PD or PSE. LLDP-MED also requires for a PSE to only have one power
source (primary or backup). Again, lldpcli does not enforce this. Each port can have its own
power source. The same applies for PD and power priority. LLDP-MED MIB does not allow this
kind of representation.
Valid types are:
pse Power Sourcing Entity (power provider)
pd Power Device (power consumer)
Valid sources are:
unknown Unknown
primary For PSE, the power source is the primary power source.
backup For PSE, the power source is the backup power source or a power conservation mode is
asked (the PSE may be running on UPS for example).
pse For PD, the power source is the PSE.
local For PD, the power source is a local source.
both For PD, the power source is both the PSE and a local source.
Valid priorities are:
unknown Unknown priority
critical Critical
high High
low Low
value should be the total power in milliwatts required by the PD device or available by the PSE
device.
Here is an example of use:
configure med power pd source pse priority high value 5000
configure [ports ethX [,...]] dot3 power pse | pd [supported] [enabled] [paircontrol] powerpairs
powerpairs [class class] [type type source source priority priority requested requested allocated
allocated]
Advertise Dot3 POE-MDI TLV for the given port or for all ports if none was provided. One can act
as a PD (power consumer) or a PSE (power provider). This configuration is distinct of the
configuration of the transmission of the LLDP-MED POE-MDI TLV but the user should ensure the
coherency of those two configurations if they are used together.
supported means that MDI power is supported on the given port while enabled means that MDI power
is enabled. paircontrol is used to indicate if pair selection can be controlled. Valid values
for powerpairs are:
signal The signal pairs only are in use.
spare The spare pairs only are in use.
When specified, class is a number between 0 and 4.
The remaining parameters are in conformance with 802.3at and are optional. type should be either
1 or 2, indicating which if the device conforms to 802.3at type 1 or 802.3at type 2. Values of
source and priority are the same as for LLDP-MED POE-MDI TLV. requested and allocated are
expressed in milliwats.
Here are two valid uses of this command:
configure ports eth3 dot3 power pse supported enabled paircontrol powerpairs spare class
class-3
configure dot3 power pd supported enabled powerpairs spare class class-3 type 1 source pse
priority low requested 10000 allocated 15000
pause
Pause lldpd operations. lldpd will not send any more frames or receive ones. This can be undone
with resume command.
resume
Resume lldpd operations. lldpd will start to send and receive frames. This command is issued
internally after processing configuration but can be used at any time if a manual pause command
is issued.
FILES
/run/lldpd.socket Unix-domain socket used for communication with lldpd(8).
SEE ALSO
lldpd(8)
AUTHORS
The lldpcli program was written by Vincent Bernat <bernat@luffy.cx>.
Debian July 16, 2008 LLDPCLI(8)