lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] issues with resending out of order segments


From: Kesten, Joerg
Subject: [lwip-users] issues with resending out of order segments
Date: Fri, 18 Sep 2009 15:19:41 +0200

Hi,

 

I recently upgraded to version 1.3.1 now run into the following problem.

When a send segment was lost it seems to get not always properly resend, in fact a wrong segment (the first after the lost one) seems to get send. After that my send buffer fills up with following data and if that happens my device stops working and does not recover anymore.

 

I remember that shortly before releasing 1.3.1 there was some work in this area (which by the way among other things fixed a critical issue when receiving OOS segments with set FIN flag for me, thanks again for that!), could this be related to this? I never saw this issue with 1.3.0 ….

 

Here are some details, please see the attached wireshark log:

My lwip device is at 10.82.80.41, the PC I am talking to is at 10.82.80.79

-          for the first few packages everything runs fine

-          in packet no 20 the first of out sequence data gets send (Seq=13360 instead of 12791)

-          up to packet 29 later data (seq > 13360) is send, which is of course ok

-          in packet 30 the previously missing data is send (seq 12791)

-          packet 31 ACKs all send data *at this point everything is still fine, send and ack’ed data are in sync again*

-          but now packet 32 immediately contains again out-of-order data (seq=19836 instead of 19200). *although not a bug as such, this happens everytime after the first successful retransmission*

-          The next few packets are again following data

-          Now, in packet 38, instead of the missing data (seq=19200) the out of order data (seq=19836) is resend. *<- This is wrong!?*

-          Following that, only downstream data is send, without any resends of missing data.

-          As soon as the unack’ed send data (nearly) matches my TCP_SND_BUF size, lwIP stops transmitting and I have to reboot my device.

 

I can reproduce this with ease, always the first resend succeeds, and the next packet after that is again out-of order, with the resend being the data after the outstanding segment.

 

Any help would be greatly appreciated!

Thanks,

Jörg

 

Attachment: lost_segments_3.pcap
Description: lost_segments_3.pcap


reply via email to

[Prev in Thread] Current Thread [Next in Thread]