1FRR-BGPD(8)                           FRR                          FRR-BGPD(8)
2
3
4

NAME

6       frr-bgpd  - a BGPv4, BGPv4+, BGPv4- routing engine for use with FRRout‐
7       ing.
8

SYNOPSIS

10       bgpd [-h] [-v]
11
12       bgpd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z  zclient-path]
13       [-u  user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]]
14       [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]
15

DESCRIPTION

17       bgpd is a routing component that works with the FRRouting  routing  en‐
18       gine.
19

OPTIONS

21       OPTIONS available for the bgpd command:
22
23   HELP AND VERSION
24       -h, --help
25              Print a short description of the daemon's command line options.
26
27       -v, --version
28              Print version and build information for the daemon.
29
30       Both  of  these  options  inhibit normal operation and will immediately
31       exit.
32
33   PROCESS CONTROL
34       These options control background operation:
35
36       -d, --daemon
37                 Launches the process in background/daemon mode,  forking  and
38                 detaching from the terminal.
39
40              The  parent  process  will delay its exit until the daemon/child
41              has finished its initialization and has entered its  main  loop.
42              This  is  important  for zebra startup because the other daemons
43              will attempt to connect to zebra. A return from zebra -d guaran‐
44              tees its readiness to accept these connections.
45
46       -t, --terminal
47              Opens  an  interactive VTY session on the terminal, allowing for
48              both state and configuration operations.  Note that the terminal
49              starts  operating after startup has completed and the configura‐
50              tion file has been loaded.
51
52              The process will exit when end of file is detected on the termi‐
53              nal.  It is possible to daemonize a process started with -t (but
54              without -d) by sending SIGQUIT to the process  (normally  mapped
55              to a ^keypress.)
56
57       The  combination  of --daemon and --terminal will delay the daemon from
58       going into background until the terminal session ends (by end of file.)
59
60       If the process receives SIGINT (e.g. a ^C keypress) in  this  mode,  it
61       will exit instead of daemonizing.
62
63       It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the
64       previous two options;  this will only stop the  terminal  but  not  the
65       protocol daemon itself (which runs in a separate second process.)
66
67   CONFIGURATION AND PATHS
68       The  following  options control configuration and file system locations
69       for frr processes:
70
71       -f, --config_file config-file
72              Specify a configuration file to be used instead of  the  default
73              /etc/frr/<daemon>.conf file.
74
75              Note  that  the daemon will attempt to write to this file if the
76              write file command is issued on its  VTY  interface  or  through
77              vtysh.
78
79       -C, --dryrun
80              Load the configuration file and check its validity, then exit.
81
82       -i, --pid_file pid-file
83              Output  a  pid  file  to  a  location  other  than  the  default
84              /var/run/frr/<daemon>.pid.
85
86       -z, --socket zclient-path
87              Override the path of the ZAPI socket used to communicate between
88              zebra   and   the  various  protocol  daemons.  The  default  is
89              /var/run/frr/zserv.api.  The value of this option  must  be  the
90              same across all daemons.
91
92       -N, --pathspace pathspace
93              Insert  pathspace  into all default paths, changing the defaults
94              to:
95
96              /etc/frr/pathspace/<daemon>.conf    /var/run/frr/pathspace/<dae‐
97              mon>.pid                     /var/run/frr/pathspace/<daemon>.vty
98              /var/run/frr/pathspace/zserv.api
99
100              ´.´ and ´/´ characters will not be accepted  in  pathspace,  but
101              the empty string will be accepted.
102
103              Note  that  this only changes the respective defaults, it has no
104              effect on the respective path if the -f, -i, -z or  --vty_socket
105              options are used.
106
107              The  purpose  of  this option is to easily group all file system
108              related bits together for running multiple fully-separate "logi‐
109              cal  routers" on a system, particularly with Linux network name‐
110              spaces.  Groups of daemons running with distinct pathspace  val‐
111              ues will be completely unaware of each other and not interact in
112              any way.
113
114              This option does not do any system  setup  (like  network  name‐
115              spaces.) This must be done by the user, for example by running:
116
117              ip netns exec namespace <daemon> -N namespace
118
119   PROCESS CREDENTIALS
120       -u, --user user
121              (default: frr)
122
123       -g, --group group
124              (default: frr)
125
126              Change the user/group which the daemon will switch to.
127
128       -S, --skip_runas
129              Skip setting the process effective user and group.
130
131       Note  that  there  is an additional group, frrvty, which controls group
132       ownership of the VTY sockets.  The name of this group cannot  currently
133       be changed, and user must be a member of this group.
134
135   VTY SETUP
136       These  following  options control the daemon's VTY (interactive command
137       line) interface.  The interface is available over TCP, using the telnet
138       protocol, as well as through the vtysh frontend.
139
140       -A, --vty_addr vty-addr
141              Specify an IP/IPv6 address to bind the TCP VTY interface to.  It
142              is generally recommended to specify ::1 or 127.0.0.1.  For  rea‐
143              sons of backwards compatibility, the default is to listen on all
144              interfaces.
145
146       -P, --vty_port vty-port
147              Override the daemon's default TCP VTY port (each  daemon  has  a
148              different  default value upwards of 2600, listed below.)  Speci‐
149              fying 0 disables the TCP VTY interface.
150
151              Default ports are::
152
153                 zebra           2601
154                 ripd            2602
155                 ripngd          2603
156                 ospfd           2604
157                 bgpd            2605
158                 ospf6d          2606
159                 isisd           2608
160                 babeld          2609
161                 nhrpd           2610
162                 pimd            2611
163                 ldpd            2612
164                 eigrpd          2613
165                 pbrd            2615
166                 staticd         2616
167                 bfdd            2617
168                 fabricd         2618
169                 vrrpd           2619
170
171              Port 2607 is used for ospfd's Opaque LSA API.
172
173       --vty_socket vty-path
174              Overrides the  directory  used  for  the  <daemon>.vty  sockets.
175              vtysh connects to these sockets in order to access each daemon's
176              VTY.  Default: /var/run/frr[/<pathspace>]
177
178              NB: Unlike the other options, this option specifies a directory,
179              not a full path.
180
181              This  option is primarily used by the SNAP packaging system, its
182              semantics may change.  It should not be necessary in most  other
183              scenarios.
184
185   MODULE LOADING
186       frr  supports optional dynamically loadable modules, although these can
187       only be loaded at startup.  The  set  of  available  modules  may  vary
188       across distributions and packages, and modules may be available for in‐
189       stallation as separate packages.
190
191       -M, --module module[:options]
192              Load a module named module, optionally passing options to it.
193
194              If there is a ´/´ character in module, the value is  assumed  to
195              be a pathname to a module.
196
197              If there is no ´/´ character, the module directory (see next op‐
198              tion) is searched  first  for  a  module  named  "<daemon>_<mod‐
199              ule>.so",  then  for "<module>.so".  This allows for a module to
200              exist in variations appropriate for particular daemons, e.g. ze‐
201              bra_snmp and bgp_snmp, with the correct one selected by -M snmp.
202
203              The  meaning  of options is specific to the module being loaded.
204              Most modules currently ignore it.
205
206              Modules are loaded in the order as listed on the  command  line.
207              This is not generally relevant.
208
209       --moduledir module-path
210              Look for modules in the module-path directory instead of the de‐
211              fault /usr/lib/frr/modules.  (This path is not affected  by  the
212              -N option.)
213
214       The  list  of  loaded modules can be inspected at runtime with the show
215       modules VTY command.
216
217       -p, --bgp_port <port>
218              Set the bgp protocol's port number. When port number is 0,  that
219              means do not listen bgp port.
220
221       -l, --listenon
222              Specify a specific IP address for bgpd to listen on, rather than
223              its default of 0.0.0.0 / ::. This can  be  useful  to  constrain
224              bgpd  to  an internal address, or to run multiple bgpd processes
225              on one host.
226
227       -n, --no_kernel
228              Do not install learned routes into the linux kernel.   This  op‐
229              tion  is  useful for a route-reflector environment or if you are
230              running multiple bgp processes in the same namespace.  This  op‐
231              tion is different than the --no_zebra option in that a ZAPI con‐
232              nection is made.
233
234       -e, --ecmp
235              Run BGP with a limited ecmp capability, that is  different  than
236              what BGP was compiled with.  The value specified must be greater
237              than 0 and less than or equal to the MULTIPATH_NUM specified  on
238              compilation.
239
240       -Z, --no_zebra
241              Do  not  communicate  with zebra at all.  This is different than
242              the --no_kernel option in that we do not even open a  ZAPI  con‐
243              nection to the zebra process.
244
245       -s, --socket_size
246              When  opening  tcp connections to our peers, set the socket send
247              buffer size that the kernel will use for the peers socket.  This
248              option  is only really useful at a very large scale.  Experimen‐
249              tation should be done to see if this is helping or  not  at  the
250              scale you are running at.
251
252   LABEL MANAGER
253       -I, --int_num
254              Set  zclient id. This is required when using Zebra label manager
255              in proxy mode.
256

