---
name: "bird"
section: "8"
platform: "linux"
package: "bird2"
version: "2.17.5-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/bird"
---

# bird(8)

BIRD Internet Routing Daemon birdc - BIRD Internet Routing Daemon remote control birdcl - BIRD Internet Routing Daemon remote control light

## NAME

bird - BIRD Internet Routing Daemon\
 birdc - BIRD Internet Routing Daemon remote control\
 birdcl - BIRD Internet Routing Daemon remote control light

## SYNOPSIS

**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**\]

**birdcl** \[**-l**\] \[**-r**\] \[**-s** *control-socket*\] \[**-v**\]

## DESCRIPTION

**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 found on the website, see below.

**birdcl** is a light version of **birdc** remote control for **bird** without readline/ncurses support. TAB completion isn't available.

## OPTIONS

The **bird** accepts these options:

- **-c** *config-file*

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

- **-d**

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

- **-D** *debug-file*

  Enable debug messages to given file.

- **-f**

  Run bird in foreground.

- **-g** *group*

  Run bird with given group ID.

- **--help**

  Display command-line options to bird.

- **-l**

  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.

- **-p**

  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.

- **-R**

  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.

- **--version**

  Display bird version.

**birdc** and **birdcl** accept these options:

- **-l**

  Look for a communication socket in the current working directory.

- **-r**

  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.

- **-v**

  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.

## FILES

/etc/bird/bird.conf

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

## SEE ALSO

More documentation can be found on the website: https://bird.network.cz/.

## AUTHORS

**Giovanni Mascellani** \<mascellani@poisson.phc.unipi.it\>

Wrote this manpage for the Debian system.

**Jakub Ružička** \<jakub.ruzicka@nic.cz\>

Updated this manpage for birdcl.

## COPYRIGHT

Copyright © 2010 Giovanni Mascellani\
 Copyright © 2022 Jakub Ružička\

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.
