Next Previous Contents

4. Remote control

You can use the command-line client birdc to talk with a running BIRD. Communication is done using a bird.ctl UNIX domain socket (unless changed with the -s option given to both the server and the client). The commands can perform simple actions such as enabling/disabling of protocols, telling BIRD to show various information, telling it to show routing table filtered by filter, or asking BIRD to reconfigure. Press ? at any time to get online help. Option -v can be passed to the client, to make it dump numeric return codes along with the messages. You do not necessarily need to use birdc to talk to BIRD, your own applications could do that, too -- the format of communication between BIRD and birdc is stable (see the programmer's documentation).

Here is a brief list of supported functions:

dump resources|sockets|interfaces|neighbors|attributes|routes|protocols

Dump contents of internal data structures to the debugging output.

show status

Show router status, that is BIRD version, uptime and time from last reconfiguration.

show protocols [all]

Show list of protocol instances along with tables they are connected to and protocol status, possibly giving verbose information, if all is specified.

show ospf [interface|neighbors] [name] ["interface"]

Show detailed information about OSPF protocol, possibly giving a verbose list of interfaces and neighbors. The name of the protocol instance can be omitted if there exists only a single instance.

show static [name]

Show detailed information about static routes. The name of the protocol instance can be omitted if there exists only a single instance.

show interfaces [summary]

Show the list of interfaces. For each interface, print its type, state, MTU and addresses assigned.

show symbols

Show the list of symbols defined in the configuration (names of protocols, routing tables etc.).

show route [[for] prefix|IP] [table sym] [filter f|where c] [(import|proto) p] [options]

Show contents of a routing table (by default of the main one), that is routes, their metrics and (in case the all switch is given) all their attributes.

You can specify a prefix if you want to print routes for a specific network. If you use for prefix or IP, you'll get the entry which will be used for forwarding of packets to the given destination. By default, all routes for each network are printed with the selected one at the top, unless primary is given in which case only the selected route is shown.

You can also ask for printing only routes processed and accepted by a given filter (filter name or filter { filter } or matching a given condition (where condition). The import and proto switches ask for printing of entries as they would be seen by the specified protocol. With import, the export filter of the protocol is skipped.

The stats switch requests showing of route statistics (the number of networks, number of routes before and after filtering). If you use count instead, only the statistics will be printed.

enable|disable|restart name|"pattern"|all

Enable, disable or restart a given protocol instance, instances matching the pattern or all instances.

configure ["config file"]

Reload configuration from a given file.

down

Shut BIRD down.

debug protocol|pattern|all all|off|{ states | routes | filters | events | packets }

Control protocol debugging.


Next Previous Contents