Thread (16 messages) flat view 16 messages, 2 authors, 2017-11-08

Re: TCP connection closed without FIN or RST

From: Eric Dumazet <hidden>
Date: 2017-11-01 23:07:06

On Wed, 2017-11-01 at 22:22 +0000, Vitaly Davidovich wrote:
Eric,
Yes I agree.  However the thing I’m still puzzled about is the client
application is not reading/draining the recvq - ok, the client tcp
stack should start advertising a 0 window size.  Does a 0 window size
count against the tcp_retries2? Is that what you were alluding to in
your first reply?
Every time we receive an (valid) ACK, with a win 0 or not, the counter
of attempts is cleared, given the opportunity for the sender to send 15
more probes.
If it *does* count towards the retries limit then a RST doesn’t seem
like a bad idea.  The client is responding with segments but the user
app there just isn’t draining the data.  Presumably that RST has a
good chance of reaching the client and then unblocking the read()
there with a peer reset error.  Or am I missing something?


If it doesn’t count towards the limit then I need to figure out why
the 0 window size segments weren’t being sent by the client.
Yes please :)

I will try to double check that the client was indeed advertising 0
window size.  There’s nothing special about that machine - it’s a
4.1.35 kernel as well.  I wouldn’t expect the tcp stack there to be
unresponsive just because the user app is sleeping.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help