Compare commits

...

1 Commits

Author SHA1 Message Date
Ondřej Surý
92f707c69a Don't set SO_REUSEPORT(_LB) on client sockets
We were setting the SE_REUSEPORT(_LB) on outgoing UDP connections that
would allow multiple dispatches to get the same srcip, srcport, dstip
and dstport causing mismatch on receiving UDP response.

Not setting SO_REUSEPORT (and variants) on outgoing UDP sockets would
cause ISC_R_ADDRINUSE on duplicate UDP connect.
2021-11-30 10:23:40 +01:00

View File

@@ -977,14 +977,6 @@ isc_nm_udpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
return;
}
result = isc__nm_socket_reuse(sock->fd);
RUNTIME_CHECK(result == ISC_R_SUCCESS ||
result == ISC_R_NOTIMPLEMENTED);
result = isc__nm_socket_reuse_lb(sock->fd);
RUNTIME_CHECK(result == ISC_R_SUCCESS ||
result == ISC_R_NOTIMPLEMENTED);
(void)isc__nm_socket_incoming_cpu(sock->fd);
(void)isc__nm_socket_disable_pmtud(sock->fd, sa_family);