RE: Entirely ignoring TCP and UDP checksum in kernel level

From: Josan Kadett
Date: Sat Aug 21 2004 - 15:57:35 EST


Yes, I thought that just returning "0" from these function would
successfully disable checksumming, but now the situation is as such;

- TCP still does the checksum and seems as if no patch is applied at all
- UDP now does not do checksum if it should return a destination unreachable
error. (that means, when I inject a packet to a closed socket, regardless of
the checksum in the packet, the system now sends a destination unreachable
error). However this is the only change, still the application do not
receive UDP packets with wrong checksum. (Such as netcat or snmpget etc.)

Perhaps this is not the way?

-----Original Message-----
From: linux-kernel-owner@xxxxxxxxxxxxxxx
[mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] On Behalf Of Kalin KOZHUHAROV
Sent: Saturday, August 21, 2004 11:07 AM
To: linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: Entirely ignoring TCP and UDP checksum in kernel level

Josan Kadett wrote:
> Here is the very original linux-kernel mailing list, and if I cannot find
an
> answer here, then nowhere on earth can this answer be found. I also saw
some
> other messages regarding the same issue on the net. None of them is
answered
> correctly; and also as if this is a very "forbidden" thing to disable the
> checksums, most replies are as if they are "unbreakable rules of god".
> Really, I am losing my patience with this. It is also very odd to write a
> low-level application in order to just disable a "feature" of the kernel
to
> deal with a faulty piece of embedded firmware.

OK, try this, not tested:

replace the return statements with "return 0;" in:

net/ipv4/udp.c, function __udp_checksum_complete, about line 759
net/ipv4/icp_input.c, function __tcp_checksum_complete_user, about line 4070

* line numbers above are for linux-2.6.7

Kalin.

--
|| ~~~~~~~~~~~~~~~~~~~~~~ ||
( ) http://ThinRope.net/ ( )
|| ______________________ ||

-
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/



-
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/