doc: Fixed a few typos on Building Doc's, Changed Tab's to spaces and limited line length to < 80 chars where possible

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
This commit is contained in:
Martin Winter 2017-02-16 22:55:09 +07:00
parent 278fb111f6
commit eb651bbceb
14 changed files with 1029 additions and 970 deletions

View File

@ -6,9 +6,10 @@ Instructions are tested with `CentOS 6.8` on `x86_64` platform
CentOS 6 restrictions: CentOS 6 restrictions:
---------------------- ----------------------
- PIMd is not supported on `CentOS 6`. Upgrade to `CentOS 7` if PIMd is needed - PIMd is not supported on `CentOS 6`. Upgrade to `CentOS 7` if PIMd is
- MPLS is not supported on `CentOS 6`. MPLS requires Linux Kernel 4.5 or higher needed
(LDP can be built, but may have limited use without MPLS) - MPLS is not supported on `CentOS 6`. MPLS requires Linux Kernel 4.5 or
higher (LDP can be built, but may have limited use without MPLS)
Install required packages Install required packages
------------------------- -------------------------
@ -19,7 +20,8 @@ Add packages:
texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \ texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
flex pytest flex pytest
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
curl -O http://vault.centos.org/7.0.1406/os/Source/SPackages/bison-2.7-4.el7.src.rpm 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 rpmbuild --rebuild ./bison-2.7-4.el7.src.rpm
@ -44,7 +46,8 @@ Install newer version of autoconf and automake (Package versions are too old)
sudo make install sudo make install
cd .. cd ..
Install `Python 2.7` in parallel to default 2.6 (needed for `make check` to run unittests). Install `Python 2.7` in parallel to default 2.6 (needed for `make check` to
run unittests).
Pick correct EPEL based on CentOS version used. Then install current `pytest` Pick correct EPEL based on CentOS version used. Then install current `pytest`
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
@ -52,13 +55,14 @@ Pick correct EPEL based on CentOS version used. Then install current `pytest`
yum install python27 python27-pip yum install python27 python27-pip
pip2.7 install pytest pip2.7 install pytest
Please note that `CentOS 6` needs to keep python pointing to version 2.6 for `yum` to keep Please note that `CentOS 6` needs to keep python pointing to version 2.6
working, so don't create a symlink for python2.7 to python for `yum` to keep working, so don't create a symlink for python2.7 to python
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -68,9 +72,11 @@ Get FRR, compile it and install it (from Git)
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr -c "FRR FreeRangeRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
You may want to pay special attention to `/usr/lib64` paths and change them if you are not building on a x86_64 architecture You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -117,7 +123,8 @@ You may want to pay special attention to `/usr/lib64` paths and change them if y
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Edit `/etc/sysctl.conf` and set the following values (ignore the other settings) Edit `/etc/sysctl.conf` and set the following values (ignore the other
settings)
# Controls IP packet forwarding # Controls IP packet forwarding
net.ipv4.ip_forward = 1 net.ipv4.ip_forward = 1

View File

@ -20,7 +20,8 @@ Add packages:
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -30,9 +31,11 @@ Get FRR, compile it and install it (from Git)
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr -c "FRR FreeRangeRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
You may want to pay special attention to `/usr/lib64` paths and change them if you are not building on a x86_64 architecture You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -79,7 +82,8 @@ You may want to pay special attention to `/usr/lib64` paths and change them if y
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the following content: Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the
following content:
# Sysctl for routing # Sysctl for routing
# #

View File

@ -13,8 +13,9 @@ Install required packages
Add packages: Add packages:
sudo apt-get install git autoconf automake libtool make gawk libreadline-dev \ sudo apt-get install git autoconf automake libtool make gawk \
texinfo libjson-c-dev pkg-config bison flex python-pip libreadline-dev texinfo libjson-c-dev pkg-config bison flex \
python-pip
Install newer pytest (>3.0) from pip Install newer pytest (>3.0) from pip
@ -23,7 +24,8 @@ Install newer pytest (>3.0) from pip
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -34,7 +36,8 @@ Get FRR, compile it and install it (from Git)
sudo usermode sudo usermode
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -81,7 +84,8 @@ Get FRR, compile it and install it (from Git)
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Edit `/etc/sysctl.conf` and uncomment the following values (ignore the other settings) Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
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

