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

Re: [MirageOS-devel] wireshark capture of failed download from mirage-www on ARM

[ context for list: thomas' observation of failed download, and lots of 
retransmissions generally, while bringing up mirage-www on ARM ]

On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@xxxxxxxxx> wrote:

> On 21 July 2014 17:08, Richard Mortier <Richard.Mortier@xxxxxxxxxxxxxxxx> 
> wrote:

>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>>> Here's the wireshark capture of a failed download. It does indeed say
>>> the TCP checksum is wrong. Any idea what's going on?
>>> Note that on ARM it uses a different function to calculate this (which
>>> I took from mirage-unix). It's in the #else block here:
>>> https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>> ack; will take a look after breakfast :)
>> just to be clear -- the ARM version is using the code from L247 marked 
>> "generic implementation"?
> Yes. The x86 version crashes on ARM because the 64-bit values aren't aligned.
>> two immediate questions -- is the checksum field definitely treated as all 
>> zeros in the computation across the header?  and is the segment padded with 
>> zeros to be N*16 bits for the purposes of the computation (but the pad not 
>> transmitted)?
> No idea. I haven't changed any code around there.

this is weird-- wireshark says that the first transmission of that segment 
(frame#13) has an invalid checksum while the retransmission (#17) has a valid 
checksum. but the two checksums are the same!  however #13 appears to have 
almost no valid data in it -- after the first 74 bytes (which are the same in 
both #13 and #17), the payload in #13 is zeroed out.

so i guess the cstruct buffer is being recycled too soon (after the checksum 
calculation but before the data is actually transmitted) or something?  

anil, balraj (or anyone else!)-- has that part of the stack been changed 



Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.