Failure to initialize kernel protocol on Bird 1.6.8

Mathew Heard me at mheard.com
Sat Jul 10 17:33:45 CEST 2021


Hi,

I've [suspect] discovered a bug in Bird 1.6.8 where different results
are seen when "birdc configure" vs restarting the daemon. In this case
"birdc configure" fails to initialize the protocol leaving the
protocol in the "start" state permanently.

NOTE: the protocol can be repaired on an existing BGP instance simply
by changing the name and calling configure a second time. This appears
to force a refresh of the protocol and gets it into the correct "up"
state.

Starting the daemon fresh with the configuration results in correct behaviour.

To replicate add the following configuration to your configuration file:
protocol pipe {
  table t_blah;
  peer table master;
  export filter no_default;
  import filter peer_table;
}

protocol static {
  table t_blah;
  route 0.0.0.0/0 recursive 10.0.0.1;
}

protocol kernel k_blah {
  table t_blah;
  kernel table 1234;
  scan time 2;
  persist;
  export filter conditional_table;
  import none;
}

The build of bird I am using is the official Debian release.

Regards,
Mathew


More information about the Bird-users mailing list