[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/
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, preet, 2017/05/01
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Joel Cunningham, 2017/05/01
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Simon Goldschmidt, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Joel Cunningham, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, preet, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Simon Goldschmidt, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, preet, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Joel Cunningham, 2017/05/02
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Simon Goldschmidt, 2017/05/03
- [lwip-devel] [bug #50837] LWIP TCP/IP race condition, Simon Goldschmidt, 2017/05/03
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout,
Joel Cunningham <=
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Joel Cunningham, 2017/05/04
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Simon Goldschmidt, 2017/05/08
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Joel Cunningham, 2017/05/09
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Simon Goldschmidt, 2017/05/12
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, preet, 2017/05/12
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, preet, 2017/05/16
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Joel Cunningham, 2017/05/16
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Fayek, 2017/05/17
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Joel Cunningham, 2017/05/18
- [lwip-devel] [bug #50837] TCP: zero window probe doesn't timeout, Joel Cunningham, 2017/05/18