mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-17 10:20:27 +00:00
Merge pull request #15150 from LabNConsulting/chopps/config-file-integrated
doc: update config file doc for integrated requirement
This commit is contained in:
commit
49cacc3184
@ -26,8 +26,7 @@ The *zebra* daemon must be running before *babeld* is
|
|||||||
invoked. Also, if *zebra* is restarted then *babeld*
|
invoked. Also, if *zebra* is restarted then *babeld*
|
||||||
must be too.
|
must be too.
|
||||||
|
|
||||||
Configuration of *babeld* is done in its configuration file
|
.. include:: config-include.rst
|
||||||
:file:`babeld.conf`.
|
|
||||||
|
|
||||||
.. _babel-configuration:
|
.. _babel-configuration:
|
||||||
|
|
||||||
|
@ -11,45 +11,22 @@ The following sections discuss commands common to all the routing daemons.
|
|||||||
Config Commands
|
Config Commands
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
In the config file, you can write the debugging options, a vty's password,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
In a config file, you can write the debugging options, a vty's password,
|
|
||||||
routing daemon configurations, a log file name, and so forth. This information
|
routing daemon configurations, a log file name, and so forth. This information
|
||||||
forms the initial command set for a routing beast as it is starting.
|
forms the initial command set for a routing beast as it is starting.
|
||||||
|
|
||||||
Config files are generally found in |INSTALL_PREFIX_ETC|.
|
.. _config-file:
|
||||||
|
|
||||||
Config Methods
|
Integrated Config File
|
||||||
--------------
|
----------------------
|
||||||
|
|
||||||
There are two ways of configuring FRR.
|
FRR uses a single configuration file located in |INSTALL_PREFIX_ETC|/frr.conf.
|
||||||
|
When FRR is started using an init script or ``systemd``, ``vtysh`` is invoked to
|
||||||
Traditionally each of the daemons had its own config file. The daemon name plus
|
read the config file and send the appropriate portions to only the daemons
|
||||||
``.conf`` was the default config file name. For example, zebra's default config
|
interested in them. Running configuration updates are persisted back to this
|
||||||
file was :file:`zebra.conf`. This method is deprecated.
|
single file using ``vtysh`` as well.
|
||||||
|
|
||||||
Because of the amount of config files this creates, and the tendency of one
|
|
||||||
daemon to rely on others for certain functionality, most deployments now use
|
|
||||||
"integrated" configuration. In this setup all configuration goes into a single
|
|
||||||
file, typically :file:`/etc/frr/frr.conf`. When starting up FRR using an init
|
|
||||||
script or systemd, ``vtysh`` is invoked to read the config file and send the
|
|
||||||
appropriate portions to only the daemons interested in them. Running
|
|
||||||
configuration updates are persisted back to this single file using ``vtysh``.
|
|
||||||
This is the recommended method. To use this method, add the following line to
|
|
||||||
:file:`/etc/frr/vtysh.conf`:
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
service integrated-vtysh-config
|
|
||||||
|
|
||||||
If you installed from source or used a package, this is probably already
|
|
||||||
present.
|
|
||||||
|
|
||||||
If desired, you can specify a config file using the :option:`-f` or
|
|
||||||
:option:`--config_file` options when starting a daemon.
|
|
||||||
|
|
||||||
|
.. include:: prior-config-files.rst
|
||||||
|
|
||||||
.. _basic-config-commands:
|
.. _basic-config-commands:
|
||||||
|
|
||||||
|
@ -27,6 +27,8 @@ This document will focus on the later implementation: *bfdd*.
|
|||||||
Starting BFD
|
Starting BFD
|
||||||
============
|
============
|
||||||
|
|
||||||
|
.. include:: config-include.rst
|
||||||
|
|
||||||
*bfdd* default configuration file is :file:`bfdd.conf`. *bfdd* searches
|
*bfdd* default configuration file is :file:`bfdd.conf`. *bfdd* searches
|
||||||
the current directory first then |INSTALL_PREFIX_ETC|/bfdd.conf. All of
|
the current directory first then |INSTALL_PREFIX_ETC|/bfdd.conf. All of
|
||||||
*bfdd*'s command must be configured in :file:`bfdd.conf`.
|
*bfdd*'s command must be configured in :file:`bfdd.conf`.
|
||||||
|
@ -14,10 +14,7 @@ interdomain routing protocol. BGP-4 is described in :rfc:`1771` and updated by
|
|||||||
Starting BGP
|
Starting BGP
|
||||||
============
|
============
|
||||||
|
|
||||||
The default configuration file of *bgpd* is :file:`bgpd.conf`. *bgpd* searches
|
.. include:: config-include.rst
|
||||||
the current directory first, followed by |INSTALL_PREFIX_ETC|/bgpd.conf. All of
|
|
||||||
*bgpd*'s commands must be configured in :file:`bgpd.conf` when the integrated
|
|
||||||
config is not being used.
|
|
||||||
|
|
||||||
*bgpd* specific invocation options are described below. Common options may also
|
*bgpd* specific invocation options are described below. Common options may also
|
||||||
be specified (:ref:`common-invocation-options`).
|
be specified (:ref:`common-invocation-options`).
|
||||||
|
12
doc/user/config-include.rst
Normal file
12
doc/user/config-include.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
..
|
||||||
|
.. January 12 2024, Christian Hopps <chopps@labn.net>
|
||||||
|
..
|
||||||
|
.. Copyright (c) 2024, LabN Consulting, L.L.C.
|
||||||
|
..
|
||||||
|
..
|
||||||
|
|
||||||
|
Configuration for the daemon should be saved in the FRR integrated configuration
|
||||||
|
file located in |INSTALL_PREFIX_ETC|/frr.conf, see :ref:`config-file` for more
|
||||||
|
information on system configuration.
|
||||||
|
|
||||||
|
.. include:: prior-config-files.rst
|
@ -24,21 +24,17 @@ known topology.
|
|||||||
Starting and Stopping eigrpd
|
Starting and Stopping eigrpd
|
||||||
============================
|
============================
|
||||||
|
|
||||||
The default configuration file name of *eigrpd*'s is :file:`eigrpd.conf`. When
|
.. include:: config-include.rst
|
||||||
invocation *eigrpd* searches directory |INSTALL_PREFIX_ETC|. If
|
|
||||||
:file:`eigrpd.conf` is not there next search current directory. If an
|
|
||||||
integrated config is specified configuration is written into :file:`frr.conf`.
|
|
||||||
|
|
||||||
The EIGRP protocol requires interface information maintained by *zebra* daemon.
|
If starting daemons by hand then please note, the EIGRP protocol requires
|
||||||
So running *zebra* is mandatory to run *eigrpd*. Thus minimum sequence for
|
interface information maintained by *zebra* daemon. So running *zebra* is
|
||||||
running EIGRP is:
|
mandatory to run *eigrpd*. Thus minimum sequence for running EIGRP is:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
# zebra -d
|
# zebra -d
|
||||||
# eigrpd -d
|
# eigrpd -d
|
||||||
|
|
||||||
|
|
||||||
Please note that *zebra* must be invoked before *eigrpd*.
|
Please note that *zebra* must be invoked before *eigrpd*.
|
||||||
|
|
||||||
To stop *eigrpd*, please use::
|
To stop *eigrpd*, please use::
|
||||||
|
@ -22,8 +22,7 @@ interface information from *zebra* in order to function. Therefore *zebra* must
|
|||||||
be running before invoking *isisd*. Also, if *zebra* is restarted then *isisd*
|
be running before invoking *isisd*. Also, if *zebra* is restarted then *isisd*
|
||||||
must be too.
|
must be too.
|
||||||
|
|
||||||
Like other daemons, *isisd* configuration is done in :abbr:`ISIS` specific
|
.. include:: config-include.rst
|
||||||
configuration file :file:`isisd.conf`.
|
|
||||||
|
|
||||||
.. _isis-router:
|
.. _isis-router:
|
||||||
|
|
||||||
|
@ -32,9 +32,7 @@ options (:ref:`common-invocation-options`).
|
|||||||
|
|
||||||
The *zebra* daemon must be running before *ldpd* is invoked.
|
The *zebra* daemon must be running before *ldpd* is invoked.
|
||||||
|
|
||||||
Configuration of *ldpd* is done in its configuration file
|
.. include:: config-include.rst
|
||||||
:file:`ldpd.conf`.
|
|
||||||
|
|
||||||
|
|
||||||
.. _understanding-ldp:
|
.. _understanding-ldp:
|
||||||
|
|
||||||
|
@ -9,8 +9,13 @@ described in :rfc:`2740`.
|
|||||||
|
|
||||||
.. _ospf6-router:
|
.. _ospf6-router:
|
||||||
|
|
||||||
OSPF6 router
|
Configuring OSPF6
|
||||||
============
|
*****************
|
||||||
|
|
||||||
|
.. include:: config-include.rst
|
||||||
|
|
||||||
|
Configuration Commands
|
||||||
|
======================
|
||||||
|
|
||||||
.. clicmd:: router ospf6 [vrf NAME]
|
.. clicmd:: router ospf6 [vrf NAME]
|
||||||
|
|
||||||
|
@ -32,8 +32,7 @@ Configuring OSPF
|
|||||||
Therefore *zebra* must be running before invoking *ospfd*. Also, if *zebra* is
|
Therefore *zebra* must be running before invoking *ospfd*. Also, if *zebra* is
|
||||||
restarted then *ospfd* must be too.
|
restarted then *ospfd* must be too.
|
||||||
|
|
||||||
Like other daemons, *ospfd* configuration is done in :abbr:`OSPF` specific
|
.. include:: config-include.rst
|
||||||
configuration file :file:`ospfd.conf` when the integrated config is not used.
|
|
||||||
|
|
||||||
.. _ospf-multi-instance:
|
.. _ospf-multi-instance:
|
||||||
|
|
||||||
|
@ -15,11 +15,7 @@ the default Linux kernel dataplane provider.
|
|||||||
Starting PBR
|
Starting PBR
|
||||||
============
|
============
|
||||||
|
|
||||||
Default configuration file for *pbrd* is :file:`pbrd.conf`. The typical
|
.. include:: config-include.rst
|
||||||
location of :file:`pbrd.conf` is |INSTALL_PREFIX_ETC|/pbrd.conf.
|
|
||||||
|
|
||||||
If FRR is using integrated config, then :file:`pbrd.conf` need not be
|
|
||||||
present and the :file:`frr.conf` is read instead.
|
|
||||||
|
|
||||||
.. program:: pbrd
|
.. program:: pbrd
|
||||||
|
|
||||||
|
@ -23,12 +23,11 @@ network for optimizing forwarding of overlay BUM traffic.
|
|||||||
Starting and Stopping pimd
|
Starting and Stopping pimd
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
The default configuration file name of *pimd*'s is :file:`pimd.conf`. When
|
.. include:: config-include.rst
|
||||||
invoked *pimd* searches directory |INSTALL_PREFIX_ETC|. If
|
|
||||||
:file:`pimd.conf` is not there then next search current directory.
|
|
||||||
|
|
||||||
*pimd* requires zebra for proper operation. Additionally *pimd* depends on
|
If starting daemons by hand then please note, *pimd* requires zebra for proper
|
||||||
routing properly setup and working in the network that it is working on.
|
operation. Additionally *pimd* depends on routing properly setup and working in
|
||||||
|
the network that it is working on.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -15,12 +15,11 @@ do S,G mrouting.
|
|||||||
Starting and Stopping pim6d
|
Starting and Stopping pim6d
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
The default configuration file name of *pim6d*'s is :file:`pim6d.conf`. When
|
.. include:: config-include.rst
|
||||||
invoked *pim6d* searches directory |INSTALL_PREFIX_ETC|. If
|
|
||||||
:file:`pim6d.conf` is not there then next search current directory.
|
|
||||||
|
|
||||||
*pim6d* requires zebra for proper operation. Additionally *pim6d* depends on
|
If starting daemons by hand then please note, *pim6d* requires zebra for proper
|
||||||
routing properly setup and working in the network that it is working on.
|
operation. Additionally *pim6d* depends on routing properly setup and working in
|
||||||
|
the network that it is working on.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
23
doc/user/prior-config-files.rst
Normal file
23
doc/user/prior-config-files.rst
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
..
|
||||||
|
.. January 12 2024, Christian Hopps <chopps@labn.net>
|
||||||
|
..
|
||||||
|
.. Copyright (c) 2024, LabN Consulting, L.L.C.
|
||||||
|
..
|
||||||
|
..
|
||||||
|
|
||||||
|
Prior versions of FRR supported reading and writing per-daemon config files;
|
||||||
|
however, with the introduction of the centralized management daemon ``mgmtd``
|
||||||
|
this could no longer be supported.
|
||||||
|
|
||||||
|
In order to allow for an orderly transition from per-daemon config files to the
|
||||||
|
integrated config file, FRR daemons will continue to try and **read** their
|
||||||
|
specific per-daemon configuration file as before. Additionally the config can
|
||||||
|
still be loaded directly using the ``-f`` or ``--config-file`` CLI options;
|
||||||
|
however, these files will **not** be updated when the configuration is written
|
||||||
|
(e.g., with the ``write mem`` command).
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Per-daemon files will **no longer** be updated when the user issues a ``write
|
||||||
|
memory`` command. Therefore these per-daemon config files should only be used
|
||||||
|
as a mechanism for transitioning to the integrated config, and then removed.
|
@ -21,15 +21,15 @@ version 1 as described in RFC1058.
|
|||||||
Starting and Stopping ripd
|
Starting and Stopping ripd
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
The default configuration file name of *ripd*'s is :file:`ripd.conf`. When
|
.. include:: config-include.rst
|
||||||
invocation *ripd* searches directory |INSTALL_PREFIX_ETC|. If :file:`ripd.conf`
|
|
||||||
is not there next search current directory.
|
|
||||||
|
|
||||||
RIP uses UDP port 520 to send and receive RIP packets. So the user must have
|
RIP uses UDP port 520 to send and receive RIP packets. So the user must have
|
||||||
the capability to bind the port, generally this means that the user must have
|
the capability to bind the port, generally this means that the user must have
|
||||||
superuser privileges. RIP protocol requires interface information maintained by
|
superuser privileges.
|
||||||
*zebra* daemon. So running *zebra* is mandatory to run *ripd*. Thus minimum
|
|
||||||
sequence for running RIP is like below:
|
If starting daemons by hand then please note, RIP protocol requires interface
|
||||||
|
information maintained by *zebra* daemon. So running *zebra* is mandatory to run
|
||||||
|
*ripd*. Thus minimum sequence for running RIP is like below:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ reincarnation of the RIP protocol.
|
|||||||
Invoking ripngd
|
Invoking ripngd
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
.. include:: config-include.rst
|
||||||
|
|
||||||
There are no `ripngd` specific invocation options. Common options can be
|
There are no `ripngd` specific invocation options. Common options can be
|
||||||
specified (:ref:`common-invocation-options`).
|
specified (:ref:`common-invocation-options`).
|
||||||
|
|
||||||
|
@ -13,11 +13,7 @@ labs.
|
|||||||
Starting SHARP
|
Starting SHARP
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Default configuration file for *sharpd* is :file:`sharpd.conf`. The typical
|
.. include:: config-include.rst
|
||||||
location of :file:`sharpd.conf` is |INSTALL_PREFIX_ETC|/sharpd.conf.
|
|
||||||
|
|
||||||
If the user is using integrated config, then :file:`sharpd.conf` need not be
|
|
||||||
present and the :file:`frr.conf` is read instead.
|
|
||||||
|
|
||||||
.. program:: sharpd
|
.. program:: sharpd
|
||||||
|
|
||||||
|
@ -12,21 +12,13 @@ of static routes.
|
|||||||
Starting STATIC
|
Starting STATIC
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Default configuration file for *staticd* is :file:`staticd.conf`. The typical
|
|
||||||
location of :file:`staticd.conf` is |INSTALL_PREFIX_ETC|/staticd.conf.
|
|
||||||
|
|
||||||
If the user is using integrated config, then :file:`staticd.conf` need not be
|
|
||||||
present and the :file:`frr.conf` is read instead.
|
|
||||||
|
|
||||||
If the user has not fully upgraded to using the staticd.conf and still has
|
|
||||||
a non-integrated config with zebra.conf holding the static routes, *staticd*
|
|
||||||
will read in the :file:`zebrad.conf` as a backup.
|
|
||||||
|
|
||||||
.. program:: staticd
|
.. program:: staticd
|
||||||
|
|
||||||
:abbr:`STATIC` supports all the common FRR daemon start options which are
|
:abbr:`STATIC` supports all the common FRR daemon start options which are
|
||||||
documented elsewhere.
|
documented elsewhere.
|
||||||
|
|
||||||
|
.. include:: config-include.rst
|
||||||
|
|
||||||
.. _static-route-commands:
|
.. _static-route-commands:
|
||||||
|
|
||||||
Static Route Commands
|
Static Route Commands
|
||||||
|
@ -24,11 +24,7 @@ protocol.
|
|||||||
Starting VRRP
|
Starting VRRP
|
||||||
=============
|
=============
|
||||||
|
|
||||||
The configuration file for *vrrpd* is :file:`vrrpd.conf`. The typical location
|
.. include:: config-include.rst
|
||||||
of :file:`vrrpd.conf` is |INSTALL_PREFIX_ETC|/vrrpd.conf.
|
|
||||||
|
|
||||||
If using integrated config, then :file:`vrrpd.conf` need not be present and
|
|
||||||
:file:`frr.conf` is read instead.
|
|
||||||
|
|
||||||
.. program:: vrrpd
|
.. program:: vrrpd
|
||||||
|
|
||||||
|
@ -131,14 +131,14 @@ could be made SGID (set group ID) to the |INSTALL_VTY_GROUP| group.
|
|||||||
at all.
|
at all.
|
||||||
|
|
||||||
|
|
||||||
.. _integrated-configuration-mode:
|
.. _integrated-configuration-file:
|
||||||
|
|
||||||
Integrated configuration mode
|
Integrated configuration file
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
Integrated configuration mode uses a single configuration file,
|
FRR uses a single configuration file, :file:`frr.conf`, for all daemons. This
|
||||||
:file:`frr.conf`, for all daemons. This replaces the individual files like
|
replaces the individual files like :file:`zebra.conf` or :file:`bgpd.conf` used
|
||||||
:file:`zebra.conf` or :file:`bgpd.conf`.
|
in previous versions of the software.
|
||||||
|
|
||||||
:file:`frr.conf` is located in |INSTALL_PREFIX_ETC|. All daemons check for the
|
:file:`frr.conf` is located in |INSTALL_PREFIX_ETC|. All daemons check for the
|
||||||
existence of this file at startup, and if it exists will not load their
|
existence of this file at startup, and if it exists will not load their
|
||||||
|
Loading…
Reference in New Issue
Block a user