--- lib/isc/unix/interfaceiter.c 2010-12-25 10:40:35.000000000 +0100 +++ lib/isc/unix/interfaceiter.c.oden 2011-01-04 14:49:29.843102098 +0100 @@ -45,6 +45,8 @@ #include <isc/types.h> #include <isc/util.h> +#include <linux/rtnetlink.h> + /* Must follow <isc/net.h>. */ #ifdef HAVE_NET_IF6_H #include <net/if6.h> @@ -253,6 +255,10 @@ linux_if_inet6_current(isc_interfaceiter iter->current.flags |= INTERFACE_F_MULTICAST; #endif + /* ignore tentative address */ + if (flags & IFA_F_TENTATIVE) + iter->current.flags &= ~INTERFACE_F_UP; + isc_netaddr_fromin6(&iter->current.address, &addr6); iter->current.ifindex = ifindex; if (isc_netaddr_islinklocal(&iter->current.address)) {