on amd64 tcp4 cksums are bad (FYI)

Maxim Sobolev sobomax at portaone.com
Fri Aug 20 13:07:46 PDT 2004


Andrew Gallatin wrote:

> David W. Hankins writes:
>  > 
>  > This is as observed via tcpdump on [client], which is what is producing
>  > the bad checksums.  Obviously it doesn't cause a problem since no one
>  > listens to TCP checksums, but it's interesting.  I only noticed it
>  > because I was tcpdump'ing for completely unrelated reasons, and it caught
>  > my eye.
> 
> <...>
> 
>  > Client machine is amd64, running 64-bit mode 5-current fresh as of
>  > yesterday.  Network interface is e1000, so fxp.  Server is also freebsd
> 
> e1000 is actually em.  
> 
> You're almost certainly using a driver which offloads transmit
> checksums.  (both fxp and em do) Since BPF sniffs the packet before it
> leaves the host, the checksum has not yet been calculated, so it looks
> bad.

Is it possible to detect this situation and flag tcpdump somehow, so 
that it don't trust checksum? With the widespread adoption of GigE 
cards, this "problem" is likely to be more and more common.

-Maxim


More information about the freebsd-current mailing list