Messages in this thread |  | | Subject | Re: Cursed Checksums | | From | Alan Cox <> | | Date | Sun, 22 Aug 2004 12:40:21 +0100 |
| |
On Sad, 2004-08-21 at 03:37, Josan Kadett wrote: > When I manually calcaulate the checksum in the incoming TCP and UDP packets > and re-inject them back to the socket, everything works fine. That is, the > data integrity is not damaged or corrupted at all.
At least for the few you looked at. That proves nothing.
> I tried to investigate the code in tcp_input.c and udp.c to see if I can > disable the checksum control for inbound packets entirely. No use it was > since I need to do this urgently.
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/
|  |