I am not sure I have any definitivie answers but here are my thoughts.
Compare a VLAN device created with `ip link add`
ip link add link enp6s0 name enp6s0.100 type vlan id 100
cat /sys/class/net/enp6s0.100/uevent DEVTYPE=vlan INTERFACE=enp6s0.100 IFINDEX=3
To an OVS VLAN interface created with ovs-vsctl:
ovs-vsctl add-port br-ex vlan100 tag=200 -- set Interface vlan100 type=internal
cat /sys/class/net/br-ex.100/uevent INTERFACE=br-ex.100 IFINDEX=7
I suspect this is down to the tooling. OVS is creating virtual devices so it may not be what `ip link` would create.
Could the `is_vlan` function check for the '.' followed by an integer which is the indication of a VLAN in all cases?
I am not sure I have any definitivie answers but here are my thoughts.
Compare a VLAN device created with `ip link add`
ip link add link enp6s0 name enp6s0.100 type vlan id 100
cat /sys/class/ net/enp6s0. 100/uevent enp6s0. 100
DEVTYPE=vlan
INTERFACE=
IFINDEX=3
To an OVS VLAN interface created with ovs-vsctl:
ovs-vsctl add-port br-ex vlan100 tag=200 -- set Interface vlan100 type=internal
cat /sys/class/ net/br- ex.100/ uevent
INTERFACE=br-ex.100
IFINDEX=7
I suspect this is down to the tooling. OVS is creating virtual devices so it may not be what `ip link` would create.
Could the `is_vlan` function check for the '.' followed by an integer which is the indication of a VLAN in all cases?