[Top][All Lists]

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

[lwip-devel] [bug #26267] Simultaneous close

From: Kieran Mansley
Subject: [lwip-devel] [bug #26267] Simultaneous close
Date: Tue, 21 Apr 2009 14:25:35 +0000
User-agent: Opera/9.21 (X11; Linux i686; U; en)

Follow-up Comment #7, bug #26267 (project lwip):

Taking a look at tcp_slowtmr() it's hard to see how this isn't working.  To
do a RTO retransmission you have to have:
 - pcb in tcp_active_pcbs (definitely should be)
 - pcb->state != SYN_SENT (we know it's CLOSING)
 - pcb->nrtx < TCP_MAXRTX (should be, unless you've set that value smaller in
your stack)
 - pcb->persist_backoff == 0 (if it wasn't we'd see a probe in the packet
 - pcb->unacked != NULL (should still have the FIN there)

The only bit there that I'm not sure about is the persist_timer.  There is a
packet at the end of the trace that could either be a duplicate ACK (due to
the retransmissions coming from the other side) or a persist timer probe.  If
the persist timer were going off that would explain why the FIN doesn't get
retransmitted, but I doubt this is the case.

It would really help if you could enable some of the logging in tcp_slowtmr()
and see what path it takes, and why tcp_rexmit_rto() is not called in this


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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