Date: Mon, 13 May 2002 15:57:54 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: Alfred Perlstein <bright@mu.org> Cc: David Greenman-Lawrence <dg@root.com>, Matthew Dillon <dillon@apollo.backplane.com>, jamie@tridentmicrosystems.co.uk, freebsd-hackers@FreeBSD.ORG Subject: Re: Broadcom BCM5701 Chipset problems Message-ID: <3CE044F2.1089652F@mindspring.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote: > * David Greenman-Lawrence <dg@root.com> [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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CE044F2.1089652F>