From 047c4ecdc3fbadffcd92df48bc68af73479bd78f Mon Sep 17 00:00:00 2001 From: Brian Childs Date: Wed, 25 Feb 2004 21:26:23 -0800 Subject: [PATCH] [PATCH] multicast broken on x86_64 The x86-64 implementation of csum-partial.c causes it to compute the checksum incorrectly. As a result, multicast doesn't work. It looks as though iptables is also affected. Here's a simple patch. --- arch/x86_64/lib/csum-partial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86_64/lib/csum-partial.c b/arch/x86_64/lib/csum-partial.c index 860d5e2d90f14..5384e227cdf61 100644 --- a/arch/x86_64/lib/csum-partial.c +++ b/arch/x86_64/lib/csum-partial.c @@ -145,6 +145,6 @@ EXPORT_SYMBOL(csum_partial); */ unsigned short ip_compute_csum(unsigned char * buff, int len) { - return ~csum_partial(buff,len,0); + return csum_fold(csum_partial(buff,len,0)); } -- 2.53.0