Scroll to navigation

BIRD(8) BIRD User Manual BIRD(8)


bird - BIRD Internet Routing Daemon
birdc - BIRD Internet Routing Daemon remote control


bird [-c config-file] [-d] [-D debug-file] [-f] [-g group] [-l] [-p] [-P pid-file] [-R] [-s control-socket] [-u user]

birdc [-l] [-r] [-s control-socket] [-v]


bird is an Internet Routing Daemon. That is, it sends and receives messages using different protocols in order to discover and exchange routing information with other routing daemons present on the same network. It is able to talk the most widely known routing protocols (such as BGPv4, RIPv2, OSPFv2 and OSPFv3), both on IPv4 and IPv6 and it features a very powerful language for route filtering.

birdc is a remote control for bird. While bird is running, the system administrator can connect to it using birdc, to inspect its internal status and reconfigure it. The two processes use a Unix socket to communicate. Once started, bird will give access to an interactive shell: commands can be completed with TAB and help can be requested by pressing the key `?'. More documentation on the available commands can be foung on the website, see below.


The bird accepts these options:

-c config-file

Use given configuration file instead of the default /etc/bird/bird.conf.


Enable debug messages to stderr, and run bird in foreground.

-D debug-file

Enable debug messages to given file.


Run bird in foreground.

-g group

Run bird with given group ID.


Display command-line options to bird.


Look for a configuration file and a communication socket in the current working directory instead of in default system locations. However, paths specified by options -c, -s have higher priority.


Just parse the config file and exit. Return value is zero if the config file is valid, nonzero if there are some errors.

-P pid-file

Create a PID file with given filename.


Apply graceful restart recovery after start.

-s control-socket

Use given filename for a socket for communications with the client (remote control), default is /run/bird/bird.ctl.

-u user

Drop privileges and run as given user instead of root. The bird would keep CAP_NET_ADMIN and other network-related capabilities necessary for its function.


Display bird version.

The birdc accepts these options:


Look for a communication socket in the current working directory.


Run birdc in restricted mode: only the `show ...' commands are allowed.

-s control-socket

Use given filename for a socket for communications with the server, default is /run/bird/bird.ctl.


Numeric return codes are dumped along with messages, making them easily parsable by a program. See the programmer's documentation for information about their meanings.



The system-wide configuration file to control the behaviour of bird. See the website for more documentation.


More documentation con be found on the website:


Giovanni Mascellani <>

Wrote this manpage for the Debian system.


Copyright © 2010 Giovanni Mascellani

This manual page was written for the Debian system (and may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

01/02/2021 bird