|
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 |
lost_segments_3.pcap
Description: lost_segments_3.pcap
[Prev in Thread] | Current Thread | [Next in Thread] |