Hi,with bird 2.0.9 previously configured babel interfaces are removed after `birdc configure`.
To reproduce the issue I used the following config: router id 127.0.0.1; protocol device { } ipv4 table v4; ipv6 sadr table v6; protocol babel { randomize router id on; ipv4 { table v4; }; ipv6 sadr { table v6; }; interface "dummy0"; } And the following commands: # ip link add dev dummy0 type dummy # ip l set dummy0 up # birdc show babel interfaces BIRD 2.0.9 ready. babel1:Interface State Auth RX cost Nbrs Timer Next hop (v4) Next hop (v6) dummy0 Up No 96 0 2.132 :: fe80::a00c:c0ff:fe44:e43e
# birdc configure BIRD 2.0.9 ready. Reading configuration from /etc/bird.conf Reconfigured # birdc show babel interfaces BIRD 2.0.9 ready. babel1:Interface State Auth RX cost Nbrs Timer Next hop (v4) Next hop (v6)
#As you can see, without changing the config file, the babel interface disappears after reconfiguring bird.
It was suggested to me (thanks nixxda!) that the bug may have been introduced in [1], specifically in line 1757:
+ if (ic && iface_is_valid(p, iface)) + ic = NULL;The issue might be a missing negation before `iface_is_valid`, though I have not confirmed it myself.
Cheers, Johannes Kimmel[1]: https://gitlab.nic.cz/labs/bird/-/commit/c1511b92cc9c215224314be38c28ed80843f55e4#3aaedc53acdac1af04a952110ef73e3e688c5bac_1750_1757
OpenPGP_signature
Description: OpenPGP digital signature