<div dir="auto"><div>Hi,</div><div dir="auto"><br></div><div dir="auto">In the meanwhile, you can use my patch, so that bird shouldn't change protocol states when you do "configure soft". There is a link in my presentation (slide 6):</div><div dir="auto"><a href="https://ripe81.ripe.net/archives/video/479/">https://ripe81.ripe.net/archives/video/479/</a><br></div><div dir="auto">There are some other patches you might find interesting too.</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, Dec 1, 2021, 08:08  <<a href="mailto:bird21@sensation.net.au">bird21@sensation.net.au</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
On Wed, 1 Dec 2021, Maria Matejka wrote:<br>
<br>
>> 1. Allow enable/disable to be part of the config, so that a protocol can be <br>
>> disabled by default, and needs a manual poke via CLI command to enable it. <br>
[...]<br>
<br>
> This is already in config, use "enabled" and "disabled" keywords.<br>
<br>
Aha! I didn't find that previously in the docs - of course now I can see <br>
it. I did try "disable" as per the CLI command, but obviously that <br>
slightly different directive doesn't work. Perhaps a note could be added <br>
to the CLI docs to mention that it can be set semi-permanently in the <br>
config?<br>
<br>
>> 2a. When reloading config, preserve the current state of a protocol that <br>
>> has been disabled. (I'm trying to debug a config, which involves disabling <br>
[...]<br>
<br>
> We don't like to change what BIRD does by default as it may confuse others <br>
> who aren't familiar with the changes and both variants of behavior have their <br>
> appropriate use. Yet we may consider something likeĀ  a "keep protocol states" <br>
> option to explicitly disable protocol disabling/enabling on config reload.<br>
<br>
Yes, I did intend to mean that it would be an option, rather than a <br>
(potentially dangerous) change in default behaviour. For now, I'll just <br>
try to remember to uncomment "disabled" in the block before I start <br>
fiddling. :)<br>
<br>
Whilst I have your attention, there is one other thing that doesn't seem <br>
to be explicitly mentioned in the docs: what happens when you have <br>
multiple import/export filters listed for the one protocol? Does the first <br>
accept/reject win, and exit any further filter processing, or is there <br>
some other behaviour? Are the multiple filters evaluated in config order, <br>
or some other order?<br>
<br>
Initially I was trying to make separate filters for <a href="http://0.0.0.0/0" rel="noreferrer noreferrer" target="_blank">0.0.0.0/0</a> and <br>
x.x.x.0/24, for import and export via BGP respectively, and combine them <br>
to allow both routes to be advertised locally (without needing a third <br>
filter)... but it doesn't work, possibly because both filters have an <br>
unconditional reject at the end.<br>
<br>
Thanks!<br>
</blockquote></div></div></div>