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

Ondrej Zajicek santiago at crfreenet.org
Sun Mar 25 23:31:36 CEST 2012


On Thu, Mar 22, 2012 at 02:42:06PM +0100, Benjamin Cama wrote:
> Le jeudi 22 mars 2012 ?? 13:14 +0100, Ondrej Zajicek a écrit :
> > On Thu, Mar 22, 2012 at 12:26:00PM +0100, Benjamin Cama wrote:
> > > 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?
> > 
> > I guess a good solution would be to fill some relevant krt_proto on BSD
> > (probably the value of RTF_PROTO* flags). One minor downside is that
> > kernel route value would be system-dependend (0 on BSD, ipp_kernel (i.e. 2)
> > on Linux). But that is probably OK, ipp_kernel constant is not even
> > defined on BSD.
> 
> Why not make krt.proto = 2 on BSD too when krt.src == KRT_SRC_KERNEL?
> And define *just* ipp_kernel symbol to be 2 on this platform? Seems too
> hackish?

I merged the support for proto/source (commit 72aed1a00ba9e18116d6fd907f7e1a36d0a0a583).
The patch was rewritten to use standard route attribute code, so it is
simpler. The route attribute name was finally changed to krt_source (and
returns proto number in Linux and some composite of flags on BSD).

BTW, i noticed that routes with src KRT_SRC_KERNEL are also internally
filtered before reaching bird tables.

-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20120325/7e9d9253/attachment-0001.asc>


More information about the Bird-users mailing list