doc: clean up 18.04 build doc

Some excess underlines, 4-space indents and typos cleaned up.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
Quentin Young 2018-05-17 21:06:32 +00:00
parent 76015847ea
commit f448f9145f

View File

@ -1,33 +1,34 @@
Ubuntu 18.04LTS Ubuntu 18.04 LTS
=============================================== ================
Install dependencies Install dependencies
------------------------- --------------------
Required packages Required packages
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
:: ::
sudo apt-get install \ sudo apt-get install \
git \ git \
autoconf \ autoconf \
automake \ automake \
libtool \ libtool \
make \ make \
gawk \ gawk \
libreadline-dev \ libreadline-dev \
texinfo \ texinfo \
pkg-config \ pkg-config \
libpam0g-dev \ libpam0g-dev \
libjson-c-dev \ libjson-c-dev \
bison \ bison \
flex \ flex \
python-pytest \ python-pytest \
libc-ares-dev \ libc-ares-dev \
python3-dev \ python3-dev \
libsystemd-dev \ libsystemd-dev \
python-ipaddr \ python-ipaddr \
python3-sphinx python3-sphinx
Optional packages Optional packages
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
@ -39,18 +40,18 @@ Protobuf
:: ::
sudo apt-get install \ sudo apt-get install \
protobuf-c-compiler \ protobuf-c-compiler \
libprotobuf-c-dev libprotobuf-c-dev
ZeroMQ ZeroMQ
~~~~~~ ~~~~~~
:: ::
sudo apt-get install \ sudo apt-get install \
libzmq5 \ libzmq5 \
libzmq3-dev libzmq3-dev
Get FRR, compile it and install it (from Git) Get FRR, compile it and install it (from Git)
--------------------------------------------- ---------------------------------------------
@ -63,18 +64,18 @@ Add frr groups and user
:: ::
sudo groupadd -g 92 frr sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvty sudo groupadd -r -g 85 frrvty
sudo adduser --system --ingroup frr --home /var/run/frr/ \ sudo adduser --system --ingroup frr --home /var/run/frr/ \
--gecos "FRR suite" --shell /sbin/nologin frr --gecos "FRR suite" --shell /sbin/nologin frr
sudo usermod -a -G frrvty frr sudo usermod -a -G frrvty frr
Download source Download source
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
:: ::
git clone https://github.com/frrouting/frr.git frr git clone https://github.com/frrouting/frr.git frr
Configure Configure
^^^^^^^^^ ^^^^^^^^^
@ -82,31 +83,31 @@ Options below are provided as an example.
.. seealso:: *Installation* section of user guide .. seealso:: *Installation* section of user guide
:: .. code-block:: shell
cd frr cd frr
./bootstrap.sh ./bootstrap.sh
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--enable-exampledir=/usr/share/doc/frr/examples/ \ --enable-exampledir=/usr/share/doc/frr/examples/ \
--localstatedir=/var/run/frr \ --localstatedir=/var/run/frr \
--sbindir=/usr/lib/frr \ --sbindir=/usr/lib/frr \
--sysconfdir=/etc/frr \ --sysconfdir=/etc/frr \
--enable-pimd \ --enable-pimd \
--enable-watchfrr \ --enable-watchfrr \
--enable-ospfclient=yes \ --enable-ospfclient=yes \
--enable-ospfapi=yes \ --enable-ospfapi=yes \
--enable-multipath=64 \ --enable-multipath=64 \
--enable-user=frr \ --enable-user=frr \
--enable-group=frr \ --enable-group=frr \
--enable-vty-group=frrvty \ --enable-vty-group=frrvty \
--enable-configfile-mask=0640 \ --enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \ --enable-logfile-mask=0640 \
--enable-rtadv \ --enable-rtadv \
--enable-fpm \ --enable-fpm \
--enable-systemd=yes \ --enable-systemd=yes \
--with-pkg-git-version \ --with-pkg-git-version \
--with-pkg-extra-version=-MyOwnFRRVersion --with-pkg-extra-version=-MyOwnFRRVersion
If optional packages were installed, the associated feature may now be If optional packages were installed, the associated feature may now be
enabled. enabled.
@ -124,9 +125,9 @@ Compile
:: ::
make make
make check make check
sudo make install sudo make install
Create empty FRR configuration files Create empty FRR configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -136,122 +137,129 @@ configuration files _before_ starting FRR. This assures that the permissions
are correct. If the files are not already present, FRR will create them. are correct. If the files are not already present, FRR will create them.
It's also important to consider _which_ files to create. FRR supports writing It's also important to consider _which_ files to create. FRR supports writing
configuration to a monolithic file, ``/etc/frr/frr.conf``, which is not configuration to a monolithic file, :file:`/etc/frr/frr.conf`, which is not
recommended recommended.
.. seealso:: *VTYSH* section of user guide .. seealso:: *VTYSH* section of user guide
The presence of ``/etc/frr/frr.conf`` on startup implicitly configures FRR to The presence of :file:`/etc/frr/frr.conf` on startup implicitly configures FRR
ignore daemon-specific configuration files. to ignore daemon-specific configuration files.
Daemon-specific configuration Daemon-specific configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
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
Monolithic configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: ::
sudo install -m 755 -o frr -g frr -d /var/log/frr 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 775 -o frr -g frrvty -d /etc/frr
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/frr.conf 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
Monolithic configuration
~~~~~~~~~~~~~~~~~~~~~~~~
::
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/frr.conf
Enable IPv4 & IPv6 forwarding Enable IPv4 & IPv6 forwarding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the Edit :file:`/etc/sysctl.conf` and uncomment the following values (ignore the
other settings) other settings):
:: ::
# Uncomment the next line to enable packet forwarding for IPv4 # Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1 net.ipv4.ip_forward=1
# Uncomment the next line to enable packet forwarding for IPv6 # Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration # Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host # based on Router Advertisements for this host
net.ipv6.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1
Add MPLS kernel modules Add MPLS kernel modules
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
Ubuntu 18.04 ships with kernel 4.15. MPLS modules are present by default. Ubuntu 18.04 ships with kernel 4.15. MPLS modules are present by default. To
To enable, add the following lines to ``/etc/modules-load.d/modules.conf``: enable, add the following lines to :file:`/etc/modules-load.d/modules.conf`:
:: ::
# Load MPLS Kernel Modules # Load MPLS Kernel Modules
mpls_router mpls_router
mpls_iptunnel mpls_iptunnel
**Reboot** or use ``sysctl -p`` to apply the same config to the running Reboot or use ``sysctl -p`` to apply the same config to the running system.
system
Enable MPLS Forwarding Enable MPLS Forwarding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
Edit ``/etc/sysctl.conf`` and the following lines. Make sure to add a Edit :file:`/etc/sysctl.conf` and the following lines. Make sure to add a line
line equal to ``net.mpls.conf.eth0.input`` or each interface used with equal to :file:`net.mpls.conf.eth0.input` for each interface used with MPLS.
MPLS
:: ::
# Enable MPLS Label processing on all interfaces # Enable MPLS Label processing on all interfaces
net.mpls.conf.eth0.input=1 net.mpls.conf.eth0.input=1
net.mpls.conf.eth1.input=1 net.mpls.conf.eth1.input=1
net.mpls.conf.eth2.input=1 net.mpls.conf.eth2.input=1
net.mpls.platform_labels=100000 net.mpls.platform_labels=100000
Install the systemd service (if rebooted from last step, change directory back to frr directory) Install the systemd service
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
:: ::
sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
sudo install -m 644 tools/etc/default/frr /etc/default/frr sudo install -m 644 tools/etc/default/frr /etc/default/frr
sudo install -m 644 tools/etc/frr/daemons /etc/frr/daemons sudo install -m 644 tools/etc/frr/daemons /etc/frr/daemons
sudo install -m 644 tools/etc/frr/daemons.conf /etc/frr/daemons.conf sudo install -m 644 tools/etc/frr/daemons.conf /etc/frr/daemons.conf
sudo install -m 644 tools/etc/frr/frr.conf /etc/frr/frr.conf sudo install -m 644 tools/etc/frr/frr.conf /etc/frr/frr.conf
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
Enable daemons Enable daemons
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
| Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for those
those daemons you want to start by systemd. daemons you want to start by systemd. For example:
| For example.
:: ::
zebra=yes zebra=yes
bgpd=yes bgpd=yes
ospfd=yes ospfd=yes
ospf6d=yes ospf6d=yes
ripd=yes ripd=yes
ripngd=yes ripngd=yes
isisd=yes isisd=yes
Enable the systemd service Enable the systemd service
^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
- systemctl enable frr Enabling the systemd service causes FRR to be started upon boot. To enable it,
use the following command:
.. code-block:: shell
systemctl enable frr
Start the systemd service Start the systemd service
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
- systemctl start frr .. code-block:: shell
- use ``systemctl status frr`` to check its status.
systemctl start frr
After starting the service, you can use ``systemctl status frr`` to check its
status.