Поддержка LLDP
Описание
LLDP (Link Layer Discovery Protocol) — это протокол канального уровня (L2), используемый сетевыми устройствами для объявления о себе соседним устройствам и для их обнаружения.
В fastDPI LLDP нужен не для анализа трафика и не для построения карты сети — fastDPI генерирует и отправляет собственные LLDP-пакеты чтобы:
- Быть обнаруженным соседним сетевым оборудованием (коммутаторами, роутерами).
- Корректно встраиваться в разрыв кабеля — fastDPI представляется активным устройством, но не пересылает чужие LLDP-пакеты. Все входящие LLDP-пакеты безусловно дропаются.
Конфигурация LLDP
Секция lldp в файле конфигурации управляет поведением LLDP. Все параметры внутри секции, кроме device, являются опциональными.
Базовый шаблон конфигурации
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 }
Конфигурационные параметры
Все параметры — горячие, применяются без перезапуска fastDPI.
| Параметр | Описание | Возможные значения |
|---|---|---|
enable | Включение/выключение поддержки LLDP. По умолчанию: если секция lldp присутствует в конфигурации — on, если отсутствует — off. | on, off |
trace | Включение трассировки LLDP. При включении информация о формировании и отправке пакетов записывается в fastdpi_alert.log. | on, off |
pcap | Включение записи LLDP-пакетов в pcap-файл (имя вида udpi_YYYYMMDDHHMMSS_XXXXX.pcap). | on, off |
chassis | Значение Chassis-ID, передаваемое в LLDP-пакете. Если не задан — используется MAC-адрес из опции bras_arp_mac, а если и её нет — MAC-адрес порта. | Строка |
ttl | Время жизни (Time To Live) LLDP-пакета в секундах. | Число (по умолчанию 120) |
src_mac | Source MAC-адрес в Ethernet-заголовке LLDPDU. Если не задан — используется MAC из bras_arp_mac, иначе MAC порта. | MAC-адрес (например, aa:bb:cc:dd:ee:ff) |
dest_mac | Destination MAC-адрес в Ethernet-заголовке LLDPDU. | MAC-адрес (по умолчанию 01:80:c2:00:00:0e — multicast LLDP) |
system_name | Значение TLV System-Name в LLDP-пакете. Если не задан — TLV System-Name не включается. | Строка |
system_desc | Значение TLV System-Description в LLDP-пакете. Если не задан — TLV System-Description не включается. | Строка |
device | Указание порта, на котором надо отправлять LLDP-пакеты. Параметр может повторяться для разных портов. Имя порта должно соответствовать значению in_dev/out_dev. Внутри параметра через точку с запятой задаются подпараметры:• enable=on|off — включить/отключить отправку для этого порта (по умолчанию on)• desc=строка — значение TLV Port-Desc (если не задан — TLV Port-Desc не включается) | Формат: <имя_порта>[;enable=on|off][;desc=<строка>]Пример: device=01-00.0;enable=on;desc=WAN_port |
Примеры конфигурации
Минимальная конфигурация, необходимая для включения поддержки LLDP
lldp { device=01-00.0 device=02-00.0 }
Конфигурация с заданием значений TLV Port-Desc для каждого порта
lldp { device=01-00.0;desc=WAN_port_1;enable=on device=02-00.0;desc=LAN_port_2;enable=on }
Управление через CLI
Команды для динамического управления LLDP:
- Включить формирование и отправку LLDP-пакетов (немедленная отправка):
fdpi_cli lldp enable - Выключить формирование и отправку LLDP-пакетов:
fdpi_cli lldp disable
Пример вывода при включении:
LLDP enabled chassis='<n/a>' 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=''
Диагностика и отладка
Трассировка
При включении параметра trace=on в секции lldp информация о формировании и отправке LLDP-пакетов записывается в лог-файл fastdpi_alert.log:
[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
При включении параметра pcap=on все сгенерированные LLDP-пакеты сохраняются в pcap-файл (имя вида udpi_YYYYMMDDHHMMSS_XXXXX.pcap).
Пример LLDPDU (результат работы)
Пример кадра, сгенерированного fastDPI (минимальная конфигурация, 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
Пакеты отправляются периодически с интервалом 2 минуты или немедленно по команде fdpi_cli lldp enable.
Была ли полезна эта информация?