Re: [RFC/PATCH] SO_NO_CHECK for IPv6

From: David Miller
Date: Thu Nov 22 2007 - 20:13:21 EST


From: Jeff Garzik <jeff@xxxxxxxxxx>
Date: Wed, 21 Nov 2007 19:17:40 -0500

> YOSHIFUJI Hideaki / 吉藤英明 wrote:
> > In article <20071121124532.GA17263@xxxxxxxxxxxxx> (at Wed, 21 Nov 2007 07:45:32 -0500), Jeff Garzik <jeff@xxxxxxxxxx> says:
> >
> >> SO_NO_CHECK support for IPv6 appeared to be missing. This is presented,
> >> based on a reading of net/ipv4/udp.c.
> >
> > Disagree. UDP checksum is mandatory in IPv6.
>
> Ah, you mean that I need to turn off UDP checksum on receive end as well
> in IPv6... true.
>
> For those interested, I am dealing with a UDP app that already does very
> strong checksumming and encryption, so additional software checksumming
> at the lower layers is quite simply a waste of CPU cycles. Hardware
> checksumming is fine, as long as its "free."

Regardless of whatever verifications your application is doing
on the data, it is not checksumming the ports and that's what
the pseudo-header is helping with.

You cannot disable checksums in ipv6/UDP, they are not optional and
with %99.9999999 of cards doing the checksum in hardware, and even if
we do have to compute it it's free during the copy during recvmsg().
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/