On 2018 Apr 18 (Wed) at 19:49:41 +0200 (+0200), Florian Obser wrote: :On Wed, Apr 18, 2018 at 05:05:59PM +0200, Florian Obser wrote: :> This is to inform userland (i.e. slaacd(8)) when duplicate address :> detection finishes. :> :> Not a big fan of the lock/unlock dance but I guess it can't be helped :> for now. :> :> Comments, OKs? : :Theo points out that I suck at naming things. I guess we already knew :that. : :How about RTM_CHGADDRATTR, we are changing the attribute of an :address. Also fixes a tab vs. space in previous. :
this looks fine, OK :diff --git net/route.h net/route.h :index 3c89348cb43..5fa12578e45 100644 :--- net/route.h :+++ net/route.h :@@ -241,6 +241,7 @@ struct rt_msghdr { : #define RTM_INVALIDATE 0x11 /* Invalidate cache of L2 route */ : #define RTM_BFD 0x12 /* bidirectional forwarding detection */ : #define RTM_PROPOSAL 0x13 /* proposal for netconfigd */ :+#define RTM_CHGADDRATTR 0x14 /* address attribute change */ : : #define RTV_MTU 0x1 /* init or lock _mtu */ : #define RTV_HOPCOUNT 0x2 /* init or lock _hopcount */ :diff --git netinet6/nd6_nbr.c netinet6/nd6_nbr.c :index cb5c04c24ed..ef1644aa6f6 100644 :--- netinet6/nd6_nbr.c :+++ netinet6/nd6_nbr.c :@@ -1102,6 +1102,11 @@ nd6_dad_start(struct ifaddr *ifa) : KASSERT(ia6->ia6_flags & IN6_IFF_TENTATIVE); : if ((ia6->ia6_flags & IN6_IFF_ANYCAST) || (!ip6_dad_count)) { : ia6->ia6_flags &= ~IN6_IFF_TENTATIVE; :+ :+ KERNEL_LOCK(); :+ rtm_addr(RTM_CHGADDRATTR, ifa); :+ KERNEL_UNLOCK(); :+ : return; : } : :@@ -1250,6 +1255,10 @@ nd6_dad_timer(void *xifa) : */ : ia6->ia6_flags &= ~IN6_IFF_TENTATIVE; : :+ KERNEL_LOCK(); :+ rtm_addr(RTM_CHGADDRATTR, ifa); :+ KERNEL_UNLOCK(); :+ : nd6log((LOG_DEBUG, : "%s: DAD complete for %s - no duplicates found\n", : ifa->ifa_ifp->if_xname, :@@ -1293,6 +1302,11 @@ nd6_dad_duplicated(struct dadq *dp) : ia6->ia_ifp->if_xname); : : TAILQ_REMOVE(&dadq, dp, dad_list); :+ :+ KERNEL_LOCK(); :+ rtm_addr(RTM_CHGADDRATTR, dp->dad_ifa); :+ KERNEL_UNLOCK(); :+ : ifafree(dp->dad_ifa); : free(dp, M_IP6NDP, sizeof(*dp)); : ip6_dad_pending--; : : : :-- :I'm not entirely sure you are real. : -- Worst Vegetable of the Year: The brussels sprout. This is also the worst vegetable of next year. -- Steve Rubenstein