Exa-Networks / exabgp

The BGP swiss army knife of networking
Other
2.07k stars 443 forks source link

Unexpected behavior of 'clear adj-rib out' and 'flush adj-rib out' with route-refresh feature enabled #1087

Closed moonsky219 closed 2 years ago

moonsky219 commented 2 years ago

Describe the bug

When route-refresh feature is enabled, neighbor x.x.x.x clear adj-rib out does not withdraw routes in its adj-rib out table, actually I didn't observe any BGP messages with tcpdump. neighbor x.x.x.x flush adj-rib out triggers an OPEN message to switch instead of resending routes in its adj-rib out table.

To Reproduce

Steps to reproduce the behavior:

Expected behavior

With route-refresh capability negotiated between ExaBGP and switch, neighbor x.x.x.x clear adj-rib out should still withdraw all routes in adj-rib out table. neighbor x.x.x.x flush adj-rib out should still resend all routes in adj-rib out table.

Environment (please complete the following information):

Additional context

thomas-mangin commented 2 years ago

Thank you for the report, I will look into it when I can. I will first have to build a set of tests for the CI and then debug it. It will not be immediate. What is the impact of this issue on your work?

moonsky219 commented 2 years ago

Hi @thomas-mangin, thank for your response. This issue blocked our efforts to improve our network availability. It would be very nice if you can look into the issue at your convenience time.

thomas-mangin commented 2 years ago

we now have a test for this and it is correctly failing (after fixing other rib related things) - just to indicate that I am working on the issue, but it is not yet finished.

thomas-mangin commented 2 years ago

Could you re-perform your tests with the latest master please.

thomas-mangin commented 2 years ago

Closing the issue. Feel free to re-open if you find that the tests api-rib and api-rr-rib did not cover your issue reported.