Re: Deactivating TCP checksumming

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

 



Using RH Linux kernel 2.4.18, setting "features" bit NETIF_F_IP_CSUM does
not appear
to keep a valid IP checksum from being computed in packets presented to my
driver
for transmission. So having HW compute outgoing checksum buys nothing.
Checked this
by suppressing HW checksum computation. Packets are still accepted by peer.

Dennis Cook
Sandgate Technologies

"Matti Aarnio" <matti.aarnio@zmailer.org> wrote in message
20030401122824.GY29167@mea-ext.zmailer.org">news:20030401122824.GY29167@mea-ext.zmailer.org...
> On Tue, Apr 01, 2003 at 12:12:04PM +0000, shesha bhushan wrote:
> > I get that. I can talk with the driver vendor. But to gain the
usefulness
> > of caculation of CSUM in HW we need to disable the software CSUM
> > calculation in TCP layer in the kernel. Am I correct? I am trying to
find
> > that and I ma stuck there. How to disble the software TCP CSUM
calculation?
> > and later I can talk with driver vendor to enable it in hardware. I
wanted
> > help from linux gurus in disabling TCP csum calculation in the kernel.
>
> The kernel code is already smart enough of detect that the outbound
> device will handle the checksum calculations all by itself, and not
> do it in that case.
>
> Testing of  dev->features   is done in files:
>    net/core/dev.c
>    net/ipv4/tcp.c
> (depending what protocol is in question.)
> in the latter case, actually in common tcp path with route-cached
> route_caps flags.
>
> I did
>    egrep 'NETIF_F_.._CSUM' net/*/*.c
> to find those.
> (and a number of other subset searches finding nothing)
>
> Grep is your friend.
>
> This whole "zero-copy" infastructure was implemented during
> development in 2.3 series.
>
> > Thanking You
> > Shesha
>
> /Matti Aarnio



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



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux