LLDPCLI(8)

NAME
lldpcli, lldpctl - control LLDP daemon

SYNOPSIS
lldpcli [-dv] [-u file] [-f format] [-c file] [command ...]
lldpctl [-dv] [-u file] [-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.

-u  Specify the Unix-domain socket used for communication with lldpd(8).

-v  Show lldpcli version.

-f format
    Choose the output format. Currently plain, xml, json and keyvalue formats are available. The default is plain.

-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 a 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.

watch [ports ethX [,...]] [details | summary] [hidden]

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.

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 description description

Override chassis description with the provided value instead of using kernel name, node name, kernel version, build date and architecture.

configure system platform description

Override platform description with the provided value instead of using kernel name. This value is currently only used for CDP.

configure system interface pattern pattern

Set the pattern of valid interfaces to use. When not set, lldpd will listen on all available interfaces. This option can use wildcards. Several interfaces can be specified separated by commas. It is also possible to blacklist an interface by suffixing it with an exclamation mark. When an interface is both specified with and without an exclamation mark, it is blacklisted. For example, with eth*,!eth1,!eth2 lldpd will only listen to interfaces starting by eth with the exception of eth1 and eth2.

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.

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.

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 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 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] [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: static const struct value_string port_med_policy_map[] = {
•   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. 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. It should be one of those values:
•   background
•   spare
•   best-effort
•   excellent-effort
•   controlled-load
•   video
•   voice
•   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 paremeter, 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 forr 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 ofr 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 3
    configure dot3 power pd supported enabled powerpairs spare 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
/var/run/lldpd.socket
    Unix-domain socket used for communication with lldpd(8).

SEE ALSO
lldpd(8)

AUTHORS
-nosplit The lldpcli program was written by Vincent Bernat <bernat@luffy.cx>.