Closed Try75 closed 4 years ago
@Try75 are you able to test with the latest 7.2 build or the master branch? Because this should be fixed by https://github.com/FRRouting/frr/commit/d4a0d83bfde0e0834edcf3d261fc542286c2fec2
I have tested with FRR-7.2 debian package from https://deb.frrouting.org/. I think I thought https://github.com/FRRouting/frr/commit/d4a0d83bfde0e0834edcf3d261fc542286c2fec2 was included in the 7.2 debian package I tried, but maybe the package was made before that commit. Is there somewhere I can get a latest 7.2 dev package or a nightly build?
@Try75 let me double-check if this is a valid issue.
Confirmed, it's a bug.
The problem is that route reflectors generate TX IDs for 172.16.3.0/24 (let's say 2 and 5 - from two peers) and send an UPDATE message to route reflector client. When 172.16.3.0/24 is removed, route reflectors send WITHDRAW message only for ID: 2. And for ID 5 WITHDRAW message is not sent and the route with ID 5 sits in the RIB at route reflector clients.
We've seen also this bug on our infrastructure. I confirm also that's fixed by #5664
fixed for 7.2 and master branches (7.3 included as well).
Describe the bug With FRR 6.x using
addpath-tx-all-paths
with redundant route reflectors, removing a network advertisement from one AS withdrew the advertisement from another AS that learned it. In FRR 7.2 with identical configurations, all of the duplicate routes from different addpath IDs are not withdrawn. It doesn't matter what version of FRR is used on the peers of the route reflectors, but with version 7.2 running on the route reflectors, incorrect behavior is observed.FRR 6.x and 7.2
show ip bgp
command shows all of duplicate routes learned by AS 4238440709:After removing the advertisement of
172.16.3.0/24
from AS 65001 with FRR 6.x route reflectors, the routes are removed:Replacing FRR 6.x with FRR 7.2 on the route reflectors only, using the same configuration, then removing the advertisement of
172.16.3.0/24
from AS 65001 only withdraws some of the routes:Output of frr.log in FRR 6.x with
debug bgp update
oncgw-4-east1
: adding network 172.16.3.0/24 remotelyremoving network 172.16.3.0/24 remotely
Output of frr.log in FRR 7.2 with
debug bgp update
oncgw-4-east1
: adding network 172.16.3.0/24 remotelyremoving network 172.16.3.0/24 remotely
You can see 2
withdraw
s are missing in FRR 7.2 compared to 6.x. Even with a single route reflector, the same behavior is noticed, just not with as many duplicate routes.(put "x" in "[ ]" if you already tried following) [X] Did you check if this is a duplicate issue? Possible source of issue: https://github.com/FRRouting/frr/pull/3051 [ ] Did you test it on the latest FRRouting/frr master branch?
To Reproduce Steps to reproduce the behavior:
One network (AS 4238440709) has 5 bgp routers:
ctr-1
andctr-2
)cgw-5-west1
andcgw-6-west1
)cgw-4-east1
)The other network,
vpc-3-west1
, has AS 65001 and wants to advertisenetwork 172.16.3.0/24
to AS 4238440709. Observations of routes were taken fromcgw-4-east1
.ctr-1 frr.conf
ctr-2 frr.conf
cgw-5-west1 frr.conf
cgw-6-west1 frr.conf
cgw-4-east1 frr.conf
vpc-3-west-1
advertisenetwork 172.16.3.0/24
cgw-4-east1
, runshow ip bgp
and see 4 routes added for 172.16.3.0/24vpc-3-west-1
of 172.16.3.0/24cgw-4-east1
, runshow ip bgp
again and see some routes remaining when they should have all been removed.I think the issue can be observed with a less complex setup, but this is what I was working with when I decided to document the issue.
Expected behavior Assuming that the configurations used are correct (and they work with FRR 6.x), the routes of all duplicate routes should be removed in FRR 7.2 using
addpath-tx-all-paths
with one or more route reflectors.Versions