---
+* [Bug 2792] If the IFF_RUNNING interface flag is supported then an interface
+ is ignored as long as this flag is not set since the interface is not usable
+ (e.g., no link).
* CID 739725: Fix a rare resource leak in libevent/listener.c.
* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
ifa = iter->pos;
#ifdef __linux
+ /*
+ * burnicki: iter->pos is usually never NULL here (anymore?),
+ * so linux_if_inet6_current(iter) is never called here.
+ * However, that routine would check (under Linux), if the
+ * interface is in a tentative state, e.g. if there's no link
+ * yet but an IPv6 address has already be assigned.
+ */
if (iter->pos == NULL)
return (linux_if_inet6_current(iter));
#endif
INSIST(ifa != NULL);
INSIST(ifa->ifa_name != NULL);
+
+#ifdef IFF_RUNNING
+ /*
+ * burnicki: if the interface is not running then
+ * it may be in a tentative state. See above.
+ */
+ if ((ifa->ifa_flags & IFF_RUNNING) == 0)
+ return (ISC_R_IGNORE);
+#endif
+
if (ifa->ifa_addr == NULL)
return (ISC_R_IGNORE);