-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The BGP conditional advertisement feature causes existing routes being marked as unreachable #14598
Comments
Can you try and confirm if this is happening also for 9.0.1 and/or master? |
Same issue with master. the existed static routes become unreachable (BGP withdraw) and new static route advertises through BGP.
|
Seems I managed to replicate, I'll dig into this issue more. |
I found the issue, gonna fix it this week. |
Great! Thanks @ton31337 SET_FLAG(subgrp->sflags, SUBGRP_STATUS_FORCE_UPDATES); |
@mehrdadrad yes, this is due to the suppression mechanism. There are some specific paths (e.g. route-refresh) where this is necessary (to force), and conditional advertisement is one of them, but was missed. |
@ton31337 Can we have this fix for Stable8.5/8.5.x? also when are you going to cut new release? any estimate? |
@ton31337 Any ETA for next release? |
next week most likely ✌️ |
Version : version 8.5.2
OS: Fedora 38
Kernel: 6.4.10-200.fc38.x86_64
Describe the bug:
We're using BGP conditional advertisement under network namespace (VRF) per peer and we noticed local configuration changes on peers cause the existing route(s) become unreachable and withdrawn. We've configured redistribute static routes to BGP and this bug appears when we add one new static route with appropriate prefix-list or when the BGP conditional adv. detects a change. The issue can be recovered by soft reset of BGP neighbors in out direction also when we remove the BGP conditional everything works properly. Please let me know if you need more information.
To Reproduce
Step 1: Configure FRR to advertise
172.16.16.0/24
to peer 169.254.100.15 when10.0.0.0/8
exist (condition) and advertise100.64.15.1/32
to peer169.254.110.15
when0.0.0.0
exist (condition).Log:
In the above log, you can see
100.64.15.1/32
was advertised and when BGP conditional adv. detected a change then100.64.15.1/32
is marked as unreachable but the static route (ip route 100.64.15.1/32 eno1
) was in place.# show bgp vrf all sum
# clear ip bgp vrf vrf1 * soft out
# show bgp vrf all sum
Step 2 : Adding new static route
100.64.15.2
with appropriate prefix-list. It needs to advertise to peer169.254.110.15
Log:
In the above log shows, when the static route (
100.64.15.2/32
) has been added, the two existed static routes (172.16.16.0/24
and100.64.15.1/32
) became unreachable and withdrawn.# show bgp vrf all sum
# show ip bgp vrf vrf1 neighbors 169.254.110.15 advertised-routes
The soft BGP reset recovers this issue.
# clear ip bgp vrf vrf1 * soft out
# show bgp vrf all sum
# show ip bgp vrf vrf1 neighbors 169.254.110.15 advertised-routes
# show ip bgp vrf vrf1 neighbors 169.254.100.15 advertised-routes
The text was updated successfully, but these errors were encountered: