Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.5/8.12.5) with ESMTP id g7DHqkRw010887 for ; Tue, 13 Aug 2002 10:52:46 -0700 Received: (from majordomo@localhost) by oss.sgi.com (8.12.5/8.12.3/Submit) id g7DHqkPG010886 for netdev-outgoing; Tue, 13 Aug 2002 10:52:46 -0700 X-Authentication-Warning: oss.sgi.com: majordomo set sender to owner-netdev@oss.sgi.com using -f Received: from tux.rsn.bth.se (postfix@tux.rsn.bth.se [194.47.143.135]) by oss.sgi.com (8.12.5/8.12.5) with SMTP id g7DHqSRw010875 for ; Tue, 13 Aug 2002 10:52:29 -0700 Received: by tux.rsn.bth.se (Postfix, from userid 501) id B130936FC9; Tue, 13 Aug 2002 19:14:34 +0200 (CEST) Subject: Re: raw ipv6 broken in 2.4.19 From: Martin Josefsson To: kuznet@ms2.inr.ac.ru Cc: netdev@oss.sgi.com In-Reply-To: <200208131358.RAA21125@sex.inr.ac.ru> References: <200208131358.RAA21125@sex.inr.ac.ru> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.7 Date: 13 Aug 2002 19:14:34 +0200 Message-Id: <1029258874.772.97.camel@tux> Mime-Version: 1.0 X-Spam-Status: No, hits=-4.4 required=5.0 tests=IN_REP_TO version=2.20 X-Spam-Level: Sender: owner-netdev@oss.sgi.com Precedence: bulk On Tue, 2002-08-13 at 15:58, kuznet@ms2.inr.ac.ru wrote: > Very strange. We have similar phenomenon reported with TCP, by the way. > So, I have to assume that checksumming routine is wrong and does some shit > sort of relying on an uninitialized data. I've added some debug printk's and found out that it's the call to csum_fold that fails in skb_copy_and_csum_datagram_iovec. skb_copy_and_csum_datagram_iovec is called from: net/ipv6/raw.c:rawv6_recvmsg() if (skb->ip_summed==CHECKSUM_UNNECESSARY) { err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); } else if (msg->msg_flags&MSG_TRUNC) { if ((unsigned short)csum_fold(skb_checksum(skb, 0, skb->len, skb->csum))) goto csum_copy_err; err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); } else { err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if (err == -EINVAL) goto csum_copy_err; } This obviosly works with my old ISA ne2k clone but not with the tulip. And the tcpdump looked ok Does anyone else have an idea or suggestion I can try? Alexey, when you had checksum problems, did you see invalid checksums in tcpdump? -- /Martin Never argue with an idiot. They drag you down to their level, then beat you with experience.