[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] ACK Seq number problem with FIN ACK
From: |
Paul Andrews |
Subject: |
[lwip-users] ACK Seq number problem with FIN ACK |
Date: |
Wed, 31 Oct 2007 15:25:50 +1300 |
Hi!
I have been having a problem lately with lwip when a connection is
closed from the far end. I upgraded to CVS head and thought the problem
had gone away, but now it is back.
What happens is lwip will connect to a server, exchange some data then
the server will send a FIN ACK. However, when lwip ACKs this, the seq
number is not incremented. After this, it's a whole lot of FIN ACKs
going back and forth and we can never re-connect. It doesn't happen
every time, but usually after a while it will trigger.
There was a similar bug mentioned about out-of-sequence FINs not being
counted, but this fix was included in the code I upgraded to.
So, the sequence looks like this:
Lwip Server
....skip....
PSH ACK
ACK
PSH ACK
FIN ACK (Seq=293 Ack=248)
ACK (Seq=248 Ack=293) <-- wrong! Ack should be 294!
FIN ACK (Seq=248 Ack=293)
ACK (Seq=294 Ack=249)
FIN ACK (Seq=293 Ack=249)
FIN ACK (Seq=293 Ack=249)
FIN ACK (Seq=248 Ack=293)
ACK (Seq=294 Ack=249)
FIN ACK (Seq=293 Ack=249)
FIN ACK (Seq=248 Ack=293)
...etc etc etc...
Does anyone have any thoughts on what may be causing this?
Thanks,
Paul.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-users] ACK Seq number problem with FIN ACK,
Paul Andrews <=