XL driver checksum producing corrupted but checksum-correct packets

Robert Watson rwatson at freebsd.org
Sat Jan 24 15:59:27 PST 2004


On Sat, 24 Jan 2004, Luigi Rizzo wrote:

> On Sat, Jan 24, 2004 at 02:12:12PM -0500, Robert Watson wrote:
> ...
> > > but going this way you have no idea on what the driver does, including
> > > enabling hw checksums. This looks like a useless test at least for the
> > > purpose of finding out what is going wrong
> > 
> > Actually, I'm more curious about whether it's a known errata/misbehavior
> > for the card that 3Com's drivers work around, or not.  The problem could
> > well be compleely unrelated to hardware checksuming per se -- the
> > corruption might well be taking place as the buffer is moved from the
> > card's buffer to the operating system managed buffer.  If the NDIS driver
> > doesn't illustrate the same problem, it tells us that by frobbing
> > appropriately, this problem can be worked around.  It also tells us that
> > by looking a bit harder at what the driver is doing (i.e., how it frobs
> > the hardware), we can learn something about the appropriate workaround. 
> 
> yes, but how would you know that, short of reverse engineering the
> driver, or tracing I/O accesses to the hardware ?  It really looks like
> an overkill effort... I'd rather just try to debug the issue working on
> an open source driver, or dump the hardware altogether and replace it
> with something known to work... 

My understanding is that NDIS drivers rely on the HAL provided by NT to
perform hardware access, so you can generate I/O traces with relative
ease.  Decoding and following the HAL traces during card setup is probably
relatively straight forward, since presumably most of the I/O transactions
will match the documented services of the card.  It might be useful to add
some KTR support to Bill's NDIS pieces for this very purpose, if there's
interest.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Senior Research Scientist, McAfee Research




More information about the freebsd-hackers mailing list