Re: Deactivating TCP checksumming

Dennis Cook (cook@sandgate.com)
Thu, 3 Apr 2003 15:34:59 -0500


Based on various feedback, on my RH Linux 2.4.18 kernel I tried the
following:

Set "features" bit NETIF_F_IP_CSUM set (the only feature bit set).
In my network driver start-transmit check for "CHECKSUM_HW" in ip_summed.
Using a small test program, use "sendfile" to copy a file to a network
socket FD.
Result is none of the packets presented to my network adapter driver have
ip_summed set to CHECKSUM_HW, so the SW IP stack has already
computed checksums.

Is this mechanism possibly broken on kernel 2.4?

"Jeff Garzik" <jgarzik@pobox.com> wrote in message
news:20030402205855.GA4125@gtf.org...
> On Wed, Apr 02, 2003 at 03:47:35PM -0500, Dennis Cook wrote:
> > What I was looking for is a general capability to keep the SW transport
> > stack from
> > computing outgoing TCP/UDP/IP checksums so that the HW can be allowed to
do
> > it,
> > similar to Windows checksum offload capability.
>
> If you are not using sendfile(2), it is _more expensive_ to offload
> checksums, because we already checksum and copy at the same time.
>
> Hardware checksum offload is only a win when a copy is eliminated.
>
> Therefore, _always_ offloading checksum is actually slower in some
> cases, because of the unneeded additional HW csum setup that would be
> performed.
>
> Jeff
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/