On 02/25/2018 06:01 AM, Ondrej Zajicek wrote:
Hello
Hi,
protocol kernel { learn; export all; import all; # these are default values # table master; # kernel table 254; } table deftab; protocol kernel { learn; export all; import all; table deftab; kernel table 253; }
I think the key that I was missing was the "table deftab;" outside of "protocol kernel".
I also needed to remove the "main" and "default" from the "protocol kernel" lines.
And the apparent table name limitation got me. "Default" is one letter too long." :-/ (Table name length is probably documented somewhere I've not read yet.)
This will sync kernel table 254 ('main') with default BIRD table 'master' and kernel table 253 ('default') with additional BIRD table 'deftab'.
Understood.
Optionally, you can use pipe protocol to distribute routes between these tables.
Do I need to use pipes to distribute routes between tables?I ask this because I've updated the config (below) and now BIRD seems happier. However I'm seeing evidence that the single / default route from the dfault table is being filtered (?).
bird: kernel2 > added [best] 0.0.0.0/0 via 8.44.144.1 on eth0 bird: kernel2 < rejected by protocol 0.0.0.0/0 via 8.44.144.1 on eth0I think BIRD is seeing the single / default route and starts to use it, but then filters it, or at least that's what I think is happening.
There are two unexpected issues that may cause problems:1) BIRD does not allow two Kernel protocol instances to be connected to the same BIRD table, you have to use two BIRD tables, like above.
Understood and duly noted. - I don't foresee this to be a problem for me.
2) Trying to use BIRD keywords as protocol/table names would lead to hard to understand 'syntax error' errors during configuration processing.
That makes sense. I just need to be smart enough to recognize when that happens.
# cat /etc/bird.conf protocol kernel { learn; export all; import all; persist no; kernel table 254; } table dfault; protocol kernel { debug all; learn; export all; import all; persist no; table dfault; kernel table 253; } protocol device { } protocol direct { interface "*"; } protocol rip { export all; import all; interface "wgc", "test1", "test2", "test3" { version 2; }; } -- Grant. . . . unix || die
smime.p7s
Description: S/MIME Cryptographic Signature