BGP routes not being propagated to kernel via OSPF

Brian Topping brian.topping at gmail.com
Mon Feb 17 08:17:28 CET 2020


Greetings, I have a network with four routers on an OSPF backbone. Only one of the four routers cannot export the type 5 LSA entries to the kernel. I cannot figure out why. I wonder if I might kindly ask some guidance.

The routers (including the problem router) are all BIRD 2.0.7 with the router with IP 10.10.4.1 running 2.0.4. The kernels are Linux 4.20.x.

Here is the OSPF for a working router:

> protocol ospf backbone {
>   ipv4 {
>     export all;
>     import filter { if net = 0.0.0.0/0 then reject; else accept; };
>   };
>   area 0.0.0.0 {
>     interface "eno2" {};
>     interface "vti*" {
>       type nbma;
>       strict nonbroadcast yes;
>       neighbors {
>         10.9.254.2 eligible;
>       };
>     };
>   };
> }



The OSPF configuration of the router having problems. They are virtually identical with the exception of the interfaces:

> protocol ospf backbone {
>   ipv4 {
>     export all;
>     import filter { if net = 0.0.0.0/0 then reject; else accept; };
>   };
>   area 0.0.0.0 {
>     interface "bond0" {
>     };
>     interface "vti*" {
>       type nbma;
>       neighbors {
>         10.9.255.1 eligible;
>         10.9.254.1 eligible;
>       };
>     };
>   };
> }


All the routers have *identical* LSADBs  on each router (not shown). master4 is correct on the working routers:
> [root at gw02 ~]# birdc show route
> BIRD 2.0.7 ready.
> Table master4:
> 0.0.0.0/0            unicast [bgp_handy_125 02:07:43.248] * (100) [AS30475i]
> 	via c.d.143.125 on eno1
>                      unicast [bgp_handy_126 02:07:43.661] (100) [AS30475i]
> 	via c.d.143.126 on eno1
> a.b.96.0/32      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.96.9/32      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.96.8/32      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.96.11/32     unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> 10.10.0.0/22         unicast [backbone 02:07:46.207] I (150/10) [c.d.143.113]
> 	dev eno2
> 10.9.254.2/32        unicast [backbone 02:08:16.208] I (150/10) [10.10.4.21]
> 	via 10.9.254.2 on vti3
> 10.9.254.0/24        unicast [backbone 02:08:16.208] I (150/10) [10.10.4.21]
> 	dev vti3
> 10.9.255.2/32        unicast [backbone 02:08:16.208] I (150/10) [10.10.4.21]
> 	via 10.9.254.2 on vti3
> 192.168.10.0/24      unicast [backbone 02:08:16.208] I (150/30) [10.10.4.1]
> 	via 10.9.254.2 on vti3
> 10.10.4.0/22         unicast [backbone 02:08:16.208] I (150/20) [10.10.4.1]
> 	via 10.9.254.2 on vti3
> 10.9.255.0/24        unicast [backbone 02:08:16.208] I (150/20) [c.d.143.113]
> 	via 10.9.254.2 on vti3 weight 1
> 	via 10.10.0.41 on eno2 weight 1
> a.b.97.1/32      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.96.10/32     unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.96.0/24      blackhole [public_nets_proto 02:07:35.107] * (500)
>                      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> a.b.97.0/24      blackhole [public_nets_proto 02:07:35.107] * (500)
>                      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> [root at gw02 ~]# birdc show route a.b.96.0/32 all
> BIRD 2.0.7 ready.
> Table master4:
> a.b.96.0/32      unicast [backbone 02:07:46.207] E2 (150/10/10000) [c.d.143.113]
> 	via 10.10.0.41 on eno2
> 	Type: OSPF-E2 univ
> 	OSPF.metric1: 10
> 	OSPF.metric2: 10000
> 	OSPF.tag: 0x00000000
> 	OSPF.router_id: c.d.143.113

The router with problems does *not* have a correct copy of master4 table, it is missing all of the LSA type 5 entries. So of course they cannot be exported to kernel on that router:
> [root at centos01 ~]# birdc show route
> BIRD 2.0.7 ready.
> Table master4:
> 10.9.254.2/32        unicast [backbone 22:53:52.605] I (150/0) [10.10.4.21]
> 	dev bond0
> 10.9.254.0/24        unicast [backbone 00:08:15.604] I (150/10) [10.10.4.21]
> 	dev bond0
> 10.9.255.2/32        unicast [backbone 23:56:54.605] I (150/0) [10.10.4.21]
> 	dev bond0
> 192.168.10.0/24      unicast [backbone 22:54:32.604] I (150/20) [10.10.4.1]
> 	via 10.10.4.1 on bond0
> 10.10.4.0/22         unicast [backbone 22:54:32.604] I (150/10) [10.10.4.1]
> 	dev bond0
> 10.9.255.0/24        unicast [backbone 23:57:39.604] I (150/10) [c.d.143.113]
> 	dev bond0


What I cannot figure out is why the OSPF entries are not imported to master4 on this single machine. 

Thanks kindly for any thoughts.

Brian





More information about the Bird-users mailing list