On 29/06/16(Wed) 14:55, Michael Lechtermann wrote:
> > Could you please include the output of:
> > 
> >  "# ifconfig" and
> >  "# route -n show" ?
> > 
> 
> Host 2 (OpenBSD 6.0-beta) #1837, June 28th:

Thanks, could you confirm the diff below fixes the regression?

Index: netinet6/in6_ifattach.c
===================================================================
RCS file: /cvs/src/sys/netinet6/in6_ifattach.c,v
retrieving revision 1.99
diff -u -p -r1.99 in6_ifattach.c
--- netinet6/in6_ifattach.c     2 Dec 2015 16:35:53 -0000       1.99
+++ netinet6/in6_ifattach.c     29 Jun 2016 15:02:26 -0000
@@ -294,7 +294,7 @@ in6_ifattach_linklocal(struct ifnet *ifp
 {
        struct in6_aliasreq ifra;
        struct in6_ifaddr *ia6;
-       int s, error;
+       int s, error, flags;
 
        /*
         * configure link-local address.
@@ -350,14 +350,17 @@ in6_ifattach_linklocal(struct ifnet *ifp
        if (ia6->ia6_flags & IN6_IFF_TENTATIVE)
                nd6_dad_start(&ia6->ia_ifa);
 
-       if (ifp->if_flags & (IFF_POINTOPOINT|IFF_LOOPBACK)) {
+       if (ifp->if_flags & IFF_LOOPBACK) {
                dohooks(ifp->if_addrhooks, 0);
                return (0); /* No need to install a connected route. */
        }
 
+       flags = RTF_CONNECTED;
+       if ((ifp->if_flags & IFF_POINTOPOINT) == 0)
+               flags |= RTF_CLONING;
+
        s = splsoftnet();
-       error = rt_ifa_add(&ia6->ia_ifa, RTF_CLONING | RTF_CONNECTED,
-           ia6->ia_ifa.ifa_addr);
+       error = rt_ifa_add(&ia6->ia_ifa, flags, ia6->ia_ifa.ifa_addr);
        if (error) {
                in6_purgeaddr(&ia6->ia_ifa);
                splx(s);

Reply via email to