On Fri, 2017-11-03 at 06:00 -0700, Eric Dumazet wrote: > On Fri, 2017-11-03 at 08:41 -0400, Vitaly Davidovich wrote: > > Hi Eric, > > > > Ran a few more tests yesterday with packet captures, including a > > capture on the client. It turns out that the client stops ack'ing > > entirely at some point in the conversation - the last advertised > > client window is not even close to zero (it's actually ~348K). So > > there's complete radio silence from the client for some reason, even > > though it does send back ACKs early on in the conversation. So yes, > > as far as the server is concerned, the client is completely gone and > > tcp_retries2 rightfully breaches eventually once the server retrans go > > unanswered long (and for sufficient times) enough. > > > > What's odd though is the packet capture on the client shows the server > > retrans packets arriving, so it's not like the segments don't reach > > the client. I'll keep investigating, but if you (or anyone else > > reading this) knows of circumstances that might cause this, I'd > > appreciate any tips on where/what to look at. > > > Might be a middle box issue ? Like a firewall connection tracking > having some kind of timeout if nothing is sent on one direction ? > > What output do you have from client side with : > > ss -temoi dst <server_ip>
It also could be a wrapping issue on TCP timestamps. You could try disabling tcp timestamps, and restart the TCP flow. echo 0 >/proc/sys/net/ipv4/tcp_timestamps