From: Roy Marples Date: Tue, 10 Sep 2019 11:16:52 +0000 (+0100) Subject: sys/net: Call in6_if_up from the domain rather than directly X-Git-Tag: v5.8.0rc1~988 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/5ee620dc3fd44ab5a7d8805fc03c19df4b88f189?ds=sidebyside sys/net: Call in6_if_up from the domain rather than directly --- diff --git a/sys/net/if.c b/sys/net/if.c index 862d816fc9..0508b16303 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1747,9 +1747,6 @@ if_route_dispatch(netmsg_t nmsg) SLIST_FOREACH(dp, &domains, dom_next) if (dp->dom_if_up != NULL) dp->dom_if_up(ifp); -#ifdef INET6 - in6_if_up(ifp); -#endif netisr_replymsg(&nmsg->base, 0); } diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h index 609f64809e..a6bcce4745 100644 --- a/sys/netinet6/in6.h +++ b/sys/netinet6/in6.h @@ -608,7 +608,6 @@ int in6_localaddr (struct in6_addr *); int in6_addrscope (struct in6_addr *); struct in6_ifaddr *in6_ifawithscope (struct ifnet *, struct in6_addr *, struct ucred *); struct in6_ifaddr *in6_ifawithifp (struct ifnet *, struct in6_addr *); -void in6_if_up (struct ifnet *); void addrsel_policy_init (void); diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index 9d7733043c..ec70ca4a09 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -321,7 +321,8 @@ struct domain inet6domain = { .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, .dom_maxrtkey = sizeof(struct sockaddr_in6), .dom_ifattach = in6_domifattach, - .dom_ifdetach = in6_domifdetach + .dom_ifdetach = in6_domifdetach, + .dom_if_up = in6_if_up }; DOMAIN_SET(inet6); diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 3971d13267..19c8fc7a57 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -609,6 +609,7 @@ void in6_purgeaddr (struct ifaddr *); int in6if_do_dad (struct ifnet *); void in6_purgeif (struct ifnet *); void in6_savemkludge (struct in6_ifaddr *); +void in6_if_up(struct ifnet *); void *in6_domifattach (struct ifnet *); void in6_domifdetach (struct ifnet *, void *); void in6_setmaxmtu (void);