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

Reply via email to