On Tue, 2019-06-11 at 14:18 +0200, Arno O wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
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@localhost ~]#
but kernel route table looks unexpectedly different: root@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@localhost ~]#
Do you see them if you do 'ip route'? I think iproute2 is better at displaying multipath routes.
Kernel looks configured correctly (CONFIG_IP_ROUTE_MULTIPATH=y), etc.etc.
If the kernel is mis-configured, I believe you get an error trace in the bird log. Something along the following lines; <WARN> Netlink: Invalid argument I tested it on 2.0.4 and kernel 4.14.92+ and that seems to work.
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