On 27/11/20(Fri) 15:47, Denis Fondras wrote:
> > It is, I guess a fix should go in net/rtsock.c to prevent adding "-link"
> > entry on routing table different from ifp->if_rdomain.
> > 
> 
> I came up with this, which is more radical.

Which is not exactly what we want.  This will prevent adding any route
on a routing table different from rdomain.

What needs to be enforced is the check from a request coming from
userland trying to insert a "-link" route.  Such check should have the
benefit of documenting that L2 entries should be only inserted in the
rdomain table of an interface.

> Index: route.c
> ===================================================================
> RCS file: /cvs/src/sys/net/route.c,v
> retrieving revision 1.397
> diff -u -p -r1.397 route.c
> --- route.c   29 Oct 2020 21:15:27 -0000      1.397
> +++ route.c   27 Nov 2020 09:39:53 -0000
> @@ -865,6 +865,8 @@ rtrequest(int req, struct rt_addrinfo *i
>                       return (EINVAL);
>               ifa = info->rti_ifa;
>               ifp = ifa->ifa_ifp;
> +             if (tableid != ifp->if_rdomain)
> +                     return (EINVAL);
>               if (prio == 0)
>                       prio = ifp->if_priority + RTP_STATIC;
>  
> 

Reply via email to