View File

@ -6,14 +6,15 @@ Install required packages
Add packages: Add packages:
sudo dnf install git autoconf automake libtool make gawk readline-devel \ sudo dnf install git autoconf automake libtool make gawk \
texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \ readline-devel texinfo net-snmp-devel groff pkgconfig \
perl-XML-LibXML pytest json-c-devel pam-devel perl-XML-LibXML pytest
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -23,9 +24,11 @@ Get FRR, compile it and install it (from Git)
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr -c "FRR FreeRangeRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
You may want to pay special attention to `/usr/lib64` paths and chenge them if you are not building on a x86_64 architecture You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -74,8 +77,10 @@ You may want to pay special attention to `/usr/lib64` paths and chenge them if y
### Enable IP & IPv6 forwarding (and MPLS) ### Enable IP & IPv6 forwarding (and MPLS)
Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the following content: Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the
(Please make sure to list all interfaces with required MPLS similar to `net.mpls.conf.eth0.input=1`) following content:
(Please make sure to list all interfaces with required MPLS similar
to `net.mpls.conf.eth0.input=1`)
# Sysctl for routing # Sysctl for routing
# #

View File

@ -12,20 +12,24 @@ Install required packages
------------------------- -------------------------
Add packages: Add packages:
(Allow the install of the package managment tool if this is first package install and asked) (Allow the install of the package managment tool if this is first package
install and asked)
pkg install git autoconf automake libtool gmake gawk json-c pkgconf \ pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
bison flex py27-pytest bison flex py27-pytest
Make sure there is no /usr/bin/flex preinstalled (and use the newly installed in /usr/local/bin): Make sure there is no /usr/bin/flex preinstalled (and use the newly
(FreeBSD frequently provides a older flex as part of the base OS whcih takes preference in path) installed in /usr/local/bin):
(FreeBSD frequently provides a older flex as part of the base OS which
takes preference in path)
rm -f /usr/bin/flex rm -f /usr/bin/flex
Get FRR, compile it and install it (from Git) 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 ### Add frr group and user
@ -34,7 +38,8 @@ Get FRR, compile it and install it (from Git)
pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \ pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
-d /usr/local/etc/frr -s /usr/sbin/nologin -d /usr/local/etc/frr -s /usr/sbin/nologin
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -12,20 +12,24 @@ Install required packages
------------------------- -------------------------
Add packages: Add packages:
(Allow the install of the package managment tool if this is first package install and asked) (Allow the install of the package managment tool if this is first package
install and asked)
pkg install git autoconf automake libtool gmake gawk json-c pkgconf \ pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
bison flex py27-pytest bison flex py27-pytest
Make sure there is no /usr/bin/flex preinstalled (and use the newly installed in /usr/local/bin): Make sure there is no /usr/bin/flex preinstalled (and use the newly
(FreeBSD frequently provides a older flex as part of the base OS whcih takes preference in path) installed in /usr/local/bin):
(FreeBSD frequently provides a older flex as part of the base OS which
takes preference in path)
rm -f /usr/bin/flex rm -f /usr/bin/flex
Get FRR, compile it and install it (from Git) 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 ### Add frr group and user
@ -34,7 +38,8 @@ Get FRR, compile it and install it (from Git)
pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \ pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
-d /usr/local/etc/frr -s /usr/sbin/nologin -d /usr/local/etc/frr -s /usr/sbin/nologin
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -12,20 +12,24 @@ Install required packages
------------------------- -------------------------
Add packages: Add packages:
(Allow the install of the package managment tool if this is first package install and asked) (Allow the install of the package managment tool if this is first package
install and asked)
pkg install -y git autoconf automake libtool gmake gawk \ pkg install -y git autoconf automake libtool gmake gawk \
pkgconf texinfo json-c bison flex py27-pytest pkgconf texinfo json-c bison flex py27-pytest
Make sure there is no /usr/bin/flex preinstalled (and use the newly installed in /usr/local/bin): Make sure there is no /usr/bin/flex preinstalled (and use the newly
(FreeBSD frequently provides a older flex as part of the base OS whcih takes preference in path) installed in /usr/local/bin):
(FreeBSD frequently provides a older flex as part of the base OS which
takes preference in path)
rm -f /usr/bin/flex rm -f /usr/bin/flex
Get FRR, compile it and install it (from Git) 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 ### Add frr group and user
@ -34,7 +38,8 @@ Get FRR, compile it and install it (from Git)
pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \ pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
-d /usr/local/etc/frr -s /usr/sbin/nologin -d /usr/local/etc/frr -s /usr/sbin/nologin
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -17,8 +17,8 @@ Configure Package location:
Add packages: Add packages:
sudo pkg_add git autoconf automake libtool gmake gawk openssl pkg-config \ sudo pkg_add git autoconf automake libtool gmake gawk openssl \
json-c p5-XML-LibXML python27 py27-test pkg-config json-c p5-XML-LibXML python27 py27-test
Install SSL Root Certificates (for git https access): Install SSL Root Certificates (for git https access):
@ -42,7 +42,8 @@ Get FRR, compile it and install it (from Git)
-d /nonexistent -s /sbin/nologin frr -d /nonexistent -s /sbin/nologin frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -11,8 +11,8 @@ NetBSD 7 restrictions:
Install required packages Install required packages
------------------------- -------------------------
sudo pkgin install git autoconf automake libtool gmake gawk openssl pkg-config \ sudo pkgin install git autoconf automake libtool gmake gawk openssl \
json-c p5-XML-LibXML python27 py27-test pkg-config json-c p5-XML-LibXML python27 py27-test
Install SSL Root Certificates (for git https access): Install SSL Root Certificates (for git https access):
@ -36,7 +36,8 @@ Get FRR, compile it and install it (from Git)
-d /nonexistent -s /sbin/nologin frr -d /nonexistent -s /sbin/nologin frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -4,8 +4,9 @@ Building FRR on OmniOS (OpenSolaris) from Git Source
OmniOS restrictions: OmniOS restrictions:
-------------------- --------------------
- MPLS is not supported on `OmniOS` or `Solaris`. MPLS requires a Linux Kernel - MPLS is not supported on `OmniOS` or `Solaris`. MPLS requires a Linux
(4.5 or higher). LDP can be built, but may have limited use without MPLS Kernel (4.5 or higher). LDP can be built, but may have limited use
without MPLS
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
@ -61,7 +62,8 @@ Select Python 2.7 as default (required for pytest)
rm -f /usr/bin/python rm -f /usr/bin/python
ln -s /opt/csw/bin/python2.7 /usr/bin/python ln -s /opt/csw/bin/python2.7 /usr/bin/python
Fix PATH for all users and non-interactive sessions. Edit `/etc/default/login` and add the following default PATH: Fix PATH for all users and non-interactive sessions. Edit `/etc/default/login`
and add the following default PATH:
PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin
@ -72,7 +74,8 @@ Edit `~/.profile` and add the following default PATH:
Get FRR, compile it and install it (from Git) 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 ### Add frr group and user
@ -81,7 +84,8 @@ Get FRR, compile it and install it (from Git)
sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \ sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \
-d /nonexistent -s /bin/false frr -d /nonexistent -s /bin/false frr
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr

