This may be the wrong place to ask for this guidance, as I suspect it's more related to OSPF than to Bird, but...
I've got two systems running Debian Sid (kernel 5.15, Bird 2.08-2) which are connected to a 'transport' Ethernet with two other systems running OSPF. Each of these two systems has three 'dummy' interface with IPv4 and IPv6 addresses on them, which are used for binding services (SSH, NTP, and DNS recursor). The NTP and DNS addresses are 'anycast', both systems respond to the same addresses. All of the OSPF stuff is in area 0. I've pasted the Bird configuration below. While everything is working, I'm concerned I may have chosen non-optimal ways to achieve my goals :) Goals: * Broadcast routes for the three dummy interfaces, but don't export routes for anycast addresses into the kernel routing tables. * Don't export any routes into the kernel routing tables unless they came from OSPF. ' Don't broadcast a route for the 'transport' network, as every node which needs it is directly connected. Any guidance or advice/criticism very much welcome! ------------------ router id 192.168.120.2; protocol device { scan time 60; } filter f_kernel4 { if source !~ [RTS_OSPF, RTS_OSPF_EXT2] then reject; if net.ip ~ 192.168.255.0/24 then reject; accept; } protocol kernel kernel4 { scan time 60; ipv4 { import none; export filter f_kernel4; }; } filter f_kernel6 { if source !~ [RTS_OSPF, RTS_OSPF_EXT2] then reject; if net.ip ~ 2001:470:8afe:255::/64 then reject; accept; } protocol kernel kernel6 { scan time 60; ipv6 { import none; export filter f_kernel6; }; } protocol ospf v2 ospf4 { ipv4 { import where source != RTS_DEVICE; export all; }; area 0 { interface "transport" { }; interface "mgmt" { }; interface "ntp" { }; interface "dns" { }; }; } protocol ospf v3 ospf6 { ipv6 { import where source != RTS_DEVICE; export all; }; area 0 { interface "transport" { }; interface "mgmt" { }; interface "ntp" { }; interface "dns" { }; }; } protocol static static4 { ipv4; check link; route 192.168.120.2/32 via "mgmt" { ospf_metric1 = 0; }; route 192.168.255.1/32 via "ntp" { ospf_metric1 = 0; }; route 192.168.255.2/32 via "dns" { ospf_metric1 = 0; }; } protocol static static6 { ipv6; check link; route 2001:470:8afe:120::2/128 via "mgmt" { ospf_metric1 = 0; }; route 2001:470:8afe:255::1/128 via "ntp" { ospf_metric1 = 0; }; route 2001:470:8afe:255::2/128 via "dns" { ospf_metric1 = 0; }; }