KRT: Error sending route 192.168.x.x/32 to kernel: File exists
Dear Colleagues, My system is full of the following messages: bird[59366]: KRT: Error sending route 192.168.246.1/32 to kernel: File exists bird[59366]: KRT: Error sending route 2001:470:ecba:2::1/128 to kernel: File exists bird[57195]: KRT: Error sending route 2001:470:ecba:4::1/128 to kernel: File exists vas bird[57195]: KRT: Error sending route 192.168.170.0/24 to kernel: Address already in use (as you see, these are not only host routes, but network routes as well). They seem harmless but clog the log. Why is Bird trying to install those routes? Is there an extraneous export or import statement somewhere? Or should I just quelch those warnings and forget? Here is my config with comments removed (bird2 2.0.7_1, FreeBSD 12.2), and the kernel IPv4 route table below it. log syslog all; router id 192.168.246.1; protocol device { scan time 10; } protocol direct { disabled; ipv4; ipv6; } protocol kernel kernel4 { ipv4 { export all; }; } protocol kernel kernel6 { ipv6 { export all; }; } protocol static { ipv4; } protocol ospf v2 ospf4 { ipv4 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; } protocol ospf v3 ospf6 { ipv6 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; } $ netstat -rn -finet Routing tables Internet: Destination Gateway Flags Netif Expire default 192.168.170.1 UG1 re1 127.0.0.1 link#3 UH lo0 192.168.89.0/27 192.168.170.1 UG1 re1 192.168.170.0/24 link#2 U re1 192.168.170.5 link#2 UHS lo0 192.168.246.0/24 link#4 U bridge0 192.168.246.1 link#4 UHS lo0 -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/
Hi Viktor, It's just a guess, but maybe re-enable `protocol direct` and add `interface "*";` so all device routes are known to bird? And also adding `interface "lo0" { stub yes; };` to OSPF? Good luck, Bernd On 20.01.21 06:00, Victor Sudakov wrote:
Dear Colleagues,
My system is full of the following messages:
bird[59366]: KRT: Error sending route 192.168.246.1/32 to kernel: File exists bird[59366]: KRT: Error sending route 2001:470:ecba:2::1/128 to kernel: File exists bird[57195]: KRT: Error sending route 2001:470:ecba:4::1/128 to kernel: File exists vas bird[57195]: KRT: Error sending route 192.168.170.0/24 to kernel: Address already in use
(as you see, these are not only host routes, but network routes as well).
They seem harmless but clog the log. Why is Bird trying to install those routes? Is there an extraneous export or import statement somewhere? Or should I just quelch those warnings and forget?
Here is my config with comments removed (bird2 2.0.7_1, FreeBSD 12.2), and the kernel IPv4 route table below it.
log syslog all;
router id 192.168.246.1;
protocol device { scan time 10; }
protocol direct { disabled; ipv4; ipv6; }
protocol kernel kernel4 { ipv4 { export all; }; }
protocol kernel kernel6 { ipv6 { export all; }; }
protocol static { ipv4; }
protocol ospf v2 ospf4 { ipv4 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; } protocol ospf v3 ospf6 { ipv6 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; }
$ netstat -rn -finet Routing tables
Internet: Destination Gateway Flags Netif Expire default 192.168.170.1 UG1 re1 127.0.0.1 link#3 UH lo0 192.168.89.0/27 192.168.170.1 UG1 re1 192.168.170.0/24 link#2 U re1 192.168.170.5 link#2 UHS lo0 192.168.246.0/24 link#4 U bridge0 192.168.246.1 link#4 UHS lo0
Bernd Naumann wrote:
Hi Viktor,
Hi Bernd!
It's just a guess, but maybe re-enable `protocol direct` and add `interface "*";` so all device routes are known to bird?
I've tried enabling "protocol direct", this changes all OSPF Intra Area routes into External routes. This is not a desirable result. I'll try disabling "export all" in OSPF later.
And also adding `interface "lo0" { stub yes; };` to OSPF?
Adding "lo0" or "*" will probably inject the 127.0.0.1/8 prefix into OSPF. I really doubt it's a good idea. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/
Bernd Naumann wrote:
It's just a guess, but maybe re-enable `protocol direct` and add `interface "*";` so all device routes are known to bird?
This is what I did and it has probably fixed the problem: 1. Reenabled "protocol direct" 2. Set "export none" for protocol OSPF. Now I have direct1 routes in the master table which are not propagated to OSPF as external routes. Now the question. Why did it work (that is, why did it stop the annoying message about existing routes)? -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/
Hello! What is the output of the following command? $ birdc show route Thanks Maria On 1/20/21 6:00 AM, Victor Sudakov wrote:
Dear Colleagues,
My system is full of the following messages:
bird[59366]: KRT: Error sending route 192.168.246.1/32 to kernel: File exists bird[59366]: KRT: Error sending route 2001:470:ecba:2::1/128 to kernel: File exists bird[57195]: KRT: Error sending route 2001:470:ecba:4::1/128 to kernel: File exists vas bird[57195]: KRT: Error sending route 192.168.170.0/24 to kernel: Address already in use
(as you see, these are not only host routes, but network routes as well).
They seem harmless but clog the log. Why is Bird trying to install those routes? Is there an extraneous export or import statement somewhere? Or should I just quelch those warnings and forget?
Here is my config with comments removed (bird2 2.0.7_1, FreeBSD 12.2), and the kernel IPv4 route table below it.
log syslog all;
router id 192.168.246.1;
protocol device { scan time 10; }
protocol direct { disabled; ipv4; ipv6; }
protocol kernel kernel4 { ipv4 { export all; }; }
protocol kernel kernel6 { ipv6 { export all; }; }
protocol static { ipv4; }
protocol ospf v2 ospf4 { ipv4 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; } protocol ospf v3 ospf6 { ipv6 { import all; export all;}; area 0 { interface "re*" { cost 10; }; interface "bridge*" { cost 10; }; }; }
$ netstat -rn -finet Routing tables
Internet: Destination Gateway Flags Netif Expire default 192.168.170.1 UG1 re1 127.0.0.1 link#3 UH lo0 192.168.89.0/27 192.168.170.1 UG1 re1 192.168.170.0/24 link#2 U re1 192.168.170.5 link#2 UHS lo0 192.168.246.0/24 link#4 U bridge0 192.168.246.1 link#4 UHS lo0
Maria Matejka wrote:
Hello!
What is the output of the following command?
$ birdc show route
bird> show route table master4 Table master4: 0.0.0.0/0 unicast [ospf4 00:00:52.893] E1 (150/11) [192.168.170.1] via 192.168.170.1 on re1 192.168.89.0/27 unicast [ospf4 00:00:52.893] I (150/20) [192.168.170.1] via 192.168.170.1 on re1 192.168.246.0/24 unicast [ospf4 15:11:07.705] I (150/10) [192.168.246.1] dev bridge0 192.168.247.0/24 unicast [ospf4 15:12:25.707] I (150/10) [192.168.246.1] dev bridge0 192.168.170.0/24 unicast [ospf4 00:00:52.893] I (150/10) [192.168.170.1] dev re1 bird> -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/
participants (3)
-
Bernd Naumann -
Maria Matejka -
Victor Sudakov