View File

@ -26,7 +26,8 @@ Select Python2.7 as default (required for pytest)
Get FRR, compile it and install it (from Git) 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 ### Add frr group and user
@ -36,7 +37,8 @@ Get FRR, compile it and install it (from Git)
-d /nonexistent -s /sbin/nologin _frr -d /nonexistent -s /sbin/nologin _frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example) (You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -98,7 +100,8 @@ Add the following lines to the end of `/etc/rc.conf`:
**Reboot** to apply the config to the system **Reboot** to apply the config to the system
### Install rc.d init files ### Install rc.d init files
(create them in /etc/rc.d - no example are included at this time with FRR source) (create them in /etc/rc.d - no example are included at this time with
FRR source)
Example (for zebra - store as `/etc/rc.d/frr_zebra.sh`) Example (for zebra - store as `/etc/rc.d/frr_zebra.sh`)

View File

@ -11,11 +11,12 @@ Install required packages
Add packages: Add packages:
apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \ apt-get install git autoconf automake libtool make gawk libreadline-dev \
libpam0g-dev dejagnu libjson0 pkg-config libpam0g-dev libjson0-dev flex \ texinfo libpam0g-dev dejagnu libjson0 pkg-config libpam0g-dev \
python-pytest libjson0-dev flex python-pytest
Install newer bison from 14.04 package source (Ubuntu 12.04 package source is too old) Install newer bison from 14.04 package source (Ubuntu 12.04 package source
is too old)
mkdir builddir mkdir builddir
cd builddir cd builddir
@ -53,7 +54,8 @@ Install newer version of autoconf and automake:
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -63,7 +65,8 @@ Get FRR, compile it and install it (from Git)
--gecos "FRR suite" --shell /sbin/nologin frr --gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -115,7 +118,8 @@ Get FRR, compile it and install it (from Git)
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Edit `/etc/sysctl.conf` and uncomment the following values (ignore the other settings) Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
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

View File

@ -11,12 +11,16 @@ Install required packages
Add packages: Add packages:
apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \ apt-get install git autoconf automake libtool make gawk libreadline-dev \
dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
python-pytest
Get FRR, compile it and install it (from Git) 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**
### Add frr groups and user ### Add frr groups and user
sudo groupadd -g 92 frr sudo groupadd -g 92 frr
@ -25,7 +29,8 @@ Get FRR, compile it and install it (from Git)
--gecos "FRR suite" --shell /sbin/nologin frr --gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -75,7 +80,8 @@ Get FRR, compile it and install it (from Git)
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Edit `/etc/sysctl.conf` and uncomment the following values (ignore the other settings) Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
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

View File

@ -1,23 +1,26 @@
Building FRR on Ubuntu 12.04LTS from Git Source Building FRR on Ubuntu 16.04LTS from Git Source
=============================================== ===============================================
- MPLS is not supported on `Ubuntu 12.04` with default kernel. MPLS requires - MPLS is not supported on `Ubuntu 16.04` with default kernel. MPLS requires
Linux Kernel 4.5 or higher (LDP can be built, but may have limited use Linux Kernel 4.5 or higher (LDP can be built, but may have limited use
without MPLS) without MPLS)
For an updated Ubuntu Kernel, see http://kernel.ubuntu.com/~kernel-ppa/mainline/ For an updated Ubuntu Kernel, see
http://kernel.ubuntu.com/~kernel-ppa/mainline/
Install required packages Install required packages
------------------------- -------------------------
Add packages: Add packages:
apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \ apt-get install git autoconf automake libtool make gawk libreadline-dev \
dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
python-pytest
Get FRR, compile it and install it (from Git) 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 ### Add frr groups and user
@ -27,7 +30,8 @@ Get FRR, compile it and install it (from Git)
--gecos "FRR suite" --shell /sbin/nologin frr --gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it ### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just an example.) (You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr git clone https://github.com/freerangerouting/frr.git frr
cd frr cd frr
@ -79,7 +83,8 @@ Get FRR, compile it and install it (from Git)
### Enable IP & IPv6 forwarding ### Enable IP & IPv6 forwarding
Edit `/etc/sysctl.conf` and uncomment the following values (ignore the other settings) Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
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
@ -91,8 +96,8 @@ Edit `/etc/sysctl.conf` and uncomment the following values (ignore the other set
### Enable MPLS Forwarding (with Linux Kernel >= 4.5) ### Enable MPLS Forwarding (with Linux Kernel >= 4.5)
Edit `/etc/sysctl.conf` and the following lines. Make sure to add a line equal to Edit `/etc/sysctl.conf` and the following lines. Make sure to add a line
`net.mpls.conf.eth0.input` or each interface used with MPLS equal to `net.mpls.conf.eth0.input` or each interface used with 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