Якщо ви хочете під лінуксом створити vlan інтерфейс, а під ним створити ще один влан інтерфейс (а під ним іще, іще…), якщо ви при цьому хочете, щоб у вас щось пінгалося — не забувайте «скидати» REORDER_HDR у нуль:
ip link set up dev eth2 vconfig add eth2 100 ip link set up dev vlan100 vconfig set_flag vlan100 1 0 vconfig add vlan100 200 ip link set up dev vlan200 vconfig set_flag vlan200 1 0 # ....etc-etc vconfig add vlan800 900 ip link set up dev vlan900 vconfig set_flag vlan900 1 0 ip add add 192.168.1.100/24 brd 192.168.1.255 dev vlan900 ping 192.168.1.3 |
Зверніть увагу на команду vconfig set_flag DEV 1 0
— саме вона нам потрібна :-)
Не так давно (точніше сказати не можу,-) ядро створювало інтерфейс із REORDER_HDR=0, але зараз це не так.
Побачити «поточний стан» REORDER_HDR
можна так:
# cat /proc/net/vlan/vlan900 vlan900 VID: 900 REORDER_HDR: 0 dev->priv_flags: 1 total frames received 172 total bytes received 222546 Broadcast/Multicast Rcvd 0 total frames transmitted 405 total bytes transmitted 283743 total headroom inc 0 total encap on xmit 26 Device: vlan900 INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 EGRESS priority mappings: