Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 May 2007 21:33:27 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Andrew Falanga <af300wsm@gmail.com>
Cc:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   Re: How does FreeBSD handle tcp checksum offloading
Message-ID:  <20070524193327.GA58657@owl.midgard.homeip.net>
In-Reply-To: <340a29540705241210qa6895bem9d4aa1a5d2dd05a0@mail.gmail.com>
References:  <340a29540705241210qa6895bem9d4aa1a5d2dd05a0@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 24, 2007 at 01:10:55PM -0600, Andrew Falanga wrote:
> Hi,
> 
> I'm curious as to how FreeBSD handles checksum offloading for TCP
> packets.  Is this on by default?  It seems that it's only relevant for
> specific drivers rather than something that's just assumed.  How can I
> determine if this is supported for the hardware I'm running?  Is it
> common for tcp checksum offloading to be in the fxp driver?  Can one
> turn it off (though, it honestly sounds like no one would wish to do
> so)?

Checksum offloading is usually enabled by default for hardware that supports
it (assuming that the driver for that hardware also supports it of course.)

To see if a particular interface uses checksum offloading you can look at
the output of 'ifconfig -m'.
The "options" line in the output refers to those features that are enabled,
while the "capabilities" line refers to those features that are available.
(Checksum offloading for receive and transmit show up as RXCSUM and TXCSUM
respectively.)
Ifconfig can also be used to enable/disable the offloading - see the
ifconfig(8) manpage for details and syntax.

It can sometimes be desirable to turn of checksum offloading if one suspects
that the hardware has some bugs in it that can cause the checksum to be
wrong.  (For those cases were the hardware has known bugs in this area, the
driver normally disable checksum offloading by default.)


Most hardware supported by the fxp(4) driver do not have support for
checksum offloading, but some do.
(The fairly commonly used  82559 chip does not support checksum while the
less common 82550 chip does, for example.)





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



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