FreeBSD, multiple routing tables, "KRT: Error sending route 192.222.249.232/29 to kernel: File exists"

Dan Mahoney danm at prime.gushi.org
Sat Mar 12 16:48:07 CET 2022


Hey there,

We've got a fairly simple setup where we have two fibs.  Interface routes are in both fibs the way BSD does it.  (Table 1 is the second fib, if it matters).

log syslog all;

protocol kernel {
    scan time 20;
    ipv4 {
        import all;
        export all;
        table master4;
        };
    kernel table 1;
    }

protocol kernel {
    ipv6 {
        import all;
        export all;
        table master6;
        };
    kernel table 1;
    }


protocol device {
        scan time 10;
        }

setfib 1 netstat -nr:

Routing tables (fib: 1)

Internet:
Destination        Gateway            Flags     Netif Expire
default            192.222.249.233    UGS        bge0
127.0.0.1          link#5             UH          lo0
127.0.0.2          link#6             UH          lo1
192.222.249.232/29 link#1             U          bge0

fib 0 would be the same.

An old thread seemed to imply this was because the "direct" protocol was missing.

Adding the "direct" protocol doesn't stop this error every 20 seconds in syslog (which seems to be related to the scan time).

Mar 12 15:24:11 box1 bird[34463]: KRT: Error sending route 192.222.249.232/29 to kernel: File exists
Mar 12 15:24:31 box1 bird[34463]: KRT: Error sending route 192.222.249.232/29 to kernel: File exists
Mar 12 15:24:51 box1 bird[34463]: KRT: Error sending route 192.222.249.232/29 to kernel: File exists
Mar 12 15:25:11 box1 bird[34463]: KRT: Error sending route 192.222.249.232/29 to kernel: File exists
Mar 12 15:25:31 box1 bird[34463]: KRT: Error sending route 192.222.249.232/29 to kernel: File exists

Is it possible bird isn't differentiating routes learned from each fib and is learning from both, separately, and not properly deduplicating those routes?

-Dan


More information about the Bird-users mailing list