On Wed, 28 Oct 2015, J Yu wrote:
Hi Paul, Thanks for the detail review and comments.
I think the problem is that there are just 3 types of requests to Zebra
when there is route change: add, delete and modify. All of the request
are done after bgp_info has updated completely based on the change. Now,
if it is simply an add, it would be no issue. If it is modify, it would
also be no issue. However, when it is delete, there could be two cases
for the delete.
Yeah, that's sort of the issue, a BGP UPDATE of an existing route (so with
an implicit withdraw) normally results in a ZServ route update, and that's
fine. However, after validating the update and updating the attributes in
the update_main path, the updated route can still be declared invalid
later later in the RIB node process path. The implicit withdraw then
becomes an /explicit/ withdraw (if there are no other routes to send), and
we send a ZServ delete to zebra.
The easiest fix for this is to just delete the prefix without supplying
additional data like nexthop. We want the prefix gone from the Zebra RIB -
Does that sound reasonable?
regards,
--
Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
Fortune:
Do not try to solve all life's problems at once -- learn to dread each
day as it comes.
-- Donald Kaul
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev