Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2007 16:25:34 -0500
From:      Wesley Shields <wxs@atarininja.org>
To:        C?dric Jonas <cedric@decemplex.net>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: fxp(4) checksum (offloading?) errors
Message-ID:  <20070131212534.GC58404@atarininja.org>
In-Reply-To: <20070131214705.0ee0ba67@ganymed>
References:  <20070131214705.0ee0ba67@ganymed>

next in thread | previous in thread | raw e-mail | index | archive | help
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.  :)

-- WXS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070131212534.GC58404>