Grant Taylor <[email protected]> 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
