On 06/03/17(Mon) 23:26, Alexander Bluhm wrote:
> On Mon, Mar 06, 2017 at 01:12:12PM +0100, Martin Pieuchot wrote:
> > Diff below should solve that by resetting the 'asked' counter and allow
> > our NDP code to generate a new NS.  Just like the delete command does.
> 
> arptfree() calls arpinvalidate() unconditionally.  So I think we
> should always call nd6_invalidate() here.

That should work too.

Index: netinet6/nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.205
diff -u -p -r1.205 nd6.c
--- netinet6/nd6.c      3 Mar 2017 08:01:59 -0000       1.205
+++ netinet6/nd6.c      7 Mar 2017 13:06:13 -0000
@@ -748,6 +748,8 @@ nd6_free(struct rtentry *rt, int gc)
 
        splsoftassert(IPL_SOFTNET);
 
+       nd6_invalidate(rt);
+
        /*
         * we used to have pfctlinput(PRC_HOSTDEAD) here.
         * even though it is not harmful, it was not really necessary.

Reply via email to