lwip-users
[Top][All Lists]
Advanced

[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.





reply via email to

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