#include <stddef.h>
#include <resolv.h>
#include <sys/timerfd.h>
+#include <arpa/inet.h>
#include "odhcpd.h"
#include "dhcpv6.h"
if (iface->dhcpv6 == RELAYD_SERVER)
setsockopt(sock, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &server, sizeof(server));
+ if (iface->dhcpv6 != RELAYD_RELAY || !iface->master)
+ ndp_rqs_addr6_dump();
+
iface->dhcpv6_event.uloop.fd = sock;
iface->dhcpv6_event.handle_dgram = handle_dhcpv6;
odhcpd_register(&iface->dhcpv6_event);
size_t dns_cnt = iface->dns_cnt;
if ((dns_cnt == 0) &&
- !odhcpd_get_linklocal_interface_address(iface->ifindex, &dns_addr)) {
+ !odhcpd_get_interface_dns_addr(iface, &dns_addr)) {
dns_addr_ptr = &dns_addr;
dns_cnt = 1;
}
size_t rewrite_cnt = iface->dns_cnt;
if (rewrite_cnt == 0) {
- if (odhcpd_get_linklocal_interface_address(iface->ifindex, &addr))
+ if (odhcpd_get_interface_dns_addr(iface, &addr))
return; // Unable to get interface address
rewrite = &addr;