diff options
author | Rickard Green <rickard@erlang.org> | 2022-11-25 00:48:47 +0100 |
---|---|---|
committer | Rickard Green <rickard@erlang.org> | 2023-02-02 18:55:11 +0100 |
commit | 27258e92db76fdb8d3daa8ed610edbc9ac58d752 (patch) | |
tree | 41d4062e47b079f7feddea29ce6e38bc8b9943d2 /lib/kernel/src/gen_udp.erl | |
parent | a8ea725d017317ac3835eda45797b80c6d263405 (diff) | |
download | erlang-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.erl | 6 |
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 | |