From: Quentin Young Date: Fri, 22 Mar 2019 18:33:25 +0000 (+0000) Subject: doc: update Fedora 24 build doc X-Git-Tag: frr-7.1~142^2~7 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ba8083e5ce997a5b49f609898a24887e13faccc3;p=mirror_frr.git 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 --- diff --git a/doc/developer/building-frr-for-fedora24.rst b/doc/developer/building-frr-for-fedora24.rst index d2a939d41..97a39c058 100644 --- a/doc/developer/building-frr-for-fedora24.rst +++ b/doc/developer/building-frr-for-fedora24.rst @@ -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