On 25/09/15(Fri) 13:07, Martin Pieuchot wrote:
> This brings nd6_free() in line with arptfree() and adds a userland
> notification for free.
>
> ok?
Anyone?
>
> Index: netinet6/nd6.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/nd6.c,v
> retrieving revision 1.154
> diff -u -p -r1.154 nd6.c
> --- netinet6/nd6.c 18 Sep 2015 14:26:22 -0000 1.154
> +++ netinet6/nd6.c 25 Sep 2015 11:05:38 -0000
> @@ -787,7 +787,6 @@ nd6_is_addr_neighbor(struct sockaddr_in6
> struct llinfo_nd6 *
> nd6_free(struct rtentry *rt, int gc)
> {
> - struct rt_addrinfo info;
> struct llinfo_nd6 *ln = (struct llinfo_nd6 *)rt->rt_llinfo, *next;
> struct in6_addr in6 = satosin6(rt_key(rt))->sin6_addr;
> struct nd_defrouter *dr;
> @@ -879,11 +878,7 @@ nd6_free(struct rtentry *rt, int gc)
> * caches, and disable the route entry not to be used in already
> * cached routes.
> */
> - bzero(&info, sizeof(info));
> - info.rti_info[RTAX_DST] = rt_key(rt);
> - info.rti_info[RTAX_NETMASK] = rt_mask(rt);
> - rtrequest1(RTM_DELETE, &info, rt->rt_priority, NULL,
> - rt->rt_ifp->if_rdomain);
> + rtdeletemsg(rt, rt->rt_ifp->if_rdomain);
> splx(s);
>
> return (next);
>