Hello!

On 8/23/23 14:12, Pavel Šorejs via Bird-users wrote:
i have following problem - the kernel protocol ignores routes with RTPROT_KERNEL source. Is there some particular reason why this is so?
IIRC it simply was there in the beginning and nobody did any change. It should be possible to implement it cleanly in BIRD 3 (now in alpha stage), or kinda messily in BIRD 2 (but the current implementation is messy anyway so who cares).

Why am i asking? I use BIRD in linux container orchestration context (Kubernetes) in conjunction with cilium project (https://cilium.io/). Lately they discovered, that systemd likes to mess with their routes and did a change to insert their routes with RTPROT_KERNEL source flag. This way, systemd doesn't try to mess with their routes. Side effect of this is that my installation got broken as BIRD ignores such routes. Now i don't know where to start - either they are wrong with using RTPROT_KERNEL flag in the first place, or BIRD is wrong by ignoring such routes. So i am trying here first.

Probably everybody is wrong in some way.

BIRD should have an option to load also RTPROT_KERNEL routes and mark them as flags appropriately.

Cilium should use their own flag (and define it in /etc/iproute2/rt_protos).

SystemD should not mess with routes unless configured so.

Do anybody have some suggestions?

You may, e.g.:

 * send us a messy patch for BIRD 2 (based on branch master)
 * send us a nicer patch for BIRD 3 (based on tag v3.0-alpha2)
 * update Cilium to insert their routes with a custom flag, like BIRD
   does – but not RTPROT_BIRD, please
 * fork Cilium to use BIRD instead of GoBGP
 * open a support request at bird-supp...@network.cz to pay us to do
   something of the above ;-)

Best Regards,
Maria Matejka

--
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.

Reply via email to