FILES

258       /usr/lib/frr/bgpd
259              The default location of the bgpd binary.
260
261       /etc/frr/bgpd.conf
262              The default location of the bgpd config file.
263
264       $(PWD)/bgpd.log
265              If the bgpd process is configured to output logs to a file, then
266              you will find this file in the directory where you started bgpd.
267

WARNING

269       This  man page is intended to be a quick reference for command line op‐
270       tions. The definitive document is the info file frr 8.2.2 or the  docu‐
271       mentation available on the project website at https://frrouting.org/.
272

DIAGNOSTICS

274       The  daemon  may  log  to  standard output, to a VTY, to a log file, or
275       through syslog to the system logs. FRR supports many debugging options,
276       see the Info file, web docs or source for details.
277

SEE ALSO

279       frr-zebra(8),   vtysh(1),   frr-ripd(8),  frr-ripngd(8),  frr-ospfd(8),
280       frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8),  frr-nhrpd(8),
281       frr-pimd(8),  frr-pbrd(8),  frr-ldpd(8), frr-eigrpd(8), frr-staticd(8),
282       frr-fabricd(8), frr-vrrpd(8), mtracebis(8) https://frrouting.org/
283

BUGS

285       FRR eats bugs for breakfast. If you  have  food  for  the  maintainers,
286       please email <dev@lists.frrouting.org>.
287
289       2022, FRR
290
291
292
293
2948.2.2                            Apr 11, 2022                      FRR-BGPD(8)
Impressum