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).
Many commands have the name of the protocol instance as an argument. This argument can be omitted if there exists only a single instance.
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 [name] ["interface"]
Show detailed information about OSPF interfaces.
show ospf neighbors [name] ["interface"]
Show a list of OSPF neighbors and a state of adjacency to them.
show ospf state [name]
Show detailed information about OSPF areas based on a content of link-state database. It shows network topology, aggregated networks and routers from other areas and external routes.
show ospf topology [name]
Show a topology of OSPF areas based on a content of link-state database. It is just a stripped-down version of 'show ospf state'.
show static [name]
Show detailed information about static routes.
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] [(export|preexport) p] [protocol 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 export
and preexport
switches ask for printing of entries
that are exported to the specified protocol. With preexport
, the
export filter of the protocol is skipped.
You can also select just routes added by a specific protocol.
protocol p
.
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 [soft] ["config file"]
Reload configuration from a given file. BIRD will smoothly
switch itself to the new configuration, protocols are
reconfigured if possible, restarted otherwise. Changes in
filters usualy lead to restart of affected protocols. If
soft
option is used, changes in filters does not cause
BIRD to restart affected protocols, therefore already accepted
routes (according to old filters) would be still propagated,
but new routes would be processed according to the new
filters.
down
Shut BIRD down.
debug protocol|pattern|all all|off|{ states | routes | filters | events | packets }
Control protocol debugging.