[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALHVEJaaY=DeavKjBkcuDT19EpLhmCyJunP1V7hyNJsCkqvrdw@mail.gmail.com>
Date: Fri, 18 May 2018 15:24:46 +0200
From: Mikhail Sennikovsky <mikhail.sennikovskii@...fitbricks.com>
To: netdev@...r.kernel.org
Cc: Mikhail Sennikovskii <mikhail.sennikovskii@...fitbricks.com>
Subject: VLAN performance issues with Open vSwitch when 8021q not loaded
Hi all,
We were recently experiencing network performance issues with VLAN
networking setup with Open vSwitch, for the ingress traffic coming to
VLAN trunk port of the ovs.
As we discovered, the issue was caused by gro not working for it,
which in turn was because the gro receive callbacks for 802.1Q payload
type are defined in the 8021q module (see
https://elixir.bootlin.com/linux/v4.16.9/source/net/8021q/vlan.c#L762
), which was not loaded.
This resulted in a significant bandwidth performance drop, having
~3Gbps instead of the expected ~7Gbps for a simple iperf3 test in our
case.
The obvious work-around would be to load the 8021q module, which
indeed makes bandwidth performance back to the expected numbers.
This seems like a hidden and not obvious magic however.
So I'm questioning, whether it makes sense to have the gro receive
callbacks for 802.1Q and 802.1ad moved to some common place, that
would be used/enabled by both 8021q and openvswitch modules.
Regards,
Mikhail
Powered by blists - more mailing lists