Как получить заголовок vlan /l2 с помощью сокета ICMPv6

В моем 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 ответ

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

Другие вопросы по тегам