]> git.proxmox.com Git - mirror_frr.git/commitdiff
doc: update Fedora 24 build doc
authorQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 22 Mar 2019 18:33:25 +0000 (18:33 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Mon, 25 Mar 2019 15:48:07 +0000 (15:48 +0000)
* 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>
doc/developer/building-frr-for-fedora24.rst

index d2a939d41cd374dd60dabfe3eb08bbbd969f020c..97a39c0580e99a381be500c8cb8f743d180d22f0 100644 (file)
@@ -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
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. 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
-
-Install daemon config file
-^^^^^^^^^^^^^^^^^^^^^^^^^^
+Install FRR configuration files
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 .. code-block:: console
 
-   sudo install -p -m 644 redhat/daemons /etc/frr/
-   sudo chown frr:frr /etc/frr/daemons
+   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
 
-Edit /etc/frr/daemons
-^^^^^^^^^^^^^^^^^^^^^
+Enable daemons
+^^^^^^^^^^^^^^
 
-Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
-Enable the daemons as required by changing the value to ``yes``.
+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``.
 
-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
+
+.. note::
 
-Load the modified sysctl's on the system:
+   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