Index: dhcp-4.2.5-P1/common/socket.c =================================================================== --- dhcp-4.2.5-P1.orig/common/socket.c +++ dhcp-4.2.5-P1/common/socket.c @@ -227,7 +227,7 @@ if_register_socket(struct interface_info flag = 1; if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (char *)&flag, sizeof(flag)) < 0) { - log_fatal("Can't set SO_REUSEPORT option on dhcp " + log_error("Can't set SO_REUSEPORT option on dhcp " "socket: %m"); } } @@ -245,10 +245,10 @@ if_register_socket(struct interface_info #if defined(SO_BINDTODEVICE) /* Bind this socket to this interface. */ - if ((local_family != AF_INET6) && (info->ifp != NULL) && + if ((!do_multicast || !*do_multicast) && info->ifp && setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, (char *)(info -> ifp), sizeof(*(info -> ifp))) < 0) { - log_fatal("setsockopt: SO_BINDTODEVICE: %m"); + log_error("setsockopt: SO_BINDTODEVICE: %m"); } #endif