Как получить заголовок 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).