lwip-members
[Top][All Lists]
Advanced

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

[lwip-members] TCP ACK bug


From: Paul Sheer
Subject: [lwip-members] TCP ACK bug
Date: Fri, 11 Apr 2003 00:25:09 +0200

Hi

I have found a situation where LwIP gets stuck. My tree is waaaay
out of sink, so i have no idea if it has long since been fixed.

There is a rare situation when you download in one direction
from a remote non-LwIP stack on a very unreliable link, where
packets can get reordered, that you get lwip stuck on
"tcp_receive: duplicate seqno"...

the problem happens when an ack from lwip has been lost,
but out-of-ordering makes the remote think its further
behind than it really is, and retransmits a packet that
ends up at the line "tcp_receive: duplicate seqno" and
is processed no further.

simply adding:

       else{
        /* the whole segment is < rcv_nxt */
        /* must be a duplicate of a packet that has already been correctly 
handled */
        
+       tcp_ack(pcb);
        DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: duplicate seqno %ld\n", seqno));
       }

fixes this.

-paul






reply via email to

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