Thread (26 messages) 26 messages, 5 authors, 2017-08-23

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=1
I 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?

neal
Thanks 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help