On 2015-10-12 16:47, Jesse Gross wrote:
On Mon, Oct 12, 2015 at 3:26 PM, Ramu Ramamurthy
<srama...@linux.vnet.ibm.com> wrote:
Problem:
--------
When using OVS with GRE tunnels, and GRO is enabled on the nic,
We find that GRO doesnt really take effect. As a result, TCP stream
performance on a 10G nic is around 2-3Gbps.
Root Cause:
-----------
The protocol field set in GRE (by OVS) is ETH_P_TEB.
The code in gre_gro_receive() (gre_offload.c) calls
gro_find_receive_by_type() to determine a gro handler for the
ETH_P_TEB protocol. However, no such protocol is registered
at the device layer (only ETH_P_IP, ETH_P_IPV6, and mpls related
protocols are registered). Hence, GRO is skipped.
Why doesn't this work?
commit 9b174d88c257150562b0101fcc6cb6c3cb74275c
Author: Jesse Gross <je...@nicira.com>
Date: Tue Dec 30 19:10:15 2014 -0800
net: Add Transparent Ethernet Bridging GRO support.
Currently the only tunnel protocol that supports GRO with
encapsulated
Ethernet is VXLAN. This pulls out the Ethernet code into a proper
layer
so that it can be used by other tunnel protocols such as GRE and
Geneve.
Signed-off-by: Jesse Gross <je...@nicira.com>
Signed-off-by: David S. Miller <da...@davemloft.net>
Thanks, your commit fixes the same problem in the 4.x kernels. So the
patch above is redundant.
We are using the 3.x kernels and thats why I could not see your fix in
my tests.
We/distros would need to backport your fix to 3.x for us to consume it.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html