[ovs-dev] 8021q module is not loaded when adding vlan through ovs (ovs-vsctl)

Michael Shteinbok michaelsh86 at gmail.com
Wed Oct 24 20:12:54 UTC 2018


Hi,
I noticed that there is a performance issue when running traffic on a vlan
interface that was created by OVS.
If we create a bridge with a vlan interface, the 8021q module is not loaded.
Then when packets with a 8021q tag arrives, the linux stack can't use the
vlan ndos (such as gro_recieve) since there is no such vlan device.
If I perform the same test after loading the 8021q module, I get 2x-5x
better performance.
I personally test that using tunnels (vxlan) but I think the issue exists
even without the tunnel.

*Creating a bridge and vlan interface:*
ovs-vsctl --no-wait add-br br_0
ip link set br_0 up
ovs-vsctl --no-wait add-port br_0 ens5f0
ovs-vsctl --no-wait add-port br_0 vlan10 tag=10 -- set interface vlan10
type=internal
ip link set vlan10 up
ip addr add <ip> dev vlan10

run traffic (netperf on the vlan10 interface) and see the result.
Then do 'modprobe 8021q' and perform the same test -> you will see much
better numbers.

I am suggesting to load 80021q module once vlan interface is added through
ovs.
similarly as a vlan interface would be created using 'ip link'.

Michael


More information about the dev mailing list