mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-18 02:19:39 +00:00
Hide the unfortunate named sysctl kern.ipc.somaxconn from sysctl -a
output and replace it with a new visible sysctl kern.ipc.acceptqueue of the same functionality. It specifies the maximum length of the accept queue on a listen socket. The old kern.ipc.somaxconn remains available for reading and writing for compatibility reasons so that existing programs, scripts and configurations continue to work. There no plans to ever remove the orginal and now hidden kern.ipc.somaxconn.
This commit is contained in:
parent
4cf9e21ed8
commit
2bdf61ca29
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=241781
@ -28,7 +28,7 @@
|
||||
.\" From: @(#)listen.2 8.2 (Berkeley) 12/11/93
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd August 29, 2005
|
||||
.Dd October 20, 2012
|
||||
.Dt LISTEN 2
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -102,15 +102,15 @@ of service attacks are no longer necessary.
|
||||
The
|
||||
.Xr sysctl 3
|
||||
MIB variable
|
||||
.Va kern.ipc.somaxconn
|
||||
.Va kern.ipc.soacceptqueue
|
||||
specifies a hard limit on
|
||||
.Fa backlog ;
|
||||
if a value greater than
|
||||
.Va kern.ipc.somaxconn
|
||||
.Va kern.ipc.soacceptqueue
|
||||
or less than zero is specified,
|
||||
.Fa backlog
|
||||
is silently forced to
|
||||
.Va kern.ipc.somaxconn .
|
||||
.Va kern.ipc.soacceptqueue .
|
||||
.Sh INTERACTION WITH ACCEPT FILTERS
|
||||
When accept filtering is used on a socket, a second queue will
|
||||
be used to hold sockets that have connected, but have not yet
|
||||
@ -168,3 +168,17 @@ at run-time, and to use a negative
|
||||
.Fa backlog
|
||||
to request the maximum allowable value, was introduced in
|
||||
.Fx 2.2 .
|
||||
The
|
||||
.Va kern.ipc.somaxconn
|
||||
.Xr sysctl 3
|
||||
has been replaced with
|
||||
.Va kern.ipc.soacceptqueue
|
||||
in
|
||||
.Fx 10.0
|
||||
to prevent confusion its actual functionality.
|
||||
The original
|
||||
.Xr sysctl 3
|
||||
.Va kern.ipc.somaxconn
|
||||
is still available but hidden from a
|
||||
.Xr sysctl 3
|
||||
-a output so that existing applications and scripts continue to work.
|
||||
|
@ -185,6 +185,8 @@ MALLOC_DEFINE(M_PCB, "pcb", "protocol control block");
|
||||
/*
|
||||
* Limit on the number of connections in the listen queue waiting
|
||||
* for accept(2).
|
||||
* NB: The orginal sysctl somaxconn is still available but hidden
|
||||
* to prevent confusion about the actually purpose of this number.
|
||||
*/
|
||||
static int somaxconn = SOMAXCONN;
|
||||
|
||||
@ -205,9 +207,13 @@ sysctl_somaxconn(SYSCTL_HANDLER_ARGS)
|
||||
somaxconn = val;
|
||||
return (0);
|
||||
}
|
||||
SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn, CTLTYPE_UINT | CTLFLAG_RW,
|
||||
SYSCTL_PROC(_kern_ipc, OID_AUTO, soacceptqueue, CTLTYPE_UINT | CTLFLAG_RW,
|
||||
0, sizeof(int), sysctl_somaxconn, "I",
|
||||
"Maximum listen socket pending connection accept queue size");
|
||||
SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn,
|
||||
CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_SKIP,
|
||||
0, sizeof(int), sysctl_somaxconn, "I",
|
||||
"Maximum listen socket pending connection accept queue size (compat)");
|
||||
|
||||
static int numopensockets;
|
||||
SYSCTL_INT(_kern_ipc, OID_AUTO, numopensockets, CTLFLAG_RD,
|
||||
|
Loading…
Reference in New Issue
Block a user