libc/newlib/libc/sys/rtems/include
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
..
arpa SPDX: license IDs for some ISC-related files. 2018-08-24 15:00:03 +02:00
machine RTEMS: Unconditionally define _off_t to int64_t 2018-07-20 06:53:21 +02:00
net Add 32-bit compat for ioctls that take struct ifgroupreq. 2018-08-24 15:00:03 +02:00
netinet Add the "TCP Blackbox Recorder" 2018-08-24 15:00:03 +02:00
netinet6 Follow the RFC6980 and silently ignore following IPv6 NDP messages 2018-08-24 15:00:03 +02:00
sys Load balance sockets with new SO_REUSEPORT_LB option 2018-08-24 15:00:04 +02:00
limits.h RTEMS: Increase SEM_VALUE_MAX 2016-12-20 12:39:31 +01:00
netdb.h SPDX: license IDs for some ISC-related files. 2018-08-24 15:00:03 +02:00
semaphore.h RTEMS: Make sem_t self-contained 2017-10-05 14:56:12 +02:00
syslog.h Add some POSIX header files for RTEMS 2017-05-25 12:41:33 -04:00
termios.h include: further adoption of SPDX licensing ID tags. 2018-08-24 15:00:03 +02:00