Messages in this thread |  | | From | "Josan Kadett" <> | | Subject | RE: Cursed Checksums | | Date | Sun, 22 Aug 2004 23:03:54 +0200 |
| |
Perhaps there is a way to recompute IP header checksums before they get into the interface? As I outlined, I have found a way to manipulate IP source address before the packet is flushed to system, but a means of recalculating the IP header checksum after that manipulation should be found. Because even if I ignore IP header CRC in one system, all other boxes connected to this machine has to be patched the same. That is impossible anyway.
Only if I could find a way to recalculate the checksum in IP headers by doing a simple hack to the kernel, everything would be alright.
-----Original Message----- From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Alan Cox Sent: Sunday, August 22, 2004 1:40 PM To: Josan Kadett Cc: Linux Kernel Mailing List Subject: Re: Cursed Checksums
It depends on your hardware. With modern network cards we do the checksum processing in hardware. For older setups passing a packet through a Linux box won't directly help as the ttl recomputation is done without recalculation from scratch.
We also have a pile of paths for checksumming including copy/checksum rolled into one so it isn't easy to remove there.
I'd take up the issue with the vendor of the broken object. If its something like an internal prototype you need to test then you'll probably have to write a user space application using raw sockets to communicate with it and do the fixups/passthrough in use space. Pretty horrible either way.
Alan
Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |