xen-netback: fix fragment detection in checksum setup
authorPaul Durrant <Paul.Durrant@citrix.com>
Tue, 3 Dec 2013 17:39:29 +0000 (17:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Dec 2013 01:31:40 +0000 (20:31 -0500)
commit1431fb31ecbaba1b5718006128f0f2ed0b94e1c3
treec84ba1d0a31d210bd80f42f639d64a2c6e3fe471
parentdf48ada4f82da039e3894f988b5aca08507621ee
xen-netback: fix fragment detection in checksum setup

The code to detect fragments in checksum_setup() was missing for IPv4 and
too eager for IPv6. (It transpires that Windows seems to send IPv6 packets
with a fragment header even if they are not a fragment - i.e. offset is zero,
and M bit is not set).

This patch also incorporates a fix to callers of maybe_pull_tail() where
skb->network_header was being erroneously added to the length argument.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>
cc: David Miller <davem@davemloft.net>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/netback.c
include/linux/ipv6.h
include/net/ipv6.h