Как получить заголовок vlan / l2 с помощью сокета ICMPv6 - PullRequest
0 голосов
/ 26 мая 2019

В моем демоне ND я использую rbos_socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); для получения заголовка ICMPv6 для получения сообщений NS и других сообщений ND (l3 сообщений). С этой опцией ядро ​​удалит заголовок l2 (с информацией о VLAN). какой вариант я должен использовать, чтобы избежать этого удаления?

Мое намерение - получить сообщение ICMPv6 с информацией о VLAN.

Уже пробовал использовать следующее: 1) rbos_socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); 2) rbos_socket(AF_INET6, SOCK_RAW, PROTO_ND)

Я ожидаю получить сообщение ICMPv6 с информацией l2 (в частности, заголовок VLAN).

1 Ответ

0 голосов
/ 26 мая 2019

Вы не можете получить первый тег VLAN, как это. Он извлекается из пакета, но доступен вне диапазона в членах tp_vlan_tci и tp_vlan_tpid, см. linux/if_packet.h (при условии, что это в Linux).

...