lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout


From: Joel Cunningham
Subject: [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout
Date: Wed, 3 May 2017 18:27:20 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

Update of bug #50837 (project lwip):

             Assigned to:                    None => jcunningham            
                 Summary: LWIP TCP/IP race condition => TCP: zero window probe
doesn't timeout

    _______________________________________________________

Follow-up Comment #25:

> My suggestion would be to use pcb->nrtx here, too. We could increase it for
every zero window probe and reset it for every matching rx segment if the
persist timer is running (as opposed to resetting it when new data is
acknowledged otherwise).

> With default settings, that would still take ~11 minutes to time out such a
connection (if my calculations with 'tcp_persist_backoff' and 'TCP_MAXRTX' are
correct).

I think I can put a patch together that does this.

I went back and looked at the original persist timer patch in an attempt to
understand the backoff and maximum timeout.

Originally it used tcp_output to send a 1 byte segment, then tcp_rexmit() to
send subsequent segments.  I believe this would have timed out since
tcp_rexmit() increments pcb->nrtx.  But when the patch was cleaned up and
submitted, this behavior was omitted.  See bug #20511.  TCP_MAXRTX seems to
have always been 12, so the upper bound doesn't seem to have changed from the
original patch

11 minutes seems very long to me, but I'm fine with adding the timeout
behavior first, then tuning the timeout (if we decide too).  RFC 1122 has
guidance on upper bound before closing a connection





    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?50837>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

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