What changed recently is that the Bird 2.15 port defaults to using
Netlink instead of route sockets to access the kernel routing table on
FreeBSD 14.0 and later. Can you install the other flavor of the bird2
port (bird2-rtsock-2.15.1 instead of bird2-2.15.1), restart the bird2
service (not just reload the running process), and report back if that
works? If that alone solves your problem you've found a regression in
the new default flavor.
On 10.06.24 10:13, Torsten Wilms via Bird-users wrote:
I am using FreeBSD 14 with FIBs.
With bird2.14 I get routes via BGP and anything is fine.
With bird2.15.1 I get routes, but the daemon doesn’t put them into the
kernel routing table. Same configuration work with older version.
Does something change which has an effect on it?
template bgp general_bgp {
debug { states, routes, interfaces };
strict bind on;
enable route refresh on;
graceful restart time 300;
hold time 15;
keepalive time 5;
med metric on;
password "*************";
}
ipv4 table table_SLICE1
protocol direct direct_SLICE1 {
interface "vtnet2";
ipv4 {
table table_SLICE1;
};
}
protocol kernel kernel_SLICE1 {
kernel table 1;
scan time 10;
ipv4 {
table table_SLICE1;
import all;
export all;
};
}
### br1
protocol bgp br1_SLICE1 from general_bgp {
description "[SLICE1][br1] - BGP Transit Services";
local 100.64.1.185 as 64521;
neighbor 100.64.1.7 as 64521;
ipv4 {
table table_SLICE1;
import keep filtered;
import all;
export none;
};
}
### br2
protocol bgp br2_SLICE1 from general_bgp {
description "[SLICE1][br2] - BGP Transit Services";
local 100.64.1.185 as 64521;
neighbor 100.64.1.8 as 64521;
ipv4 {
table table_SLICE1;
import keep filtered;
import all;
export none;
};
}
--------------------
~ # birdc show route table table_SLICE1
BIRD 2.14 ready.
Table table_SLICE1:
0.0.0.0/0 unicast [br1_SLICE1 2024-06-10 09:02:07] * (100) [i]
via 100.64.1.7 on vtnet2
unicast [br2_SLICE1 2024-06-10 09:02:02] (100) [i]
via 100.64.1.8 on vtnet2
100.64.21.0/24 unicast [br1_SLICE1 2024-06-10 09:02:07] * (100) [i]
via 100.64.1.7 on vtnet2
unicast [br2_SLICE1 2024-06-10 09:02:02] (100) [i]
via 100.64.1.8 on vtnet2
100.64.1.0/24 unicast [direct_SLICE1 2024-06-10 09:01:05] ! (240)
dev vtnet2
unicast [br2_SLICE1 2024-06-10 09:02:02] (100) [i]
via 100.64.1.8 on vtnet2
unicast [br1_SLICE1 2024-06-10 09:02:07] (100) [i]
via 100.64.1.7 on vtnet2
~ # setfib 1 netstat -rn
Routing tables (fib: 1)
Internet:
Destination Gateway Flags Netif Expire
100.64.1.0/24 link#3 U vtnet2
100.64.1.185 link#15 UHS lo0
127.0.0.1 link#15 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 link#15 URS lo0
::1 link#15 UHS lo0
::ffff:0.0.0.0/96 link#15 URS lo0
fe80::%lo0/10 link#15 URS lo0
ff02::/16 link#15 URS lo0
Any idea?
Thanks.
BR Torsten