2.0.9 babel interfaces removed after configure

Johannes Kimmel fff at bareminimum.eu
Fri Feb 25 02:55:35 CET 2022


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20220225/a7e30c93/attachment.sig>


More information about the Bird-users mailing list