Skip to contentSkip to conversation

Entirely ignoring TCP and UDP checksum in kernel level

DISCUSSION Lee Revell 2 participants 2 messages Aug 21, 2004 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Lee Revell

author
#1 lore raw
Quoted 5 lines · Josan Kadett

I added the patch, indeed this was just one of the few modifications I tried before. The result is failure, the TCP/IP stack still does the checksum... Perhaps after this modification, the condition that the packet is not "eaten" may not be telling the system that there is a checksum error, but instead, just dropping packets by not igniting the TCP ACK function.

Please try Kalin's suggestion, instead of my patch. It's more generic, plus my 'patch' didn't handle UDP.

Lee

#2 lore raw

Indeed I already had done that UDP and TCP patch before I posted this thread. I think that is still not the way... I just tested the system using the generic patch and the results are;

- I send a packet with wrong checksum to a closed UDP port, the kernel replies it (It would seem that UDP checksum is gone but no)
- I send a packet with wrong checksum to a closed TCP port, the kernel drops it (TCP will not budge)
- I send a packet with wrong checksum to an open UDP port, the kernel drops it. (UDP checksum is still in effect somehow)
- I send an snmpget request to my client, intercept the packet, re-send it to the linux machine which is pathced, snmpget gets the correct data
- I send an snmpget request to my client, intercept the packet, put arbitary (wrong) checksum in it, re-send it to the linux machine which is patched, snmpget does not even see the data coming in. (Still dropped by kernel)

Perhaps I should start another thread with another subject instead of blindly trying to get rid of checksum?

-----Original Message-----
From: Lee Revell [mailto:[email protected]]
Sent: Saturday, August 21, 2004 10:46 PM
To: Josan Kadett
Cc: linux-kernel
Subject: RE: Entirely ignoring TCP and UDP checksum in kernel level

Quoted 1 line · Josan Kadett

I added the patch, indeed this was just one of the few modifications I

tried

Quoted 4 lines

before. The result is failure, the TCP/IP stack still does the checksum... Perhaps after this modification, the condition that the packet is not "eaten" may not be telling the system that there is a checksum error, but instead, just dropping packets by not igniting the TCP ACK function.

Please try Kalin's suggestion, instead of my patch. It's more generic, plus my 'patch' didn't handle UDP.

Lee