bird (2.0.4) does not install multipath route in kernel

Alexander Zubkov green at qrator.net
Tue Jun 11 14:50:43 CEST 2019


Hi,

Are you sure "netstat -rn" is capable of it on Linux. Try to use "ip route".

On Tue, Jun 11, 2019 at 2:40 PM Arno O <odermaar at gmail.com> wrote:
>
> Sorry, there of course are "protocol kernel" configs. as below:
>
> # routing tables with the OS kernel. One instance per table.
> protocol kernel {
> ipv4 { # Connect protocol to IPv4 table by channel
> #      table master4; # Default IPv4 table is master4
>      import all; # Import to table, default is import all
>      export all; # Export to protocol. default is export none
> };
>         merge paths yes;
>         metric 10;
> learn; # Learn alien routes from the kernel
> # kernel table 10; # Kernel table to synchronize with (default: main)
> }
>
> Ar
> ---------- Forwarded message ---------
> Von: Arno O <odermaar at gmail.com>
> Date: Di., 11. Juni 2019 um 14:18 Uhr
> Subject: bird (2.0.4) does not install multipath route in kernel
> To: <bird-users at network.cz>
>
>
>   This topic was already discussed around March 1st 2019, without having received a clear outcome.
>
> Now, dealing with ECMP with OSPF in Bird 2.04 on Fedora30, I run in same problems:
>
> -> multiple next hops to same destination (50.50.50.0/24)  are in the route table of bird:
> bird> sho route
> Table master4:
> 10.10.10.0/24        unicast [OIPv46 13:39:16.979] I (150/10) [10.10.10.1]
> dev enp0s3
> 192.168.122.0/24     unicast [OIPv46 13:46:18.979] E2 (150/10/10000) [10.10.10.3]
> via 10.10.10.3 on enp0s3
> 50.50.50.0/24        unicast [OIPv46 13:46:18.979] E2 (150/10/100) [10.10.10.3]
>                via 10.10.10.2 on enp0s3 weight 11
>                via 10.10.10.3 on enp0s3 weight 11
> bird>
> [root at localhost ~]#
>
> but kernel route table looks unexpectedly different:
> root at localhost ~]# netstat -rn
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
> 10.10.10.0      0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
> 50.50.50.0      10.10.10.2      255.255.255.0   UG        0 0          0 enp0s3
> 192.168.122.0   10.10.10.3      255.255.255.0   UG        0 0          0 enp0s3
> [root at localhost ~]#
>
> Kernel looks configured correctly (CONFIG_IP_ROUTE_MULTIPATH=y), etc.etc.
>
> Bird config on ECMPed bird router:
> protocol ospf OIPv46 {
>         tick 2;
>         rfc1583compat yes;
>         ecmp yes limit 8;
>         merge external yes;
>   ipv4 {
>                 import all;
>                 export all;
> };
> area 0 {
> interface "enp0*" {
> # type broadcast; # Detected by default
> cost 10; # Interface metric
>                         ecmp weight 11;
>
> What is missing either in the bird-config or the kernel part?
>
> Thx
>
> BR
> Ar
>


More information about the Bird-users mailing list