diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-11-16 05:36:50 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:23:39 -0500 |
commit | f6ab028804bdc580fe0915494dbf31f5ea473ca7 (patch) | |
tree | 4bf0fedcfaab7103682bc6209f196104fa9df8fb /net/ipv6 | |
parent | b51655b958dfb1176bfcf99466231fdbef8751ff (diff) |
[NET]: Make mangling a checksum (0 -> 0xffff on the wire) explicit.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/raw.c | 4 | ||||
-rw-r--r-- | net/ipv6/udp.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 9b21d67ca48c..c2e629d6aea4 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -536,8 +536,8 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi *fl, | |||
536 | &fl->fl6_dst, | 536 | &fl->fl6_dst, |
537 | total_len, fl->proto, tmp_csum); | 537 | total_len, fl->proto, tmp_csum); |
538 | 538 | ||
539 | if (tmp_csum == 0 && fl->proto == IPPROTO_UDP) | 539 | if (csum == 0 && fl->proto == IPPROTO_UDP) |
540 | tmp_csum = -1; | 540 | csum = CSUM_MANGLED_0; |
541 | 541 | ||
542 | if (skb_store_bits(skb, offset, &csum, 2)) | 542 | if (skb_store_bits(skb, offset, &csum, 2)) |
543 | BUG(); | 543 | BUG(); |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 0d22008d522e..bb45b9b7cbd9 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -536,7 +536,7 @@ static int udp_v6_push_pending_frames(struct sock *sk, struct udp_sock *up) | |||
536 | uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst, | 536 | uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst, |
537 | up->len, fl->proto, csum ); | 537 | up->len, fl->proto, csum ); |
538 | if (uh->check == 0) | 538 | if (uh->check == 0) |
539 | uh->check = -1; | 539 | uh->check = CSUM_MANGLED_0; |
540 | 540 | ||
541 | err = ip6_push_pending_frames(sk); | 541 | err = ip6_push_pending_frames(sk); |
542 | out: | 542 | out: |