OSPF anycast prefix being filtered

Patrik Lundin patrik.lundin.swe at gmail.com
Tue Mar 31 18:41:20 CEST 2015


Hello,

I am trying to use BIRD for anycasting a /32 prefix via OSPF and I am
not able to get the announcement to work.

My idea is to have the server use the normal default gw for routing
packets. Because of this I see no reason for importing routes from
OSPF into the kernel routing table, I am only interested in exporting
the anycast address that is configured on the loopback interface.

I configure a /32 prefix on the loopback interface like so:
===
# ip address add yyy.yyy.yyy.yyy/32 dev lo
===

My bird.conf looks like this:
===
router id xxx.xxx.xxx.xxx;

debug protocols all;

protocol device {}

protocol ospf {
    import none; # Default is import all
    export all;
    area 0.0.0.0 {
        interface "eth*" {
            authentication cryptographic;
            password "pass";
        };
        interface "lo" {};
    };
}
===

It seems however that the address on lo (as well as eth0) is being
"filtered out" by BIRD, as seen in debug mode:
===
# bird -d
bird: device1: Initializing
bird: ospf1: Initializing
bird: device1: Starting
bird: device1: Scanning interfaces
bird: device1: Connected to table master
bird: device1: State changed to feed
bird: ospf1: Starting
bird: ospf1: Adding area 0.0.0.0
bird: ospf1: Connected to table master
bird: ospf1: State changed to feed
bird: Started
bird: device1: State changed to up
bird: ospf1 < interface lo goes up
bird: ospf1 < primary address yyy.yyy.yyy.yyy/32 on interface lo added
bird: ospf1: Adding interface lo (yyy.yyy.yyy.yyy/32) to area 0.0.0.0
bird: ospf1 < secondary address 127.0.0.0/8 on interface lo added
bird: ospf1 < interface eth0 goes up
bird: ospf1 < primary address zzz.zzz.zzz.zzz/30 on interface eth0 added
bird: ospf1: Adding interface eth0 (zzz.zzz.zzz.zzz/30) to area 0.0.0.0
bird: ospf1: State changed to up
bird: ospf1: Changing state of iface eth0 from down to ptp
bird: ospf1: Scheduling router-LSA origination for area 0.0.0.0
bird: ospf1: HELLO packet sent via eth0
bird: ospf1: Changing state of iface lo from down to waiting
bird: ospf1: Scheduling router-LSA origination for area 0.0.0.0
bird: ospf1: Originating router-LSA for area 0.0.0.0
bird: ospf1: Scheduling routing table calculation
bird: ospf1: Starting routing table calculation
bird: ospf1: Starting routing table calculation for area 0.0.0.0
bird: ospf1: Starting routing table calculation for inter-area (area 0.0.0.0)
bird: ospf1: Starting routing table calculation for ext routes
bird: ospf1: Starting routing table synchronisation
bird: ospf1 > filtered out zzz.zzz.zzz.zzz/30 dev eth0
bird: ospf1 > filtered out yyy.yyy.yyy.yyy/32 dev lo
[...]
===

I guess I am missing something obvious, any pointers would be much appreciated!

-- 
Patrik Lundin


More information about the Bird-users mailing list