Hi everyone, I'm trying to use kernel table option of kernel protocol in BIRD on OpenBSD 5.3 (version 1.3.9p0 from standard package) but it seems like it does not work at all (I get a syntax error message). Are rdomains from OpenBSD officially supported ? Regards.
Le 2013-06-28 11:13, JLP a écrit :
Hi everyone,
I'm trying to use kernel table option of kernel protocol in BIRD on OpenBSD 5.3 (version 1.3.9p0 from standard package) but it seems like it does not work at all (I get a syntax error message).
Are rdomains from OpenBSD officially supported ?
Regards.
Unfortunetly no. I read the code and I think I was not too hard to code, but I have ENOTIME. On another hand OpenBSD already have ospfd and bgpd daemons wich are aware of rdomains. -- Raphael Mazelier
On 2013/06/28 11:56, JLP wrote:
Le 28/06/2013 11:46, raph@futomaki.net a écrit :
On another hand OpenBSD already have ospfd and bgpd daemons wich are aware of rdomains.
which are unfortunately not as reliable as bird regarding IPv6 routing (ospf6d is a real pain in the a** from this point of view).
ospf6d doesn't support multiple rdomains (actually afaik multiple rdomains isn't fully supported for v6 yet anyway..)
On Fri, Jun 28, 2013 at 11:13:55AM +0200, JLP wrote:
Hi everyone,
I'm trying to use kernel table option of kernel protocol in BIRD on OpenBSD 5.3 (version 1.3.9p0 from standard package) but it seems like it does not work at all (I get a syntax error message).
Are rdomains from OpenBSD officially supported ?
No, multiple kernel tables are currently supported on Linux only. I wonder what is the situation on FreeBSD, NetBSD and OpenBSD w.r.t. kernel support for multple routing tables. I don't have an idea. No multiple tables, multiple tables specific to some *BSD variants or a common behavior on all *BSDs? -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
Hello All. I work with an IX and considering implementing bird as my route server. Was successful in my lab implementation need a few config to be through. I want to configure a function on my bird that will only allow certain network containing some as-path to be used.(i.e as-path filters) While at that, other network have valid bgp paths attached to their as-path should also be imported. How do i go about this ? Regards Anibe
On 28.6.2013 11:57, Anibe Onuche wrote:
Hello All.
Hi Anibe, I am not sure what do you really want. But I suggest you, to look at our WIKI - https://redmine.labs.nic.cz/projects/bird/wiki/Examples There is a lot of god examples, how to configure BIRD as route server including filtering. Ondrej
I work with an IX and considering implementing bird as my route server. Was successful in my lab implementation need a few config to be through.
I want to configure a function on my bird that will only allow certain network containing some as-path to be used.(i.e as-path filters) While at that, other network have valid bgp paths attached to their as-path should also be imported.
How do i go about this ?
Regards Anibe
Hello This is a snippet of my configurations / function match_as () { if (bgp_path ~ [= * 1111 =]) then return true; if (bgp_path ~ [= 2222 =]) then return true; return false; } filter bgp_in_AS111 { .. .. if ! (match_as_AS()) then reject; accept; } template bgp Peer { .. .. .. import filter bgp_in_AS111; }/ from the above i want Bird to allow AS 1111 and other subsequent AS paths to be allowed access. But for AS 2222, no subsequent AS Paths to be allowed. Am i on the right track? In-case you are wondering why the need AS1111 represent Networks with good network administrators while AS 2222 are those who don't On 6/28/2013 11:04 AM, Ondrej Filip wrote:
On 28.6.2013 11:57, Anibe Onuche wrote:
Hello All. Hi Anibe, I am not sure what do you really want. But I suggest you, to look at our WIKI - https://redmine.labs.nic.cz/projects/bird/wiki/Examples
There is a lot of god examples, how to configure BIRD as route server including filtering.
Ondrej
I work with an IX and considering implementing bird as my route server. Was successful in my lab implementation need a few config to be through.
I want to configure a function on my bird that will only allow certain network containing some as-path to be used.(i.e as-path filters) While at that, other network have valid bgp paths attached to their as-path should also be imported.
How do i go about this ?
Regards Anibe
On 28. jun. 2013, at 11:57, Anibe Onuche <a.onuche@nixp.net> wrote:
Hello All.
I work with an IX and considering implementing bird as my route server. Was successful in my lab implementation need a few config to be through.
I want to configure a function on my bird that will only allow certain network containing some as-path to be used.(i.e as-path filters) While at that, other network have valid bgp paths attached to their as-path should also be imported.
How do i go about this ?
Do take a look at IXP Manager from Inex https://github.com/inex/IXP-Manager. We use that in combination with bird. It builds as-path and prefix filters for us.
Regards Anibe
Kind regards, Matjaž
On 28.06.2013 14:14, Ondrej Zajicek wrote:
On Fri, Jun 28, 2013 at 11:13:55AM +0200, JLP wrote:
Hi everyone,
I'm trying to use kernel table option of kernel protocol in BIRD on OpenBSD 5.3 (version 1.3.9p0 from standard package) but it seems like it does not work at all (I get a syntax error message).
Are rdomains from OpenBSD officially supported ? No, multiple kernel tables are currently supported on Linux only.
I wonder what is the situation on FreeBSD, NetBSD and OpenBSD w.r.t. kernel support for multple routing tables. I don't have an idea. No multiple tables, multiple tables specific to some *BSD variants or a common behavior on all *BSDs? FreeBSD supports multiple tables (fibs), port has a patch enabling multiple kernel protocol instances (and some fib magic due to lack of MRT support in route socket protocol). OpenBSD supports multiple tables, too. MRT support exists inside rtsock (rtm_tableid in rt_msghdr). Not sure about NetBSD.
On Fri, Jun 28, 2013 at 01:57:52PM +0400, Alexander V. Chernikov wrote:
I wonder what is the situation on FreeBSD, NetBSD and OpenBSD w.r.t. kernel support for multple routing tables. I don't have an idea. No multiple tables, multiple tables specific to some *BSD variants or a common behavior on all *BSDs? FreeBSD supports multiple tables (fibs), port has a patch enabling multiple kernel protocol instances (and some fib magic due to lack of MRT support in route socket protocol). OpenBSD supports multiple tables, too. MRT support exists inside rtsock (rtm_tableid in rt_msghdr).
Hi I implemented BIRD MRT support for FreeBSD (partially based on your patch from ports) and OpenBSD. OpenBSD works OK, FreeBSD is untested (i cannot convince my FreeBSD testing machine to have multiple fibs) so it would be useful if someone could test it. The patch for 1.3.10 is attached (it is also in git). The code assumes (on FreeBSD) that BIRD runs in fib 0. it would be simple to change that, but is there any use case for this? Should fib-aware routing tool depend on my_fibnum? I have some questions for people more familiar with BSDs about how MRT should interact with interfaces/addresses. On Linux, there is no relation between tables and ifaces. OpenBSD (i don't know about FreeBSD) seems to bind tables to ifaces (ifconfig IFA rdomain X). But i am not really sure if this binding is relevant for BIRD (e.g.: Do i receive all ifaces in default scan or should i also do table_id specific scans? If ifaces are specific to rdomain, am i allowed to create route in one table/rdomain with nexthop in a different one?) When we use multiple sockets (one for each fib) for FreeBSD, on which we receive iface notifications, on all - or are ifaces also related to fibs? BTW, the setfib() call on BSD for table scan is an ugly hack. For sockets, i could at least use SO_SETFIB sockopt. It would be nice if FreeBSD would adopt the same extension (7th arg of sysctl() as fib id) for route scans. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
I just figured out a very simple workaround to this problem : execute instances of bird using route -T <rdomain> exec. That's a little bit odd, but at least it works for my needs. Thanks for the answers ! Le 28/06/2013 12:14, Ondrej Zajicek a écrit :
On Fri, Jun 28, 2013 at 11:13:55AM +0200, JLP wrote:
Hi everyone,
I'm trying to use kernel table option of kernel protocol in BIRD on OpenBSD 5.3 (version 1.3.9p0 from standard package) but it seems like it does not work at all (I get a syntax error message).
Are rdomains from OpenBSD officially supported ?
No, multiple kernel tables are currently supported on Linux only.
I wonder what is the situation on FreeBSD, NetBSD and OpenBSD w.r.t. kernel support for multple routing tables. I don't have an idea. No multiple tables, multiple tables specific to some *BSD variants or a common behavior on all *BSDs?
participants (8)
-
Alexander V. Chernikov -
Anibe Onuche -
JLP -
Matjaž Straus Istenič -
Ondrej Filip -
Ondrej Zajicek -
raph@futomaki.net -
Stuart Henderson