aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6/in6.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r--sys/netinet6/in6.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 3d967e9a40c7..0ef640c5c4bf 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -2049,6 +2049,20 @@ in6_if_up(struct ifnet *ifp)
in6_ifattach(ifp, NULL);
}
+static void
+in6_ifevent(void *arg __unused, struct ifnet *ifp, int event)
+{
+ if (event == IFNET_EVENT_UP)
+ in6_if_up(ifp);
+}
+
+static void
+in6_init(void *arg __unused)
+{
+ EVENTHANDLER_REGISTER(ifnet_event, in6_ifevent, NULL, EVENTHANDLER_PRI_ANY);
+}
+SYSINIT(in6_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, in6_init, NULL);
+
int
in6if_do_dad(struct ifnet *ifp)
{