[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Deactivating TCP checksumming



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
20030402205855.GA4125@gtf.org">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
>
>



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/