-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-9.4.z
-
None
-
Important
-
rhel-jotnar
-
0
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
None
What were you trying to do that didn't work?\
frr is used in Openstack (RHOSO) as a BGP agent. It runs containerized in dataplane nodes, establishing BGP sessions with peers. Our CI jobs deploy dataplane nodes directly connected to two routers (leafs), which provide default routes to the dataplane nodes via BGP. Hence, each dataplane node has two equal-cost default routes (ECMP). The expected result is:
[root@r0-networker-0 ~]# ip r s default default nhid 176 proto bgp src 99.99.0.6 metric 20 nexthop via 100.64.0.5 dev eth2 weight 1 nexthop via 100.65.0.5 dev eth3 weight 1 [root@r0-networker-0 ~]# podman exec -ituroot frr vtysh -c 'show ip route 0.0.0.0/0' Routing entry for 0.0.0.0/0 Known via "bgp", distance 200, metric 0, best Last update 00:00:37 ago * 100.64.0.5, via eth2, weight 1 * 100.65.0.5, via eth3, weight 1
However, we obtained a wrong result with `frr-8.5.3-11.el9.x86_64.rpm`:
[root@r0-networker-0 ~]# ip r s default default nhid 176 proto bgp src 99.99.0.6 metric 20 [root@r0-networker-0 ~]# podman exec -ituroot frr vtysh -c 'show ip route 0.0.0.0/0' Routing entry for 0.0.0.0/0 Known via "bgp", distance 200, metric 0, best Last update 00:01:26 ago * 100.64.0.5, via eth2, weight 1
After downgrading the frr version to `frr-8.5.3-10.el9.x86_64`, the problem was resolved:
[root@r0-networker-0 ~]# podman cp /tmp/frr-8.5.3-10.el9.x86_64.rpm frr:/tmp [root@r0-networker-0 ~]# podman exec -ituroot frr vtysh -c 'show run' > /tmp/frr-version11.conf [root@r0-networker-0 ~]# podman exec -ituroot frr bash [root@r0-networker-0 /]# rpm -qa frr frr-8.5.3-11.el9.x86_64 [root@r0-networker-0 /]# rpm -Uv --force /tmp/frr-8.5.3-10.el9.x86_64.rpm Verifying packages... Preparing packages... frr-8.5.3-10.el9.x86_64 frr-8.5.3-11.el9.x86_64 [root@r0-networker-0 /]# rpm -qa frr frr-8.5.3-10.el9.x86_64 [root@r0-networker-0 /]# exit [root@r0-networker-0 ~]# podman ps | grep frr 5379a342606c quay.io/podified-antelope-centos9/openstack-frr@sha256:aac1deb2b5e9fdfd371c1e7325a1cd3af8ca78242dc3143cc6f24bbed73c99cd kolla_start 11 hours ago Up 2 minutes frr [root@r0-networker-0 ~]# systemctl restart edpm_frr [root@r0-networker-0 ~]# podman ps | grep frr 5379a342606c quay.io/podified-antelope-centos9/openstack-frr@sha256:aac1deb2b5e9fdfd371c1e7325a1cd3af8ca78242dc3143cc6f24bbed73c99cd kolla_start 11 hours ago Up 11 seconds frr [root@r0-networker-0 ~]# ip r show default default nhid 176 proto bgp src 99.99.0.6 metric 20 nexthop via 100.64.0.5 dev eth2 weight 1 nexthop via 100.65.0.5 dev eth3 weight 1 [root@r0-networker-0 ~]# podman exec -ituroot frr vtysh -c 'show ip route 0.0.0.0/0' Routing entry for 0.0.0.0/0 Known via "bgp", distance 200, metric 0, best Last update 00:00:37 ago * 100.64.0.5, via eth2, weight 1 * 100.65.0.5, via eth3, weight 1 [root@r0-networker-0 ~]# podman exec -ituroot frr vtysh -c 'show run' > /tmp/frr-version10.conf
What is the impact of this issue to you?
ECMP is not propely applied and due to this, there is no load balancing and no high availability.
Please provide the package NVR for which the bug is seen:
https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=3878852
How reproducible is this bug?:
100%
Steps to reproduce
- See previous description and attached files
Expected results
ECMP applied properly
Actual results
ECMP not applied properly