On 2019-08-13 13:08, Maria Jan Matejka wrote:
1. Will this be done only in the 2.x branch, or also in the 1.6.x?

Only in 2.x; these changes include sh*tload of changes in route propagation
which we won't do twice.

Right, makes sense indeed. Then I have to upgrade from 1.6 to 2.0 :)


2. If you do use the Kernel protocol, is the entire Bird process still single threaded, or only the part regarding the Kernel protocol? So, calculating which route is best could still be multi threaded, but sending the end result to the kernel is single threaded

The multithreaded BIRD will be in a separate code branch, a separate version,
separate binary. If you opt for multithreaded, no kernel protocol will
be available at all.

OK, that's a clear and conscious decision for the users then indeed.


3. If you do use the Kernel protocol to send routes to the kernel, is there any alternative to get Bird fully multi threaded?

To wait until we rework the kernel-nest interface; then we'll merge
multithreaded execution into master.


OK, then I have to wait for that, because I do use the Kernel protocol to place the best routes from all my peers into the kernel routing table.

I run Bird on 4 routers, most of them have 8 cores, one of them even has 12 cores, so I would love to be able to use all those cores for Bird! And I could even double the amount of cores if I would enable Hyper Threading again, but from a security point of view I don't want to do that.

At least if you have some non-trivial filters, it will help you. The first code to be multithreaded is filter code, then probably other parts will follow.

I filter a lot. Currently my Bird config is 78 MB in size, most of it is filtering. That should be noticeable then.

Thanks for your answers. Is there some easy way to follow the process for this, apart from regularly check out the git repo and reading through the commit messages?


Maria

Kind regards,
Cybertinus

Reply via email to