On 25/12/18(Tue) 20:05, Denis Fondras wrote:
> On Tue, Dec 25, 2018 at 04:50:17PM -0200, Martin Pieuchot wrote:
> > On 25/12/18(Tue) 10:25, Denis Fondras wrote:
> > > On Mon, Dec 24, 2018 at 08:43:10PM -0200, Martin Pieuchot wrote:
> > > > On 24/12/18(Mon) 17:31, Denis Fondras wrote:
> > > > > Index: net/if_ethersubr.c
> > > > > ===================================================================
> > > > > RCS file: /cvs/src/sys/net/if_ethersubr.c,v
> > > > > retrieving revision 1.256
> > > > > diff -u -p -r1.256 if_ethersubr.c
> > > > > --- net/if_ethersubr.c        20 Dec 2018 23:00:55 -0000      1.256
> > > > > +++ net/if_ethersubr.c        24 Dec 2018 14:39:26 -0000
> > > > > @@ -243,7 +243,11 @@ ether_resolve(struct ifnet *ifp, struct 
> > > > >               if (!ISSET(ifp->if_xflags, IFXF_MPLS))
> > > > >                       senderr(ENETUNREACH);
> > > > >  
> > > > > -             switch (dst->sa_family) {
> > > > > +             af = dst->sa_family;
> > > > > +             if (af == AF_MPLS)
> > > > > +                     af = rt->rt_gateway->sa_family;
> > > > > +
> > > > > +             switch (af) {
> > > > >               case AF_LINK:
> > > > >                       if (satosdl(dst)->sdl_alen < 
> > > > > sizeof(eh->ether_dhost))
> > > > >                               senderr(EHOSTUNREACH);
> > > > > @@ -258,7 +262,6 @@ ether_resolve(struct ifnet *ifp, struct 
> > > > >                       break;
> > > > >  #endif
> > > > >               case AF_INET:
> > > > > -             case AF_MPLS:
> > > > >                       error = arpresolve(ifp, rt, m, dst, 
> > > > > eh->ether_dhost);
> > > > >                       if (error)
> > > > >                               return (error);
> > > > 
> > > > This is much better.  ok mpi@
> > > > 
> > > 
> > > I'd like to commit this safer version, still ok ?
> > 
> > Why are you checking for NULL?  Did you encounter a valid MPLS rtentry
> > without gateway?
> > 
> 
> I have not.
> I have also not checked if this case was handled in the MPLS part.

So why do you think it's safer?  If there's a bug it's better to find it
soon :)  At least that's our policy 8)

Reply via email to