I think this is harmless, but reload all does this: bird> reload all kernel1: reload failed device1: reload failed MyBGP: reloading If I understand rightly what reload is meant to do for kernel/device (nothing), shouldn't this either report 'reloading' or say 'skipped' or something? I spent a little while debugging this thinking I've done something wrong. Config below (same as before) just in case I have. -- Alex Bligh protocol kernel { persist; # Don't remove routes on bird shutdown scan time 10; # Scan kernel routing table every 20 seconds import all; export all; learn; # Learn all alien routes from the kernel } # This pseudo-protocol watches all interface up/down events. protocol device { scan time 10; # Scan interfaces every 10 seconds } protocol bgp MyBGP { local as 65000; neighbor 10.255.199.1 as 65000; export filter { accept; }; import filter { accept; }; next hop self; import all; export all; }