]> git.puffer.fish Git - mirror/frr.git/commitdiff
doc: add building steps for openSUSE 7660/head
authorJavier Garcia <rampxxxx@gmail.com>
Thu, 3 Dec 2020 10:59:01 +0000 (11:59 +0100)
committerJavier Garcia <rampxxxx@gmail.com>
Thu, 3 Dec 2020 10:59:01 +0000 (11:59 +0100)
Signed-off-by: Javier Garcia <rampxxxx@gmail.com>
doc/developer/building-frr-for-opensuse.rst [new file with mode: 0644]
doc/developer/building.rst
doc/developer/subdir.am

diff --git a/doc/developer/building-frr-for-opensuse.rst b/doc/developer/building-frr-for-opensuse.rst
new file mode 100644 (file)
index 0000000..5ed714a
--- /dev/null
@@ -0,0 +1,143 @@
+openSUSE
+========
+
+This document describes installation from source.
+
+These instructions have been tested on openSUSE Tumbleweed in a Raspberry Pi 400.
+
+Installing Dependencies
+-----------------------
+
+.. code-block:: console
+
+   zypper in  git autoconf automake libtool make   \
+     readline-devel texinfo net-snmp-devel groff pkgconfig libjson-c-devel\
+     pam-devel python3-pytest bison flex c-ares-devel python3-devel\
+     python3-Sphinx perl patch systemd-devel libcap-devel libyang-devel
+
+Building & Installing FRR
+-------------------------
+
+Add FRR user and groups
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   sudo groupadd -g 92 frr
+   sudo groupadd -r -g 85 frrvty
+   sudo useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \
+     -c "FRR FRRouting suite" -d /var/run/frr frr
+
+Compile
+^^^^^^^
+
+.. include:: include-compile.rst
+
+Install FRR configuration files
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   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
+
+.. note::
+
+        In some platforms like raspberry for performance reasons
+        some directories are in file systems (/var/run, ...) mounted with tempfs 
+        so will disapear after every reboot.
+        In frr the /var/run/frr is used to store pid files for every daemon.
+
+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:
+
+::
+
+   #
+   # 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
+
+.. 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:
+
+::
+
+   # Load MPLS Kernel Modules
+   mpls-router
+   mpls-iptunnel
+
+And load the kernel modules on the running system:
+
+.. code-block:: console
+
+   sudo modprobe mpls-router mpls-iptunnel
+
+
+.. note::
+   The ``firewalld`` service could be enabled. You may run into some
+   issues with the iptables rules it installs by default. If you wish to just
+   stop the service and clear `ALL` rules do these commands:
+
+   .. code-block:: console
+
+      sudo systemctl disable firewalld.service
+      sudo systemctl stop firewalld.service
+      sudo iptables -F
+
+Install frr Service
+^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   sudo install -p -m 644 tools/frr.service /usr/lib/systemd/system/frr.service
+   sudo systemctl enable frr
+
+Enable daemons
+^^^^^^^^^^^^^^
+
+Open :file:`/etc/frr/daemons` with your text editor of choice. Look for the
+section with ``bgpd=no`` etc.  Enable the daemons
+as required by changing the value to ``yes``.
+
+Start FRR
+^^^^^^^^^
+
+.. code-block:: console
+
+   sudo systemctl start frr
+
+Check the starting messages of frr with
+
+.. code-block:: console
+
+   journalctl -u frr --follow
index 730741a8efc03c397d4e7a1192968d0dfe794014..a6cd545872f0fefe3d151d16e2c702c09937ae2a 100644 (file)
@@ -15,6 +15,7 @@ Building FRR
    building-frr-for-debian8
    building-frr-for-debian9
    building-frr-for-fedora
+   building-frr-for-opensuse
    building-frr-for-freebsd10
    building-frr-for-freebsd11
    building-frr-for-freebsd9
index 57f885ecc18c3b3d13d5174014998303930f95c6..3c0d203007df2f30d3b7f9ec5255badadf2d0d1e 100644 (file)
@@ -11,6 +11,7 @@ dev_RSTFILES = \
        doc/developer/building-frr-for-debian8.rst \
        doc/developer/building-frr-for-debian9.rst \
        doc/developer/building-frr-for-fedora.rst \
+       doc/developer/building-frr-for-opensuse.rst \
        doc/developer/building-frr-for-freebsd10.rst \
        doc/developer/building-frr-for-freebsd11.rst \
        doc/developer/building-frr-for-freebsd9.rst \