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