libc/newlib/libc
sbruno 5c636abe89 Load balance sockets with new SO_REUSEPORT_LB option
This patch adds a new socket option, SO_REUSEPORT_LB, which allow multiple
programs or threads to bind to the same port and incoming connections will be
load balanced using a hash function.

Most of the code was copied from a similar patch for DragonflyBSD.

However, in DragonflyBSD, load balancing is a global on/off setting and can not
be set per socket. This patch allows for simultaneous use of both the current
SO_REUSEPORT and the new SO_REUSEPORT_LB options on the same system.

Required changes to structures
Globally change so_options from 16 to 32 bit value to allow for more options.
Add hashtable in pcbinfo to hold all SO_REUSEPORT_LB sockets.

Limitations
As DragonflyBSD, a load balance group is limited to 256 pcbs
(256 programs or threads sharing the same socket).

Submitted by:	Johannes Lundberg <johanlun0@gmail.com>
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D11003
2018-08-24 15:00:04 +02:00
..
argz ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ctype ctype: Avoid GCC note in towctrans_l.c 2018-07-30 10:47:57 +02:00
errno makedoc: make errors visible 2017-12-07 11:54:11 +00:00
iconv ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
include Add __nl_item to <sys/_types.h> and use it 2018-08-24 15:00:01 +02:00
locale newlib: newlocale: fix typo rendering ctype_ptr invalid 2018-08-08 09:26:32 +02:00
machine strcmp.S: Improve performance for misaligned strings 2018-07-13 13:27:54 +02:00
misc RISC-V: Do not use _init/_fini 2018-07-30 10:47:57 +02:00
posix newlib: wordexp: drop dangerous fprintf 2018-08-08 10:50:19 +02:00
reent ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
search Reduce qsort stack consumption 2018-03-16 10:21:23 +01:00
signal Fix newlib functions perror()/psignal() not to use writev(). 2018-07-05 15:33:49 -04:00
ssp makedoc: make errors visible 2017-12-07 11:54:11 +00:00
stdio newlib: fix various gcc warnings 2018-08-08 10:50:19 +02:00
stdio64 ansification: remove _EXFNPTR, _EXPARM 2018-01-17 11:47:27 -06:00
stdlib Fix strtof ("-nan") returns positive NaN 2018-08-16 13:17:44 +02:00
string fix/enhance Unicode table generation scripts 2018-03-14 10:44:32 +01:00
sys Load balance sockets with new SO_REUSEPORT_LB option 2018-08-24 15:00:04 +02:00
syscalls ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
time newlib: strftime: fix over-enthusiastic fix from 0283642f35 2018-08-08 23:59:34 +02:00
unix Fix comparison between two character arrays 2018-07-30 09:36:49 +02:00
xdr ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
Makefile.am ssp: add build infrastructure 2017-11-29 11:25:46 -06:00
Makefile.in ssp: add build infrastructure 2017-11-29 11:25:46 -06:00
aclocal.m4 Fix up errors in regenerated files for 2.3.0 release. 2016-01-04 12:57:31 -05:00
configure Add nvptx port. 2018-04-13 15:42:37 -04:00
configure.in ssp: add build infrastructure 2017-11-29 11:25:46 -06:00
libc.in.xml ssp: add documentation 2017-11-29 11:25:45 -06:00
libc.texinfo ssp: add documentation 2017-11-29 11:25:45 -06:00
saber
sys.tex Don't include stdio64 functions in reentrant syscalls menu when not bulding stdio64. 2015-08-03 09:54:33 +01:00