* Set the SO_REUSEPORT_LB (or equivalent) socket option on the fd
*/
-isc_result_t
-isc__nm_socket_incoming_cpu(uv_os_sock_t fd);
-/*%<
- * Set the SO_INCOMING_CPU socket option on the fd if available
- */
-
isc_result_t
isc__nm_socket_disable_pmtud(uv_os_sock_t fd, sa_family_t sa_family);
/*%<
#endif
}
-isc_result_t
-isc__nm_socket_incoming_cpu(uv_os_sock_t fd) {
-#ifdef SO_INCOMING_CPU
- if (setsockopt_on(fd, SOL_SOCKET, SO_INCOMING_CPU) == -1) {
- return (ISC_R_FAILURE);
- } else {
- return (ISC_R_SUCCESS);
- }
-#else
- UNUSED(fd);
-#endif
- return (ISC_R_NOTIMPLEMENTED);
-}
-
isc_result_t
isc__nm_socket_disable_pmtud(uv_os_sock_t fd, sa_family_t sa_family) {
/*
result = isc__nm_socket(sa_family, SOCK_STREAM, 0, &sock);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
- (void)isc__nm_socket_incoming_cpu(sock);
(void)isc__nm_socket_v6only(sock, sa_family);
/* FIXME: set mss */
result = isc__nm_socket(sa_family, SOCK_DGRAM, 0, &sock);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
- (void)isc__nm_socket_incoming_cpu(sock);
(void)isc__nm_socket_disable_pmtud(sock, sa_family);
(void)isc__nm_socket_v6only(sock, sa_family);
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);
(void)isc__nm_socket_min_mtu(sock->fd, sa_family);