frr/doc/manpages/frr-zebra.rst
Igor Ryzhov 300f8dbda4 lib: introduce global -w option for VRF netns backend
Current -n option is only for zebra and mgmtd. All other daemons receive
the VRF backend configuration from zebra upon connection to it. This
leads to a potential race condition - daemons need to know the backend
before they start reading their config, but they can be not connected to
zebra yet at this point. As the VRF backend cannot change during runtime,
let's introduce a new global -w option for setting netns backend, to
make sure that all daemons know their VRF backend immediately after
start.

The reason for introducing a new option instead of making -n global is
that ospfd already uses -n for another purposes.

Signed-off-by: Igor Ryzhov <idryzhov@gmail.com>
2025-01-15 23:38:27 +02:00

71 lines
2 KiB
ReStructuredText

*****
ZEBRA
*****
.. include:: defines.rst
.. |DAEMON| replace:: zebra
SYNOPSIS
========
|DAEMON| |synopsis-options-hv|
|DAEMON| |synopsis-options|
DESCRIPTION
===========
|DAEMON| is a routing manager that implements the zebra route engine. zebra supports all protocol daemons in the FRRouting suite.
OPTIONS
=======
OPTIONS available for the |DAEMON| command:
.. include:: common-options.rst
.. option:: -b, --batch
Runs in batch mode, zebra parses its config and exits.
.. option:: -s, --nl-bufsize <netlink-buffer-size>
Set netlink receive buffer size. There are cases where zebra daemon can't handle flood of netlink messages from kernel. If you ever see "recvmsg overrun" messages in zebra log, you are in trouble.
Solution is to increase receive buffer of netlink socket. Note that kernel < 2.6.14 doesn't allow increasing it over maximum value defined in /proc/sys/net/core/rmem_max. If you want to do it, you have to increase maximum before starting zebra.
Note that this affects Linux only.
.. option:: -n, --vrfwnetns
Enable namespace VRF backend. By default, the VRF backend relies on VRF-lite support from the Linux kernel. This option permits discovering Linux named network namespaces and mapping it to FRR VRF contexts.
This option is deprecated. Please use the global -w option instead.
ROUTES
------
.. option:: -r, --retain
When the program terminates, do not flush routes installed by zebra from the kernel.
.. option:: -R, --routing-table <tableno>
Specify which kernel routing table *Zebra* should communicate with.
If this option is not specified the default table (RT_TABLE_MAIN) is used.
FILES
=====
|INSTALL_PREFIX_SBIN|/|DAEMON|
The default location of the |DAEMON| binary.
|INSTALL_PREFIX_ETC|/|DAEMON|.conf
The default location of the |DAEMON| config file.
$(PWD)/|DAEMON|.log
If the |DAEMON| process is configured to output logs to a file, then you
will find this file in the directory where you started |DAEMON|.
.. include:: epilogue.rst