-/* $OpenBSD: route.h,v 1.171 2018/07/01 08:53:03 mpi Exp $ */
+/* $OpenBSD: route.h,v 1.172 2018/07/12 16:07:35 florian Exp $ */
/* $NetBSD: route.h,v 1.9 1996/02/13 22:00:49 christos Exp $ */
/*
#define RTM_INVALIDATE 0x11 /* Invalidate cache of L2 route */
#define RTM_BFD 0x12 /* bidirectional forwarding detection */
#define RTM_PROPOSAL 0x13 /* proposal for netconfigd */
+#define RTM_CHGADDRATTR 0x14 /* address attribute change */
#define RTV_MTU 0x1 /* init or lock _mtu */
#define RTV_HOPCOUNT 0x2 /* init or lock _hopcount */
-/* $OpenBSD: nd6_nbr.c,v 1.123 2018/06/11 08:48:54 mpi Exp $ */
+/* $OpenBSD: nd6_nbr.c,v 1.124 2018/07/12 16:07:35 florian Exp $ */
/* $KAME: nd6_nbr.c,v 1.61 2001/02/10 16:06:14 jinmei Exp $ */
/*
KASSERT(ia6->ia6_flags & IN6_IFF_TENTATIVE);
if ((ia6->ia6_flags & IN6_IFF_ANYCAST) || (!ip6_dad_count)) {
ia6->ia6_flags &= ~IN6_IFF_TENTATIVE;
+
+ rtm_addr(RTM_CHGADDRATTR, ifa);
+
return;
}
*/
ia6->ia6_flags &= ~IN6_IFF_TENTATIVE;
+ rtm_addr(RTM_CHGADDRATTR, ifa);
+
nd6log((LOG_DEBUG,
"%s: DAD complete for %s - no duplicates found\n",
ifa->ifa_ifp->if_xname,
ia6->ia_ifp->if_xname);
TAILQ_REMOVE(&dadq, dp, dad_list);
+
+ rtm_addr(RTM_CHGADDRATTR, dp->dad_ifa);
+
ifafree(dp->dad_ifa);
free(dp, M_IP6NDP, sizeof(*dp));
ip6_dad_pending--;