Skip site navigation (1)Skip section navigation (2)
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>