On 28/04/14(Mon) 21:51, Stuart Henderson wrote:
> On 2014/04/28 19:09, Martin Pieuchot wrote:
> > On 28/04/14(Mon) 17:53, Stuart Henderson wrote:
> > > On 2014/04/28 18:39, Martin Pieuchot wrote:
> > > > On 28/04/14(Mon) 17:32, Stuart Henderson wrote:
> > > > > On 2014/04/28 17:15, Stuart Henderson wrote:
> > > > > > This breaks my setup,
> > > > > > 
> > > > > > # /sbin/route add -inet6 default -ifp pppoe1 fe80::
> > > > > > route: writing to routing socket: Network is unreachable
> > > > > > add net default: gateway fe80::: Network is unreachable
> > > > > > 
> > > > > 
> > > > > hmmm... actually it seems something that was committed broke this;
> > > > > any suggestions of likely candidates?
> > > > 
> > > > Concerning routing & inet6 that might be the rt_ifa_add_loop() committed
> > > > on the 3rd of April, but you tested and ok'd it or the rtinit() ->
> > > > rt_ifa_add() conversion committed the 10th of April.
> > > 
> > > Window narrowed to between these:
> > > 
> > >         OpenBSD 5.5-current (GENERIC.MP) #61: Tue Apr  8 17:28:01 MDT 2014
> > >         OpenBSD 5.5-current (GENERIC.MP) #63: Thu Apr 10 20:45:05 MDT 2014
> > > 
> > > Could it be in6.c 1.135? (I need to stop breaking my net for a bit to
> > > get some other things done..)
> > 
> > I doubt it will be this one since it's just removing a wrapper, but I
> > don't see anything else in this timeframe.
> > 
> 
> This is the one that breaks it, I can't just pull this diff out
> though, other things are stacked on top.

Thanks for finding it, I'll cook a fix then.

> 
> ---------------------
> PatchSet 3605 
> Date: 2014/04/10 14:55:55
> Author: mpi
> Branch: HEAD
> Tag: (none) 
> Log:
> Don't use ifa_ifwithnet() with obvious sockaddr_dl argument.  This
> function should not deal with link-layer addresses and here there's
> no reason to do it.
> 
> ok mikeb@
> 
> Members: 
>       route.c:1.159->1.160 
> 
> Index: src/sys/net/route.c
> diff -u src/sys/net/route.c:1.159 src/sys/net/route.c:1.160
> --- src/sys/net/route.c:1.159 Thu Apr 10 13:47:21 2014
> +++ src/sys/net/route.c       Thu Apr 10 13:55:55 2014
> @@ -1,4 +1,4 @@
> -/*   $OpenBSD: route.c,v 1.159 2014/04/10 13:47:21 mpi Exp $ */
> +/*   $OpenBSD: route.c,v 1.160 2014/04/10 13:55:55 mpi Exp $ */
>  /*   $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $      */
>  
>  /*
> @@ -683,11 +683,12 @@
>        * ifp may be specified by sockaddr_dl when protocol address
>        * is ambiguous
>        */
> -     if (info->rti_ifp == NULL && info->rti_info[RTAX_IFP] != NULL
> -         && info->rti_info[RTAX_IFP]->sa_family == AF_LINK &&
> -         (ifa = ifa_ifwithnet((struct sockaddr *)info->rti_info[RTAX_IFP],
> -         rtid)) != NULL)
> -             info->rti_ifp = ifa->ifa_ifp;
> +     if (info->rti_ifp == NULL && info->rti_info[RTAX_IFP] != NULL) {
> +             struct sockaddr_dl *sdl;
> +
> +             sdl = (struct sockaddr_dl *)info->rti_info[RTAX_IFP];
> +             info->rti_ifp = if_get(sdl->sdl_index);
> +     }
>  
>       if (info->rti_ifa == NULL && info->rti_info[RTAX_IFA] != NULL)
>               info->rti_ifa = ifa_ifwithaddr(info->rti_info[RTAX_IFA], rtid);
> 

Reply via email to