On 13/05/18(Sun) 23:16, Michael-John Turner wrote:
> Hi,
>
> On Thu, May 10, 2018 at 05:13:17PM +0200, Alexander Bluhm wrote:
> > When an IPv6 neigbor discovery timeout occurs, the kernel tries to
> > remove the NDP entry. It is stored in the routing table. The
> > problem is that this NDP route suddenly has a locally configured
> > address.
>
> Did you perhaps spot anything in the files I made available? The crashes
> have continued daily, I'm guessing when the problematic entry in the NDP
> table expires. I've tried tweaking various settings and have removed some of
> the unusual parts of my setup (moving some of the subnets which shared an
> interface onto their own VLANs, for example), but nothing has helped :(
> Same panic in the same location.
>
> Happy to provide any further information that you think may help diagnose
> the problem.
>
> Thanks in advance :)
Could you try the diff below and as soon as you see the message in the
dmesg, get the output of 'route -n show -inet6' and send us both?
Index: nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.224
diff -u -p -r1.224 nd6.c
--- nd6.c 2 May 2018 07:19:45 -0000 1.224
+++ nd6.c 14 May 2018 13:12:03 -0000
@@ -722,7 +722,16 @@ nd6_free(struct rtentry *rt)
}
}
- KASSERT(!ISSET(rt->rt_flags, RTF_LOCAL));
+ if (ISSET(rt->rt_flags, RTF_LOCAL)) {
+ char ip[INET6_ADDRSTRLEN];
+
+ printf("%s: called for %s on %s\n", __func__,
+ inet_ntop(AF_INET6, &satosin6(rt_key(rt))->sin6_addr, ip,
+ sizeof(ip)),
+ ifp->if_xname);
+ if_put(ifp);
+ return;
+ }
nd6_invalidate(rt);
/*