RE: Entirely ignoring TCP and UDP checksum in kernel level

Josan Kadett
2004-08-21T08:35:30Z

-----Original Message-----
From: Lee Revell [mailto:rlrevell@joe-job.com]
Sent: Saturday, August 21, 2004 10:26 AM
To: Josan Kadett
Cc: 'Denis Vlasenko'; linux-kernel
Subject: RE: Entirely ignoring TCP and UDP checksum in kernel level

On Sat, 2004-08-21 at 05:18, Josan Kadett wrote:
> That is not much of an intelligible idea. A way to hack the kernel could
be
> found as I still presume. "Turn off checksums" but not by re-writing the
> whole tcp code in the kernel. Isn't that possible ? Linux is an operating
> system of infinite possibilities, right ? But only if you know how to hack
> it...
>

>> Can't you just go into the networking code, and find the part where it
>> checks the checksum, and just have it return success, even if the
>> checksum was bad? Seems like a quick copy and paste hack. Am I missing
>> something?

>> Lee

Very well, it is what I really wish to do. The networking code is no simple
issue in linux. As I underlined, two c files, tcp_input.c and udp.c controls
how the checksum is done and the code looks very complicated. Perhaps you
have some idea about where in 100K source code to change in order to disable
checksumming but at the same time not to break normal operation. I can apply
a change in the code, recompile the kernel and test it. I have installed a
virtual machine running linux in order to experiment with the settings, but
the problem is that I do not have enough time to understand what the code is
all about. Perhaps it is in sock.h, perhaps skbuff.h, or any other file.
Each and every file seems to contain some function related to checksumming.