DragonFly On-Line Manual Pages
LLDPCLI(8) DragonFly System Manager's Manual LLDPCLI(8)
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.
-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.
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]
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 hostname name
Override system hostname with the provided value. By default, the
system name is found from the resolved value of uname -n.
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 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 blacklist
an interface by suffixing it with an exclamation mark. It is
possible to whitelist an interface by suffixing it with two
exclamation marks. A whitelisted interface beats a blacklisted
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 interafces. 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 descripton
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
lldpcli), 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 blacklist
IPv6 addresses, you can use !*:*.
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 lldp portidsubtype ifname | macaddress
configure [ports ethX [,...]] lldp portidsubtype local value
[description description]
Force port ID subtype. By default, lldpcli 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.
Optionally, a port description can also be provided after the
local value.
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 [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 rxAndTx mode. This
means they can receive and transmit LLDP frames (as well as other
protocols if needed). In rxOnly mode, they won't emit any frames
and in txOnly mode, they won't receive any frames. In disabled
mode, no frame will be sent and any incoming frame will be
discarded. This settings do 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 lldp custom-tlv oui oui subtype subtype [oui-info content]
Emit a custom TLV for OUI oui, with subtype subtype and
optionnaly with the bytes specified in content. Both oui and
content should be a comma-separated list of bytes. oui must be
exactly 3-byte long.
unconfigure lldp custom-tlv
Remove any previously configured 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:
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. 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 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 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
/var/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>.
DragonFly 6.5-DEVELOPMENT July 16, 2008 DragonFly 6.5-DEVELOPMENT