kernel: does not learn routes with RTPROT_KERNEL

Pavel Šorejs mail at sorejs.eu
Wed Aug 23 18:07:10 CEST 2023


Hi


I would like to implement a patch, now if to BIRD 2 or BIRD 3 - depends 
on how "alpha" is "alpha".

I would like to get some guidance - you will probably want it 
configurable right? So the default behavior would be the current one 
(ignore) and optionally it can be turned on. Can you suggest how would 
would you like it to be done in .conf file? Single flag like `learn;`? 
Is so, can you suggest name of such flag?

"and mark them as flags appropriately" - by this you mean to mark it in 
`pflags`  parameter? Now the source for KRT is not stored anywhere.


Sorry for so many questions


Thank you

Pavel Sorejs


On 8/23/23 14:53, Maria Matejka via Bird-users wrote:
>
> 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-support at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20230823/d3721714/attachment.htm>


More information about the Bird-users mailing list