From owner-freebsd-current@FreeBSD.ORG Wed Jan 31 21:54:47 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B95016A401; Wed, 31 Jan 2007 21:54:47 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: from syn.atarininja.org (syn.csh.rit.edu [129.21.60.158]) by mx1.freebsd.org (Postfix) with ESMTP id 5782513C471; Wed, 31 Jan 2007 21:54:47 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: by syn.atarininja.org (Postfix, from userid 1001) id 354F25C2E; Wed, 31 Jan 2007 16:25:34 -0500 (EST) Date: Wed, 31 Jan 2007 16:25:34 -0500 From: Wesley Shields To: C?dric Jonas Message-ID: <20070131212534.GC58404@atarininja.org> References: <20070131214705.0ee0ba67@ganymed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070131214705.0ee0ba67@ganymed> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: freebsd-net@freebsd.org, freebsd-current@freebsd.org Subject: Re: fxp(4) checksum (offloading?) errors X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Jan 2007 21:54:47 -0000 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