[PATCH] Allow to match on the kernel route protocol in filters

Benjamin Cama benoar at dolka.fr
Thu Mar 22 12:26:00 CET 2012


Hi,

I'm the one who suggested coding the “filtering on kernel proto” on
another mailing-list (after getting the idea from here) and Jérémie
offered to code it.

Le lundi 19 mars 2012 à 13:26 +0100, Ondrej Zajicek a écrit :
> On Wed, Mar 14, 2012 at 08:50:24PM +0100, Jérémie Dimino wrote:
> > The patch adds two attributes: krt_source and krt_proto. krt_source
> > is an enum which export the u.krt.src field of routes and krt_proto is
> > an integer which export the u.krt.proto field. The patch also adds
> > constants from /etc/iproute2/rt_protos.
> 
> Thanks, i will merge but there are some minor issues with this.
> 
> First, i will remove krt_source, that seems useless - you will never get
> KRT_SRC_BIRD and KRT_SRC_REDIRECT, so you get only KRT_SRC_ALIEN
> or KRT_SRC_KERNEL, which is the same as whether krt_proto is ipp_kernel.

We debated offline whether we should include both or not, but I didn't
realize that KRT_SRC_BIRD and KRT_SRC_REDIRECT where filtered out before
reaching bird tables. Anyway, we tried to find a good compromise between
having only one source of authority (thus unifying both attributes) but
still being able to use this attribute for system not aware of krt_proto
(i.e. non-Linux). I didn't find a satisfying answer to that. Now that we
reduced the possibilities, could the possibility to filter on krt_proto
= ipp_kernel (or !=) be left for BSD users? E.g. by setting krt_proto to
the same netlink value as Linux when krt_src == KRT_SRC_KERNEL?

Anyway, having the possibility to filter on krt_proto on Linux is great,
thanks Jérémie.

Regards,
Benjamin




More information about the Bird-users mailing list