OSPF state inconsistency

Przemyslaw Frasunek przemyslaw at frasunek.com
Mon May 4 10:04:53 CEST 2015


Dear all,

we are using BIRD 1.4.5 with OSPF on PPPoE access servers running FreeBSD 9.3
and mpd 5.7. In order to achieve fail-over, each access server is listening on
the same VLANs. The user connects to access server which first responds with
PPPoE PADO.

Some of our subscribers need additional IPv4 prefix, which is routed via address
assigned from pool. Such route is added by mpd on connect and deleted on
disconnect or LCP timeout.

Unfortunately, we are experiencing OSPF state inconsistency between access
servers, when user quickly disconnects from one node and connects to another.
This is such example, which caused routing loop:

(on 193.138.118.89)
# birdc show route for 46.21.220.80/28
BIRD 1.4.5 ready.
46.21.220.80/28    via 193.138.118.90 on vlan0 [ospf1 13:08:12] * E2
(10/10/10000) [193.138.118.90]

(on 193.138.118.90)
# birdc show route for 46.21.220.80/28
BIRD 1.4.5 ready.

46.21.220.80/28    via 193.138.118.89 on vlan0 [ospf1 13:12:32] * E2
(10/10/10000) [193.138.118.89]

Any ideas, how to fix it?

This is our bird.conf:

log syslog { remote, error, auth, fatal, bug };
router id 193.138.118.90;

protocol kernel {
        learn;
        scan time 20;
        export filter {
                if proto = "static_bgp" then reject;
                accept;
        };
}

protocol device {
        scan time 10;
}

protocol ospf {
        preference 10;
        import filter {
                accept;
        };
        export filter {
                if net.ip = 0.0.0.0 then reject;
                if source = RTS_STATIC then accept;
                if proto = "kernel1" then accept;
                if proto = "direct1" then accept;
                reject;
        };

        area 0 {
                interface "vlan0" { };
                interface "vlan*" { stub; };
                interface "carp*" { stub; cost 1000; };
        };
}

protocol direct {
        import filter {
                accept;
        };
};


More information about the Bird-users mailing list