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
