In Javier's trace, only 26 packets were transmitted, whereas in each of my test runs, there were exactly 29 outgoing packets. So I guess the "29" number is not exactly repeatable.

I wonder what is causing the packet reordering? Does iperf explicitly force reordering in order to stress test the TCP? I would expect out-of-order packets to be extremely rare - virtually nonexistent - within the confines of a single machine.

Javier Cardona wrote:
Hi Mitch,

I took a over-the-air capture of the transmitted frames and repeated
your analysis.  This is the sequence that I got:

2 4 1 3 5 7 9 6 10 8 11 12 14 16 13 17 15 18 19 20 21 * 23 24 25 26 27
(I uploaded the capture here http://dev.laptop.org/ticket/915, "*" is
for packet 23)

The TCP trace acknowledgments up to packet 20.  This last
acknowledgement is repeated 6 times and after that the connection is
frozen.

Javier



I decoded the packets in the USB trace.  There is a lot of packet
reordering going on - the sequence numbers don't increase monotonically.

Subtracting out the first sequence number and dividing by the constant
fixed length of the outgoing packets, the sequence is:

0 1  4  6  2  3  7  5  8  9  11  13  10 14 12  15  16  18  20  17  21
19  22  23  *  25 *  27  28  29  30

The ACKs work as expected, i.e. when the sequence fills in, the ACKs
catch up.

"*" shows a sequence number that never showed up - packets "24" and "26"
were not transmitted.  The ACK sequence stalled after "23", reflecting
the fact that 24 never arrived.

I killed the process 12 seconds after progress stalled (i.e. after point
"30').  There were no retransmissions during that time.

_______________________________________________
Devel mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel



_______________________________________________
Devel mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel

Reply via email to