diff options
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r-- | sys/netinet6/in6.c | 14 |
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) { |