Hello there,
 
Need your help in configuring BIRD for ospf.
 
I have 2 nodes running open wrt linux and bird version 1.1.1. The bird binary has been cross-compiled for the ARM platform. OSPF is configured in bird.conf for each node.
Node 1 has 3 network interfaces and Node 2 has 4 network interfaces. Below is how Node 1 and 2 topologies are organized
Node 1(192.168.3.20) <-------> Node2(192.168.3.10)
          (192.168.1.1)                        (192.168.4.10)
          (192.168.4.20)                      (192.168.5.10)
 
Please note that Nodes 1 and 2 communicate only via 192.168.3.* network and the other interfaces on each node are independent.
 
Now the issue here is that the routing tables between the 2 nodes aren't synchronized. Node 1 can ping the 192.168.3.10 and 192.168.5.10 IP addresses on Node 2. However there is no route to 192.168.1.* on Node 2.
 
Any help would be highly appreciated.
 
Below is what the bird configuration looks like on each individual node:
 
Node 1 - ifconfig
-----------------
root@OpenWrt:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:03:47:DF:33:A0 
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6515 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2076 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:357685 (349.3 KiB)  TX bytes:223675 (218.4 KiB)
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:510 (510.0 B)  TX bytes:510 (510.0 B)
ra_ap0    Link encap:Ethernet  HWaddr 00:0E:8E:20:2B:16 
          inet addr:192.168.4.20  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5122 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:498002 (486.3 KiB)  TX bytes:45008 (43.9 KiB)
          Interrupt:26
ra_sta0   Link encap:Ethernet  HWaddr 00:0E:8E:1A:AD:76 
          inet addr:192.168.3.20  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1321714 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:157112541 (149.8 MiB)  TX bytes:176882570 (168.6 MiB)
          Interrupt:28

Node 1 - bird.conf
------------------
log "/lib/bird.log" { error };
protocol kernel {
        persist;
        scan time 20;
        export all;
}
protocol device {
        scan time 10;
}
protocol ospf {
        export all;
        import all;
        area 0.0.0.0 {
                interface "eth0";
                interface "ra_ap0";
                interface "ra_sta0";
        };
}
Node 1 - birdc output
---------------------
BIRD 1.1.1 ready.
bird> show ospf neighbor
ospf1:
Router ID   Pri      State     DTime Router IP   Interface
192.168.3.10   1     full/dr   00:38 192.168.3.10   ra_sta0  
bird> show route
192.168.1.0/24     dev eth0 [ospf1 01:25] I (150/10)
192.168.3.0/24     dev ra_sta0 [ospf1 01:26] I (150/10)
192.168.4.0/24     dev ra_ap0 [ospf1 01:25] I (150/10)
192.168.5.0/24     via 192.168.3.10 on ra_sta0 [ospf1 01:26] I (150/20)
bird> show ospf topology
     
area 0.0.0.0
router 192.168.1.1
network 192.168.3.0/24 metric 10
stubnet 192.168.1.0/24 metric 10
stubnet 192.168.4.0/24 metric 10
router 192.168.3.10
network 192.168.3.0/24 metric 10
stubnet 192.168.4.0/24 metric 10
stubnet 192.168.5.0/24 metric 10
network 192.168.3.0/24
dr 192.168.3.10
router 192.168.3.10
router 192.168.1.1
bird>
 
Node 2 - ifconfig
------------------
root@OpenWrt:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:03:47:DF:33:A8 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
ra_ap0    Link encap:Ethernet  HWaddr 00:0E:8E:20:2B:18 
          inet addr:192.168.3.10  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1280530 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:153965150 (146.8 MiB)  TX bytes:170985030 (163.0 MiB)
          Interrupt:28
ra_ap1    Link encap:Ethernet  HWaddr 00:0E:8E:1A:AD:96 
          inet addr:192.168.4.10  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:249 (249.0 B)  TX bytes:46040 (44.9 KiB)
          Interrupt:27
ra_ap2    Link encap:Ethernet  HWaddr 00:0E:8E:1A:AF:00 
          inet addr:192.168.5.10  Bcast:192.168.5.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4021 (3.9 KiB)  TX bytes:46128 (45.0 KiB)
          Interrupt:26
Node 2 - bird.conf
------------------
log "/lib/bird.log" { error };
protocol kernel {
        persist;
        scan time 20;
        export all;
}
protocol device {
        scan time 10;
}
protocol ospf {
        export all;
        import all;
        area 0.0.0.0 {
                interface "eth0";
                interface "ra_ap0";
                interface "ra_ap1";
                interface "ra_ap2";
        };
}
Node 2 - birdc output
---------------------
BIRD 1.1.1 ready.
bird> show ospf neighbor
ospf1:
Router ID   Pri      State     DTime Router IP   Interface
192.168.1.1   1     full/bdr  00:38 192.168.3.20   ra_ap0   
bird> show route
192.168.3.0/24     dev ra_ap0 [ospf1 11:11] I (150/10)
192.168.4.0/24     dev ra_ap1 [ospf1 11:10] I (150/10)
192.168.5.0/24     dev ra_ap2 [ospf1 11:10] I (150/10)
bird> show ospf topology
     
area 0.0.0.0
router 192.168.1.1
stubnet 192.168.1.0/24 metric 10
stubnet 192.168.4.0/24 metric 10
stubnet 192.168.3.0/24 metric 10
router 192.168.3.10
network 192.168.3.0/24 metric 10
stubnet 192.168.4.0/24 metric 10
stubnet 192.168.5.0/24 metric 10
network 192.168.3.0/24
dr 192.168.3.10
router 192.168.3.10
router 192.168.1.1
bird>