bird 2.17 on NetBSD and directly connected networks

Ondrej Zajicek santiago at crfreenet.org
Thu Apr 24 14:49:47 CEST 2025


On Tue, Apr 22, 2025 at 05:32:30PM +1200, Mark Davies wrote:
> I've just replaced an archlinux system running 2.14 with a NetBSD system
> running 2.17.
> 
> Everything seems to be working fine except that every 20 seconds it
> complains:
> 
>   KRT: Error sending route XX.XX.XX.XX/XX to kernel: File exists
> 
> for each directly connected network.
> 
> ie it tries to write the directly connected network entries out to the
> kernel routing socket and gets told they already exist.
> 
> Whats going wrong here?  Should it have determined that they are directly
> connected and not try to write them out or is it expecting the write
> shouldn't fail or what?

Hi

In the past, we had some implicit filter that device routes were not
exported to kernel, assuming that they were already there. It did not
worked reliably and had some problems, so later we removed it.

Currently, we export all routes to the kernel, but use different than
default kernel metric, so these routes do not collide with kernel
provided ones. Unfortunately, this is available only on Linux and
(i think) OpenBSD.

You can avoid the warning by filtering the routes in kernel export
filter. You can do that automatically by setting up a direct protocol,
then filtering out all routes from the direct protocol in kernel export
filter:

  export where source != RTS_DEVICE;

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
"To err is human -- to blame it on a computer is even more so."


More information about the Bird-users mailing list