[LARTC] checksum update in TCP

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 20, 2003 at 03:09:57PM +0100, devik wrote:

> > Or imho even more probably, the problem could be the line.  I've had a
> > couple of these during last 3 years.  Namely, is there a serial line
> > (possibly wireless) involved?
> 
> Yes it is. There is wireless net inbetween. But interestingly
> I have seen no other packet corruption except when communicating
> via FTP with concrete W2k user.
> He can FTP with others as I can too but can't between themselves.
> 
> Also how could wireless link change data inside of a TCP packet ?
> Then checksum should become wrong and the packet rejected ... ?

Yes, they should.  What I had in mind was a data-dependent bug on a 2
Mbps wireless link that caused packets having alternate zero and one
patterns in it (0x5555 or 0xaaaa) to be dropped by the link and never
seen by the receiver.  Now, I'm not sure what the exact symptoms are of
what you are solving.  If your problem is that the TCP transmission
completes successfully (i.e. everything's OK as far as TCP is concerned)
but the data that came out of the pipe is different that the data that
had been sent, that should be a different problem.

> I changed proftpd to compute and log MD5 of each chunk of data
> going out of read() syscall so I will be able to compare them
> to file on HDD (catching errors in FS, IDE (DMA) or HDD).
> Also in the same time I'll save tcpdump's raw packets to be able
> to compare stored data with packet contents (with 100MB ftp file
> it will be a lot of fun :-( )

Can you produce a "binary diff" of sent and received file to see how
exactly they differ?  Are the two files completely different?  Or do
they differ just in a couple of places?  Is something missing?  Is
something changed?  If so, how?  That's how I managed to isolate some
difficult data-dependent bugs, it might be useful here, too.

	pvl



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux