From bbe4d3b7d6478fe32babc2f40a672c4ff1fa79a6 Mon Sep 17 00:00:00 2001 From: Takuya ASADA Date: Fri, 16 Jan 2015 00:17:49 +0900 Subject: [PATCH] net: implemented SO_REUSEPORT support on UDP Signed-off-by: Takuya ASADA --- net/posix-stack.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/posix-stack.cc b/net/posix-stack.cc index 3908f3672a..7e565000c2 100644 --- a/net/posix-stack.cc +++ b/net/posix-stack.cc @@ -221,6 +221,9 @@ public: auto sa = make_ipv4_address(bind_address); file_desc fd = file_desc::socket(sa.u.sa.sa_family, SOCK_DGRAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0); fd.setsockopt(SOL_IP, IP_PKTINFO, true); + if (engine.posix_reuseport_available()) { + fd.setsockopt(SOL_SOCKET, SO_REUSEPORT, 1); + } fd.bind(sa.u.sa, sizeof(sa.u.sas)); _address = ipv4_addr(fd.get_address()); _fd = std::make_unique(std::move(fd));