Multiple Kernel Tables on one BIRD Table
When trying to sync a BIRD routing table to multiple kernel routing tables (with different export filters, obviously), BIRD refuses with, eg, "Kernel syncer (v6kern) already attached to table master6". Is this something that is fundamental or would be it easy to address this by allowing it if the "kernel table" field has a different value? Thanks, Matt
Hi, It is explained in the documentation: https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.6
If your OS supports only a single routing table, you can configure only one instance of the Kernel protocol. If it supports multiple tables (in order to allow policy routing; such an OS is for example Linux), you can run as many instances as you want, but each of them must be connected to a different BIRD routing table and to a different kernel table. Because the kernel protocol is partially integrated with the connected routing table, there are two limitations - it is not possible to connect more kernel protocols to the same routing table and changing route destination (gateway) in an export filter of a kernel protocol does not work. Both limitations can be overcome using another routing table and the pipe protocol.
On Mon, Jun 1, 2020 at 8:06 PM Matt Corallo <birdlist@as397444.net> wrote:
When trying to sync a BIRD routing table to multiple kernel routing tables (with different export filters, obviously), BIRD refuses with, eg, "Kernel syncer (v6kern) already attached to table master6". Is this something that is fundamental or would be it easy to address this by allowing it if the "kernel table" field has a different value?
Thanks, Matt
Hello! There is a fundamental principle in BIRD that one BIRD table may be synced to at most one kernel table. Use BIRD pipe pseudoprotocol to duplicate the routes to more BIRD tables. This concept may be changed in future, yet not in near future. Maria On June 1, 2020 7:58:39 PM GMT+02:00, Matt Corallo <birdlist@as397444.net> wrote:
When trying to sync a BIRD routing table to multiple kernel routing tables (with different export filters, obviously), BIRD refuses with, eg, "Kernel syncer (v6kern) already attached to table master6". Is this something that is fundamental or would be it easy to address this by allowing it if the "kernel table" field has a different value?
Thanks, Matt
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
participants (3)
-
Alexander Zubkov -
Maria Matějka -
Matt Corallo