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
146 .Bd -ragged -offset XXXXXX
147 Watch for any neighbor changes and report them as soon as they
148 happen. When specifying ports, the changes are only reported when
149 happening on the given ports.
153 have the same meaning than previously described. If
157 will exit after receiving the specified number of events.
160 .Cd show configuration
161 .Bd -ragged -offset XXXXXX
162 Display global configuration of
168 .Op ports Ar ethX Op ,...
170 .Bd -ragged -offset XXXXXX
171 Report LLDP-related statistics, like the number of LLDPDU transmitted,
172 received, discarded or unrecognized. When specifying ports, only the
173 statistics from the given port are reported. With
175 the statistics of each port is summed.
179 .Bd -ragged -offset XXXXXX
182 update its information and send new LLDP PDU on all interfaces.
186 .Cd system hostname Ar name
187 .Bd -ragged -offset XXXXXX
188 Override system hostname with the provided value. By default, the
189 system name is found from the resolved value of
195 .Bd -ragged -offset XXXXXX
196 Do not override system hostname and restore the use of the node name.
200 .Cd system description Ar description
201 .Bd -ragged -offset XXXXXX
202 Override chassis description with the provided value instead of using
203 kernel name, node name, kernel version, build date and architecture.
207 .Cd system description
208 .Bd -ragged -offset XXXXXX
209 Do not override chassis description and use a value computed from node
210 name, kernel name, kernel version, build date and architecture instead.
214 .Cd system platform Ar description
215 .Bd -ragged -offset XXXXXX
216 Override platform description with the provided value instead of using
217 kernel name. This value is currently only used for CDP.
222 .Bd -ragged -offset XXXXXX
223 Do not override platform description and use the kernel name. This
224 option undoes the previous one.
228 .Cd system interface pattern Ar pattern
229 .Bd -ragged -offset XXXXXX
230 Specify which interface to listen and send LLDPDU to. Without this
233 will use all available physical interfaces. This option can use
234 wildcards. Several interfaces can be specified separated by commas.
235 It is also possible to blacklist an interface by suffixing it with an
236 exclamation mark. It is possible to whitelist an interface by
237 suffixing it with two exclamation marks. A whitelisted interface beats
238 a blacklisted interfaces which beats a simple matched interface. For
242 will only use interfaces starting by
244 with the exception of
251 will use all interfaces, except interfaces starting by
253 with the exception of
255 When an exact match is found, it will circumvent some tests. For example, if
257 is specified, it will be accepted even if this is a VLAN interface.
261 .Cd system interface pattern
262 .Bd -ragged -offset XXXXXX
263 Remove any previously configured interface pattern and use all
264 physical interafces. This option undoes the previous one.
268 .Cd system interface description
269 .Bd -ragged -offset XXXXXX
270 Some OS allows the user to set a description for an interface. Setting
271 this option will enable
273 to override this description with the name of the peer neighbor if one
274 is found or with the number of neighbors found.
278 .Cd system interface description
279 .Bd -ragged -offset XXXXXX
280 Do not update interface description with the name of the peer
281 neighbor. This option undoes the previous one.
285 .Cd system interface promiscuous
286 .Bd -ragged -offset XXXXXX
287 Enable promiscuous mode on managed interfaces.
289 When the interface is not managed any more (or when quitting
291 the interface is left in promiscuous mode as it is difficult to know
292 if someone else also put the interface in promiscuous mode.
294 This option is known to be useful when the remote switch is a Cisco
295 2960 and the local network card features VLAN hardware
296 acceleration. In this case, you may not receive LLDP frames from the
297 remote switch. The most plausible explanation for this is the frame is
298 tagged with some VLAN (usually VLAN 1) and your network card is
299 filtering VLAN. This is not the only available solution to work-around
300 this problem. If you are concerned about performance issues, you can
301 also tag the VLAN 1 on each interface instead.
303 Currently, this option has no effect on anything else than Linux. On
304 other OS, either disable VLAN acceleration, tag VLAN 1 or enable
305 promiscuous mode manually on the interface.
309 .Cd system interface promiscuous
310 .Bd -ragged -offset XXXXXX
311 Do not set promiscuous mode on managed interfaces. This option does
312 not disable promiscuous mode on interfaces already using this mode.
316 .Cd system ip management pattern Ar pattern
317 .Bd -ragged -offset XXXXXX
318 Specify the management addresses of this system. As for interfaces
319 (described above), this option can use wildcards and inversions.
320 Without this option, the first IPv4 and the first IPv6 are used. If an
321 exact IP address is provided, it is used as a management address
322 without any check. If only negative patterns are provided, only one
323 IPv4 and one IPv6 addresses are chosen. Otherwise, many of them can be
324 selected. If you want to blacklist IPv6 addresses, you can use
329 .Cd system ip management pattern
330 .Bd -ragged -offset XXXXXX
331 Unset any specific pattern for matching management addresses. This
332 option undoes the previous one.
336 .Cd system bond-slave-src-mac-type Ar value
337 .Bd -ragged -offset XXXXXX
338 Set the type of src mac in lldp frames sent on bond slaves
341 .Bl -tag -width "XXX." -compact -offset XX
347 An arbitrary fixed value
348 .Li ( 00:60:08:69:97:ef )
350 Real mac with locally administered bit set. If the real mac already
351 has the locally administered bit set, fallback to the fixed value.
355 .Nm bond-slave-src-mac-type
358 Some switches may complain when using one of the two other possible
359 values (either because
360 .Li 00:00:00:00:00:00
361 is not a valid MAC or because the MAC address is flapping from one
362 port to another). Using
364 might lead to a duplicate MAC address on the network (but this is
370 .Cd nearest-bridge | nearest-non-tpmr-bridge | nearest-customer-bridge
371 .Bd -ragged -offset XXXXXX
372 The destination MAC address used to send LLDPDU allows an agent to
373 control the propagation of LLDPDUs. By default, the
374 .Li 01:80:c2:00:00:0e
375 MAC address is used and limit the propagation of the LLDPDU to the
377 .Cd ( nearest-bridge ) .
381 .Li 01:80:c2:00:00:03
382 MAC address instead, use
383 .Cd nearest-nontpmr-bridge
386 .Li 01:80:c2:00:00:00
387 MAC address instead, use
388 .Cd nearest-customer-bridge
393 .Cd lldp portidsubtype
394 .Cd ifname | macaddress
397 .Op ports Ar ethX Op ,...
398 .Cd lldp portidsubtype
399 .Cd local Ar value Op Cd description Ar description
400 .Bd -ragged -offset XXXXXX
401 Force port ID subtype. By default,
403 will use the MAC address as port identifier and the interface name as
404 port description, unless the interface has an alias. In this case, the
405 interface name will be used as port identifier and the description
406 will be the interface alias. With this command, you can force the port
407 identifier to be the interface name (with
409 the MAC address (with
411 or a local value (with
413 In the latest case, the local value should be provided.
414 Optionally, a port description can also be provided after the local
419 .Cd lldp tx-interval Ar interval
420 .Bd -ragged -offset XXXXXX
421 Change transmit delay to the specified value in seconds. The transmit
422 delay is the delay between two transmissions of LLDP PDU. The default
427 .Cd lldp tx-hold Ar hold
428 .Bd -ragged -offset XXXXXX
429 Change transmit hold value to the specified value. This value is used
430 to compute the TTL of transmitted packets which is the product of this
431 value and of the transmit delay. The default value is 4 and therefore
432 the default TTL is 120 seconds.
436 .Op ports Ar ethX Op ,...
438 .Cd status Ar rx-and-tx | rx-only | tx-only | disabled
439 .Bd -ragged -offset XXXXXX
440 Configure the administrative status of the given port. By default, all
441 ports are configured to be in
443 mode. This means they can receive and transmit LLDP frames (as well as
444 other protocols if needed). In
446 mode, they won't emit any frames and in
448 mode, they won't receive any frames. In
450 mode, no frame will be sent and any incoming frame will be
451 discarded. This settings do not override the operational mode of the
452 main daemon. If it is configured in receive-only mode (with the
454 flag), setting any transmit mode won't have any effect.
461 .Cd subtype Ar subtype
462 .Op Cd oui-info Ar content
463 .Bd -ragged -offset XXXXXX
464 Emit a custom TLV for OUI
468 and optionally with the bytes specified in
474 should be a comma-separated list of bytes in hex format.
476 must be exactly 3-byte long.
479 is specified then the TLV will be added. This is the default action.
482 is specified then all TLVs with the same
493 .Op Cd subtype Ar subtype
494 .Bd -ragged -offset XXXXXX
495 When no oui is specified, remove all previously configured custom TLV.
500 is specified, remove specific instances of custom TLV.
503 .Cd configure med fast-start
504 .Cd enable | tx-interval Ar interval
505 .Bd -ragged -offset XXXXXX
506 Configure LLDP-MED fast start mechanism. When a new LLDP-MED-enabled
507 neighbor is detected, fast start allows
509 to shorten the interval between two LLDPDU.
511 should enable LLDP-MED fast start while
513 specifies the interval between two LLDPDU in seconds. The default
514 interval is 1 second. Once 4 LLDPDU have been sent, the fast start
515 mechanism is disabled until a new neighbor is detected.
518 .Cd unconfigure med fast-start
519 .Bd -ragged -offset XXXXXX
520 Disable LLDP-MED fast start mechanism.
524 .Op ports Ar ethX Op ,...
525 .Cd med location coordinate
526 .Cd latitude Ar latitude
527 .Cd longitude Ar longitude
528 .Cd altitude Ar altitude Ar unit
530 .Bd -ragged -offset XXXXXX
531 Advertise a coordinate based location on the given ports (or on all
532 ports if no port is specified). The format of
534 is a decimal floating point number followed either by
540 is a decimal floating point number followed either by
545 is a decimal floating point number followed either by
547 when expressed in meters or
549 when expressed in floors. A space is expected between the floating
550 point number and the unit.
552 is one of those values:
553 .Bl -bullet -compact -offset XXXXXXXX
562 A valid use of this command is:
563 .D1 configure ports eth0 med location coordinate latitude 48.85667N longitude 2.2014E altitude 117.47 m datum WGS84
567 .Op ports Ar ethX Op ,...
568 .Cd med location address
569 .Cd country Ar country
570 .Cd Op Ar type value Op ...
571 .Bd -ragged -offset XXXXXX
572 Advertise a civic address on the given ports (or on all ports if no
575 is the two-letter code representing the country. The remaining
576 arguments should be paired to form the address. The first member of
577 each pair indicates the type of the second member which is a free-form
578 text. Here is the list of valid types:
579 .Bl -bullet -compact -offset XXXXXXXX
597 trailing-street-suffix
626 A valid use of this command is:
627 .D1 configure ports eth1 med location address country US street Qo Commercial Road Qc city Qo Roseville Qc
631 .Op ports Ar ethX Op ,...
632 .Cd med location elin
634 .Bd -ragged -offset XXXXXX
635 Advertise the availability of an ELIN number. This is used for setting
636 up emergency call. If the provided number is too small, it will be
637 padded with 0. Here is an example of use:
638 .D1 configure ports eth2 med location elin 911
642 .Op ports Ar ethX Op ,...
644 .Cd application Ar application
648 .Op Cd priority Ar priority
650 .Bd -ragged -offset XXXXXX
651 Advertise a specific network policy for the given ports (or for all
652 ports if no port was provided). Only the application type is
655 should be one of the following values:
656 .Bl -bullet -compact -offset XXXXXXXX
664 guest-voice-signaling
677 flag tells that the network policy for the specified application type
678 is required by the device but is currently unknown. This is used by
679 Endpoint Devices, not by Network Connectivity Devices. If not
680 specified, the network policy for the given application type is
683 When a VLAN is specified with
685 tells which 802.1q VLAN ID has to be advertised for the network
686 policy. A valid value is between 1 and 4094.
688 tells the VLAN should be tagged for the specified application type.
691 allows one to specify IEEE 802.1d / IEEE 802.1p Layer 2 Priority, also
692 known as Class of Service (CoS), to be used for the specified
693 application type. This field is usually ignored if no VLAN is
694 specified. The names match 802.1D-2004 standard (table G-2). Some more
695 recent standards may use different labels. Only the numeric values
696 should be relied upon. The accepted labels are:
697 .Bl -tag -width "X." -compact -offset XXXX
705 critical-applications
717 represents the DSCP value to be advertised for the given network
718 policy. DiffServ/Differentiated Services Code Point (DSCP) value as
719 defined in IETF RFC 2474 for the specified application type. Value: 0
720 (default per RFC 2475) through 63. Note: The class selector DSCP
721 values are backwards compatible for devices that only support the old
722 IP precedence Type of Service (ToS) format. (See the RFCs for what
725 A valid use of this command is:
726 .D1 configure med policy application voice vlan 500 priority voice dscp 46
730 .Op ports Ar ethX Op ,...
731 .Cd med power pse | pd
733 .Cd priority Ar priority
735 .Bd -ragged -offset XXXXXX
736 Advertise the LLDP-MED POE-MDI TLV for the given ports or for all
737 interfaces if no port is provided. One can act as a PD (power
738 consumer) or a PSE (power provider). No check is done on the validity
739 of the parameters while LLDP-MED requires some restrictions:
742 PD shall never request more power than physical 802.3af class.
744 PD shall never draw more than the maximum power advertised by PSE.
746 PSE shall not reduce power allocated to PD when this power is in use.
748 PSE may request reduced power using conservation mode
750 Being PSE or PD is a global parameter, not a per-port parameter.
752 does not enforce this: a port can be set as PD or PSE. LLDP-MED also
753 requires for a PSE to only have one power source (primary or
756 does not enforce this. Each port can have its own power source. The
757 same applies for PD and power priority. LLDP-MED MIB does not allow
758 this kind of representation.
762 .Bl -tag -width "XXX." -compact -offset XX
764 Power Sourcing Entity (power provider)
766 Power Device (power consumer)
770 .Bl -tag -width "XXXXXXX" -compact -offset XX
774 For PSE, the power source is the primary power source.
776 For PSE, the power source is the backup power source or a power
777 conservation mode is asked (the PSE may be running on UPS for
780 For PD, the power source is the PSE.
782 For PD, the power source is a local source.
784 For PD, the power source is both the PSE and a local source.
787 Valid priorities are:
788 .Bl -tag -width "XXXXXXXXX" -compact -offset XX
800 should be the total power in milliwatts required by the PD device or
801 available by the PSE device.
803 Here is an example of use:
804 .D1 configure med power pd source pse priority high value 5000
808 .Op ports Ar ethX Op ,...
809 .Cd dot3 power pse | pd
813 .Cd powerpairs Ar powerpairs
814 .Op Cd class Ar class
815 .Op Cd type Ar type Cd source Ar source Cd priority Ar priority Cd requested Ar requested Cd allocated Ar allocated
816 .Bd -ragged -offset XXXXXX
817 Advertise Dot3 POE-MDI TLV for the given port or for all ports if none
818 was provided. One can act as a PD (power consumer) or a PSE (power
819 provider). This configuration is distinct of the configuration of the
820 transmission of the LLDP-MED POE-MDI TLV but the user should ensure
821 the coherency of those two configurations if they are used together.
824 means that MDI power is supported on the given port while
826 means that MDI power is enabled.
828 is used to indicate if pair selection can be controlled. Valid values
832 .Bl -tag -width "XXXXXX" -compact -offset XX
834 The signal pairs only are in use.
836 The spare pairs only are in use.
841 is a number between 0 and 4.
843 The remaining parameters are in conformance with 802.3at and are optional.
845 should be either 1 or 2, indicating which if the device conforms to
846 802.3at type 1 or 802.3at type 2. Values of
850 are the same as for LLDP-MED POE-MDI TLV.
854 are expressed in milliwats.
856 Here are two valid uses of this command:
857 .D1 configure ports eth3 dot3 power pse supported enabled paircontrol powerpairs spare class class-3
858 .D1 configure dot3 power pd supported enabled powerpairs spare class class-3 type 1 source pse priority low requested 10000 allocated 15000
862 .Bd -ragged -offset XXXXXX
867 will not send any more frames or receive ones. This can be undone with
873 .Bd -ragged -offset XXXXXX
878 will start to send and receive frames. This command is issued
879 internally after processing configuration but can be used at any time
887 .Bl -tag -width "@LLDPD_CTL_SOCKET@XX" -compact
888 .It @LLDPD_CTL_SOCKET@
889 Unix-domain socket used for communication with
898 program was written by
899 .An Vincent Bernat Aq bernat@luffy.cx .