Добрый день всем, нужна консультация гуру-админа. Столкнулся с задачей создания VLAN тега с нулевым VID.
Согласно спецификации 802.1Q такое значение тега допускается. В таком случае имеет значение только поле приоритета (PCP).
Поставил вот такой вот эксперимент. Есть два ПК с линуксом на борту. Сетевые интерфейсы этих ПК соедены между собой напрямую без использования доп. оборудования (Ethernet Switch).
На ПК1 создаем нулевой VLAN.
vconfig add eth0 0
Пробуем пинговать ПК1, пинг идет. Смотрим пакеты через tcpdump. Он показывает, что VLAN тег вообще отсутствует в пакете. В принципе это не противоречит документации, т.к. по умолчанию приоритет равен 0.
Пробуем выставить максимальный приоритет для этого интерфейса.
vconfig set_egress_map eth0.0 0 7
Опять запускаем пинг и видим, что ARP запросы на ПК2 уже идут с VLAN тегом, в котором VLAN ID равен нулю, приоритет равен 7.
ПК2 отвечает на эти запросы пакетами, у которых отсутствует VLAN тег!!!
В результате получается, что пакеты приходят не на интерфейс eth0.0, а на интерфейс eth0, который как бы и не отправлял ARP запросов. В итоге пинг не работает.
Хотелось бы понять, это баг или фича? И как это можно обойти?
Спасибо.