Problem with multiple routing tables

Ondrej Zajicek santiago at crfreenet.org
Wed Sep 21 14:30:40 CEST 2011


On Mon, Sep 19, 2011 at 10:54:27PM +0200, schielmann at poczta.onet.pl wrote:
>    Hello,
> 
>    I have met some difficulties configuring BIRD with multiple routing
>    tables, so I wanted to check if I don't make any simple mistakes - and
>    that is why i am writing.
> 
>    I am building a system to propagate QoS parameters thru the network. I
>    wanted to implement the EQ-BGP functionality, that is a BGP plus some
>    additional info about the QoS capabilieties of the network. To the BGP
>    Update massages I add special attribute sets, one for each QoS class. And
>    to store the info I need multiple routing tables - that is where the
>    problems started for me.
> 
>    I tried to add 3 routing tables to the system (class1, class2, class3) -
>    i've modified /etc/iproute2/rt_tables adding 3 entries with numbers 1, 2,
>    3. Then i've changed bird.conf, adding 3 "kernel protocols". I made it the
>    same way it is writen in insrtructions, adding lines "table class1"
>    "kernel table 1", "table class2" "kernel table2", and "table class3"
>    "kernel table3" for each new instance of the "kernel protocol". But this
>    doesn't work. During startup BIRD shows "Table name expected".

First, table have to be defined in BIRD config using:

table abctable;

Second, 'kernel table' expect kernel table number (the one you wrote to
rt_tables).

Third, recent versions of BIRD automatically define symbols from rt_tables
(with prefix ipt_), but they are just numeric constants, not real routing
tables (they have to be still defined in bird.conf).

So, for example, if you add this to /etc/iproute2/rt_tables:

100 mytbl

Then you can have this in bird.conf:

table abctable;

protocol kernel {
	table abctable;
	kernel table 100;
}


or

table abctable;

protocol kernel {
	table abctable;
	kernel table ipt_mytbl;
}

>  think it would be usefull to add a line "define table auxtable"

There should be just 'table auxtable;', expressions starting with 'define ...'
are used to define numeric constants, like 'define myas = 65000;'

This is mentioned in documentation in section 3.2 global options, but it
is not mentioned in section 2 About routing tables, which is probably
too brief and should be expanded.

-- 
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/20110921/1645c7b4/attachment-0001.asc>


More information about the Bird-users mailing list