apt-get install git autoconf automake libtool make gawk libreadline-dev \
texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
- python-pytest libc-ares-dev python3-dev
+ python-pytest libc-ares-dev python3-dev libsystemd-dev
Get FRR, compile it and install it (from Git)
---------------------------------------------
cd frr
./bootstrap.sh
./configure \
+ --prefix=/usr \
--enable-exampledir=/usr/share/doc/frr/examples/ \
--localstatedir=/var/run/frr \
--sbindir=/usr/lib/frr \
--enable-rtadv \
--enable-tcp-zebra \
--enable-fpm \
+ --enable-systemd=yes \
--with-pkg-git-version \
--with-pkg-extra-version=-MyOwnFRRVersion
make
### Create empty FRR configuration files
- sudo mkdir /var/log/frr
- sudo chown frr:fee /var/log/frr
- sudo mkdir /etc/frr
- sudo touch /etc/frr/etc/zebra.conf
- sudo touch /etc/frr/etc/bgpd.conf
- sudo touch /etc/frr/etc/ospfd.conf
- sudo touch /etc/frr/etc/ospf6d.conf
- sudo touch /etc/frr/etc/isisd.conf
- sudo touch /etc/frr/etc/ripd.conf
- sudo touch /etc/frr/etc/ripngd.conf
- sudo touch /etc/frr/etc/pimd.conf
- sudo touch /etc/frr/etc/ldpd.conf
- sudo chown frr:frr /etc/frr/
- sudo touch /etc/frr/etc/vtysh.conf
- sudo chown frr:frrvty /etc/frr/etc/vtysh.conf
- sudo chmod 640 /etc/frr/*.conf
+ sudo install -m 755 -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 frr /dev/null /etc/frr/zebra.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/bgpd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospfd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospf6d.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/isisd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripngd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/pimd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ldpd.conf
+ sudo install -m 640 -o frr -g frr /dev/null /etc/frr/nhrpd.conf
+ sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
### Enable IP & IPv6 forwarding
mpls-iptunnel
**Reboot** or use `sysctl -p` to apply the same config to the running system
+
+
+### Install the systemd service
+
+ sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
+ sudo install -m 644 cumulus/etc/default/frr /etc/default/frr
+ sudo install -m 644 cumulus/etc/frr/daemons /etc/frr/daemons
+ sudo install -m 644 cumulus/etc/frr/daemons.conf /etc/frr/daemons.conf
+ sudo install -m 644 cumulus/etc/frr/Frr.conf /etc/frr/Frr.conf
+ sudo install -m 644 -o frr -g frr cumulus/etc/frr/vtysh.conf /etc/frr/vtysh.conf
+
+### Enable daemons
+
+Edit `/etc/frr/daemons` and change the value from "no" to "yes" for those daemons you want to start by systemd.
+For example.
+
+ zebra=yes
+ bgpd=yes
+ ospfd=yes
+ ospf6d=yes
+ ripd=yes
+ ripngd=yes
+ isisd=yes
+
+### Enable the systemd serivce
+ - systemctl enable frr
+
+### Start the systemd service
+- systemctl start frr
+- use `systemctl status frr` to check its status.