mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 19:30:07 +01:00
n-dhcp4/socket: use SO_REUSEADDR on UDP socket
Otherwise, other applications cannot bind to port 0.0.0.0:68 at the same time. This is for example what dhclient wants to do. So even when running dhclient on another, unrelated interface, it would fail to bind the UDP socket and quit. Note that also systemd-networkd's DHCPv4 client sets this socket option. Presumably for the same reasons. Signed-off-by: Thomas Haller <thaller@redhat.com> https://github.com/nettools/n-dhcp4/pull/12
This commit is contained in:
parent
622eef4882
commit
53b74bc614
1 changed files with 4 additions and 0 deletions
|
|
@ -195,6 +195,10 @@ int n_dhcp4_c_socket_udp_new(int *sockfdp,
|
|||
if (sockfd < 0)
|
||||
return -errno;
|
||||
|
||||
r = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
|
||||
if (r < 0)
|
||||
return -errno;
|
||||
|
||||
r = setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_FILTER, &fprog, sizeof(fprog));
|
||||
if (r < 0)
|
||||
return -errno;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue