kern/119635: Bad UDP packet checksum with em(4) and rxcsum/txcsum enabled

Kris Kennaway kris at FreeBSD.org
Sun Jan 13 19:10:06 UTC 2008


The following reply was made to PR kern/119635; it has been noted by GNATS.

From: Kris Kennaway <kris at FreeBSD.org>
To: Bernd Heller <bdheller at users.sourceforge.net>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: kern/119635: Bad UDP packet checksum with em(4) and rxcsum/txcsum
 enabled
Date: Sun, 13 Jan 2008 20:04:53 +0100

 Bernd Heller wrote:
 
 >> Description:
 > I have an Intel Pro/1000 PT Desktop Adapter network card in that machine, and by default the em(4) driver has rxcsum/txcsum enabled.
 > 
 > But the checksums for some UDP packets generated this way are wrong. I noticed this when trying to run avahi-daemon. It sends UDP multicast packets, but they were never recognized on the network. Only when using tcpdump did I notice the bad checksums. After I disabled rxcsum/txcsum on the interface all was working perfectly.
 > 
 > I could reproduce the same issue in a VMware machine using FreeBSD 7.0-RC1 i386 and amd64. 6.2 seems to be unaffected.
 >> How-To-Repeat:
 > Run avahi-daemon to publish any services (it will do so by default) and analyze the UDP packages sent out.
 >> Fix:
 > Workaround: disable rxcsum/txcsum on the interface.
 
 Please confirm that you ran tcpdump from ANOTHER system, not the one 
 generating the packets.  See the tcpdump manpage for more discussion of 
 hardware checksumming and tcpdump.
 
 Kris


More information about the freebsd-bugs mailing list