an interface. Two other operations are performed when issuing a
SIOCDIFADDR{_IN6,} ioctl: call the address hook and the per-driver
ioctl function.
Since carp(4) relies on an address hook to recalculate its hash, make
sure to call this hook when IFXF_NOINET6 is set or when the rdomain is
changed.
ok henning@, mikeb@
-/* $OpenBSD: if.c,v 1.291 2014/06/23 18:51:15 henning Exp $ */
+/* $OpenBSD: if.c,v 1.292 2014/06/26 13:08:25 mpi Exp $ */
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
/*
ifa = &in6ifa_ifpforlinklocal(ifp, 0)->ia_ifa;
if (ifa) {
in6_purgeaddr(ifa);
+ dohooks(ifp->if_addrhooks, 0);
in6_ifattach_linklocal(ifp, NULL);
if (in6if_do_dad(ifp)) {
ifa = &in6ifa_ifpforlinklocal(ifp, 0)->ia_ifa;
-/* $OpenBSD: in.c,v 1.98 2014/06/16 19:47:21 mpi Exp $ */
+/* $OpenBSD: in.c,v 1.99 2014/06/26 13:08:25 mpi Exp $ */
/* $NetBSD: in.c,v 1.26 1996/02/13 23:41:39 christos Exp $ */
/*
if (ifa->ifa_addr->sa_family != AF_INET)
continue;
in_purgeaddr(ifa);
+ dohooks(ifp->if_addrhooks, 0);
}
}
-/* $OpenBSD: in6_ifattach.c,v 1.70 2014/06/03 13:32:24 mpi Exp $ */
+/* $OpenBSD: in6_ifattach.c,v 1.71 2014/06/26 13:08:25 mpi Exp $ */
/* $KAME: in6_ifattach.c,v 1.124 2001/07/18 08:32:51 jinmei Exp $ */
/*
if (ifa->ifa_addr->sa_family != AF_INET6)
continue;
in6_purgeaddr(ifa);
+ dohooks(ifp->if_addrhooks, 0);
}
/*