Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FRR-BGPD(8)			      FRR			   FRR-BGPD(8)

       frr-bgpd	 - a BGPv4, BGPv4+, BGPv4- routing engine for use with FRRout-

       bgpd [-h] [-v]

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

       bgpd is a routing component that	works with the FRRouting  routing  en-

       OPTIONS available for the bgpd command:

       -h, --help
	      Print a short description	of the daemon's	command	line options.

       -v, --version
	      Print version and	build information for the daemon.

       Both  of	 these	options	 inhibit normal	operation and will immediately

       These options control background	operation:

       -d, --daemon
		 Launches the process in background/daemon mode,  forking  and
		 detaching from	the terminal.

	      The  parent  process  will delay its exit	until the daemon/child
	      has finished its initialization and has entered its  main	 loop.
	      This  is	important  for zebra startup because the other daemons
	      will attempt to connect to zebra.	A return from zebra -d guaran-
	      tees its readiness to accept these connections.

       -t, --terminal
	      Opens  an	 interactive VTY session on the	terminal, allowing for
	      both state and configuration operations.	Note that the terminal
	      starts  operating	after startup has completed and	the configura-
	      tion file	has been loaded.

	      The process will exit when end of	file is	detected on the	termi-
	      nal.  It is possible to daemonize	a process started with -t (but
	      without -d) by sending SIGQUIT to	the process  (normally	mapped
	      to a ^keypress.)

       The  combination	 of --daemon and --terminal will delay the daemon from
       going into background until the terminal	session	ends (by end of	file.)

       If the process receives SIGINT (e.g. a ^C keypress) in  this  mode,  it
       will exit instead of daemonizing.

       It is safe to suspend (SIGTSTP /	^Z) the	terminal session opened	by the
       previous	two options;  this will	only stop the  terminal	 but  not  the
       protocol	daemon itself (which runs in a separate	second process.)

       The  following  options control configuration and file system locations
       for frr processes:

       -f, --config_file config-file
	      Specify a	configuration file to be used instead of  the  default
	      /etc/frr/<daemon>.conf file.

	      Note  that  the daemon will attempt to write to this file	if the
	      write file command is issued on its  VTY	interface  or  through

       -C, --dryrun
	      Load the configuration file and check its	validity, then exit.

       -i, --pid_file pid-file
	      Output  a	 pid  file  to	a  location  other  than  the  default

       -z, --socket zclient-path
	      Override the path	of the ZAPI socket used	to communicate between
	      zebra   and   the	 various  protocol  daemons.  The  default  is
	      /var/run/frr/zserv.api.  The value of this option	 must  be  the
	      same across all daemons.

       -N, --pathspace pathspace
	      Insert  pathspace	 into all default paths, changing the defaults

	      /etc/frr/pathspace/<daemon>.conf	  /var/run/frr/pathspace/<dae-
	      mon>.pid			   /var/run/frr/pathspace/<daemon>.vty

	      '.' and '/' characters will not be accepted  in  pathspace,  but
	      the empty	string will be accepted.

	      Note  that  this only changes the	respective defaults, it	has no
	      effect on	the respective path if the -f, -i, -z or  --vty_socket
	      options are used.

	      The  purpose  of	this option is to easily group all file	system
	      related bits together for	running	multiple fully-separate	"logi-
	      cal  routers" on a system, particularly with Linux network name-
	      spaces.  Groups of daemons running with distinct pathspace  val-
	      ues will be completely unaware of	each other and not interact in
	      any way.

	      This option does not do any system  setup	 (like	network	 name-
	      spaces.) This must be done by the	user, for example by running:

	      ip netns exec namespace <daemon> -N namespace

       -u, --user user
	      (default:	frr)

       -g, --group group
	      (default:	frr)

	      Change the user/group which the daemon will switch to.

       -S, --skip_runas
	      Skip setting the process effective user and group.

       Note  that  there  is an	additional group, frrvty, which	controls group
       ownership of the	VTY sockets.  The name of this group cannot  currently
       be changed, and user must be a member of	this group.

       These  following	 options control the daemon's VTY (interactive command
       line) interface.	 The interface is available over TCP, using the	telnet
       protocol, as well as through the	vtysh frontend.

       -A, --vty_addr vty-addr
	      Specify an IP/IPv6 address to bind the TCP VTY interface to.  It
	      is generally recommended to specify ::1 or  For  rea-
	      sons of backwards	compatibility, the default is to listen	on all

       -P, --vty_port vty-port
	      Override the daemon's default TCP	VTY port (each	daemon	has  a
	      different	 default value upwards of 2600,	listed below.)	Speci-
	      fying 0 disables the TCP VTY interface.

	      Default ports are::

		 zebra		 2601
		 ripd		 2602
		 ripngd		 2603
		 ospfd		 2604
		 bgpd		 2605
		 ospf6d		 2606
		 isisd		 2608
		 babeld		 2609
		 nhrpd		 2610
		 pimd		 2611
		 ldpd		 2612
		 eigrpd		 2613
		 pbrd		 2615
		 staticd	 2616
		 bfdd		 2617
		 fabricd	 2618
		 vrrpd		 2619

	      Port 2607	is used	for ospfd's Opaque LSA API.

       --vty_socket vty-path
	      Overrides	the  directory	used  for  the	<daemon>.vty  sockets.
	      vtysh connects to	these sockets in order to access each daemon's
	      VTY.  Default: /var/run/frr[/<pathspace>]

	      NB: Unlike the other options, this option	specifies a directory,
	      not a full path.

	      This  option is primarily	used by	the SNAP packaging system, its
	      semantics	may change.  It	should not be necessary	in most	 other

       frr  supports optional dynamically loadable modules, although these can
       only be loaded at startup.  The	set  of	 available  modules  may  vary
       across distributions and	packages, and modules may be available for in-
       stallation as separate packages.

       -M, --module module[:options]
	      Load a module named module, optionally passing options to	it.

	      If there is a '/'	character in module, the value is  assumed  to
	      be a pathname to a module.

	      If there is no '/' character, the	module directory (see next op-
	      tion) is searched	 first	for  a	module	named  "<daemon>_<mod-
	      ule>.so",	 then  for "<module>.so".  This	allows for a module to
	      exist in variations appropriate for particular daemons, e.g. ze-
	      bra_snmp and bgp_snmp, with the correct one selected by -M snmp.

	      The  meaning  of options is specific to the module being loaded.
	      Most modules currently ignore it.

	      Modules are loaded in the	order as listed	on the	command	 line.
	      This is not generally relevant.

       --moduledir module-path
	      Look for modules in the module-path directory instead of the de-
	      fault /usr/lib/frr/modules.  (This path is not affected  by  the
	      -N option.)

       The  list  of  loaded modules can be inspected at runtime with the show
       modules VTY command.

       -p, --bgp_port <port>
	      Set the bgp protocol's port number. When port number is 0,  that
	      means do not listen bgp port.

       -l, --listenon
	      Specify a	specific IP address for	bgpd to	listen on, rather than
	      its default of / ::. This	can  be	 useful	 to  constrain
	      bgpd  to	an internal address, or	to run multiple	bgpd processes
	      on one host.

       -n, --no_kernel
	      Do not install learned routes into the linux kernel.   This  op-
	      tion  is	useful for a route-reflector environment or if you are
	      running multiple bgp processes in	the same namespace.  This  op-
	      tion is different	than the --no_zebra option in that a ZAPI con-
	      nection is made.

       -e, --ecmp
	      Run BGP with a limited ecmp capability, that is  different  than
	      what BGP was compiled with.  The value specified must be greater
	      than 0 and less than or equal to the MULTIPATH_NUM specified  on

       -Z, --no_zebra
	      Do  not  communicate  with zebra at all.	This is	different than
	      the --no_kernel option in	that we	do not even open a  ZAPI  con-
	      nection to the zebra process.

       -s, --socket_size
	      When  opening  tcp connections to	our peers, set the socket send
	      buffer size that the kernel will use for the peers socket.  This
	      option  is only really useful at a very large scale.  Experimen-
	      tation should be done to see if this is helping or  not  at  the
	      scale you	are running at.

       -I, --int_num
	      Set  zclient id. This is required	when using Zebra label manager
	      in proxy mode.

	      The default location of the bgpd binary.

	      The default location of the bgpd config file.

	      If the bgpd process is configured	to output logs to a file, then
	      you will find this file in the directory where you started bgpd.

       This  man page is intended to be	a quick	reference for command line op-
       tions. The definitive document is the info file frr 7.4 or the documen-
       tation available	on the project website at

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

       frr-zebra(8),   vtysh(1),   frr-ripd(8),	 frr-ripngd(8),	 frr-ospfd(8),
       frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8),	 frr-nhrpd(8),
       frr-pimd(8),  frr-pbrd(8),  frr-ldpd(8),	frr-eigrpd(8), frr-staticd(8),
       frr-fabricd(8), frr-vrrpd(8), mtracebis(8)

       FRR eats	bugs for breakfast. If you  have  food	for  the  maintainers,
       please email <>.

       2017, FRR

7.4				 Aug 30, 2020			   FRR-BGPD(8)


Want to link to this manual page? Use this URL:

home | help