Re: Something hitting my total number of connections to the server
flat view
From: Neal Cardwell <ncardwell@google.com>
Date: 2017-08-23 13:36:31
On Wed, Aug 23, 2017 at 1:08 AM, Akshat Kakkar [off-list ref] wrote:
On Tue, Aug 22, 2017 at 5:58 PM, Neal Cardwell [off-list ref] wrote:quoted
On Tue, Aug 22, 2017 at 1:42 AM, Akshat Kakkar [off-list ref] wrote:quoted
There are multiple hosts/clients. All are mainly windows based. Timestamp is not used as my clients mainly are windows based and in that it tcp timestamp is by defauly disabled....quoted
net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1I suspect the problem is there. The net.ipv4.tcp_tw_recycle setting should be 0. Running with the value 1 is known to cause buggy behavior related to TCP timestamps, and that feature has been removed in kernel v4.12. Can you please re-run your tests with net.ipv4.tcp_tw_recycle=0 or a newer kernel? nealThanks for your reply. I understand that. But my point is, though tcp timestamp is enabled on the server, but as client is not using it ... so how come this _bug_ (if any) is triggered in first place.
You mention "clients mainly are windows based". if they are only "mainly" Windows-based, and some are of other OSes that do use TCP timestamps, and the remote address is the same for TCP-timestamp-using and non-TCP-timestamp-using clients, then running with timestamps enabled on the server could tickle the bugs in pre-4.12 kernels that save info from TCP-timestamp-using connections and erroneously try to use that info to validate non-TCP-timestamp-using connections. But the main point is that the configuration you cited (net.ipv4.tcp_tw_recycle=1) is an unsupported configuration with known bugs. The best resolution would be to just run with net.ipv4.tcp_tw_recycle=0. It's not worth digging any further unless you run with net.ipv4.tcp_tw_recycle=0 or a kernel that is v4.12 or later and still have problems. Hope that helps, neal