Force bird to update bgp route configuration after X seconds

Douglas Fischer fischerdouglas at gmail.com
Tue Mar 28 13:43:09 CEST 2023


I've been following the list for some time now, and this topic of punctual
changes in birdc conf with or without the need for a complete reload is
always coming back, and it's always a complex topic...

>From simple things like adding a route, updating a prefix-list...
Even with things like adding a new peer.

This is certainly not a simple thing to address.
But it is a pain that attacks several scenarios.

I'm sure the developers have already had deep conversations about this, and
that SMP has a higher priority.

But could you just mention what possibilities were considered to resolve
this issue?

Em ter., 28 de mar. de 2023 às 04:01, Maria Matejka via Bird-users <
bird-users at network.cz> escreveu:

> Hello!
>
> Yes, you shall run "birdc conf" yourself when your conffile is ready. What
> if BIRD started the autoreconfig right when you're writing the file? You
> could easily get strange behavior like accidentally removing a bunch of
> protocols by loading a partial config file. You'd have to assure atomic
> exchange of the file – and this way, you may just run the reconfigure
> command explicitly anyway.
>
> There are some internal drafts on how to dynamically add routes without
> having to reload possibly large config files, yet we haven't decided on any
> approach yet, let aside actually implementing it.
>
> Maria
>
> On 28 March 2023 00:55:04 CEST, "Pedro Henrique de Araújo Marques" <
> pedroam27 at hotmail.com> wrote:
>>
>> Good evening, I'm doing some tests with BIRD for a while now and I would
>> like some help with a problem I'm facing. I have the following BIRD
>> configuration:
>>
>> *router id 10.0.0.128;*
>>
>> *ipv4 table master4;*
>> *ipv6 table master6;*
>> *flow4 table flowtab4;*
>> *flow6 table flowtab6;*
>>
>> *filter subnet_group1{*
>> *                if(bgp_community.len = 0) then {*
>> *                        bgp_community.add((555,555));*
>> *                        accept;*
>> *                }*
>> *                else{ accept; }*
>>
>> *};*
>>
>> *protocol bgp uplink1{*
>> *        local as 129;*
>> *        neighbor 10.0.1.128 as 128;*
>> *        multihop 1;*
>> *        ipv4{*
>> *                import filter { accept; };*
>> *                export filter subnet_group1;*
>> *        };*
>> *        ipv6{*
>> *                import filter { accept; };*
>> *                export filter subnet_group1;*
>> *        };*
>> *};*
>>
>> *protocol static blackhole_ipv4_routes{*
>> *        route 10.0.90.100/32 <http://10.0.90.100/32> blackhole;*
>> *        route 10.0.90.99/32 <http://10.0.90.99/32> blackhole;*
>> *        ipv4;*
>> *};*
>>
>> I created a script that after some time it inserts some new routes into
>> the  blackhole_ipv4_routes protocol defined above, let's say all of
>> 10.0.0.0/24 for example. Is there an option that I could use in the
>> config file to detect this change and update bird accordingly with the new
>> table additions, or do I need to always call 'birdc -configure' after the
>> script ends?
>>
>

-- 
Douglas Fernando Fischer
Engº de Controle e Automação
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20230328/e0e82dc1/attachment.htm>


More information about the Bird-users mailing list