summaryrefslogtreecommitdiff
path: root/lib/kernel/src/gen_udp.erl
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2022-11-25 00:48:47 +0100
committerRickard Green <rickard@erlang.org>2023-02-02 18:55:11 +0100
commit27258e92db76fdb8d3daa8ed610edbc9ac58d752 (patch)
tree41d4062e47b079f7feddea29ce6e38bc8b9943d2 /lib/kernel/src/gen_udp.erl
parenta8ea725d017317ac3835eda45797b80c6d263405 (diff)
downloaderlang-27258e92db76fdb8d3daa8ed610edbc9ac58d752.tar.gz
[erts, kernel] reuseaddr/reuseport/exclusiveaddruse support/fixes
* Introduce socket option 'reuseport' which may or may not have load balancing. * Introduce socket option 'reuseport_lb' with load balancing. * Introduce socket option 'exclusiveaddruse'. This socket option is Windows specific and will silently be ignored on other systems. * Change behavior on Windows so that SO_REUSEADDR is only set if both 'reusaddr' and 'reuseport' have been set. This since SO_REUSEADDR on Windows behaves as BSD behaves if both SO_REUSEADDR and SO_REUSEPORT have been set.
Diffstat (limited to 'lib/kernel/src/gen_udp.erl')
-rw-r--r--lib/kernel/src/gen_udp.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/kernel/src/gen_udp.erl b/lib/kernel/src/gen_udp.erl
index c652a7663f..9debede39b 100644
--- a/lib/kernel/src/gen_udp.erl
+++ b/lib/kernel/src/gen_udp.erl
@@ -38,6 +38,7 @@
{deliver, port | term} |
{dontroute, boolean()} |
{drop_membership, membership()} |
+ {exclusiveaddruse, boolean()} |
{header, non_neg_integer()} |
{high_msgq_watermark, pos_integer()} |
{low_msgq_watermark, pos_integer()} |
@@ -53,6 +54,8 @@
{read_packets, non_neg_integer()} |
{recbuf, non_neg_integer()} |
{reuseaddr, boolean()} |
+ {reuseport, boolean()} |
+ {reuseport_lb, boolean()} |
{sndbuf, non_neg_integer()} |
{tos, non_neg_integer()} |
{tclass, non_neg_integer()} |
@@ -68,6 +71,7 @@
debug |
deliver |
dontroute |
+ exclusiveaddruse |
header |
high_msgq_watermark |
low_msgq_watermark |
@@ -84,6 +88,8 @@
read_packets |
recbuf |
reuseaddr |
+ reuseport |
+ reuseport_lb |
sndbuf |
tos |
tclass |