{{indexmenu_n>8}}
======Поддержка 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='' 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''.