diff options
author | Stacey Marshall <stacey.marshall@gmail.com> | 2025-03-07 21:22:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-07 22:22:48 +0100 |
commit | 98a4bab92a1d114b22445a413a0dd991841ade61 (patch) | |
tree | 4a8468ff5e80bf4998ac30b2f3b410beef86dbe0 /docs/code | |
parent | 352d992916814d04b847112072693079788e7343 (diff) | |
download | libuv-98a4bab92a1d114b22445a413a0dd991841ade61.tar.gz libuv-98a4bab92a1d114b22445a413a0dd991841ade61.zip |
unix,sunos: prefer SO_REUSEPORT for load balancing (#4733)
Solaris 11.4 has Load Balancing for SO_REUSEPORT, but setting
SO_REUSEADDR disables load balancing. As per comments in
test/test-udp-reuseport.c prefer SO_REUSEPORT when available.
With these changes in place udp-reuseport testing passes. BIND (named),
which uses routing sockets which cause ENOPROTOOPT to be returned when
SO_REUSEPORT is requested, also continues to work with the change.
Notes:
- The use of getsockopt() to query if SO_REUSEPORT was available was
erroneous.
- Selectively limiting SO_REUSEPORT setting to specific types of socket
was considered but not entertained.
- Oracle will investigate if the setting of SO_REUSEADDR was
intentionally meant to prevent load balancing.
- Adding a test for routing sockets is left for future work.
Diffstat (limited to 'docs/code')
0 files changed, 0 insertions, 0 deletions