Syntax of 'show babel' commands?

Toke Høiland-Jørgensen toke at toke.dk
Mon Oct 13 13:30:49 CEST 2025


Chris Webb via Bird-users <bird-users at network.cz> writes:

> I have a router with a simple babel protocol announced on an interface:
>
> protocol babel babel {
>   interface "eth2" {
>     next hop prefer ipv6;
>   };
>   ipv4 {
>     export where net ~ [0.0.0.0/0];
>     import none;
>   };
>   ipv6 {
>     export where net ~ [::/0];
>     import none;
>   };
>   randomize router id;
> }
>
> bird> show proto babel
> Name       Proto      Table      State  Since         Info
> babel      Babel      ---        up     17:32:00.497
>
>
> Out of interest, I tried the 'show babel' commands, but couldn't work out the syntax:
>
> bird> show babel ?
> show babel interfaces [<name>] ["<interface>"]  Show information about Babel interfaces
> show babel neighbors [<name>] ["<interface>"]  Show information about Babel neighbors
> show babel entries [<name>]                    Show information about Babel prefix entries
> show babel routes [<name>]                     Show information about Babel route entries
> bird> show babel interfaces "eth2"
> syntax error, unexpected CF_SYM_KNOWN
> bird> show babel interfaces babel
> syntax error, unexpected CF_SYM_KNOWN
> bird> show babel routes babel
> syntax error, unexpected CF_SYM_KNOWN
>
> What would be a correct argument to supply to these commands?

They're supposed to work the way you specify, and it does for me:

bird> show proto babel1
Name       Proto      Table      State  Since         Info
babel1     Babel      ---        up     2025-10-11
bird> show babel interfaces babel1 "br-lan"
babel1:
Interface  State  Auth  RX cost   Nbrs   Timer Next hop (v4)   Next hop (v6)
br-lan     Up     Yes        96      1   2.159 10.42.6.1       fe80::da58:d7ff:fe00:1d2b

I think what's happening is a symbol collision: you've named your babel
instance 'babel', but the command line parser has 'babel' as a reserved
keyword, so it barfs. Indeed, I get a different error message for
'babel' vs (the also non-existent babel2):

bird> show proto babel2
syntax error, unexpected CF_SYM_UNDEFINED, expecting END or CF_SYM_KNOWN or TEXT or ALL
bird> show proto babel 
syntax error, unexpected BABEL, expecting END or CF_SYM_KNOWN or TEXT or ALL

Notice BABEL instead of CF_SYM_UNDEFINED - indicating a keyword...

So, erm, just rename your protocol instance, and things should work
fine?

Or, given that you only have on instance, just run 'show babel
interfaces' with no arguments...

-Toke


More information about the Bird-users mailing list