File 0717-Fix-missing-reuseport-reuseport_lb-support-in-socket.patch of Package erlang
From 2117f439311cdc4616e1afa645b89b3e0d5ad6a3 Mon Sep 17 00:00:00 2001
From: Takeru Ohta <phjgt308@gmail.com>
Date: Tue, 6 Jan 2026 15:55:03 +0900
Subject: [PATCH 1/2] Fix missing reuseport/reuseport_lb support in socket inet
backend
---
lib/kernel/src/gen_tcp_socket.erl | 2 ++
lib/kernel/src/gen_udp_socket.erl | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/lib/kernel/src/gen_tcp_socket.erl b/lib/kernel/src/gen_tcp_socket.erl
index 9bd03c9d6b..81ddabcaa8 100644
--- a/lib/kernel/src/gen_tcp_socket.erl
+++ b/lib/kernel/src/gen_tcp_socket.erl
@@ -1280,6 +1280,8 @@ socket_opts() ->
priority => {socket, priority},
recbuf => {socket, rcvbuf},
reuseaddr => {socket, reuseaddr},
+ reuseport => {socket, reuseport},
+ reuseport_lb => {socket, reuseport_lb},
sndbuf => {socket, sndbuf},
%%
diff --git a/lib/kernel/src/gen_udp_socket.erl b/lib/kernel/src/gen_udp_socket.erl
index 383568f384..0829bba272 100644
--- a/lib/kernel/src/gen_udp_socket.erl
+++ b/lib/kernel/src/gen_udp_socket.erl
@@ -1055,6 +1055,8 @@ opt_categories(Tag) when is_atom(Tag) ->
%% open_opts is for the 'Opts' argument of the socket:open call
debug -> #{socket => [], start => [], open_opts => []};
ipv6_v6only -> #{socket => [], pre_bind => []};
+ reuseport -> #{socket => [], pre_bind => []};
+ reuseport_lb-> #{socket => [], pre_bind => []};
%% Some options may trigger us to choose recvmsg (instead of recvfrom)
%% Or trigger us to choose recvfrom *if* was previously selected
@@ -1137,6 +1139,8 @@ socket_opt() ->
%% The second can be seen as a side effect...
recbuf => [{socket, rcvbuf}, {otp, rcvbuf}],
reuseaddr => {socket, reuseaddr},
+ reuseport => {socket, reuseport},
+ reuseport_lb => {socket, reuseport_lb},
sndbuf => {socket, sndbuf},
%%
--
2.51.0