Grant Taylor <gtaylor@tnetconsulting.net> writes:
Hi,
I need a second set of eyes on the following config. I feel like I've made a mistake and I'm too tired to see it.
- main_rib is Linux kernel table #254 and has all locally attached interfaces. There is no default gateway in kernel table #254. - default_rib is Linux kernel table #253 and only has the default gateway. - I have a series of ip rules that cascade across multiple Linux kernel tables, 254, others, and finally 253.
I want BIRD to: 1 Advertise the following routes via RIP: - Locally attached - Default learned from default_rib (253) 2 Learn routes from RIP and update main_rib (254)
Currently bird is not doing #2.
I'm not completely sure when I want to learn or not. I think "learn" is for BIRD to learn about the routes from the routing table. I don't know if I need to "learn" in the kernel protocol for table 254 or not. I thought the locally attached routes were picked up via the direct protocol.
BIRD is learning about the single default route in default_rib (253) and advertising it via RIP to other systems on the network.
Any help would be greatly appreciated. Thank you in advance.
ipv4 table main_rib; ipv4 table default_rib;
protocol device { }
protocol kernel { ipv4 { export all; import all; table main_rib; }; kernel table 254; #learn; }
protocol kernel { ipv4 { export none; import all; table default_rib; }; kernel table 253; learn; }
protocol direct { ipv4; interface "*"; }
protocol rip { interface "eth0", "eth1", "eth2", "eth3" { version 2; }; ipv4 { export all; import all; table main_rib; table default_rib;
A protocol instance can only be attached to a single routing table; so you'll need to use the same Bird table and steer routes into the different kernel tables using export filters instead... -Toke