ipv6: Do not treat a GSO_TCPV4 request from UDP tunnel over IPv6 as invalid
authorAlexander Duyck <alexander.h.duyck@redhat.com>
Sat, 22 Nov 2014 03:37:09 +0000 (19:37 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 23 Nov 2014 19:18:11 +0000 (14:18 -0500)
commitb6fef4c6b8c1994ffe050dcdb9391427bf0d9882
tree92e0ba56c25df29fbcf36c48410e20f8bc76a5ec
parent8a84e01e147f44111988f9d8ccd2eaa30215a0f2
ipv6: Do not treat a GSO_TCPV4 request from UDP tunnel over IPv6 as invalid

This patch adds SKB_GSO_TCPV4 to the list of supported GSO types handled by
the IPv6 GSO offloads.  Without this change VXLAN tunnels running over IPv6
do not currently handle IPv4 TCP TSO requests correctly and end up handing
the non-segmented frame off to the device.

Below is the before and after for a simple netperf TCP_STREAM test between
two endpoints tunneling IPv4 over a VXLAN tunnel running on IPv6 on top of
a 1Gb/s network adapter.

Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  16384  16384    10.29       0.88      Before
 87380  16384  16384    10.03     895.69      After

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_offload.c