mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Split reusing the addr/port and load-balancing socket options
The SO_REUSEADDR, SO_REUSEPORT and SO_REUSEPORT_LB has different meaning on different platform. In this commit, we split the function to set the reuse of address/port and setting the load-balancing into separate functions. The libuv library already have multiplatform support for setting SO_REUSEADDR and SO_REUSEPORT that allows binding to the same address and port, but unfortunately, when used after the load-balancing socket options have been already set, it overrides the previous setting, so we need our own helper function to enable the SO_REUSEADDR/SO_REUSEPORT first and then enable the load-balancing socket option.
This commit is contained in:
@@ -840,9 +840,15 @@ isc__nm_socket_freebind(uv_os_sock_t fd, sa_family_t sa_family);
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
isc__nm_socket_reuseport(uv_os_sock_t fd);
|
||||
isc__nm_socket_reuse(uv_os_sock_t fd);
|
||||
/*%<
|
||||
* Set the SO_REUSEPORT (or equivalent) socket option on the fd
|
||||
* Set the SO_REUSEADDR or SO_REUSEPORT (or equivalent) socket option on the fd
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
isc__nm_socket_reuse_lb(uv_os_sock_t fd);
|
||||
/*%<
|
||||
* Set the SO_REUSEPORT_LB (or equivalent) socket option on the fd
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
|
Reference in New Issue
Block a user