<html><head></head><body>Yes, import from kernel or import by e.g. ExaBGP or even by another instance of BIRD via BGP is definitely a thing. The main question is imho about scaling – how big is the original config, how many routes are being inserted and what latency is required. <br><br>Maria<br><br><div class="gmail_quote">On 28 March 2023 20:22:00 CEST, Hugo Slabbert <hugo.slabbert@menlosecurity.com> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr">For this specific use case, you could also couple this through creating the static routes to blackhole in a discrete kernel routing table, creating a kernel protocol definition in BIRD config for that kernel routing table, and then importing those kernel routes from there, yea? That does only speak to this specific requirement rather than the overall question of "hot config reloads", but may address Pedro's specific use case?<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 28, 2023 at 12:02 AM Maria Matejka via Bird-users <<a href="mailto:bird-users@network.cz">bird-users@network.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-8157725166866482638">
<div dir="ltr">Hello!<br><br>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.<br><br>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.<br><br>Maria<br><br><div class="gmail_quote">On 28 March 2023 00:55:04 CEST, "Pedro Henrique de Araújo Marques" <<a href="mailto:pedroam27@hotmail.com" target="_blank">pedroam27@hotmail.com</a>> wrote:<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
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:<br>
<br>
<b>router id 10.0.0.128;</b>
<div><b><br>
</b></div>
<div><b>ipv4 table master4;</b></div>
<div><b>ipv6 table master6;</b></div>
<div><b>flow4 table flowtab4;</b></div>
<div><b>flow6 table flowtab6;</b></div>
<div><b><br>
</b></div>
<div><b>filter subnet_group1{</b></div>
<div><b> if(bgp_community.len = 0) then {</b></div>
<div><b> bgp_community.add((555,555));</b></div>
<div><b> accept;</b></div>
<div><b> }</b></div>
<div><b> else{ accept; }</b></div>
<div><b><br>
</b></div>
<div><b>};</b></div>
<div><b><br>
</b></div>
<div><b>protocol bgp uplink1{</b></div>
<div><b> local as 129;</b></div>
<div><b> neighbor 10.0.1.128 as 128;</b></div>
<div><b> multihop 1;</b></div>
<div><b> ipv4{</b></div>
<div><b> import filter { accept; };</b></div>
<div><b> export filter subnet_group1;</b></div>
<div><b> };</b></div>
<div><b> ipv6{</b></div>
<div><b> import filter { accept; };</b></div>
<div><b> export filter subnet_group1;</b></div>
<div><b> };</b></div>
<div><b>};</b></div>
<div>
<div><b><br>
</b></div>
<div><b>protocol static blackhole_ipv4_routes{</b></div>
</div>
<div><b> route <a href="http://10.0.90.100/32" target="_blank">10.0.90.100/32</a> blackhole;</b></div>
<div><b> route <a href="http://10.0.90.99/32" target="_blank">10.0.90.99/32</a> blackhole;</b></div>
<div><b> ipv4;</b></div>
<b>};</b><br>
<br>
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 <a href="http://10.0.0.0/24" target="_blank">10.0.0.0/24</a> 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?<br>
</div>
</blockquote></div></div>
</div></blockquote></div>
</blockquote></div></body></html>