-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Description
When we have a scenario with 1 frr box which is peered with 3 route-servers that advertise the same evpn routes, after clearing a session with 1 of them, all routes are being immediately withdrawn from kernel and re-added after session comes back up. This causes a downtime if there is a significant number of routes to be processed.
Version
My reproduction uses 10.1.1, however the same happens on 10.3-dev
3d4364ce7392# show ver
FRRouting 10.1.1 (3d4364ce7392) on Linux(5.15.0-127-generic).
How to reproduce
I have provided an instruction in my public repo here, just follow README.md in session_flap directory.
Expected behavior
This is a question to FRR maintainers with more expertise, should that be the case? My initial suspicion was that only routes being marked as best-path are being withdrawn, but that is not the case.
Actual behavior
Having routes withdrawn from kernel even though after session clear even though we receive the same routes from at least 1 additional peer.
Additional context
I have did some investigation after which PR it started to behave this way (in frr 8.4.2 this was not the case and when we cleared one out of 3 sessions, the routes were not withdrawn from kernel). The PR after it started to be noticeable was this one. Specifically this line causes immediate withdrawal. I am not sure if that is expected (according to the comment, this withdrawal was added 7 years ago, I do not know what were the circumstances, would need a comment from someone with more knowledge).
Checklist
- I have searched the open issues for this bug.
- I have not included sensitive information in this report.