ospf3 and bird interface in non-default FIB

Eugene M. Zheganin emz at norma.perm.ru
Mon Aug 21 12:22:37 CEST 2023


Hello,

I'm running Bird 2.0.11 on FreeBSD 13.2, I also have a number of bird 
2.0.x in local network. For a number of reasons I need the interface the 
OSPF is bound to to be in non-default FIB.

As soon as I put it there, I'm starting to get the periodic errors like


===Cut===

ospfv4: Socket error on igb0: Network is unreachable


===Cut===

(v4 here stands for IPv4) and the bird is also unable to establish the 
neighborship with 2 of 7 it's neighbors:


===Cut===
# birdc
BIRD 2.0.11 ready.
bird> show ospf neighbors
ospfv4:
Router ID       Pri          State      DTime   Interface  Router IP
192.168.57.35     1     Full/BDR        36.075  igb0       192.168.57.35
192.168.57.37     1     Full/DR         31.771  igb0       192.168.57.147
192.168.57.23     1     2-Way/Other     31.771  igb0       192.168.57.23
192.168.57.13     1     2-Way/Other     31.894  igb0       192.168.57.13
192.168.100.254   1     Full/PtP        37.138  gre1       172.16.0.7
178.161.174.72  128     Full/PtP        39.563  gre4       172.16.0.24
192.9.200.5       1     Full/PtP        33.227  ipsec0     172.16.0.13
192.168.55.254    1     Full/PtP        36.256  ipsec1     172.16.0.80
178.161.174.72  128     Full/PtP        34.665  ipsec2     172.16.0.22
89.108.123.58     1     Full/PtP        33.138  ipsec3     172.16.0.28
192.168.52.1      1     Full/PtP        32.505  ipsec4     172.16.0.30
===Cut===

For instance, 192.168.57.35 and 192.168.57.37 are stuck in ExtStart. Why ?


My config looks like this:


===Cut===


protocol ospf ospfv4 {
    ipv4 {
        table master4;
        export filter exportospfv4;
        import filter importospfv4;
    };
    #debug all;
    area 0.0.0.0 {
        interface "igb0" {
            cost 111;
        };
        interface "tun0" {
            cost 111;
        };
    };
    area 0.0.0.1 {
        interface "gif1" {
            cost 4111;
        };
        interface "ipsec0" {
            cost 7111;
        };
    };
    area 0.0.0.2 {
        interface "gre1" {
            cost 1211;
        };
        interface "gre2" {
            cost 1111;
        };
        interface "gre6";
    };
    area 0.0.0.3 {
        interface "gif5";
        interface "ipsec1";
    };
    area 0.0.0.4 {
        interface "ipsec2";
        interface "gre4";
        interface "gre5";
    };
    area 0.0.0.5 {
        interface "ipsec3";
    };
    area 0.0.0.6 {
        interface "ipsec4";
    };
}

===Cut===


I've also tried to put ospfv4 protocol in the same FIB the interface is 
in (adding the "table fib1" statement), but got the same error about 
network unreachability. Restarting bird does not clear this state also. 
Running ospf with full debug gives this:


===Cut===
Aug 21 11:23:12 ronin bird[59670]: ospfv4: DBDES packet received from 
nbr 192.168.57.35 on igb0
Aug 21 11:23:12 ronin bird[59670]: ospfv4:     length   32
Aug 21 11:23:12 ronin bird[59670]: ospfv4:     router   192.168.57.35
Aug 21 11:23:12 ronin bird[59670]: ospfv4:     mtu      1500
Aug 21 11:23:12 ronin bird[59670]: ospfv4:     imms     I M MS
Aug 21 11:23:12 ronin bird[59670]: ospfv4:     ddseq    1977563332
Aug 21 11:23:12 ronin bird[59670]: ospfv4: HELLO packet received from 
nbr 192.168.100.254 on gre1
Aug 21 11:23:15 ronin bird[59670]: ospfv4: HELLO packet received from 
nbr 178.161.174.72 on gre4
Aug 21 11:23:16 ronin bird[59670]: ospfv4: DBDES packet sent to nbr 
192.168.57.35 on igb0
Aug 21 11:23:16 ronin bird[59670]: ospfv4:     length   32
Aug 21 11:23:16 ronin bird[59670]: ospfv4:     router   192.168.57.254
Aug 21 11:23:16 ronin bird[59670]: ospfv4:     mtu      1500
Aug 21 11:23:16 ronin bird[59670]: ospfv4:     imms     I M MS
Aug 21 11:23:16 ronin bird[59670]: ospfv4:     ddseq    3625460956
Aug 21 11:23:16 ronin bird[59670]: ospfv4: Socket error on igb0: Network 
is unreachable


===Cut===


Right now I have no idea how to fix this.

Thanks.


Eugene.



More information about the Bird-users mailing list