From owner-freebsd-hackers Mon May 13 15:58:39 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from scaup.prod.itd.earthlink.net (scaup.mail.pas.earthlink.net [207.217.120.49]) by hub.freebsd.org (Postfix) with ESMTP id E6B4137B40F for ; Mon, 13 May 2002 15:58:29 -0700 (PDT) Received: from pool0608.cvx21-bradley.dialup.earthlink.net ([209.179.194.98] helo=mindspring.com) by scaup.prod.itd.earthlink.net with esmtp (Exim 3.33 #2) id 177Olt-0004X0-00; Mon, 13 May 2002 15:58:25 -0700 Message-ID: <3CE044F2.1089652F@mindspring.com> Date: Mon, 13 May 2002 15:57:54 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Alfred Perlstein Cc: David Greenman-Lawrence , Matthew Dillon , jamie@tridentmicrosystems.co.uk, freebsd-hackers@FreeBSD.ORG Subject: Re: Broadcom BCM5701 Chipset problems References: <20020513115600.A50967@mufuf.trident-uk.co.uk> <3CDFF60C.48A2EA65@mindspring.com> <20020513102526.H72322@nexus.root.com> <200205131758.g4DHwJFj068941@apollo.backplane.com> <3CE00B14.E8CA43A8@mindspring.com> <200205131901.g4DJ1U8s069604@apollo.backplane.com> <3CE01595.D045B70D@mindspring.com> <20020513124807.R72322@nexus.root.com> <3CE01A3A.AAB85F64@mindspring.com> <20020513130924.W72322@nexus.root.com> <20020513205636.GB90188@elvis.mu.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Alfred Perlstein wrote: > * David Greenman-Lawrence [020513 13:10] wrote: > > The card doesn't drop the packet if the IP/TCP checksum is wrong. In my > > tests, I did a software checksum on the supposedly bad packet, and found it > > to be good every time. So it DMA's correctly, the checksum is just calculated > > incorrectly by the hardware. > > Probably pretty obvious, but adding a flag "if bad hwsum, then try softsum" > probably wouldn't be too hard. > > Of course it depends on how often it mangles the checksum, if it's quite > often it's probably just a better idea to do it in software to lift some > load from the card if doing the hw checksum actually taxes the card. > (like i've heard about tigonII) The really ugly part is the implication David already pointed out, which could screw you: getting an incorrectly "valid" checksum on a bad packet. The only way around that is to do the checksum in software again, and see if it's really good when it says it's good. Actually, if you could find one of these, it would probably give enough information that we could figure out what kind of error it was giving. If it's just the incremental checksum 0xffff (-0) problem from one's complement vs. two's complement, then you could be sure that it was only bad packets being marked good. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message