birdc
Control and monitor BIRD routing daemon
TLDR
Open the remote control console
Reload the configuration without restarting BIRD
Show the current status of BIRD
Show all configured protocols
Show all details about a protocol
Show all routes that contain a specific AS number
Show all best routes
Show all details of all routes from a given prefix
SYNOPSIS
birdc [-s <socket>] [-d] [-R] [-r] [-P <proto>] [-p <prefix>] [command [arg ...]]
PARAMETERS
-s <socket>
Path to BIRD control socket (default: /var/run/bird.ctl)
-d
Enable debug output
-R
Raw mode: dump raw protocol messages
-r
Non-interactive mode (execute command and exit)
-P <proto>
Limit commands to specified protocol instance
-p <prefix>
Apply commands to routes matching given prefix
-t <table>
Use specified routing table
-v
Show version information
DESCRIPTION
birdc is the command-line interface client for the BIRD Internet Routing Daemon, a routing software suite for Unix-like systems. It allows users to interact with a running BIRD instance via a Unix-domain control socket, enabling monitoring and management of routing protocols, tables, and routes.
Primarily used by network administrators to inspect the state of BGP, OSPF, RIP, and other protocols supported by BIRD. Common tasks include displaying protocol status, routes, symbols, and interfaces, as well as injecting or withdrawing routes dynamically. birdc supports interactive mode for sequential commands or non-interactive execution of single commands.
In interactive mode (default without -r), it provides a shell-like prompt ('bird>') for entering commands like show protocols, show route, or show protocols all. Output is formatted for readability, with options for raw protocol dumps. birdc authenticates via a password configured in BIRD's config file under the 'control' section.
It does not modify the configuration file but sends runtime commands to the daemon, making it essential for troubleshooting and operational control in production routing environments. Supports filtering by protocol instances or prefixes for targeted queries.
COMMON COMMANDS
show protocols: List protocol status.
show route [for <proto>]: Display routing table.
show symbols: Show imported/exported routes.
AUTHENTICATION
Requires 'control "socket" { password "secret"; }' in bird.conf for access.
HISTORY
Developed as part of the BIRD project started in 1998 by Martin Mares at Czech Technical University. birdc introduced early for runtime control; evolved with BIRD v1 (2000s) and v2 (2018+), adding JSON output, filters, and multi-table support.
SEE ALSO
bird(8)


