1 .\" Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org>
2 .\" Copyright (c) 2008 Vincent Bernat <bernat@luffy.cx>
4 .\" Permission to use, copy, modify, and/or distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .Dd $Mdocdate: July 16 2008 $
22 .Nd control LLDP daemon
42 When no command is specified,
44 will start an interactive shell which can be used to input arbitrary
45 commands as if they were specified on the command line. This
46 interactive shell should provide completion and history support.
48 The options are as follows:
51 Enable more debugging information. This flag can be repeated.
53 Specify the Unix-domain socket used for communication with
58 version. When repeated, show more build information.
60 Choose the output format. Currently
66 formats are available. The default is
69 Read the given configuration file. This option may be repeated several
70 times. If a directory is provided, each file contained in it will be
73 Order is alphabetical.
79 will display detailed information about each neighbors on the
80 specified interfaces or on all interfaces if none are specified. This
81 command is mostly kept for backward compatibility with older versions.
83 The following commands are supported by
85 When there is no ambiguity, the keywords can be abbreviated. For
87 .Cd show neighbors ports eth0 summary
89 .Cd sh neigh p eth0 sum
91 .Bd -ragged -offset XX
93 .Bd -ragged -offset XXXXXX
99 .Bd -ragged -offset XXXXXX
100 Display general help or help about a command. Also, you can get help
101 using the completion or by pressing the
103 key. However, completion and inline help may be unavailable if
105 was compiled without readline support but
107 command is always available.
111 .Op ports Ar ethX Op ,...
112 .Op Cd details | summary
114 .Bd -ragged -offset XXXXXX
115 Display information about each neighbor known by
119 only a the name and the port description of each remote host will be
120 displayed. On the other hand, with
122 all available information will be displayed, giving a verbose
125 also display remote ports hidden by the smart filter. When specifying
126 one or several ports, the information displayed is limited to the
131 .Op Cd details | summary
132 .Bd -ragged -offset XXXXXX
133 Display information about local chassis. With
135 most details are skipped. On the other hand, with
137 all available information will be displayed, giving a verbose
142 .Op ports Ar ethX Op ,...
143 .Op Cd details | summary
145 .Bd -ragged -offset XXXXXX
146 Watch for any neighbor changes and report them as soon as they
147 happen. When specifying ports, the changes are only reported when
148 happening on the given ports.
152 have the same meaning than previously described.
155 .Cd show configuration
156 .Bd -ragged -offset XXXXXX
157 Display global configuration of
163 .Op ports Ar ethX Op ,...
165 .Bd -ragged -offset XXXXXX
166 Report LLDP-related statistics, like the number of LLDPDU transmitted,
167 received, discarded or unrecognized. When specifying ports, only the
168 statistics from the given port are reported. With
170 the statistics of each port is summed.
174 .Bd -ragged -offset XXXXXX
177 update its information and send new LLDP PDU on all interfaces.
181 .Cd system hostname Ar name
182 .Bd -ragged -offset XXXXXX
183 Override system hostname with the provided value. By default, the
184 system name is found from the resolved value of
190 .Bd -ragged -offset XXXXXX
191 Do not override system hostname and restore the use of the node name.
195 .Cd system description Ar description
196 .Bd -ragged -offset XXXXXX
197 Override chassis description with the provided value instead of using
198 kernel name, node name, kernel version, build date and architecture.
202 .Cd system description
203 .Bd -ragged -offset XXXXXX
204 Do not override chassis description and use a value computed from node
205 name, kernel name, kernel version, build date and architecture instead.
209 .Cd system platform Ar description
210 .Bd -ragged -offset XXXXXX
211 Override platform description with the provided value instead of using
212 kernel name. This value is currently only used for CDP.
217 .Bd -ragged -offset XXXXXX
218 Do not override platform description and use the kernel name. This
219 option undoes the previous one.
223 .Cd system interface pattern Ar pattern
224 .Bd -ragged -offset XXXXXX
225 Specify which interface to listen and send LLDPDU to. Without this
228 will use all available physical interfaces. This option can use
229 wildcards. Several interfaces can be specified separated by commas.
230 It is also possible to blacklist an interface by suffixing it with an
231 exclamation mark. It is possible to whitelist an interface by
232 suffixing it with two exclamation marks. A whitelisted interface beats
233 a blacklisted interfaces which beats a simple matched interface. For
237 will only use interfaces starting by
239 with the exception of
246 will use all interfaces, except interfaces starting by
248 with the exception of
250 When an exact match is found, it will circumvent some tests. For example, if
252 is specified, it will be accepted even if this is a VLAN interface.
256 .Cd system interface pattern
257 .Bd -ragged -offset XXXXXX
258 Remove any previously configured interface pattern and use all
259 physical interafces. This option undoes the previous one.
263 .Cd system interface description
264 .Bd -ragged -offset XXXXXX
265 Some OS allows the user to set a description for an interface. Setting
266 this option will enable
268 to override this description with the name of the peer neighbor if one
269 is found or with the number of neighbors found.
273 .Cd system interface descripton
274 .Bd -ragged -offset XXXXXX
275 Do not update interface description with the name of the peer
276 neighbor. This option undoes the previous one.
280 .Cd system interface promiscuous
281 .Bd -ragged -offset XXXXXX
282 Enable promiscuous mode on managed interfaces.
284 When the interface is not managed any more (or when quitting
286 the interface is left in promiscuous mode as it is difficult to know
287 if someone else also put the interface in promiscuous mode.
289 This option is known to be useful when the remote switch is a Cisco
290 2960 and the local network card features VLAN hardware
291 acceleration. In this case, you may not receive LLDP frames from the
292 remote switch. The most plausible explanation for this is the frame is
293 tagged with some VLAN (usually VLAN 1) and your network card is
294 filtering VLAN. This is not the only available solution to work-around
295 this problem. If you are concerned about performance issues, you can
296 also tag the VLAN 1 on each interface instead.
298 Currently, this option has no effect on anything else than Linux. On
299 other OS, either disable VLAN acceleration, tag VLAN 1 or enable
300 promiscuous mode manually on the interface.
304 .Cd system interface promiscuous
305 .Bd -ragged -offset XXXXXX
306 Do not set promiscuous mode on managed interfaces. This option does
307 not disable promiscuous mode on interfaces already using this mode.
311 .Cd system ip management pattern Ar pattern
312 .Bd -ragged -offset XXXXXX
313 Specify the management addresses of this system. As for interfaces
314 (described above), this option can use wildcards and inversions.
315 Without this option, the first IPv4 and the first IPv6 are used. If an
316 exact IP address is provided, it is used as a management address
317 without any check. If only negative patterns are provided, only one
318 IPv4 and one IPv6 addresses are chosen. Otherwise, many of them can be
319 selected. If you want to blacklist IPv6 addresses, you can use
324 .Cd system ip management pattern
325 .Bd -ragged -offset XXXXXX
326 Unset any specific pattern for matching management addresses. This
327 option undoes the previous one.
331 .Cd system bond-slave-src-mac-type Ar value
332 .Bd -ragged -offset XXXXXX
333 Set the type of src mac in lldp frames sent on bond slaves
336 .Bl -tag -width "XXX." -compact -offset XX
342 An arbitrary fixed value
343 .Li ( 00:60:08:69:97:ef )
345 Real mac with locally administered bit set. If the real mac already
346 has the locally administered bit set, fallback to the fixed value.
350 .Nm bond-slave-src-mac-type
353 Some switches may complain when using one of the two other possible
354 values (either because
355 .Li 00:00:00:00:00:00
356 is not a valid MAC or because the MAC address is flapping from one
357 port to another). Using
359 might lead to a duplicate MAC address on the network (but this is
364 .Cd lldp portidsubtype
365 .Cd ifname | macaddress
368 .Op ports Ar ethX Op ,...
369 .Cd lldp portidsubtype
370 .Cd local Ar value Op Cd description Ar description
371 .Bd -ragged -offset XXXXXX
372 Force port ID subtype. By default,
374 will use the MAC address as port identifier and the interface name as
375 port description, unless the interface has an alias. In this case, the
376 interface name will be used as port identifier and the description
377 will be the interface alias. With this command, you can force the port
378 identifier to be the interface name (with
380 the MAC address (with
382 or a local value (with
384 In the latest case, the local value should be provided.
385 Optionally, a port description can also be provided after the local
390 .Cd lldp tx-interval Ar interval
391 .Bd -ragged -offset XXXXXX
392 Change transmit delay to the specified value in seconds. The transmit
393 delay is the delay between two transmissions of LLDP PDU. The default
398 .Cd lldp tx-hold Ar hold
399 .Bd -ragged -offset XXXXXX
400 Change transmit hold value to the specified value. This value is used
401 to compute the TTL of transmitted packets which is the product of this
402 value and of the transmit delay. The default value is 4 and therefore
403 the default TTL is 120 seconds.
407 .Op ports Ar ethX Op ,...
409 .Cd status Ar rx-and-tx | rx-only | tx-only | disabled
410 .Bd -ragged -offset XXXXXX
411 Configure the administrative status of the given port. By default, all
412 ports are configured to be in
414 mode. This means they can receive and transmit LLDP frames (as well as
415 other protocols if needed). In
417 mode, they won't emit any frames and in
419 mode, they won't receive any frames. In
421 mode, no frame will be sent and any incoming frame will be
422 discarded. This settings do not override the operational mode of the
423 main daemon. If it is configured in receive-only mode (with the
425 flag), setting any transmit mode won't have any effect.
432 .Cd subtype Ar subtype
433 .Op Cd oui-info Ar content
434 .Bd -ragged -offset XXXXXX
435 Emit a custom TLV for OUI
439 and optionally with the bytes specified in
445 should be a comma-separated list of bytes.
447 must be exactly 3-byte long.
450 is specified then the TLV will be added. This is the default action.
453 is specified then all TLVs with the same
464 .Op Cd subtype Ar subtype
465 .Bd -ragged -offset XXXXXX
466 When no oui is specified, remove all previously configured custom TLV.
471 is specified, remove specific instances of custom TLV.
474 .Cd configure med fast-start
475 .Cd enable | tx-interval Ar interval
476 .Bd -ragged -offset XXXXXX
477 Configure LLDP-MED fast start mechanism. When a new LLDP-MED-enabled
478 neighbor is detected, fast start allows
480 to shorten the interval between two LLDPDU.
482 should enable LLDP-MED fast start while
484 specifies the interval between two LLDPDU in seconds. The default
485 interval is 1 second. Once 4 LLDPDU have been sent, the fast start
486 mechanism is disabled until a new neighbor is detected.
489 .Cd unconfigure med fast-start
490 .Bd -ragged -offset XXXXXX
491 Disable LLDP-MED fast start mechanism.
495 .Op ports Ar ethX Op ,...
496 .Cd med location coordinate
497 .Cd latitude Ar latitude
498 .Cd longitude Ar longitude
499 .Cd altitude Ar altitude Ar unit
501 .Bd -ragged -offset XXXXXX
502 Advertise a coordinate based location on the given ports (or on all
503 ports if no port is specified). The format of
505 is a decimal floating point number followed either by
511 is a decimal floating point number followed either by
516 is a decimal floating point number followed either by
518 when expressed in meters or
520 when expressed in floors. A space is expected between the floating
521 point number and the unit.
523 is one of those values:
524 .Bl -bullet -compact -offset XXXXXXXX
533 A valid use of this command is:
534 .D1 configure ports eth0 med location coordinate latitude 48.85667N longitude 2.2014E altitude 117.47 m datum WGS84
538 .Op ports Ar ethX Op ,...
539 .Cd med location address
540 .Cd country Ar country
541 .Cd Op Ar type value Op ...
542 .Bd -ragged -offset XXXXXX
543 Advertise a civic address on the given ports (or on all ports if no
546 is the two-letter code representing the country. The remaining
547 arguments should be paired to form the address. The first member of
548 each pair indicates the type of the second member which is a free-form
549 text. Here is the list of valid types:
550 .Bl -bullet -compact -offset XXXXXXXX
568 trailing-street-suffix
597 A valid use of this command is:
598 .D1 configure ports eth1 med location address country US street Qo Commercial Road Qc city Qo Roseville Qc
602 .Op ports Ar ethX Op ,...
603 .Cd med location elin
605 .Bd -ragged -offset XXXXXX
606 Advertise the availability of an ELIN number. This is used for setting
607 up emergency call. If the provided number is too small, it will be
608 padded with 0. Here is an example of use:
609 .D1 configure ports eth2 med location elin 911
613 .Op ports Ar ethX Op ,...
615 .Cd application Ar application
619 .Op Cd priority Ar priority
621 .Bd -ragged -offset XXXXXX
622 Advertise a specific network policy for the given ports (or for all
623 ports if no port was provided). Only the application type is
626 should be one of the following values:
627 static const struct value_string port_med_policy_map[] = {
628 .Bl -bullet -compact -offset XXXXXXXX
636 guest-voice-signaling
649 flag tells that the network policy for the specified application type
650 is required by the device but is currently unknown. This is used by
651 Endpoint Devices, not by Network Connectivity Devices. If not
652 specified, the network policy for the given application type is
655 When a VLAN is specified with
657 tells which 802.1q VLAN ID has to be advertised for the network
658 policy. A valid value is between 1 and 4094.
660 tells the VLAN should be tagged for the specified application type.
663 allows one to specify IEEE 802.1d / IEEE 802.1p Layer 2 Priority, also
664 known as Class of Service (CoS), to be used for the specified
665 application type. This field is usually ignored if no VLAN is
666 specified. The names match 802.1D-2004 standard (table G-2). Some more
667 recent standards may use different labels. Only the numeric values
668 should be relied upon. The accepted labels are:
669 .Bl -tag -width "X." -compact -offset XXXX
677 critical-applications
689 represents the DSCP value to be advertised for the given network
690 policy. DiffServ/Differentiated Services Code Point (DSCP) value as
691 defined in IETF RFC 2474 for the specified application type. Value: 0
692 (default per RFC 2475) through 63. Note: The class selector DSCP
693 values are backwards compatible for devices that only support the old
694 IP precedence Type of Service (ToS) format. (See the RFCs for what
697 A valid use of this command is:
698 .D1 configure med policy application voice vlan 500 priority voice dscp 46
702 .Op ports Ar ethX Op ,...
703 .Cd med power pse | pd
705 .Cd priority Ar priority
707 .Bd -ragged -offset XXXXXX
708 Advertise the LLDP-MED POE-MDI TLV for the given ports or for all
709 interfaces if no port is provided. One can act as a PD (power
710 consumer) or a PSE (power provider). No check is done on the validity
711 of the parameters while LLDP-MED requires some restrictions:
714 PD shall never request more power than physical 802.3af class.
716 PD shall never draw more than the maximum power advertised by PSE.
718 PSE shall not reduce power allocated to PD when this power is in use.
720 PSE may request reduced power using conservation mode
722 Being PSE or PD is a global paremeter, not a per-port parameter.
724 does not enforce this: a port can be set as PD or PSE. LLDP-MED also
725 requires for a PSE to only have one power source (primary or
728 does not enforce this. Each port can have its own power source. The
729 same applies for PD and power priority. LLDP-MED MIB does not allow
730 this kind of representation.
734 .Bl -tag -width "XXX." -compact -offset XX
736 Power Sourcing Entity (power provider)
738 Power Device (power consumer)
742 .Bl -tag -width "XXXXXXX" -compact -offset XX
746 For PSE, the power source is the primary power source.
748 For PSE, the power source is the backup power source or a power
749 conservation mode is asked (the PSE may be running on UPS for
752 For PD, the power source is the PSE.
754 For PD, the power source is a local source.
756 For PD, the power source is both the PSE and a local source.
759 Valid priorities are:
760 .Bl -tag -width "XXXXXXXXX" -compact -offset XX
772 should be the total power in milliwatts required by the PD device or
773 available by the PSE device.
775 Here is an example of use:
776 .D1 configure med power pd source pse priority high value 5000
780 .Op ports Ar ethX Op ,...
781 .Cd dot3 power pse | pd
785 .Cd powerpairs Ar powerpairs
786 .Op Cd class Ar class
787 .Op Cd type Ar type Cd source Ar source Cd priority Ar priority Cd requested Ar requested Cd allocated Ar allocated
788 .Bd -ragged -offset XXXXXX
789 Advertise Dot3 POE-MDI TLV for the given port or for all ports if none
790 was provided. One can act as a PD (power consumer) or a PSE (power
791 provider). This configuration is distinct of the configuration of the
792 transmission of the LLDP-MED POE-MDI TLV but the user should ensure
793 the coherency of those two configurations if they are used together.
796 means that MDI power is supported on the given port while
798 means that MDI power is enabled.
800 is used to indicate if pair selection can be controlled. Valid values
804 .Bl -tag -width "XXXXXX" -compact -offset XX
806 The signal pairs only are in use.
808 The spare pairs only are in use.
813 is a number between 0 and 4.
815 The remaining parameters are in conformance with 802.3at and are optional.
817 should be either 1 or 2, indicating which if the device conforms to
818 802.3at type 1 or 802.3at type 2. Values ofr
822 are the same as for LLDP-MED POE-MDI TLV.
826 are expressed in milliwats.
828 Here are two valid uses of this command:
829 .D1 configure ports eth3 dot3 power pse supported enabled paircontrol powerpairs spare class class-3
830 .D1 configure dot3 power pd supported enabled powerpairs spare class class-3 type 1 source pse priority low requested 10000 allocated 15000
834 .Bd -ragged -offset XXXXXX
839 will not send any more frames or receive ones. This can be undone with
845 .Bd -ragged -offset XXXXXX
850 will start to send and receive frames. This command is issued
851 internally after processing configuration but can be used at any time
859 .Bl -tag -width "@LLDPD_CTL_SOCKET@XX" -compact
860 .It @LLDPD_CTL_SOCKET@
861 Unix-domain socket used for communication with
870 program was written by
871 .An Vincent Bernat Aq bernat@luffy.cx .