]> git.puffer.fish Git - matthieu/frr.git/commitdiff
doc: update misc build docs
authorQuentin Young <qlyoung@cumulusnetworks.com>
Thu, 30 Aug 2018 19:18:30 +0000 (19:18 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 31 Aug 2018 17:13:31 +0000 (17:13 +0000)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
doc/developer/building-frr-for-centos6.rst
doc/developer/building-frr-for-freebsd10.rst
doc/developer/building-frr-for-freebsd11.rst
doc/developer/building-frr-for-freebsd9.rst

index d50376548fb566d849c5d4c1ed31725a9e9f200e..d4c2c3bfd0a5dbd50eada7f48fb9b5422f56c3c9 100644 (file)
@@ -40,98 +40,96 @@ Install required packages
 
 Add packages:
 
-::
+.. code-block:: shell
 
-    sudo yum install git autoconf automake libtool make gawk \
+   sudo yum install git autoconf automake libtool make gawk \
       readline-devel texinfo net-snmp-devel groff pkgconfig \
       json-c-devel pam-devel flex epel-release perl-XML-LibXML \
       c-ares-devel
 
-Install newer version of bison (CentOS 6 package source is too old) from
-CentOS 7
+Install newer version of bison (CentOS 6 package source is too old) from CentOS
+7:
 
-::
+.. code-block:: shell
 
-    sudo yum install rpm-build
-    curl -O http://vault.centos.org/7.0.1406/os/Source/SPackages/bison-2.7-4.el7.src.rpm
-    rpmbuild --rebuild ./bison-2.7-4.el7.src.rpm
-    sudo yum install ./rpmbuild/RPMS/x86_64/bison-2.7-4.el6.x86_64.rpm
-    rm -rf rpmbuild
+   sudo yum install rpm-build
+   curl -O http://vault.centos.org/7.0.1406/os/Source/SPackages/bison-2.7-4.el7.src.rpm
+   rpmbuild --rebuild ./bison-2.7-4.el7.src.rpm
+   sudo yum install ./rpmbuild/RPMS/x86_64/bison-2.7-4.el6.x86_64.rpm
+   rm -rf rpmbuild
 
-Install newer version of autoconf and automake (Package versions are too
-old)
+Install newer version of autoconf and automake (Package versions are too old):
 
-::
+.. code-block:: shell
 
-    curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
-    tar xvf autoconf-2.69.tar.gz
-    cd autoconf-2.69
-    ./configure --prefix=/usr
-    make
-    sudo make install
-    cd ..
-
-    curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
-    tar xvf automake-1.15.tar.gz
-    cd automake-1.15
-    ./configure --prefix=/usr
-    make
-    sudo make install
-    cd ..
-
-Install ``Python 2.7`` in parallel to default 2.6. Make sure you've
-install EPEL (``epel-release`` as above). Then install current
-``python27``, ``python27-devel`` and ``pytest``
+   curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
+   tar xvf autoconf-2.69.tar.gz
+   cd autoconf-2.69
+   ./configure --prefix=/usr
+   make
+   sudo make install
+   cd ..
 
-::
+   curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
+   tar xvf automake-1.15.tar.gz
+   cd automake-1.15
+   ./configure --prefix=/usr
+   make
+   sudo make install
+   cd ..
+
+Install ``Python 2.7`` in parallel to default 2.6. Make sure you've install
+EPEL (``epel-release`` as above). Then install current ``python27``:
+``python27-devel`` and ``pytest``
+
+.. code-block:: shell
 
-    sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
-    sudo rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
-    sudo yum install python27 python27-pip python27-devel
-    sudo pip2.7 install pytest
+   sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
+   sudo rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
+   sudo yum install python27 python27-pip python27-devel
+   sudo pip2.7 install pytest
 
-Please note that ``CentOS 6`` needs to keep python pointing to version
-2.6 for ``yum`` to keep working, so don't create a symlink for python2.7
-to python
+Please note that ``CentOS 6`` needs to keep python pointing to version 2.6 for
+``yum`` to keep working, so don't create a symlink for python2.7 to python.
 
-Install newer ``Sphinx-Build`` based on ``Python 2.7``
+Install newer ``Sphinx-Build`` based on ``Python 2.7``.
 
 Create a new repo ``/etc/yum.repos.d/puias6.repo`` with the following contents:
 
 ::
 
-    ### Name: RPM Repository for RHEL 6 - PUIAS (used for Sphinx-Build)
-    ### URL: http://springdale.math.ias.edu/data/puias/computational
-    [puias-computational]
-    name = RPM Repository for RHEL 6 - Sphinx-Build
-    baseurl = http://springdale.math.ias.edu/data/puias/computational/$releasever/$basearch
-    #mirrorlist =
-    enabled = 1
-    protect = 0
-    gpgkey =
-    gpgcheck = 0
+   ### Name: RPM Repository for RHEL 6 - PUIAS (used for Sphinx-Build)
+   ### URL: http://springdale.math.ias.edu/data/puias/computational
+   [puias-computational]
+   name = RPM Repository for RHEL 6 - Sphinx-Build
+   baseurl = http://springdale.math.ias.edu/data/puias/computational/$releasever/$basearch
+   #mirrorlist =
+   enabled = 1
+   protect = 0
+   gpgkey =
+   gpgcheck = 0
 
 Update rpm database & Install newer sphinx
 
-::
+.. code-block:: shell
 
-    sudo yum update
-    sudo yum install python27-sphinx
+   sudo yum update
+   sudo yum install python27-sphinx
 
 Get FRR, compile it and install it (from Git)
 ---------------------------------------------
 
-**This assumes you want to build and install FRR from source and not
-using any packages**
+**This assumes you want to build and install FRR from source and not using any
+packages**
 
 Add frr groups and user
 ^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
 
-    sudo groupadd -g 92 frr
-    sudo groupadd -r -g 85 frrvt
-    sudo useradd -u 92 -g 92 -M -r -G frrvt -s /sbin/nologin \
+   sudo groupadd -g 92 frr
+   sudo groupadd -r -g 85 frrvt
+   sudo useradd -u 92 -g 92 -M -r -G frrvt -s /sbin/nologin \
       -c "FRR FRRouting suite" -d /var/run/frr frr
 
 Download Source, configure and compile it
@@ -140,7 +138,7 @@ Download Source, configure and compile it
 (You may prefer different options on configure statement. These are just
 an example.)
 
-::
+.. code-block:: shell
 
     git clone https://github.com/frrouting/frr.git frr
     cd frr
@@ -178,32 +176,50 @@ an example.)
 Create empty FRR configuration files
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
+
+   sudo mkdir /var/log/frr
+   sudo mkdir /etc/frr
+
+For integrated config file:
 
