diff options
author | Brian Haley <brian.haley@hp.com> | 2006-11-10 17:54:51 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:22:13 -0500 |
commit | d3a1be9cba86c4385a5fe46673bbb4730551f454 (patch) | |
tree | 24bcb9244dcb894c333c33c0f1dd88e1ddcc2267 /net/ipv6/raw.c | |
parent | f465e489c457821751f6253abaaf28c10f9d8895 (diff) |
[IPv6]: Only modify checksum for UDP
Only change upper-layer checksum from 0 to 0xFFFF for UDP (as RFC 768
states), not for others as RFC 4443 doesn't require it.
Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r-- | net/ipv6/raw.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 18a90075f94..813fa1d9686 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -536,7 +536,7 @@ 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) | 539 | if (tmp_csum == 0 && fl->proto == IPPROTO_UDP) |
540 | tmp_csum = -1; | 540 | tmp_csum = -1; |
541 | 541 | ||
542 | csum = tmp_csum; | 542 | csum = tmp_csum; |