Module Name: src Committed By: roy Date: Mon Apr 29 11:57:22 UTC 2019
Modified Files: src/sys/compat/common: rtsock_50.c src/sys/compat/net: route.h src/sys/kern: compat_stub.c src/sys/net: link_proto.c route.c route.h rtsock_shared.c src/sys/netinet: if_arp.c in.c src/sys/netinet6: in6.c nd6.c nd6_nbr.c nd6_rtr.c src/sys/sys: compat_stub.h Log Message: rtsock: Route address message simplification Rename rt_newaddrmsg to rt_addrmsg_rt. Add rt_addrmsg which drops the error and route arguments which are only needed by one caller. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/compat/common/rtsock_50.c cvs rdiff -u -r1.2 -r1.3 src/sys/compat/net/route.h cvs rdiff -u -r1.9 -r1.10 src/sys/kern/compat_stub.c cvs rdiff -u -r1.37 -r1.38 src/sys/net/link_proto.c cvs rdiff -u -r1.217 -r1.218 src/sys/net/route.c cvs rdiff -u -r1.121 -r1.122 src/sys/net/route.h cvs rdiff -u -r1.6 -r1.7 src/sys/net/rtsock_shared.c cvs rdiff -u -r1.279 -r1.280 src/sys/netinet/if_arp.c cvs rdiff -u -r1.233 -r1.234 src/sys/netinet/in.c cvs rdiff -u -r1.274 -r1.275 src/sys/netinet6/in6.c cvs rdiff -u -r1.252 -r1.253 src/sys/netinet6/nd6.c cvs rdiff -u -r1.164 -r1.165 src/sys/netinet6/nd6_nbr.c cvs rdiff -u -r1.144 -r1.145 src/sys/netinet6/nd6_rtr.c cvs rdiff -u -r1.13 -r1.14 src/sys/sys/compat_stub.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/compat/common/rtsock_50.c diff -u src/sys/compat/common/rtsock_50.c:1.11 src/sys/compat/common/rtsock_50.c:1.12 --- src/sys/compat/common/rtsock_50.c:1.11 Mon Apr 29 08:31:29 2019 +++ src/sys/compat/common/rtsock_50.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rtsock_50.c,v 1.11 2019/04/29 08:31:29 pgoyette Exp $ */ +/* $NetBSD: rtsock_50.c,v 1.12 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtsock_50.c,v 1.11 2019/04/29 08:31:29 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtsock_50.c,v 1.12 2019/04/29 11:57:22 roy Exp $"); #define COMPAT_RTSOCK /* Use the COMPATNAME/COMPATCALL macros and the * various other compat definitions - see @@ -160,8 +160,10 @@ rtsock_50_init(void) MODULE_HOOK_SET(rtsock_rt_missmsg_50_hook, "rts_50", compat_50_rt_missmsg); MODULE_HOOK_SET(rtsock_rt_ifmsg_50_hook, "rts_50", compat_50_rt_ifmsg); - MODULE_HOOK_SET(rtsock_rt_newaddrmsg_50_hook, "rts_50", - compat_50_rt_newaddrmsg); + MODULE_HOOK_SET(rtsock_rt_addrmsg_rt_50_hook, "rts_50", + compat_50_rt_addrmsg_rt); + MODULE_HOOK_SET(rtsock_rt_addrmsg_50_hook, "rts_50", + compat_50_rt_addrmsg); MODULE_HOOK_SET(rtsock_rt_ifannouncemsg_50_hook, "rts_50", compat_50_rt_ifannouncemsg); MODULE_HOOK_SET(rtsock_rt_ieee80211msg_50_hook, "rts_50", @@ -178,7 +180,8 @@ rtsock_50_fini(void) MODULE_HOOK_UNSET(rtsock_oifmsg_50_hook); MODULE_HOOK_UNSET(rtsock_rt_missmsg_50_hook); MODULE_HOOK_UNSET(rtsock_rt_ifmsg_50_hook); - MODULE_HOOK_UNSET(rtsock_rt_newaddrmsg_50_hook); + MODULE_HOOK_UNSET(rtsock_rt_addrmsg_rt_50_hook); + MODULE_HOOK_UNSET(rtsock_rt_addrmsg_50_hook); MODULE_HOOK_UNSET(rtsock_rt_ifannouncemsg_50_hook); MODULE_HOOK_UNSET(rtsock_rt_ieee80211msg_50_hook); } Index: src/sys/compat/net/route.h diff -u src/sys/compat/net/route.h:1.2 src/sys/compat/net/route.h:1.3 --- src/sys/compat/net/route.h:1.2 Wed Sep 21 10:50:23 2016 +++ src/sys/compat/net/route.h Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: route.h,v 1.2 2016/09/21 10:50:23 roy Exp $ */ +/* $NetBSD: route.h,v 1.3 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (c) 1980, 1986, 1993 @@ -87,7 +87,8 @@ void compat_50_rt_ifmsg(struct ifnet *); void compat_50_rt_missmsg(int, const struct rt_addrinfo *, int, int); struct mbuf * compat_50_rt_msg1(int, struct rt_addrinfo *, void *, int); -void compat_50_rt_newaddrmsg(int, struct ifaddr *, int, struct rtentry *); +void compat_50_rt_addrmsg_rt(int, struct ifaddr *, int, struct rtentry *); +void compat_50_rt_addrmsg(int, struct ifaddr *); void compat_70_rt_newaddrmsg1(int, struct ifaddr *); #endif Index: src/sys/kern/compat_stub.c diff -u src/sys/kern/compat_stub.c:1.9 src/sys/kern/compat_stub.c:1.10 --- src/sys/kern/compat_stub.c:1.9 Mon Apr 15 02:07:11 2019 +++ src/sys/kern/compat_stub.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.c,v 1.9 2019/04/15 02:07:11 pgoyette Exp $ */ +/* $NetBSD: compat_stub.c,v 1.10 2019/04/29 11:57:22 roy Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -203,7 +203,8 @@ struct rtsock_oifmsg_50_hook_t rtsock_oi struct rtsock_rt_missmsg_50_hook_t rtsock_rt_missmsg_50_hook; struct rtsock_rt_ifmsg_50_hook_t rtsock_rt_ifmsg_50_hook; struct rtsock_rt_ifannouncemsg_50_hook_t rtsock_rt_ifannouncemsg_50_hook; -struct rtsock_rt_newaddrmsg_50_hook_t rtsock_rt_newaddrmsg_50_hook; +struct rtsock_rt_addrmsg_rt_50_hook_t rtsock_rt_addrmsg_rt_50_hook; +struct rtsock_rt_addrmsg_50_hook_t rtsock_rt_addrmsg_50_hook; struct rtsock_rt_ieee80211msg_50_hook_t rtsock_rt_ieee80211msg_50_hook; /* Index: src/sys/net/link_proto.c diff -u src/sys/net/link_proto.c:1.37 src/sys/net/link_proto.c:1.38 --- src/sys/net/link_proto.c:1.37 Mon Jan 28 12:53:01 2019 +++ src/sys/net/link_proto.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: link_proto.c,v 1.37 2019/01/28 12:53:01 martin Exp $ */ +/* $NetBSD: link_proto.c,v 1.38 2019/04/29 11:57:22 roy Exp $ */ /*- * Copyright (c) 1982, 1986, 1993 @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.37 2019/01/28 12:53:01 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.38 2019/04/29 11:57:22 roy Exp $"); #include <sys/param.h> #include <sys/socket.h> @@ -215,7 +215,7 @@ link_control(struct socket *so, unsigned error = EBUSY; else { /* TBD routing socket */ - rt_newaddrmsg(RTM_DELETE, ifa, 0, NULL); + rt_addrmsg(RTM_DELETE, ifa); /* We need to release psref for ifa_remove */ ifaref(ifa); ifa_release(ifa, &psref); @@ -236,7 +236,7 @@ link_control(struct socket *so, unsigned sockaddr_copy(ifa->ifa_addr, ifa->ifa_addr->sa_len, &u.sa); ifa_insert(ifp, ifa); - rt_newaddrmsg(RTM_ADD, ifa, 0, NULL); + rt_addrmsg(RTM_ADD, ifa); } mkactive = (iflr->flags & IFLR_ACTIVE) != 0; @@ -244,7 +244,7 @@ link_control(struct socket *so, unsigned if (!isactive && mkactive) { if_activate_sadl(ifp, ifa, nsdl); - rt_newaddrmsg(RTM_CHANGE, ifa, 0, NULL); + rt_addrmsg(RTM_CHANGE, ifa); error = ENETRESET; } break; Index: src/sys/net/route.c diff -u src/sys/net/route.c:1.217 src/sys/net/route.c:1.218 --- src/sys/net/route.c:1.217 Mon Mar 11 03:00:41 2019 +++ src/sys/net/route.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: route.c,v 1.217 2019/03/11 03:00:41 ozaki-r Exp $ */ +/* $NetBSD: route.c,v 1.218 2019/04/29 11:57:22 roy Exp $ */ /*- * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ #endif #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.217 2019/03/11 03:00:41 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.218 2019/04/29 11:57:22 roy Exp $"); #include <sys/param.h> #ifdef RTFLUSH_DEBUG @@ -1678,7 +1678,7 @@ rt_ifa_addlocal(struct ifaddr *ifa) info.rti_ifa = ifa; nrt = NULL; e = rtrequest1(RTM_ADD, &info, &nrt); - rt_newaddrmsg(RTM_ADD, ifa, e, nrt); + rt_addrmsg_rt(RTM_ADD, ifa, e, nrt); if (nrt != NULL) { KASSERT(nrt->rt_ifa == ifa); #ifdef RT_DEBUG @@ -1689,7 +1689,7 @@ rt_ifa_addlocal(struct ifaddr *ifa) } } else { e = 0; - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } if (rt != NULL) rt_unref(rt); @@ -1731,7 +1731,7 @@ rt_ifa_remlocal(struct ifaddr *ifa, stru rt_free(rt); rt = NULL; } - rt_newaddrmsg(RTM_DELADDR, ifa, 0, NULL); + rt_addrmsg(RTM_DELADDR, ifa); } else { #ifdef NET_MPSAFE int error = rt_update_prepare(rt); @@ -1751,7 +1751,7 @@ rt_ifa_remlocal(struct ifaddr *ifa, stru rt_newmsg(RTM_CHANGE, rt); } } else - rt_newaddrmsg(RTM_DELADDR, ifa, 0, NULL); + rt_addrmsg(RTM_DELADDR, ifa); if (rt != NULL) rt_unref(rt); return e; Index: src/sys/net/route.h diff -u src/sys/net/route.h:1.121 src/sys/net/route.h:1.122 --- src/sys/net/route.h:1.121 Mon Apr 29 05:42:09 2019 +++ src/sys/net/route.h Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: route.h,v 1.121 2019/04/29 05:42:09 pgoyette Exp $ */ +/* $NetBSD: route.h,v 1.122 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (c) 1980, 1986, 1993 @@ -515,7 +515,8 @@ void rt_missmsg(int, const struct rt_add struct mbuf * rt_msg1(int, struct rt_addrinfo *, void *, int); int rt_msg3(int, struct rt_addrinfo *, void *, struct rt_walkarg *, int *); -void rt_newaddrmsg(int, struct ifaddr *, int, struct rtentry *); +void rt_addrmsg(int, struct ifaddr *); +void rt_addrmsg_rt(int, struct ifaddr *, int, struct rtentry *); void route_enqueue(struct mbuf *, int); struct llentry; Index: src/sys/net/rtsock_shared.c diff -u src/sys/net/rtsock_shared.c:1.6 src/sys/net/rtsock_shared.c:1.7 --- src/sys/net/rtsock_shared.c:1.6 Mon Apr 29 05:42:09 2019 +++ src/sys/net/rtsock_shared.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rtsock_shared.c,v 1.6 2019/04/29 05:42:09 pgoyette Exp $ */ +/* $NetBSD: rtsock_shared.c,v 1.7 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.6 2019/04/29 05:42:09 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.7 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1365,7 +1365,7 @@ COMPATNAME(rt_ifmsg)(struct ifnet *ifp) * copies of it. */ void -COMPATNAME(rt_newaddrmsg)(int cmd, struct ifaddr *ifa, int error, +COMPATNAME(rt_addrmsg_rt)(int cmd, struct ifaddr *ifa, int error, struct rtentry *rt) { #define cmdpass(__cmd, __pass) (((__cmd) << 2) | (__pass)) @@ -1387,7 +1387,7 @@ COMPATNAME(rt_newaddrmsg)(int cmd, struc (*vec_sctp_delete_ip_address)(ifa); } - COMPATCALL(rt_newaddrmsg, (cmd, ifa, error, rt)); + COMPATCALL(rt_addrmsg_rt, (cmd, ifa, error, rt)); if (COMPATNAME(route_info).ri_cb.any_count == 0) return; for (pass = 1; pass < 3; pass++) { @@ -1469,6 +1469,13 @@ COMPATNAME(rt_newaddrmsg)(int cmd, struc #undef cmdpass } +void +COMPATNAME(rt_addrmsg)(int cmd, struct ifaddr *ifa) +{ + + COMPATNAME(rt_addrmsg_rt)(cmd, ifa, 0, NULL); +} + static struct mbuf * rt_makeifannouncemsg(struct ifnet *ifp, int type, int what, struct rt_addrinfo *info) Index: src/sys/netinet/if_arp.c diff -u src/sys/netinet/if_arp.c:1.279 src/sys/netinet/if_arp.c:1.280 --- src/sys/netinet/if_arp.c:1.279 Wed Apr 24 10:20:36 2019 +++ src/sys/netinet/if_arp.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_arp.c,v 1.279 2019/04/24 10:20:36 roy Exp $ */ +/* $NetBSD: if_arp.c,v 1.280 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (c) 1998, 2000, 2008 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.279 2019/04/24 10:20:36 roy Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.280 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -1607,7 +1607,7 @@ arp_dad_start(struct ifaddr *ifa) } if (!ip_dad_enabled()) { ia->ia4_flags &= ~IN_IFF_TENTATIVE; - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); arpannounce1(ifa); return; } @@ -1745,7 +1745,7 @@ arp_dad_timer(struct dadq *dp) * No duplicate address found. */ ia->ia4_flags &= ~IN_IFF_TENTATIVE; - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); ARPLOG(LOG_DEBUG, "%s: DAD complete for %s - no duplicates found\n", if_name(ifa->ifa_ifp), ARPLOGADDR(&ia->ia_addr.sin_addr)); @@ -1822,7 +1822,7 @@ arp_dad_duplicated(struct ifaddr *ifa, c if ((ia->ia4_flags & IN_IFF_DUPLICATED) == 0) { ia->ia4_flags |= IN_IFF_DUPLICATED; /* Inform the routing socket of the duplicate address */ - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } } Index: src/sys/netinet/in.c diff -u src/sys/netinet/in.c:1.233 src/sys/netinet/in.c:1.234 --- src/sys/netinet/in.c:1.233 Thu Nov 29 09:54:22 2018 +++ src/sys/netinet/in.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: in.c,v 1.233 2018/11/29 09:54:22 ozaki-r Exp $ */ +/* $NetBSD: in.c,v 1.234 2019/04/29 11:57:22 roy Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -91,7 +91,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.233 2018/11/29 09:54:22 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.234 2019/04/29 11:57:22 roy Exp $"); #include "arp.h" @@ -775,7 +775,7 @@ in_ifaddlocal(struct ifaddr *ifa) (ia->ia_ifp->if_flags & IFF_POINTOPOINT && in_hosteq(ia->ia_dstaddr.sin_addr, ia->ia_addr.sin_addr))) { - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); return; } @@ -1474,7 +1474,7 @@ in_if_link_up(struct ifnet *ifp) ia->ia_dad_start != NULL) ia->ia4_flags |= IN_IFF_TENTATIVE; else if ((ia->ia4_flags & IN_IFF_TENTATIVE) == 0) - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } if (ia->ia4_flags & IN_IFF_TENTATIVE) { @@ -1531,7 +1531,7 @@ in_if_link_down(struct ifnet *ifp) ia->ia4_flags |= IN_IFF_DETACHED; ia->ia4_flags &= ~(IN_IFF_TENTATIVE | IN_IFF_DUPLICATED); - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } s = pserialize_read_enter(); Index: src/sys/netinet6/in6.c diff -u src/sys/netinet6/in6.c:1.274 src/sys/netinet6/in6.c:1.275 --- src/sys/netinet6/in6.c:1.274 Mon Mar 18 11:38:03 2019 +++ src/sys/netinet6/in6.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: in6.c,v 1.274 2019/03/18 11:38:03 msaitoh Exp $ */ +/* $NetBSD: in6.c,v 1.275 2019/04/29 11:57:22 roy Exp $ */ /* $KAME: in6.c,v 1.198 2001/07/18 09:12:38 itojun Exp $ */ /* @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: in6.c,v 1.274 2019/03/18 11:38:03 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: in6.c,v 1.275 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -179,7 +179,7 @@ in6_ifaddlocal(struct ifaddr *ifa) (ifa->ifa_ifp->if_flags & IFF_POINTOPOINT && IN6_ARE_ADDR_EQUAL(IFA_IN6(ifa), IFA_DSTIN6(ifa)))) { - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); return; } @@ -1840,7 +1840,7 @@ in6_ifinit(struct ifnet *ifp, struct in6 in6_ifaddlocal(&ia->ia_ifa); } else { /* Inform the routing socket of new flags/timings */ - rt_newaddrmsg(RTM_NEWADDR, &ia->ia_ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, &ia->ia_ifa); } /* Add the network prefix route. */ @@ -2211,7 +2211,7 @@ in6_if_link_up(struct ifnet *ifp) IN6_PRINT(ip6buf, &ia->ia_addr.sin6_addr)); } else if ((ia->ia6_flags & IN6_IFF_TENTATIVE) == 0) - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } if (ia->ia6_flags & IN6_IFF_TENTATIVE) { @@ -2302,7 +2302,7 @@ in6_if_link_down(struct ifnet *ifp) ia->ia6_flags |= IN6_IFF_DETACHED; ia->ia6_flags &= ~(IN6_IFF_TENTATIVE | IN6_IFF_DUPLICATED); - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } s = pserialize_read_enter(); Index: src/sys/netinet6/nd6.c diff -u src/sys/netinet6/nd6.c:1.252 src/sys/netinet6/nd6.c:1.253 --- src/sys/netinet6/nd6.c:1.252 Sun Dec 16 08:54:58 2018 +++ src/sys/netinet6/nd6.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: nd6.c,v 1.252 2018/12/16 08:54:58 roy Exp $ */ +/* $NetBSD: nd6.c,v 1.253 2019/04/29 11:57:22 roy Exp $ */ /* $KAME: nd6.c,v 1.279 2002/06/08 11:16:51 itojun Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.252 2018/12/16 08:54:58 roy Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.253 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -653,8 +653,7 @@ nd6_timer_work(struct work *wk, void *ar if ((oldflags & IN6_IFF_DEPRECATED) == 0) { ia6->ia6_flags |= IN6_IFF_DEPRECATED; - rt_newaddrmsg(RTM_NEWADDR, - (struct ifaddr *)ia6, 0, NULL); + rt_addrmsg(RTM_NEWADDR, (struct ifaddr *)ia6); } /* @@ -689,8 +688,7 @@ nd6_timer_work(struct work *wk, void *ar */ if (ia6->ia6_flags & IN6_IFF_DEPRECATED) { ia6->ia6_flags &= ~IN6_IFF_DEPRECATED; - rt_newaddrmsg(RTM_NEWADDR, - (struct ifaddr *)ia6, 0, NULL); + rt_addrmsg(RTM_NEWADDR, (struct ifaddr *)ia6); } } s = pserialize_read_enter(); Index: src/sys/netinet6/nd6_nbr.c diff -u src/sys/netinet6/nd6_nbr.c:1.164 src/sys/netinet6/nd6_nbr.c:1.165 --- src/sys/netinet6/nd6_nbr.c:1.164 Sat Dec 22 14:28:57 2018 +++ src/sys/netinet6/nd6_nbr.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: nd6_nbr.c,v 1.164 2018/12/22 14:28:57 maxv Exp $ */ +/* $NetBSD: nd6_nbr.c,v 1.165 2019/04/29 11:57:22 roy Exp $ */ /* $KAME: nd6_nbr.c,v 1.61 2001/02/10 16:06:14 jinmei Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nd6_nbr.c,v 1.164 2018/12/22 14:28:57 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nd6_nbr.c,v 1.165 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1239,7 +1239,7 @@ nd6_dad_start(struct ifaddr *ifa, int xt } if (ia->ia6_flags & IN6_IFF_ANYCAST || !ip6_dad_enabled()) { ia->ia6_flags &= ~IN6_IFF_TENTATIVE; - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); return; } KASSERT(ifa->ifa_ifp != NULL); @@ -1377,7 +1377,7 @@ nd6_dad_timer(struct dadq *dp) * No duplicate address found. */ ia->ia6_flags &= ~IN6_IFF_TENTATIVE; - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); nd6log(LOG_DEBUG, "%s: DAD complete for %s - no duplicates found\n", @@ -1427,7 +1427,7 @@ nd6_dad_duplicated(struct ifaddr *ifa, s if_name(ifp)); /* Inform the routing socket that DAD has completed */ - rt_newaddrmsg(RTM_NEWADDR, ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); /* * If the address is a link-local address formed from an interface Index: src/sys/netinet6/nd6_rtr.c diff -u src/sys/netinet6/nd6_rtr.c:1.144 src/sys/netinet6/nd6_rtr.c:1.145 --- src/sys/netinet6/nd6_rtr.c:1.144 Tue Aug 14 01:10:58 2018 +++ src/sys/netinet6/nd6_rtr.c Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: nd6_rtr.c,v 1.144 2018/08/14 01:10:58 ozaki-r Exp $ */ +/* $NetBSD: nd6_rtr.c,v 1.145 2019/04/29 11:57:22 roy Exp $ */ /* $KAME: nd6_rtr.c,v 1.95 2001/02/07 08:09:47 itojun Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nd6_rtr.c,v 1.144 2018/08/14 01:10:58 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nd6_rtr.c,v 1.145 2019/04/29 11:57:22 roy Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -1652,8 +1652,7 @@ nd6_pfxlist_onlink_check(void) } else { if ((ia->ia6_flags & IN6_IFF_DETACHED) == 0) { ia->ia6_flags |= IN6_IFF_DETACHED; - rt_newaddrmsg(RTM_NEWADDR, - ifa, 0, NULL); + rt_addrmsg(RTM_NEWADDR, ifa); } } Index: src/sys/sys/compat_stub.h diff -u src/sys/sys/compat_stub.h:1.13 src/sys/sys/compat_stub.h:1.14 --- src/sys/sys/compat_stub.h:1.13 Mon Apr 15 10:53:17 2019 +++ src/sys/sys/compat_stub.h Mon Apr 29 11:57:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.h,v 1.13 2019/04/15 10:53:17 pgoyette Exp $ */ +/* $NetBSD: compat_stub.h,v 1.14 2019/04/29 11:57:22 roy Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -260,8 +260,9 @@ MODULE_HOOK(rtsock_iflist_50_hook, int, MODULE_HOOK(rtsock_rt_missmsg_50_hook, void, (int, const struct rt_addrinfo *, int, int)); MODULE_HOOK(rtsock_rt_ifmsg_50_hook, void, (struct ifnet *)); -MODULE_HOOK(rtsock_rt_newaddrmsg_50_hook, void, +MODULE_HOOK(rtsock_rt_addrmsg_rt_50_hook, void, (int, struct ifaddr *, int, struct rtentry *)); +MODULE_HOOK(rtsock_rt_addrmsg_50_hook, void, (int, struct ifaddr *)); MODULE_HOOK(rtsock_rt_ifannouncemsg_50_hook, void, (struct ifnet *, int)); MODULE_HOOK(rtsock_rt_ieee80211msg_50_hook, void, (struct ifnet *, int, void *, size_t));