]> git.baikalelectronics.ru Git - kernel.git/commit
net: core: don't account for udp header size when computing seglen
authorFlorian Westphal <fw@strlen.de>
Wed, 9 Apr 2014 08:28:50 +0000 (10:28 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Apr 2014 01:41:25 +0000 (21:41 -0400)
commit29c6bff48f89e40a814e169a6b967fdb0bed6a92
tree1b54b48a6b8c3b95df7f6fadc6741e4683c70dc0
parent059db359dfcf0243e57fbb4e6d54b789908cc431
net: core: don't account for udp header size when computing seglen

In case of tcp, gso_size contains the tcpmss.

For UFO (udp fragmentation offloading) skbs, gso_size is the fragment
payload size, i.e. we must not account for udp header size.

Otherwise, when using virtio drivers, a to-be-forwarded UFO GSO packet
will be needlessly fragmented in the forward path, because we think its
individual segments are too large for the outgoing link.

Fixes: d3d6171ec04fc55 ("net: ip, ipv6: handle gso skbs in forwarding path")
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Reported-by: Tobias Brunner <tobias@strongswan.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c