sys/net: Call in6_if_up from the domain rather than directly
authorRoy Marples <roy@marples.name>
Tue, 10 Sep 2019 11:16:52 +0000 (12:16 +0100)
committerRoy Marples <roy@marples.name>
Tue, 10 Sep 2019 11:16:52 +0000 (12:16 +0100)
sys/net/if.c
sys/netinet6/in6.h
sys/netinet6/in6_proto.c
sys/netinet6/in6_var.h

index 862d816..0508b16 100644 (file)
@@ -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);
 }
index 609f648..a6bcce4 100644 (file)
@@ -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);
 
index 9d77330..ec70ca4 100644 (file)
@@ -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);
index 3971d13..19c8fc7 100644 (file)
@@ -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);