{{indexmenu_n>8}} ======LLDP Support====== =====Description===== LLDP (Link Layer Discovery Protocol) is a data link layer (L2) protocol used by network devices to advertise themselves to neighboring devices and to discover them. In fastDPI, LLDP is used neither for traffic analysis nor for building a network map — 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 — fastDPI presents itself as an active device but does not forward other devices' LLDP packets. **All incoming LLDP packets are unconditionally dropped.** LLDP packets are sent: * periodically — at an interval equal to the ''ttl'' value (every 120 seconds by default); * when the ''fdpi_cli lldp enable'' command is executed; * on a port Link Up event. =====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 are applied without restarting fastDPI. ^ Parameter ^ Description ^ Possible values ^ | ''enable'' | Enables/disables LLDP support. \\ Default: ''on'' if the ''lldp'' section is present in the configuration, ''off'' if it is absent. | ''on'', ''off'' | | ''trace'' | Enables LLDP tracing. When enabled, information about packet generation and sending is written to ''fastdpi_alert.log''. | ''on'', ''off'' | | ''pcap'' | Enables writing LLDP packets to a pcap file (named ''udpi_YYYYMMDDHHMMSS_XXXXX.pcap''). | ''on'', ''off'' | | ''chassis'' | Chassis-ID value sent in the LLDP packet. If not set, the MAC address from the ''bras_arp_mac'' option is used; if that is not set either, the port MAC address is used. | String | | ''ttl'' | Time To Live of the LLDP packet, in seconds. Also sets the interval for periodic packet sending.\\ When ''ttl=0'', periodic sending is disabled: packets are sent only on the ''fdpi_cli lldp enable'' command and on a port Link Up event. The TTL field in such packets is set to ''65535'', because according to the LLDP specification, ''TTL=0'' means that LLDP is disabled on the port. | Number (default ''120'') | | ''src_mac'' | Source MAC address in the LLDPDU Ethernet header. If not set, the MAC from ''bras_arp_mac'' is used; otherwise, the port MAC. | MAC address (e.g., ''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 set, the System-Name TLV is not included. | String | | ''system_desc'' | Value of the System-Description TLV in the LLDP packet. If not set, the System-Description TLV is not included. | String | | ''device'' | Port on which LLDP packets are to be sent. The parameter can be repeated for different ports. The port name must match the ''in_dev''/''out_dev'' value. Subparameters are specified within the parameter, separated by semicolons:\\ • ''enable=on|off'' — enable/disable sending on this port (on by default)\\ • ''desc=string'' — value of the Port-Desc TLV (if not set, 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 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 generation and sending of LLDP packets (sent immediately): fdpi_cli lldp enable [ttl=N] where ''ttl=N'' is an optional parameter: the LLDP packet Time To Live and the periodic sending interval, in seconds. When ''ttl=0'', periodic packets are not sent; see the ''ttl'' parameter description in [[dpi:dpi_components:platform:dpi_inst_spec:lldp_support#configuration_parameters|Configuration parameters]] table.\\ Example: fdpi_cli lldp enable ttl=60 * Disable generation and sending of LLDP packets: fdpi_cli lldp disable When disabled, an LLDP packet with ''TTL=0'' is sent to the ports — according to the LLDP specification, this notifies neighboring devices that LLDP has been disabled on the port. Example output when enabling: 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 Debugging===== ====Tracing==== When the ''trace=on'' parameter is enabled in the ''lldp'' section, information about LLDP packet generation and sending is written to the ''fastdpi_alert.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 ''udpi_YYYYMMDDHHMMSS_XXXXX.pcap''). =====LLDPDU Example (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