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