fxp(4) checksum (offloading?) errors

Erik Trulsson ertr1013 at student.uu.se
Wed Jan 31 22:48:53 UTC 2007

On Wed, Jan 31, 2007 at 04:25:34PM -0500, Wesley Shields wrote:
> On Wed, Jan 31, 2007 at 09:47:05PM +0100, C?dric Jonas wrote:
> > Hi,
> > 
> > I get TCP/UDP checksum errors with fxp(4). I noticed it after using
> > Wireshark today:
> > 
> > 	Checksum: 0xac18 [incorrect, should be 0xfbc7 (maybe caused by
> > 	checksum offloading?)]
> > 
> > for example.
> > 
> > If I understand it more or less correctly, checksum offloading is
> > performed by or with help of the NIC - only for TCP and UDP, where the
> > checksum fails exactly...
> Yes, the checksums are offloaded to the card.  Maybe I missed it, but
> you were not very clear on where you were seeing the invalid checksums.
> In the case of wireshark running on the machine which is doing the
> offloading then this makes sense as the checksums are computed AFTER
> wireshark sees them.  The best way to know for sure if the checksums
> were computed correctly is to check them on the destination or somewhere
> along the wire to the destination.
> > I didn't found a way to disable it, so I assume it's a bug in the
> > driver... I don't know exactly which infos I must provide additionally
> > to the following, so don't hesitate to ask more :)
> According to ifconfig(8) they can be toggled using -rxcsum and -txcsum,
> but it is dependent upon the NIC/driver in use.  A quick glance through
> fxp(4) indicates that it doesn't do checksum offloading.  I'm sure
> someone will correct me if I am wrong.  :)

Some fxp(4) NICs support checksum offloading, but most don't.
The fairly common 82559 controller chip does not support checksum
offloading.  The 82550 (which can be found on the Intel PRO/100 S cards)
does support checksum offloading.

<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student.uu.se

More information about the freebsd-net mailing list