Well, some observations:

You need to make sure that the dhcp client assigns the default routes with different metrics so they appear in the kernel routing table in the first place.

Also it appears like bird imports only the first default route:



# bird.conf
filter test {
        print net, " interface: ", ifname;
        accept;
}

protocol kernel {
        ipv4 {  
              import filter test;
              export none;
        };
        learn;
}

root@host-1:/etc/bird# ip r
default via 172.21.0.1 dev bond0.300
default via 172.21.101.1 dev eno1 metric 200
<... snip ...>

root@host-1:/etc/bird# birdc show route all
BIRD 2.0.7 ready.
Table master4:
0.0.0.0/0            unicast [kernel1 21:54:15.332] (10)
        via 172.21.0.1 on bond0.300
        Type: inherit univ
        Kernel.source: 3
        Kernel.metric: 0


I assume this is an intended behavior, because a second route with a higher metric would usually not be used?

Greetings
Jo

Reply via email to