And you should also be aware that in BIRD 3, you never get rt_notify while
calling rte_update(); route updates are always asynchronous and you get them
always in a clean context.

Interesting. I'll have to look at that. Speaking of bird v3, is it
intentional that the branch for that isn't public? At least I couldn't find
it when I last checked.

As the 3.0-alpha0 diverged quite a lot from 2.0.x, I had to do some heavy merges and rebases. Now what is slowly but surely being finished to get 3.0-alpha1, is located in branch "thread-next" (or for a more recent devel-devel version, "thread-next-iface") with a big goal to regularly merge 2.0.x branches.

Babel should not be affected much, except for the sole fact that you get your routes exported back to you later, not immediately. Also routes and attributes are stored a bit differently, yet I've done these changes in Babel as well as in all other protocols.

For 3.0, the multithreaded protocols will be BGP, BFD and RPKI. This arises from IXP requests where their convergence times should drop a lot after deploying BIRD 3.

For following versions (after BIRD 3 is called stable), we'll continue with other protocols, including Babel, and also with other features made possible by the heavy refactoring of BIRD internals.

Maria

Reply via email to