inter_list[idx].ignore_packets = ISC_TRUE;
}
convert_isc_if(&isc_if, &inter_list[idx], port);
+
+ /*
+ * skip any interfaces UP and bound to a wildcard
+ * address - some dhcp clients produce that in the
+ * wild
+ */
+ if (family == AF_INET &&
+ ((struct sockaddr_in*)&inter_list[idx].sin)->sin_addr.s_addr == htonl(INADDR_ANY))
+ continue;
+
+ if (family == AF_INET6 &&
+ memcmp(&((struct sockaddr_in6*)&inter_list[idx].sin)->sin6_addr, &in6addr_any,
+ sizeof(in6addr_any) == 0))
+ continue;
+
inter_list[idx].fd = INVALID_SOCKET;
inter_list[idx].bfd = INVALID_SOCKET;
inter_list[idx].num_mcast = 0;