-    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/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:frrvt /etc/frr/vtysh.conf
-    sudo chmod 640 /etc/frr/*.conf
+.. code-block:: shell
+
+   sudo touch /etc/frr/frr.conf
+
+For individual config files:
+
+.. note:: Integrated config is preferred to individual config.
+
+.. code-block:: shell
+
+   sudo touch /etc/frr/babeld.conf
+   sudo touch /etc/frr/bfdd.conf
+   sudo touch /etc/frr/bgpd.conf
+   sudo touch /etc/frr/eigrpd.conf
+   sudo touch /etc/frr/isisd.conf
+   sudo touch /etc/frr/ldpd.conf
+   sudo touch /etc/frr/nhrpd.conf
+   sudo touch /etc/frr/ospf6d.conf
+   sudo touch /etc/frr/ospfd.conf
+   sudo touch /etc/frr/pbrd.conf
+   sudo touch /etc/frr/pimd.conf
+   sudo touch /etc/frr/ripd.conf
+   sudo touch /etc/frr/ripngd.conf
+   sudo touch /etc/frr/staticd.conf
+   sudo touch /etc/frr/zebra.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
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
 
-    sudo install -p -m 644 redhat/daemons /etc/frr/
-    sudo chown frr:frr /etc/frr/daemons
+   sudo install -p -m 644 redhat/daemons /etc/frr/
+   sudo chown frr:frr /etc/frr/daemons
 
 Edit /etc/frr/daemons as needed to select the required daemons
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -214,42 +230,40 @@ Enable the daemons as required by changing the value to ``yes``
 Enable IP & IPv6 forwarding
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Edit ``/etc/sysctl.conf`` and set the following values (ignore the other
-settings)
+Edit :file:`/etc/sysctl.conf` and set the following values (ignore the other
+settings)::
 
-::
-
-    # Controls IP packet forwarding
-    net.ipv4.ip_forward = 1
-    net.ipv6.conf.all.forwarding=1
+   # Controls IP packet forwarding
+   net.ipv4.ip_forward = 1
+   net.ipv6.conf.all.forwarding=1
 
-    # Controls source route verification
-    net.ipv4.conf.default.rp_filter = 0
+   # Controls source route verification
+   net.ipv4.conf.default.rp_filter = 0
 
 Load the modifed sysctl's on the system:
 
-::
+.. code-block:: shell
 
-    sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
+   sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
 
 Add init.d startup files
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block::
 
-    sudo install -p -m 755 redhat/frr.init /etc/init.d/frr
-    sudo chkconfig --add frr
+   sudo install -p -m 755 redhat/frr.init /etc/init.d/frr
+   sudo chkconfig --add frr
 
-Enable frr daemon at startup
+Enable FRR daemon at startup
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block::
 
-    sudo chkconfig frr on
+   sudo chkconfig frr on
 
 Start FRR manually (or reboot)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block::
 
-    sudo /etc/init.d/frr start
+   sudo /etc/init.d/frr start
index 5d14db5fa74162e985a95b4becedf712b3ec1ced..95f09e8c2298f7924ea7038885233a1c4103ce88 100644 (file)
@@ -78,21 +78,41 @@ an example)
 Create empty FRR configuration files
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
+
+   sudo mkdir /usr/local/etc/frr
+
+For integrated config file:
+
+.. code-block:: shell
+
+   sudo touch /usr/local/etc/frr/frr.conf
+
+For individual config files:
+
+.. note:: Integrated config is preferred to individual config.
+
+.. code-block:: shell
 
-    sudo mkdir /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/zebra.conf
-    sudo touch /usr/local/etc/frr/bgpd.conf
-    sudo touch /usr/local/etc/frr/ospfd.conf
-    sudo touch /usr/local/etc/frr/ospf6d.conf
-    sudo touch /usr/local/etc/frr/isisd.conf
-    sudo touch /usr/local/etc/frr/ripd.conf
-    sudo touch /usr/local/etc/frr/ripngd.conf
-    sudo touch /usr/local/etc/frr/pimd.conf
-    sudo chown -R frr:frr /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/vtysh.conf
-    sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
-    sudo chmod 640 /usr/local/etc/frr/*.conf
+   sudo touch /usr/local/etc/frr/babeld.conf
+   sudo touch /usr/local/etc/frr/bfdd.conf
+   sudo touch /usr/local/etc/frr/bgpd.conf
+   sudo touch /usr/local/etc/frr/eigrpd.conf
+   sudo touch /usr/local/etc/frr/isisd.conf
+   sudo touch /usr/local/etc/frr/ldpd.conf
+   sudo touch /usr/local/etc/frr/nhrpd.conf
+   sudo touch /usr/local/etc/frr/ospf6d.conf
+   sudo touch /usr/local/etc/frr/ospfd.conf
+   sudo touch /usr/local/etc/frr/pbrd.conf
+   sudo touch /usr/local/etc/frr/pimd.conf
+   sudo touch /usr/local/etc/frr/ripd.conf
+   sudo touch /usr/local/etc/frr/ripngd.conf
+   sudo touch /usr/local/etc/frr/staticd.conf
+   sudo touch /usr/local/etc/frr/zebra.conf
+   sudo chown -R frr:frr /usr/local/etc/frr/
+   sudo touch /usr/local/etc/frr/vtysh.conf
+   sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
+   sudo chmod 640 /usr/local/etc/frr/*.conf
 
 Enable IP & IPv6 forwarding
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -101,9 +121,8 @@ Add the following lines to the end of ``/etc/sysctl.conf``:
 
 ::
 
-    # Routing: We need to forward packets
-    net.inet.ip.forwarding=1
-    net.inet6.ip6.forwarding=1
+   # Routing: We need to forward packets
+   net.inet.ip.forwarding=1
+   net.inet6.ip6.forwarding=1
 
-**Reboot** or use ``sysctl`` to apply the same config to the running
-system
+**Reboot** or use ``sysctl`` to apply the same config to the running system.
index 1a0b22509c117ea9a8736620df34e1be142be82b..ce5941440c376dd92236d8192f481d5efc70a6ed 100644 (file)
@@ -1,5 +1,5 @@
 FreeBSD 11
-==========================================
+==========
 
 FreeBSD 11 restrictions:
 ------------------------
@@ -14,85 +14,110 @@ Install required packages
 Add packages: (Allow the install of the package managment tool if this
 is first package install and asked)
 
-::
+.. code-block:: shell
 
-    pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
-        bison flex py27-pytest c-ares python3 py36-sphinx
+   pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
+      bison flex py27-pytest c-ares python3 py36-sphinx texinfo
 
 Make sure there is no /usr/bin/flex preinstalled (and use the newly
 installed in /usr/local/bin): (FreeBSD frequently provides a older flex
 as part of the base OS which takes preference in path)
 
-::
+.. code-block:: shell
 
-    rm -f /usr/bin/flex
+   rm -f /usr/bin/flex
 
 Get FRR, compile it and install it (from Git)
 ---------------------------------------------
 
-**This assumes you want to build and install FRR from source and not
-using any packages**
+**This assumes you want to build and install FRR from source and not using any
+packages**
 
 Add frr group and user
 ^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
+
+   pw groupadd frr -g 101
+   pw groupadd frrvty -g 102
+   pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
+      -d /usr/local/etc/frr -s /usr/sbin/nologin
 
-    pw groupadd frr -g 101
-    pw groupadd frrvty -g 102
-    pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
-        -d /usr/local/etc/frr -s /usr/sbin/nologin
+
+Download Source, configure and compile it
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 (You may prefer different options on configure statement. These are just
 an example)
 
-::
-
-    git clone https://github.com/frrouting/frr.git frr
-    cd frr
-    ./bootstrap.sh
-    export MAKE=gmake
-    export LDFLAGS="-L/usr/local/lib"
-    export CPPFLAGS="-I/usr/local/include"
-    ./configure \
-        --sysconfdir=/usr/local/etc/frr \
-        --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
-        --localstatedir=/var/run/frr \
-        --prefix=/usr/local \
-        --enable-ospfclient=yes \
-        --enable-ospfapi=yes \
-        --enable-multipath=64 \
-        --enable-user=frr \
-        --enable-group=frr \
-        --enable-vty-group=frrvty \
-        --enable-configfile-mask=0640 \
-        --enable-logfile-mask=0640 \
-        --enable-rtadv \
-        --enable-fpm \
-        --with-pkg-git-version \
-        --with-pkg-extra-version=-MyOwnFRRVersion
-    gmake
-    gmake check
-    sudo gmake install
+.. code-block:: shell
+
+   git clone https://github.com/frrouting/frr.git frr
+   cd frr
+   ./bootstrap.sh
+   setenv MAKE gmake
+   setenv LDFLAGS -L/usr/local/lib
+   setenv CPPFLAGS -I/usr/local/include
+   ln -s /usr/local/bin/sphinx-build-3.6 /usr/local/bin/sphinx-build
+   ./configure \
+       --sysconfdir=/usr/local/etc/frr \
+       --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
+       --localstatedir=/var/run/frr \
+       --prefix=/usr/local \
+       --enable-ospfclient=yes \
+       --enable-ospfapi=yes \
+       --enable-multipath=64 \
+       --enable-user=frr \
+       --enable-group=frr \
+       --enable-vty-group=frrvty \
+       --enable-configfile-mask=0640 \
+       --enable-logfile-mask=0640 \
+       --enable-rtadv \
+       --enable-fpm \
+       --with-pkg-git-version \
+       --with-pkg-extra-version=-MyOwnFRRVersion
+   gmake
+   gmake check
+   sudo gmake install
 
 Create empty FRR configuration files
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
+
+   sudo mkdir /usr/local/etc/frr
+
+For integrated config file:
+
+.. code-block:: shell
+
+   sudo touch /usr/local/etc/frr/frr.conf
+
+For individual config files:
+
+.. note:: Integrated config is preferred to individual config.
+
+.. code-block:: shell
 
-    sudo mkdir /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/zebra.conf
-    sudo touch /usr/local/etc/frr/bgpd.conf
-    sudo touch /usr/local/etc/frr/ospfd.conf
-    sudo touch /usr/local/etc/frr/ospf6d.conf
-    sudo touch /usr/local/etc/frr/isisd.conf
-    sudo touch /usr/local/etc/frr/ripd.conf
-    sudo touch /usr/local/etc/frr/ripngd.conf
-    sudo touch /usr/local/etc/frr/pimd.conf
-    sudo chown -R frr:frr /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/vtysh.conf
-    sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
-    sudo chmod 640 /usr/local/etc/frr/*.conf
+   sudo touch /usr/local/etc/frr/babeld.conf
+   sudo touch /usr/local/etc/frr/bfdd.conf
+   sudo touch /usr/local/etc/frr/bgpd.conf
+   sudo touch /usr/local/etc/frr/eigrpd.conf
+   sudo touch /usr/local/etc/frr/isisd.conf
+   sudo touch /usr/local/etc/frr/ldpd.conf
+   sudo touch /usr/local/etc/frr/nhrpd.conf
+   sudo touch /usr/local/etc/frr/ospf6d.conf
+   sudo touch /usr/local/etc/frr/ospfd.conf
+   sudo touch /usr/local/etc/frr/pbrd.conf
+   sudo touch /usr/local/etc/frr/pimd.conf
+   sudo touch /usr/local/etc/frr/ripd.conf
+   sudo touch /usr/local/etc/frr/ripngd.conf
+   sudo touch /usr/local/etc/frr/staticd.conf
+   sudo touch /usr/local/etc/frr/zebra.conf
+   sudo chown -R frr:frr /usr/local/etc/frr/
+   sudo touch /usr/local/etc/frr/vtysh.conf
+   sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
+   sudo chmod 640 /usr/local/etc/frr/*.conf
 
 Enable IP & IPv6 forwarding
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -101,9 +126,8 @@ Add the following lines to the end of ``/etc/sysctl.conf``:
 
 ::
 
-    # Routing: We need to forward packets
-    net.inet.ip.forwarding=1
-    net.inet6.ip6.forwarding=1
+   # Routing: We need to forward packets
+   net.inet.ip.forwarding=1
+   net.inet6.ip6.forwarding=1
 
-**Reboot** or use ``sysctl`` to apply the same config to the running
-system
+**Reboot** or use ``sysctl`` to apply the same config to the running system.
index 02279debea8ae3724b92a983a583316374cee3c7..4f859d3510fb5ff786db0dede1626acf7b4ad4d4 100644 (file)
@@ -91,21 +91,41 @@ an example)
 Create empty FRR configuration files
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. code-block:: shell
+
+   sudo mkdir /usr/local/etc/frr
+
+For integrated config file:
+
+.. code-block:: shell
+
+   sudo touch /usr/local/etc/frr/frr.conf
+
+For individual config files:
+
+.. note:: Integrated config is preferred to individual config.
+
+.. code-block:: shell
 
-    sudo mkdir /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/zebra.conf
-    sudo touch /usr/local/etc/frr/bgpd.conf
-    sudo touch /usr/local/etc/frr/ospfd.conf
-    sudo touch /usr/local/etc/frr/ospf6d.conf
-    sudo touch /usr/local/etc/frr/isisd.conf
-    sudo touch /usr/local/etc/frr/ripd.conf
-    sudo touch /usr/local/etc/frr/ripngd.conf
-    sudo touch /usr/local/etc/frr/pimd.conf
-    sudo chown -R frr:frr /usr/local/etc/frr
-    sudo touch /usr/local/etc/frr/vtysh.conf
-    sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
-    sudo chmod 640 /usr/local/etc/frr/*.conf
+   sudo touch /usr/local/etc/frr/babeld.conf
+   sudo touch /usr/local/etc/frr/bfdd.conf
+   sudo touch /usr/local/etc/frr/bgpd.conf
+   sudo touch /usr/local/etc/frr/eigrpd.conf
+   sudo touch /usr/local/etc/frr/isisd.conf
+   sudo touch /usr/local/etc/frr/ldpd.conf
+   sudo touch /usr/local/etc/frr/nhrpd.conf
+   sudo touch /usr/local/etc/frr/ospf6d.conf
+   sudo touch /usr/local/etc/frr/ospfd.conf
+   sudo touch /usr/local/etc/frr/pbrd.conf
+   sudo touch /usr/local/etc/frr/pimd.conf
+   sudo touch /usr/local/etc/frr/ripd.conf
+   sudo touch /usr/local/etc/frr/ripngd.conf
+   sudo touch /usr/local/etc/frr/staticd.conf
+   sudo touch /usr/local/etc/frr/zebra.conf
+   sudo chown -R frr:frr /usr/local/etc/frr/
+   sudo touch /usr/local/etc/frr/vtysh.conf
+   sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
+   sudo chmod 640 /usr/local/etc/frr/*.conf
 
 Enable IP & IPv6 forwarding
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -114,9 +134,8 @@ Add the following lines to the end of ``/etc/sysctl.conf``:
 
 ::
 
-    # Routing: We need to forward packets
-    net.inet.ip.forwarding=1
-    net.inet6.ip6.forwarding=1
+   # Routing: We need to forward packets
+   net.inet.ip.forwarding=1
+   net.inet6.ip6.forwarding=1
 
-**Reboot** or use ``sysctl`` to apply the same config to the running
-system
+**Reboot** or use ``sysctl`` to apply the same config to the running system.