Another bird newbie question I'm afraid. I have the following config: 10.255.199.3 10.255.199.1 [Quagga]----------------------------- [BIRD] 10.255.199.0/24 My bird config and quagga config are at the bottom of this email. Bird is learning a kernel route (6.6.6.6) and advertising it to quagga. This works fine. Quagga is originating a default route (0.0.0.0/32) and advertising it to bird. The advertisement works fine, but I see: bird> show route 6.6.6.6/32 via 10.99.99.2 on dummy [kernel1 18:02] * (10) 0.0.0.0/0 unreachable [MyBGP 18:26 from 10.255.199.1] * (100/-) [i] bird> show route 0.0.0.0/0 all 0.0.0.0/0 unreachable [MyBGP 18:26 from 10.255.199.1] * (100/-) [i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: BGP.next_hop: 10.255.199.1 BGP.local_pref: 100 Bird has marked the route as unreachable. Obviously the route is not unreachable, because it is the next hop (quagga is doing next-hop-self). The only reason for this I can see is because bird is determining reachability on the basis of its FIB only (as opposed to the kernel routing table) and there is no FIB entry for 10.255.199.0/24 (from show route). How are such interface routes meant to get into the FIB? -- Alex Bligh Bird config: protocol kernel { persist; # Don't remove routes on bird shutdown scan time 10; # Scan kernel routing table every 20 seconds import all; export all; learn; # Learn all alien routes from the kernel } # This pseudo-protocol watches all interface up/down events. protocol device { scan time 10; # Scan interfaces every 10 seconds } protocol bgp MyBGP { local as 65000; neighbor 10.255.199.1 as 65000; export filter { accept; }; import filter { accept; }; next hop self; import all; export all; } Quagga config: router bgp 65000 bgp router-id 10.255.199.1 neighbor 10.255.199.3 remote-as 65000 neighbor 10.255.199.3 next-hop-self neighbor 10.255.199.3 default-originate neighbor 10.255.199.3 soft-reconfiguration inbound Log from Quagga 2011/08/17 18:19:43 BGP: 10.255.199.3 went from Idle to Connect 2011/08/17 18:19:43 BGP: 10.255.199.3 passive open 2011/08/17 18:19:43 BGP: 10.255.199.3 went from Active to OpenSent 2011/08/17 18:19:43 BGP: 10.255.199.3 rcv message type 1, length (excl. header) 26 2011/08/17 18:19:43 BGP: 10.255.199.3 rcv OPEN, version 4, remote-as (in open) 65000, holdtime 240, id 10.99.99.1 2011/08/17 18:19:43 BGP: 10.255.199.3 sending OPEN, version 4, my as 65000, holdtime 180, id 10.255.199.1 2011/08/17 18:19:43 BGP: 10.255.199.3 send message type 1, length (incl. header) 53 2011/08/17 18:19:43 BGP: 10.255.199.3 rcv OPEN w/ OPTION parameter len: 16 2011/08/17 18:19:43 BGP: 10.255.199.3 rcvd OPEN w/ optional parameter type 2 (Capability) len 14 2011/08/17 18:19:43 BGP: 10.255.199.3 OPEN has MultiProtocol Extensions capability (1), length 4 2011/08/17 18:19:43 BGP: 10.255.199.3 OPEN has MP_EXT CAP for afi/safi: 1/1 2011/08/17 18:19:43 BGP: 10.255.199.3 OPEN has Route Refresh capability (2), length 0 2011/08/17 18:19:43 BGP: message index 65 [4-octet AS number] found in position 4 (max is 8) 2011/08/17 18:19:43 BGP: 10.255.199.3 OPEN has 4-octet AS number capability (65), length 4 2011/08/17 18:19:43 BGP: 10.255.199.3 went from OpenSent to Deleted 2011/08/17 18:19:43 BGP: 10.255.199.3 send message type 4, length (incl. header) 19 2011/08/17 18:19:43 BGP: 10.255.199.3 went from OpenSent to OpenConfirm 2011/08/17 18:19:43 BGP: 10.255.199.3 rcv message type 4, length (excl. header) 0 2011/08/17 18:19:43 BGP: 10.255.199.3 went from OpenConfirm to Established 2011/08/17 18:19:43 BGP: 10.255.199.3 send message type 4, length (incl. header) 19 2011/08/17 18:19:43 BGP: 10.255.199.3 send UPDATE 0.0.0.0/0 nexthop 10.255.199.1, origin i, mp_nexthop ::, path 2011/08/17 18:19:43 BGP: 10.255.199.3 rcvd UPDATE w/ attr: nexthop 10.255.199.3, origin i, localpref 100, path 2011/08/17 18:19:43 BGP: 10.255.199.3 rcvd 6.6.6.6/32