mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-01-03 21:28:13 +00:00
doc: update Fedora 24 build doc
* Cross reference RPM build docs * Add perl and patch to build deps * Add libyang-pluginsdir to ./configure options * Change instructions to unified config Verified on Fedora 28. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
63374e1d8b
commit
ba8083e5ce
@ -11,15 +11,16 @@ Installing Dependencies
|
||||
|
||||
sudo dnf install git autoconf automake libtool make gawk \
|
||||
readline-devel texinfo net-snmp-devel groff pkgconfig json-c-devel \
|
||||
pam-devel pytest bison flex c-ares-devel python3-devel python3-sphinx
|
||||
pam-devel pytest bison flex c-ares-devel python3-devel python2-sphinx \
|
||||
perl-core patch
|
||||
|
||||
.. include:: building-libyang.rst
|
||||
|
||||
Building & Installing FRR
|
||||
-------------------------
|
||||
|
||||
Compilation
|
||||
^^^^^^^^^^^
|
||||
Compile
|
||||
^^^^^^^
|
||||
|
||||
Clone the FRR git repo and use the included ``configure`` script to configure
|
||||
FRR's build time options to your liking. The full option listing can be
|
||||
@ -38,6 +39,7 @@ obtained by running ``./configure -h``. The options shown below are examples.
|
||||
--libexecdir=/usr/lib/frr \
|
||||
--localstatedir=/var/run/frr \
|
||||
--with-moduledir=/usr/lib/frr/modules \
|
||||
--with-libyang-pluginsdir=/usr/lib/frr/libyang_plugins \
|
||||
--enable-snmp=agentx \
|
||||
--enable-multipath=64 \
|
||||
--enable-user=frr \
|
||||
@ -50,7 +52,7 @@ obtained by running ``./configure -h``. The options shown below are examples.
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Add FRR groups and user
|
||||
Add FRR user and groups
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
@ -60,74 +62,61 @@ Add FRR groups and user
|
||||
sudo useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \
|
||||
-c "FRR FRRouting suite" -d /var/run/frr frr
|
||||
|
||||
|
||||
Create empty FRR configuration files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Install FRR configuration files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo mkdir /var/log/frr
|
||||
sudo mkdir /etc/frr
|
||||
sudo touch /etc/frr/zebra.conf
|
||||
sudo touch /etc/frr/bgpd.conf
|
||||
sudo touch /etc/frr/ospfd.conf
|
||||
sudo touch /etc/frr/ospf6d.conf
|
||||
sudo touch /etc/frr/isisd.conf
|
||||
sudo touch /etc/frr/ripd.conf
|
||||
sudo touch /etc/frr/ripngd.conf
|
||||
sudo touch /etc/frr/pimd.conf
|
||||
sudo touch /etc/frr/ldpd.conf
|
||||
sudo touch /etc/frr/nhrpd.conf
|
||||
sudo touch /etc/frr/eigrpd.conf
|
||||
sudo touch /etc/frr/babeld.conf
|
||||
sudo chown -R frr:frr /etc/frr/
|
||||
sudo touch /etc/frr/vtysh.conf
|
||||
sudo chown frr:frrvty /etc/frr/vtysh.conf
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
sudo install -m 775 -o frr -g frr -d /var/log/frr
|
||||
sudo install -m 775 -o frr -g frrvty -d /etc/frr
|
||||
sudo install -m 640 -o frr -g frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
|
||||
sudo install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
|
||||
sudo install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
|
||||
sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons
|
||||
|
||||
Install daemon config file
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Enable daemons
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
Open :file:`/etc/frr/daemons` with your text editor of choice. Look for the
|
||||
section with ``watchfrr_enable=...`` and ``zebra=...`` etc. Enable the daemons
|
||||
as required by changing the value to ``yes``.
|
||||
|
||||
sudo install -p -m 644 redhat/daemons /etc/frr/
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
Edit /etc/frr/daemons
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
|
||||
Enable the daemons as required by changing the value to ``yes``.
|
||||
|
||||
Enable IP & IPv6 forwarding (and MPLS)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Tweak sysctls
|
||||
^^^^^^^^^^^^^
|
||||
Some sysctls need to be changed in order to enable IPv4/IPv6 forwarding and
|
||||
MPLS (if supported by your platform). If your platform does not support MPLS,
|
||||
skip the MPLS related configuration in this section.
|
||||
|
||||
Create a new file ``/etc/sysctl.d/90-routing-sysctl.conf`` with the following
|
||||
content (please make sure to list all interfaces with required MPLS similar to
|
||||
``net.mpls.conf.eth0.input=1``):
|
||||
content:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# Sysctl for routing
|
||||
#
|
||||
# Routing: We need to forward packets
|
||||
# Enable packet forwarding
|
||||
#
|
||||
net.ipv4.conf.all.forwarding=1
|
||||
net.ipv6.conf.all.forwarding=1
|
||||
#
|
||||
# Enable MPLS Label processing on all interfaces
|
||||
net.mpls.conf.eth0.input=1
|
||||
net.mpls.conf.eth1.input=1
|
||||
net.mpls.conf.eth2.input=1
|
||||
net.mpls.platform_labels=100000
|
||||
#
|
||||
#net.mpls.conf.eth0.input=1
|
||||
#net.mpls.conf.eth1.input=1
|
||||
#net.mpls.conf.eth2.input=1
|
||||
#net.mpls.platform_labels=100000
|
||||
|
||||
Load the modified sysctl's on the system:
|
||||
.. note::
|
||||
|
||||
MPLS must be invidividually enabled on each interface that requires it. See
|
||||
the example in the config block above.
|
||||
|
||||
Load the modifed sysctls on the system:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
Create a new file ``/etc/modules-load.d/mpls.conf`` with the following
|
||||
content:
|
||||
Create a new file ``/etc/modules-load.d/mpls.conf`` with the following content:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@ -141,8 +130,8 @@ And load the kernel modules on the running system:
|
||||
|
||||
sudo modprobe mpls-router mpls-iptunnel
|
||||
|
||||
Install system service files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Install service files
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user