net: increase SOMAXCONN to 4096
authorEric Dumazet <edumazet@google.com>
Wed, 30 Oct 2019 16:36:20 +0000 (09:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Oct 2019 21:01:40 +0000 (14:01 -0700)
commit19f92a030ca6d772ab44b22ee6a01378a8cb32d4
tree29ef4d4bfa78c7b0e21b4adeb0ffc27691021e75
parent6d6f0383b697f004c65823c2b64240912f18515d
net: increase SOMAXCONN to 4096

SOMAXCONN is /proc/sys/net/core/somaxconn default value.

It has been defined as 128 more than 20 years ago.

Since it caps the listen() backlog values, the very small value has
caused numerous problems over the years, and many people had
to raise it on their hosts after beeing hit by problems.

Google has been using 1024 for at least 15 years, and we increased
this to 4096 after TCP listener rework has been completed, more than
4 years ago. We got no complain of this change breaking any
legacy application.

Many applications indeed setup a TCP listener with listen(fd, -1);
meaning they let the system select the backlog.

Raising SOMAXCONN lowers chance of the port being unavailable under
even small SYNFLOOD attack, and reduces possibilities of side channel
vulnerabilities.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willy Tarreau <w@1wt.eu>
Cc: Yue Cao <ycao009@ucr.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
include/linux/socket.h