{{indexmenu_n>8}}
======LLDP support======
=====Description=====
LLDP (Link Layer Discovery Protocol) is a Layer 2 (L2) protocol used by network devices to advertise themselves to neighboring devices and to discover them.
In fastDPI, LLDP is not used for traffic analysis or network topology mapping. Instead, fastDPI generates and sends its own LLDP packets in order to:
- Be discovered by neighboring network equipment (switches, routers).
- Integrate correctly into a cable break setup — fastDPI presents itself as an active device but does not forward third-party LLDP packets. **All incoming LLDP packets are unconditionally dropped.**
=====LLDP configuration=====
The ''lldp'' section in the configuration file controls LLDP behavior. All parameters within the section, except ''device'', are optional.
====Basic configuration template====
lldp {
enable=off
trace=off
pcap=off
chassis=
ttl=120
src_mac=
dest_mac=01:80:c2:00:00:0e
system_name=
system_desc=
device=01-00.0;enable=on;desc=port_description
}
====Configuration parameters====
All parameters are hot-reloadable and take effect without restarting fastDPI.
^ Parameter ^ Description ^ Possible values ^
| ''enable'' | Enables or disables LLDP support. \\ Default: if the ''lldp'' section is present in the configuration — ''on'', if absent — ''off''. | ''on'', ''off'' |
| ''trace'' | Enables LLDP tracing. When enabled, information about packet generation and transmission is written to ''fastdpi_alert.log''. | ''on'', ''off'' |
| ''pcap'' | Enables saving LLDP packets to a pcap file (named in the format ''udpi_YYYYMMDDHHMMSS_XXXXX.pcap''). | ''on'', ''off'' |
| ''chassis'' | Chassis-ID value included in the LLDP packet. If not specified, the MAC address from the ''bras_arp_mac'' option is used; if it is also unavailable, the port MAC address is used. | String |
| ''ttl'' | Time To Live of the LLDP packet in seconds. | Number (default: ''120'') |
| ''src_mac'' | Source MAC address in the LLDPDU Ethernet header. If not specified, the MAC address from ''bras_arp_mac'' is used; otherwise, the port MAC address is used. | MAC address (for example, ''aa:bb:cc:dd:ee:ff'') |
| ''dest_mac'' | Destination MAC address in the LLDPDU Ethernet header. | MAC address (default: ''01:80:c2:00:00:0e'' — LLDP multicast) |
| ''system_name'' | Value of the System-Name TLV in the LLDP packet. If not specified, the System-Name TLV is not included. | String |
| ''system_desc'' | Value of the System-Description TLV in the LLDP packet. If not specified, the System-Description TLV is not included. | String |
| ''device'' | Specifies the port on which LLDP packets should be sent. The parameter can be repeated for multiple ports. The port name must match the ''in_dev''/''out_dev'' value. The following subparameters can be specified within the parameter using semicolons:\\ • ''enable=on|off'' — enable or disable transmission for this port (default: on)\\ • ''desc=string'' — value of the Port-Desc TLV (if not specified, the Port-Desc TLV is not included) | Format: ''[;enable=on|off][;desc=]''\\ \\ Example: ''device=01-00.0;enable=on;desc=WAN_port'' |
====Configuration examples====
===Minimum configuration required to enable LLDP support===
lldp {
device=01-00.0
device=02-00.0
}
===Configuration with Port-Desc TLV values specified for each port===
lldp {
device=01-00.0;desc=WAN_port_1;enable=on
device=02-00.0;desc=LAN_port_2;enable=on
}
=====CLI management=====
Commands for dynamic LLDP management:
* Enable LLDP packet generation and transmission (immediate transmission): fdpi_cli lldp enable
* Disable LLDP packet generation and transmission: fdpi_cli lldp disable
Example output when enabled:
LLDP enabled chassis='' TTL=120 system: name='', desc=''
src_MAC=00:00:00:00:00:00 dest_MAC=01:80:c2:00:00:0e
Devices:
'01-00.0': enabled desc=''
'02-00.0': enabled desc=''
=====Diagnostics and troubleshooting=====
====Tracing====
When the ''trace=on'' parameter is enabled in the ''lldp'' section, information about LLDP packet generation and transmission is written to the ''fastdpi_alert.log'' log file:
[INFO ][2026/05/25-10:56:31:700344][0x7f0a4aa34400] LLDP options:
enable : 1
trace : 1
pcap : 0
chassis : ''
ttl : 120
src_mac : -
dest_mac : 01:80:c2:00:00:0e
system_name : ''
system_desc : ''
device '01-00.0': enable=1 desc=''
device '02-00.0': enable=1 desc=''
[TRACE ][2026/05/25-10:56:31:700454][0x7f0a4aa34400] [LLDP]make_pdu: dev '01-00.0' PDU len=234
[TRACE ][2026/05/25-10:56:31:700475][0x7f0a4aa34400] [LLDP]make_pdu: dev '02-00.0' PDU len=234
[TRACE ][2026/05/25-10:56:31:850646][0x7f0a4aa34400] [LLDP]send_pdu: dev '01-00.0' via slave #0
[TRACE ][2026/05/25-10:56:31:850725][0x7f0a4aa34400] [LLDP]send_pdu: dev '02-00.0' via slave #0
====PCAP recording====
When the ''pcap=on'' parameter is enabled, all generated LLDP packets are saved to a pcap file (named in the format ''udpi_YYYYMMDDHHMMSS_XXXXX.pcap'').
=====LLDPDU example (operation result)=====
Example of a frame generated by fastDPI (minimum configuration, ''bras_arp_mac=00:01:02:33:44:f1''):
00:01:02:33:44:f1 > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 78
Chassis ID TLV (1), length 7
Subtype MAC address (4): 00:01:02:33:44:f1
Port ID TLV (2), length 8
Subtype Local (7): 01-00.0
Time to Live TLV (3), length 2: TTL 120s
End TLV (0), length 0
Packets are transmitted periodically every 2 minutes or immediately upon executing the ''fdpi_cli lldp enable'' command.