Failure to initialize kernel protocol on Bird 1.6.8
Mathew Heard
me at mheard.com
Sun Jul 11 13:46:52 CEST 2021
I've managed to further simplify the testing instructions.
First have a working bird instance online.
Edit your configuration file to include:
table test2;
protocol kernel k_2 {
table test2;
kernel table 15008;
scan time 2;
persist;
export none;
import none;
}
Call "birdc configure" then check the status of the protocol
# birdc show protocols | grep k_2
k_2 Kernel test2 start 21:44:47
Restarting bird will result in "k_2" being initialized correctly.
On Sun, 11 Jul 2021 at 01:33, Mathew Heard <me at mheard.com> wrote:
>
> 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