aboutsummaryrefslogtreecommitdiffstats
path: root/debian/bird.xml
blob: 2cc69575272517caeebd05f69860df4f8c35133e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [

<!--

`xsltproc -''-nonet \
          -''-param man.charmap.use.subset "0" \
          -''-param make.year.ranges "1" \
          -''-param make.single.year.ranges "1" \
          /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
          manpage.xml'

A manual page <package>.<section> will be generated. You may view the
manual page with: nroff -man <package>.<section> | less'. A typical entry
in a Makefile or Makefile.am is:

DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
XP     = xsltproc -''-nonet -''-param man.charmap.use.subset "0"

manpage.1: manpage.xml
        $(XP) $(DB2MAN) $<

The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.

Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1> ... </refsect1>.

To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.

Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`

General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/

-->

  <!ENTITY dhfirstname "Giovanni">
  <!ENTITY dhsurname   "Mascellani">
  <!ENTITY dhusername  "&dhfirstname; &dhsurname;">
  <!ENTITY dhemail     "mascellani@poisson.phc.unipi.it">
  <!ENTITY dhsection   "8">
  <!ENTITY dhtitle     "BIRD User Manual">
]>

<refentry>
  <refentryinfo>
    <title>&dhtitle;</title>
    <productname>bird</productname>
    <authorgroup>
      <author>
       <firstname>&dhfirstname;</firstname>
        <surname>&dhsurname;</surname>
        <contrib>Wrote this manpage for the Debian system.</contrib>
        <address>
          <email>&dhemail;</email>
        </address>
      </author>
      <author>
        <firstname>Jakub</firstname>
        <surname>Ružička</surname>
        <contrib>Updated this manpage for birdcl.</contrib>
        <address>
          <email>jakub.ruzicka@nic.cz</email>
        </address>
      </author>
    </authorgroup>
    <copyright>
      <year>2010</year>
      <holder>&dhusername;</holder>
    </copyright>
    <copyright>
      <year>2022</year>
      <holder>Jakub Ružička</holder>
    </copyright>
    <legalnotice>
      <para>This manual page was written for the Debian system
        (and may be used by others).</para>
      <para>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.</para>
      <para>On Debian systems, the complete text of the GNU General Public
        License can be found in
        <filename>/usr/share/common-licenses/GPL</filename>.</para>
    </legalnotice>

  </refentryinfo>
  <refmeta>
    <refentrytitle>bird</refentrytitle>
    <manvolnum>&dhsection;</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>bird</refname>
    <refpurpose>BIRD Internet Routing Daemon</refpurpose>
  </refnamediv>
  <refnamediv>
    <refname>birdc</refname>
    <refpurpose>BIRD Internet Routing Daemon remote control</refpurpose>
  </refnamediv>
  <refnamediv>
    <refname>birdcl</refname>
    <refpurpose>BIRD Internet Routing Daemon remote control light</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>bird</command>
      <arg choice="opt"><option>-c <replaceable>config-file</replaceable></option></arg>
      <arg choice="opt"><option>-d</option></arg>
      <arg choice="opt"><option>-D <replaceable>debug-file</replaceable></option></arg>
      <arg choice="opt"><option>-f</option></arg>
      <arg choice="opt"><option>-g <replaceable>group</replaceable></option></arg>
      <arg choice="opt"><option>-l</option></arg>
      <arg choice="opt"><option>-p</option></arg>
      <arg choice="opt"><option>-P <replaceable>pid-file</replaceable></option></arg>
      <arg choice="opt"><option>-R</option></arg>
      <arg choice="opt"><option>-s <replaceable>control-socket</replaceable></option></arg>
      <arg choice="opt"><option>-u <replaceable>user</replaceable></option></arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>birdc</command>
      <arg choice="opt"><option>-l</option></arg>
      <arg choice="opt"><option>-r</option></arg>
      <arg choice="opt"><option>-s <replaceable>control-socket</replaceable></option></arg>
      <arg choice="opt"><option>-v</option></arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>birdcl</command>
      <arg choice="opt"><option>-l</option></arg>
      <arg choice="opt"><option>-r</option></arg>
      <arg choice="opt"><option>-s <replaceable>control-socket</replaceable></option></arg>
      <arg choice="opt"><option>-v</option></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id="description">
    <title>DESCRIPTION</title>
    <para><command>bird</command> 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.</para>
    <para><command>birdc</command> is a remote control for <command>bird</command>.
      While <command>bird</command> is running, the system administrator can
      connect to it using <command>birdc</command>, to inspect its internal
      status and reconfigure it. The two processes use a Unix socket to
      communicate. Once started, <command>bird</command> 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.</para>
    <para><command>birdcl</command> is a light version of <command>birdc</command>
      remote control for <command>bird</command> without readline/ncurses support.
      TAB completion isn't available.</para>
  </refsect1>

  <refsect1 id="options">
    <title>OPTIONS</title>
    <para>The <command>bird</command> accepts these options:</para>
    <variablelist>
      <varlistentry>
        <term><option>-c <replaceable>config-file</replaceable></option></term>
        <listitem>
          <para>Use given configuration file instead of the default /etc/bird/bird.conf.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-d</option></term>
        <listitem>
          <para>Enable debug messages to stderr, and run bird in foreground.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-D <replaceable>debug-file</replaceable></option></term>
        <listitem>
          <para>Enable debug messages to given file.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-f</option></term>
        <listitem>
          <para>Run bird in foreground.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-g <replaceable>group</replaceable></option></term>
        <listitem>
          <para>Run bird with given group ID.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--help</option></term>
        <listitem>
          <para>Display command-line options to bird.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-l</option></term>
        <listitem>
          <para>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 <option>-c</option>,
            <option>-s</option> have higher priority.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-p</option></term>
        <listitem>
          <para>Just parse the config file and exit. Return value is zero if the
            config file is valid, nonzero if there are some errors.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-P <replaceable>pid-file</replaceable></option></term>
        <listitem>
          <para>Create a PID file with given filename.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-R</option></term>
        <listitem>
          <para>Apply graceful restart recovery after start.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-s <replaceable>control-socket</replaceable></option></term>
        <listitem>
          <para>Use given filename for a socket for communications with the
            client (remote control), default is /run/bird/bird.ctl.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-u <replaceable>user</replaceable></option></term>
        <listitem>
          <para>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.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--version</option></term>
        <listitem>
          <para>Display bird version.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <para><command>birdc</command> and <command>birdcl</command> accept these options:</para>
    <variablelist>
      <varlistentry>
        <term><option>-l</option></term>
        <listitem>
          <para>Look for a communication socket in the current working directory.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-r</option></term>
        <listitem>
          <para>Run <command>birdc</command> in restricted mode: only the
            `show ...' commands are allowed.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-s <replaceable>control-socket</replaceable></option></term>
        <listitem>
          <para>Use given filename for a socket for communications with the
            server, default is /run/bird/bird.ctl.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-v</option></term>
        <listitem>
          <para>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.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="files">
    <title>FILES</title>
    <variablelist>
      <varlistentry>
        <term><filename>/etc/bird/bird.conf</filename></term>
        <listitem>
          <para>The system-wide configuration file to control the
            behaviour of <application>bird</application>. See
            the website for more documentation.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="see_also">
    <title>SEE ALSO</title>
    <para>More documentation can be found on the website:
      https://bird.network.cz/.</para>
  </refsect1>
</refentry>