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

2018-10-24 Thread Michael Shteinbok
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)

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

2018-10-28 Thread Michael Shteinbok
Jiri, I am not sure it would be simple to move the add_offload to vlan_Core.c as the add_offload should happen once. in vlan.c it's done as part of module init but in vlan_core.c we are not initializing any model and making some logic for doing that once looks awkward to me. Why can't we just load

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

2018-10-25 Thread Michael Shteinbok
I'v used ftrace to see which paths we take in the kernel. I remind you that the packet (in my scenario) looks like the following: ETH | IP | UDP | VXLAN | L2 | VLAN | IP | TCP | payload When 8021q is not loaded: dev_gro_receive <-napi_gro_receive inet_gro_receive <-dev_gro_receive

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

2018-11-12 Thread Michael Shteinbok
Calling it from net_dev_init doesn't look clean. If you will see who is calling 'dev_add_offload' you will find out that there are couple of modules that doing that except of the 8021q. so either all modules should add offload from net_dev_init or stay with the current model where each module adds

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

2018-11-13 Thread Michael Shteinbok
So move the vlan offload registrations into vlan_core and make this > available even without 8021q module loaded. > > Reported-by: Michael Shteinbok > Signed-off-by: Jiri Pirko > --- > net/8021q/vlan.c | 96 - > net/8021q/vlan_core.c |