diff options
author | Paul Durrant <Paul.Durrant@citrix.com> | 2013-12-03 17:39:29 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-05 20:31:40 -0500 |
commit | 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 (patch) | |
tree | c84ba1d0a31d210bd80f42f639d64a2c6e3fe471 /include/net | |
parent | df48ada4f82da039e3894f988b5aca08507621ee (diff) | |
download | linux-1431fb31ecbaba1b5718006128f0f2ed0b94e1c3.tar.gz linux-1431fb31ecbaba1b5718006128f0f2ed0b94e1c3.tar.bz2 linux-1431fb31ecbaba1b5718006128f0f2ed0b94e1c3.zip |
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>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ipv6.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index eb198acaac1d..488316e339a1 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -110,7 +110,8 @@ struct frag_hdr { __be32 identification; }; -#define IP6_MF 0x0001 +#define IP6_MF 0x0001 +#define IP6_OFFSET 0xFFF8 #include <net/sock.h> |