summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Winter <mwinter@opensourcerouting.org>2017-02-16 16:55:09 +0100
committerMartin Winter <mwinter@opensourcerouting.org>2017-02-16 16:55:09 +0100
commiteb651bbceb018fca7873bef03c5b4221a9765b3b (patch)
tree55fc6f995a0e1d9be568471f09f3f0e81e6d4f31 /doc
parentdoc: Add initial set of docs on building FRR on various Distributions (diff)
downloadfrr-eb651bbceb018fca7873bef03c5b4221a9765b3b.tar.xz
frr-eb651bbceb018fca7873bef03c5b4221a9765b3b.zip
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>
Diffstat (limited to 'doc')
-rw-r--r--doc/Building_FRR_on_CentOS6.md225
-rw-r--r--doc/Building_FRR_on_CentOS7.md154
-rw-r--r--doc/Building_FRR_on_Debian8.md122
-rw-r--r--doc/Building_FRR_on_Fedora24.md115
-rw-r--r--doc/Building_FRR_on_FreeBSD10.md123
-rw-r--r--doc/Building_FRR_on_FreeBSD11.md123
-rw-r--r--doc/Building_FRR_on_FreeBSD9.md119
-rw-r--r--doc/Building_FRR_on_NetBSD6.md145
-rw-r--r--doc/Building_FRR_on_NetBSD7.md135
-rw-r--r--doc/Building_FRR_on_OmniOS.md158
-rw-r--r--doc/Building_FRR_on_OpenBSD6.md155
-rw-r--r--doc/Building_FRR_on_Ubuntu1204.md192
-rw-r--r--doc/Building_FRR_on_Ubuntu1404.md122
-rw-r--r--doc/Building_FRR_on_Ubuntu1604.md153
14 files changed, 1050 insertions, 991 deletions
diff --git a/doc/Building_FRR_on_CentOS6.md b/doc/Building_FRR_on_CentOS6.md
index f770aebcf..ccb07fb2a 100644
--- a/doc/Building_FRR_on_CentOS6.md
+++ b/doc/Building_FRR_on_CentOS6.md
@@ -6,148 +6,155 @@ Instructions are tested with `CentOS 6.8` on `x86_64` platform
CentOS 6 restrictions:
----------------------
-- PIMd is not supported on `CentOS 6`. Upgrade to `CentOS 7` if PIMd is needed
-- 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)
+- PIMd is not supported on `CentOS 6`. Upgrade to `CentOS 7` if PIMd is
+ needed
+- 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
-------------------------
-
+
Add packages:
- sudo yum install git autoconf automake libtool make gawk readline-devel \
- texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
- flex pytest
+ sudo yum install git autoconf automake libtool make gawk readline-devel \
+ texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
+ 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
- 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
+ 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)
- 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 (needed for `make check` to run unittests).
+ 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 (needed for `make check` to
+run unittests).
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 https://centos6.iuscommunity.org/ius-release.rpm
- yum install python27 python27-pip
- pip2.7 install pytest
+ rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
+ rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
+ yum install python27 python27-pip
+ 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
+
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
- 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 FreeRangeRouting suite" -d /var/run/frr frr
+ 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 FreeRangeRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it
-(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
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --sysconfdir=/etc/frr \
- --libdir=/usr/lib64/frr \
- --libexecdir=/usr/lib64/frr \
- --localstatedir=/var/run/frr \
- --disable-pimd \
- --enable-snmp=agentx \
- --enable-multipath=64 \
- --enable-ospfclient=yes \
- --enable-ospfapi=yes \
- --enable-user=frr \
- --enable-group=frr \
- --enable-vty-group=frrvt \
- --enable-rtadv \
- --disable-exampledir \
- --enable-watchfrr \
- --enable-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check PYTHON=/usr/bin/python2.7
- sudo make install
+(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
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --sysconfdir=/etc/frr \
+ --libdir=/usr/lib64/frr \
+ --libexecdir=/usr/lib64/frr \
+ --localstatedir=/var/run/frr \
+ --disable-pimd \
+ --enable-snmp=agentx \
+ --enable-multipath=64 \
+ --enable-ospfclient=yes \
+ --enable-ospfapi=yes \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvt \
+ --enable-rtadv \
+ --disable-exampledir \
+ --enable-watchfrr \
+ --enable-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check PYTHON=/usr/bin/python2.7
+ sudo make install
### Create empty FRR configuration files
- 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 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
+ 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 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
### 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
- 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
**Reboot** or use `sysctl` to apply the same config to the running system
### Add init.d startup files
- sudo cp redhat/bgpd.init /etc/init.d/bgpd
- sudo cp redhat/isisd.init /etc/init.d/isisd
- sudo cp redhat/ospfd.init /etc/init.d/ospfd
- sudo cp redhat/ospf6d.init /etc/init.d/ospf6d
- sudo cp redhat/ripngd.init /etc/init.d/ripngd
- sudo cp redhat/ripd.init /etc/init.d/ripd
- sudo cp redhat/zebra.init /etc/init.d/zebra
- sudo chkconfig --add zebra
- sudo chkconfig --add ripd
- sudo chkconfig --add ripngd
- sudo chkconfig --add ospf6d
- sudo chkconfig --add ospfd
- sudo chkconfig --add bgpd
- sudo chkconfig --add isisd
+ sudo cp redhat/bgpd.init /etc/init.d/bgpd
+ sudo cp redhat/isisd.init /etc/init.d/isisd
+ sudo cp redhat/ospfd.init /etc/init.d/ospfd
+ sudo cp redhat/ospf6d.init /etc/init.d/ospf6d
+ sudo cp redhat/ripngd.init /etc/init.d/ripngd
+ sudo cp redhat/ripd.init /etc/init.d/ripd
+ sudo cp redhat/zebra.init /etc/init.d/zebra
+ sudo chkconfig --add zebra
+ sudo chkconfig --add ripd
+ sudo chkconfig --add ripngd
+ sudo chkconfig --add ospf6d
+ sudo chkconfig --add ospfd
+ sudo chkconfig --add bgpd
+ sudo chkconfig --add isisd
### Enable required daemons at startup
Only enable zebra and the daemons which are needed for your setup
- sudo chkconfig zebra on
- sudo chkconfig ospfd on
- sudo chkconfig bgpd on
- [...] etc (as needed)
+ sudo chkconfig zebra on
+ sudo chkconfig ospfd on
+ sudo chkconfig bgpd on
+ [...] etc (as needed)
diff --git a/doc/Building_FRR_on_CentOS7.md b/doc/Building_FRR_on_CentOS7.md
index 36e50e442..cd10a91ed 100644
--- a/doc/Building_FRR_on_CentOS7.md
+++ b/doc/Building_FRR_on_CentOS7.md
@@ -10,76 +10,80 @@ CentOS 7 restrictions:
Install required packages
-------------------------
-
+
Add packages:
- sudo yum install git autoconf automake libtool make gawk readline-devel \
- texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
- bison flex pytest
+ sudo yum install git autoconf automake libtool make gawk readline-devel \
+ texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
+ bison flex pytest
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
- 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 FreeRangeRouting suite" -d /var/run/frr frr
+ 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 FreeRangeRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it
-(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
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --sysconfdir=/etc/frr \
- --libdir=/usr/lib64/frr \
- --libexecdir=/usr/lib64/frr \
- --localstatedir=/var/run/frr \
- --enable-snmp=agentx \
- --enable-multipath=64 \
- --enable-ospfclient=yes \
- --enable-ospfapi=yes \
- --enable-user=frr \
- --enable-group=frr \
- --enable-vty-group=frrvt \
- --enable-rtadv \
- --disable-exampledir \
- --enable-watchfrr \
- --enable-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check
- sudo make install
+(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
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --sysconfdir=/etc/frr \
+ --libdir=/usr/lib64/frr \
+ --libexecdir=/usr/lib64/frr \
+ --localstatedir=/var/run/frr \
+ --enable-snmp=agentx \
+ --enable-multipath=64 \
+ --enable-ospfclient=yes \
+ --enable-ospfapi=yes \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvt \
+ --enable-rtadv \
+ --disable-exampledir \
+ --enable-watchfrr \
+ --enable-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check
+ sudo make install
### Create empty FRR configuration files
- 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 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
+ 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 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
### 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
#
@@ -90,30 +94,30 @@ Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the following cont
**Reboot** or use `sysctl` to apply the same config to the running system
### Install Service files
- sudo install -p -m 644 redhat/zebra.service /usr/lib/systemd/system/zebra.service
- sudo install -p -m 644 redhat/isisd.service /usr/lib/systemd/system/isisd.service
- sudo install -p -m 644 redhat/ripd.service /usr/lib/systemd/system/ripd.service
- sudo install -p -m 644 redhat/ospfd.service /usr/lib/systemd/system/ospfd.service
- sudo install -p -m 644 redhat/bgpd.service /usr/lib/systemd/system/bgpd.service
- sudo install -p -m 644 redhat/ospf6d.service /usr/lib/systemd/system/ospf6d.service
- sudo install -p -m 644 redhat/ripngd.service /usr/lib/systemd/system/ripngd.service
- sudo install -p -m 644 redhat/pimd.service /usr/lib/systemd/system/pimd.service
- sudo install -p -m 644 redhat/frr.sysconfig /etc/sysconfig/frr
- sudo install -p -m 644 redhat/frr.logrotate /etc/logrotate.d/frr
+ sudo install -p -m 644 redhat/zebra.service /usr/lib/systemd/system/zebra.service
+ sudo install -p -m 644 redhat/isisd.service /usr/lib/systemd/system/isisd.service
+ sudo install -p -m 644 redhat/ripd.service /usr/lib/systemd/system/ripd.service
+ sudo install -p -m 644 redhat/ospfd.service /usr/lib/systemd/system/ospfd.service
+ sudo install -p -m 644 redhat/bgpd.service /usr/lib/systemd/system/bgpd.service
+ sudo install -p -m 644 redhat/ospf6d.service /usr/lib/systemd/system/ospf6d.service
+ sudo install -p -m 644 redhat/ripngd.service /usr/lib/systemd/system/ripngd.service
+ sudo install -p -m 644 redhat/pimd.service /usr/lib/systemd/system/pimd.service
+ sudo install -p -m 644 redhat/frr.sysconfig /etc/sysconfig/frr
+ sudo install -p -m 644 redhat/frr.logrotate /etc/logrotate.d/frr
### Register the systemd files
- sudo systemctl preset zebra.service
- sudo systemctl preset ripd.service
- sudo systemctl preset ospfd.service
- sudo systemctl preset bgpd.service
- sudo systemctl preset ospf6d.service
- sudo systemctl preset ripngd.service
- sudo systemctl preset pimd.service
+ sudo systemctl preset zebra.service
+ sudo systemctl preset ripd.service
+ sudo systemctl preset ospfd.service
+ sudo systemctl preset bgpd.service
+ sudo systemctl preset ospf6d.service
+ sudo systemctl preset ripngd.service
+ sudo systemctl preset pimd.service
### Enable required daemons at startup
Only enable zebra and the daemons which are needed for your setup
- sudo systemctl enable zebra
- sudo systemctl enable ospfd
- sudo systemctl enable bgpd
- [...] etc (as needed)
+ sudo systemctl enable zebra
+ sudo systemctl enable ospfd
+ sudo systemctl enable bgpd
+ [...] etc (as needed)
diff --git a/doc/Building_FRR_on_Debian8.md b/doc/Building_FRR_on_Debian8.md
index 098a65d62..902f8c623 100644
--- a/doc/Building_FRR_on_Debian8.md
+++ b/doc/Building_FRR_on_Debian8.md
@@ -10,85 +10,89 @@ Debian 8 restrictions:
Install required packages
-------------------------
-
+
Add packages:
- sudo apt-get install git autoconf automake libtool make gawk libreadline-dev \
- texinfo libjson-c-dev pkg-config bison flex python-pip
+ sudo apt-get install git autoconf automake libtool make gawk \
+ 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
+
+ sudo pip install pytest
- sudo pip install pytest
-
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
- sudo addgroup --system --gid 92 frr
- sudo addgroup --system --gid 85 frrvty
- sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
+ sudo addgroup --system --gid 92 frr
+ sudo addgroup --system --gid 85 frrvty
+ sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
--gecos "FRR FreeRangeRouting suite" --shell /bin/false frr
sudo usermode
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example.)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --enable-exampledir=/usr/share/doc/frr/examples/ \
- --localstatedir=/var/run/frr \
- --sbindir=/usr/lib/frr \
- --sysconfdir=/etc/frr \
- --enable-vtysh \
- --enable-isisd \
- --enable-pimd \
- --enable-watchfrr \
- --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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check
- sudo make install
+(You may prefer different options on configure statement. These are just
+an example.)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --sysconfdir=/etc/frr \
+ --enable-vtysh \
+ --enable-isisd \
+ --enable-pimd \
+ --enable-watchfrr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check
+ sudo make install
### Create empty FRR configuration files
- 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 frrvty /dev/null /etc/frr/vtysh.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 frrvty /dev/null /etc/frr/vtysh.conf
### 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
- net.ipv4.ip_forward=1
+ # Uncomment the next line to enable packet forwarding for IPv4
+ net.ipv4.ip_forward=1
- # Uncomment the next line to enable packet forwarding for IPv6
- # Enabling this option disables Stateless Address Autoconfiguration
- # based on Router Advertisements for this host
- net.ipv6.conf.all.forwarding=1
+ # Uncomment the next line to enable packet forwarding for IPv6
+ # Enabling this option disables Stateless Address Autoconfiguration
+ # based on Router Advertisements for this host
+ net.ipv6.conf.all.forwarding=1
**Reboot** or use `sysctl` to apply the same config to the running system
diff --git a/doc/Building_FRR_on_Fedora24.md b/doc/Building_FRR_on_Fedora24.md
index 784449d73..9617afc73 100644
--- a/doc/Building_FRR_on_Fedora24.md
+++ b/doc/Building_FRR_on_Fedora24.md
@@ -3,17 +3,18 @@ Building FRR on Fedora 24 from Git Source
Install required packages
-------------------------
-
+
Add packages:
- sudo dnf install git autoconf automake libtool make gawk readline-devel \
- texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
- perl-XML-LibXML pytest
+ sudo dnf install git autoconf automake libtool make gawk \
+ readline-devel texinfo net-snmp-devel groff pkgconfig \
+ json-c-devel pam-devel perl-XML-LibXML pytest
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
@@ -23,77 +24,81 @@ Get FRR, compile it and install it (from Git)
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr
### 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
- cd frr
- git checkout stable/2.0
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
./bootstrap.sh
./configure \
- --sysconfdir=/etc/frr \
- --libdir=/usr/lib64/frr \
- --libexecdir=/usr/lib64/frr \
- --localstatedir=/var/run/frr \
- --enable-pimd \
- --enable-snmp=agentx \
- --enable-multipath=64 \
- --enable-ospfclient=yes \
- --enable-ospfapi=yes \
- --enable-user=frr \
- --enable-group=frr \
- --enable-vty-group=frrvt \
- --enable-rtadv \
- --disable-exampledir \
- --enable-watchfrr \
- --enable-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
+ --sysconfdir=/etc/frr \
+ --libdir=/usr/lib64/frr \
+ --libexecdir=/usr/lib64/frr \
+ --localstatedir=/var/run/frr \
+ --enable-pimd \
+ --enable-snmp=agentx \
+ --enable-multipath=64 \
+ --enable-ospfclient=yes \
+ --enable-ospfapi=yes \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvt \
+ --enable-rtadv \
+ --disable-exampledir \
+ --enable-watchfrr \
+ --enable-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
make
make check
sudo make install
### Create empty FRR configuration files
- 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 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
+ 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 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
### Enable IP & IPv6 forwarding (and MPLS)
-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`)
+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`)
# Sysctl for routing
#
# Routing: We need to forward packets
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
+ #
+ # 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
Create a new file `/etc/modules-load.d/mpls.conf` with the following content:
- # Load MPLS Kernel Modules
- mpls-router
- mpls-iptunnel
+ # Load MPLS Kernel Modules
+ mpls-router
+ mpls-iptunnel
**Reboot** or use `sysctl` to apply the same config to the running system
diff --git a/doc/Building_FRR_on_FreeBSD10.md b/doc/Building_FRR_on_FreeBSD10.md
index 4cd0edd1a..696b7d5d2 100644
--- a/doc/Building_FRR_on_FreeBSD10.md
+++ b/doc/Building_FRR_on_FreeBSD10.md
@@ -12,80 +12,85 @@ Install required 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 \
- bison flex py27-pytest
+ pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
+ bison flex py27-pytest
-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 whcih takes preference in path)
+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)
+
+ 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
- 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
-
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+ 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
+
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- 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 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
### Enable IP & IPv6 forwarding
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
diff --git a/doc/Building_FRR_on_FreeBSD11.md b/doc/Building_FRR_on_FreeBSD11.md
index fec06bc09..d0b8a7bf8 100644
--- a/doc/Building_FRR_on_FreeBSD11.md
+++ b/doc/Building_FRR_on_FreeBSD11.md
@@ -12,80 +12,85 @@ Install required 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 \
- bison flex py27-pytest
+ pkg install git autoconf automake libtool gmake gawk json-c pkgconf \
+ bison flex py27-pytest
-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 whcih takes preference in path)
+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)
+
+ 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
- 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
-
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+ 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
+
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- 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 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
### Enable IP & IPv6 forwarding
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
diff --git a/doc/Building_FRR_on_FreeBSD9.md b/doc/Building_FRR_on_FreeBSD9.md
index 37fdd92b1..d470d0046 100644
--- a/doc/Building_FRR_on_FreeBSD9.md
+++ b/doc/Building_FRR_on_FreeBSD9.md
@@ -12,80 +12,85 @@ Install required 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 \
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):
-(FreeBSD frequently provides a older flex as part of the base OS whcih takes preference in path)
+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)
+
+ 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
- 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
-
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+ 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
+
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- 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 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
### Enable IP & IPv6 forwarding
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
diff --git a/doc/Building_FRR_on_NetBSD6.md b/doc/Building_FRR_on_NetBSD6.md
index 0d3f10805..03d04ce95 100644
--- a/doc/Building_FRR_on_NetBSD6.md
+++ b/doc/Building_FRR_on_NetBSD6.md
@@ -12,105 +12,106 @@ Install required packages
-------------------------
Configure Package location:
- PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All"
- export PKG_PATH
+ PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All"
+ export PKG_PATH
Add packages:
- sudo pkg_add git autoconf automake libtool gmake gawk openssl pkg-config \
- json-c p5-XML-LibXML python27 py27-test
-
+ sudo pkg_add git autoconf automake libtool gmake gawk openssl \
+ pkg-config json-c p5-XML-LibXML python27 py27-test
+
Install SSL Root Certificates (for git https access):
- sudo pkg_add mozilla-rootcerts
- sudo touch /etc/openssl/openssl.cnf
- sudo mozilla-rootcerts install
+ sudo pkg_add mozilla-rootcerts
+ sudo touch /etc/openssl/openssl.cnf
+ sudo mozilla-rootcerts install
Select default Python and py.test
- sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
- sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
+ sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
+ sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
Get FRR, compile it and install it (from Git)
------------------------------------------------
### Add frr groups and user
- sudo groupadd -g 92 frr
- sudo groupadd -g 93 frrvty
- sudo useradd -g 92 -u 92 -G frrvty -c "FRR suite" \
- -d /nonexistent -s /sbin/nologin frr
-
+ sudo groupadd -g 92 frr
+ sudo groupadd -g 93 frrvty
+ sudo useradd -g 92 -u 92 -G frrvty -c "FRR suite" \
+ -d /nonexistent -s /sbin/nologin frr
+
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- MAKE=gmake
- export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"
- export CPPFLAGS="-I/usr/pkg/include"
- ./configure \
- --sysconfdir=/usr/pkg/etc/frr \
- --enable-exampledir=/usr/pkg/share/examples/frr \
- --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
- --localstatedir=/var/run/frr \
- --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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ MAKE=gmake
+ export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"
+ export CPPFLAGS="-I/usr/pkg/include"
+ ./configure \
+ --sysconfdir=/usr/pkg/etc/frr \
+ --enable-exampledir=/usr/pkg/share/examples/frr \
+ --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
+ --localstatedir=/var/run/frr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- sudo mkdir /var/log/frr
- sudo mkdir /usr/pkg/etc/frr
- sudo touch /usr/pkg/etc/frr/zebra.conf
- sudo touch /usr/pkg/etc/frr/bgpd.conf
- sudo touch /usr/pkg/etc/frr/ospfd.conf
- sudo touch /usr/pkg/etc/frr/ospf6d.conf
- sudo touch /usr/pkg/etc/frr/isisd.conf
- sudo touch /usr/pkg/etc/frr/ripd.conf
- sudo touch /usr/pkg/etc/frr/ripngd.conf
- sudo touch /usr/pkg/etc/frr/pimd.conf
- sudo chown -R frr:frr /usr/pkg/etc/frr
- sudo touch /usr/local/etc/frr/vtysh.conf
- sudo chown frr:frrvty /usr/pkg/etc/frr/*.conf
- sudo chmod 640 /usr/pkg/etc/frr/*.conf
+ sudo mkdir /var/log/frr
+ sudo mkdir /usr/pkg/etc/frr
+ sudo touch /usr/pkg/etc/frr/zebra.conf
+ sudo touch /usr/pkg/etc/frr/bgpd.conf
+ sudo touch /usr/pkg/etc/frr/ospfd.conf
+ sudo touch /usr/pkg/etc/frr/ospf6d.conf
+ sudo touch /usr/pkg/etc/frr/isisd.conf
+ sudo touch /usr/pkg/etc/frr/ripd.conf
+ sudo touch /usr/pkg/etc/frr/ripngd.conf
+ sudo touch /usr/pkg/etc/frr/pimd.conf
+ sudo chown -R frr:frr /usr/pkg/etc/frr
+ sudo touch /usr/local/etc/frr/vtysh.conf
+ sudo chown frr:frrvty /usr/pkg/etc/frr/*.conf
+ sudo chmod 640 /usr/pkg/etc/frr/*.conf
### Enable IP & IPv6 forwarding
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
### Install rc.d init files
- cp pkgsrc/*.sh /etc/rc.d/
- chmod 555 /etc/rc.d/*.sh
+ cp pkgsrc/*.sh /etc/rc.d/
+ chmod 555 /etc/rc.d/*.sh
### Enable FRR processes
(Enable the required processes only)
- echo "zebra=YES" >> /etc/rc.conf
- echo "bgpd=YES" >> /etc/rc.conf
- echo "ospfd=YES" >> /etc/rc.conf
- echo "ospf6d=YES" >> /etc/rc.conf
- echo "isisd=YES" >> /etc/rc.conf
- echo "ripngd=YES" >> /etc/rc.conf
- echo "ripd=YES" >> /etc/rc.conf
- echo "pimd=YES" >> /etc/rc.conf
+ echo "zebra=YES" >> /etc/rc.conf
+ echo "bgpd=YES" >> /etc/rc.conf
+ echo "ospfd=YES" >> /etc/rc.conf
+ echo "ospf6d=YES" >> /etc/rc.conf
+ echo "isisd=YES" >> /etc/rc.conf
+ echo "ripngd=YES" >> /etc/rc.conf
+ echo "ripd=YES" >> /etc/rc.conf
+ echo "pimd=YES" >> /etc/rc.conf
diff --git a/doc/Building_FRR_on_NetBSD7.md b/doc/Building_FRR_on_NetBSD7.md
index 22c468a6a..d9b4b47ea 100644
--- a/doc/Building_FRR_on_NetBSD7.md
+++ b/doc/Building_FRR_on_NetBSD7.md
@@ -11,99 +11,100 @@ NetBSD 7 restrictions:
Install required packages
-------------------------
- sudo pkgin install git autoconf automake libtool gmake gawk openssl pkg-config \
- json-c p5-XML-LibXML python27 py27-test
+ sudo pkgin install git autoconf automake libtool gmake gawk openssl \
+ pkg-config json-c p5-XML-LibXML python27 py27-test
Install SSL Root Certificates (for git https access):
- sudo pkgin install mozilla-rootcerts
- sudo touch /etc/openssl/openssl.cnf
- sudo mozilla-rootcerts install
+ sudo pkgin install mozilla-rootcerts
+ sudo touch /etc/openssl/openssl.cnf
+ sudo mozilla-rootcerts install
Select default Python and py.test
- sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
- sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
+ sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
+ sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
Get FRR, compile it and install it (from Git)
------------------------------------------------
### Add frr groups and user
- sudo groupadd -g 92 frr
- sudo groupadd -g 93 frrvty
- sudo useradd -g 92 -u 92 -G frrvty -c "FRR suite" \
- -d /nonexistent -s /sbin/nologin frr
+ sudo groupadd -g 92 frr
+ sudo groupadd -g 93 frrvty
+ sudo useradd -g 92 -u 92 -G frrvty -c "FRR suite" \
+ -d /nonexistent -s /sbin/nologin frr
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- MAKE=gmake
- export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"
- export CPPFLAGS="-I/usr/pkg/include"
- ./configure \
- --sysconfdir=/usr/pkg/etc/frr \
- --enable-exampledir=/usr/pkg/share/examples/frr \
- --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
- --localstatedir=/var/run/frr \
- --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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ MAKE=gmake
+ export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"
+ export CPPFLAGS="-I/usr/pkg/include"
+ ./configure \
+ --sysconfdir=/usr/pkg/etc/frr \
+ --enable-exampledir=/usr/pkg/share/examples/frr \
+ --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
+ --localstatedir=/var/run/frr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- sudo mkdir /usr/pkg/etc/frr
- sudo touch /usr/pkg/etc/frr/zebra.conf
- sudo touch /usr/pkg/etc/frr/bgpd.conf
- sudo touch /usr/pkg/etc/frr/ospfd.conf
- sudo touch /usr/pkg/etc/frr/ospf6d.conf
- sudo touch /usr/pkg/etc/frr/isisd.conf
- sudo touch /usr/pkg/etc/frr/ripd.conf
- sudo touch /usr/pkg/etc/frr/ripngd.conf
- sudo touch /usr/pkg/etc/frr/pimd.conf
- sudo chown -R frr:frr /usr/pkg/etc/frr
- sudo touch /usr/local/etc/frr/vtysh.conf
- sudo chown frr:frrvty /usr/pkg/etc/frr/*.conf
- sudo chmod 640 /usr/pkg/etc/frr/*.conf
+ sudo mkdir /usr/pkg/etc/frr
+ sudo touch /usr/pkg/etc/frr/zebra.conf
+ sudo touch /usr/pkg/etc/frr/bgpd.conf
+ sudo touch /usr/pkg/etc/frr/ospfd.conf
+ sudo touch /usr/pkg/etc/frr/ospf6d.conf
+ sudo touch /usr/pkg/etc/frr/isisd.conf
+ sudo touch /usr/pkg/etc/frr/ripd.conf
+ sudo touch /usr/pkg/etc/frr/ripngd.conf
+ sudo touch /usr/pkg/etc/frr/pimd.conf
+ sudo chown -R frr:frr /usr/pkg/etc/frr
+ sudo touch /usr/local/etc/frr/vtysh.conf
+ sudo chown frr:frrvty /usr/pkg/etc/frr/*.conf
+ sudo chmod 640 /usr/pkg/etc/frr/*.conf
### Enable IP & IPv6 forwarding
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
### Install rc.d init files
- cp pkgsrc/*.sh /etc/rc.d/
- chmod 555 /etc/rc.d/*.sh
+ cp pkgsrc/*.sh /etc/rc.d/
+ chmod 555 /etc/rc.d/*.sh
### Enable FRR processes
(Enable the required processes only)
- echo "zebra=YES" >> /etc/rc.conf
- echo "bgpd=YES" >> /etc/rc.conf
- echo "ospfd=YES" >> /etc/rc.conf
- echo "ospf6d=YES" >> /etc/rc.conf
- echo "isisd=YES" >> /etc/rc.conf
- echo "ripngd=YES" >> /etc/rc.conf
- echo "ripd=YES" >> /etc/rc.conf
- echo "pimd=YES" >> /etc/rc.conf
+ echo "zebra=YES" >> /etc/rc.conf
+ echo "bgpd=YES" >> /etc/rc.conf
+ echo "ospfd=YES" >> /etc/rc.conf
+ echo "ospf6d=YES" >> /etc/rc.conf
+ echo "isisd=YES" >> /etc/rc.conf
+ echo "ripngd=YES" >> /etc/rc.conf
+ echo "ripd=YES" >> /etc/rc.conf
+ echo "pimd=YES" >> /etc/rc.conf
diff --git a/doc/Building_FRR_on_OmniOS.md b/doc/Building_FRR_on_OmniOS.md
index 12acc9288..f158c80a7 100644
--- a/doc/Building_FRR_on_OmniOS.md
+++ b/doc/Building_FRR_on_OmniOS.md
@@ -4,117 +4,121 @@ Building FRR on OmniOS (OpenSolaris) from Git Source
OmniOS restrictions:
--------------------
-- MPLS is not supported on `OmniOS` or `Solaris`. MPLS requires a Linux Kernel
- (4.5 or higher). LDP can be built, but may have limited use without MPLS
+- MPLS is not supported on `OmniOS` or `Solaris`. MPLS requires a Linux
+ Kernel (4.5 or higher). LDP can be built, but may have limited use
+ without MPLS
### Enable IP & IPv6 forwarding
- routeadm -e ipv4-forwarding
- routeadm -e ipv6-forwarding
+ routeadm -e ipv4-forwarding
+ routeadm -e ipv6-forwarding
Install required packages
-------------------------
Add packages:
- pkg install \
- developer/build/autoconf \
- developer/build/automake \
- developer/lexer/flex \
- developer/parser/bison \
- developer/object-file \
- developer/linker \
- developer/library/lint \
- developer/build/gnu-make \
- developer/gcc51 \
- library/idnkit \
- library/idnkit/header-idnkit \
- system/header \
- system/library/math/header-math \
- git libtool gawk pkg-config
+ pkg install \
+ developer/build/autoconf \
+ developer/build/automake \
+ developer/lexer/flex \
+ developer/parser/bison \
+ developer/object-file \
+ developer/linker \
+ developer/library/lint \
+ developer/build/gnu-make \
+ developer/gcc51 \
+ library/idnkit \
+ library/idnkit/header-idnkit \
+ system/header \
+ system/library/math/header-math \
+ git libtool gawk pkg-config
Add additional Solaris packages:
- pkgadd -d http://get.opencsw.org/now
- /opt/csw/bin/pkgutil -U
- /opt/csw/bin/pkgutil -y -i texinfo
- /opt/csw/bin/pkgutil -y -i perl
- /opt/csw/bin/pkgutil -y -i libjson_c_dev
- /opt/csw/bin/pkgutil -y -i python27 py_pip
+ pkgadd -d http://get.opencsw.org/now
+ /opt/csw/bin/pkgutil -U
+ /opt/csw/bin/pkgutil -y -i texinfo
+ /opt/csw/bin/pkgutil -y -i perl
+ /opt/csw/bin/pkgutil -y -i libjson_c_dev
+ /opt/csw/bin/pkgutil -y -i python27 py_pip
Add libjson to Solaris equivalent of ld.so.conf
- crle -l /opt/csw/lib -u
+ crle -l /opt/csw/lib -u
Add Perl packages:
- cpan
- cpan[1]> install XML::LibXML
- cpan[2]> exit
+ cpan
+ cpan[1]> install XML::LibXML
+ cpan[2]> exit
Add pytest:
- pip install pytest
+ pip install pytest
Select Python 2.7 as default (required for pytest)
- rm -f /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:
+ rm -f /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:
+
+ PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin
- PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin
-
Edit `~/.profile` 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
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
- sudo groupadd -g 93 frr
- sudo groupadd -g 94 frrvty
- sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \
- -d /nonexistent -s /bin/false frr
-
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- export MAKE=gmake
- export LDFLAGS="-L/opt/csw/lib"
- export CPPFLAGS="-I/opt/csw/include"
- ./configure \
- --sysconfdir=/etc/frr \
- --enable-exampledir=/usr/share/doc/frr/examples/ \
- --localstatedir=/var/run/frr \
- --sbindir=/usr/lib/frr \
- --enable-vtysh \
- --enable-watchfrr \
- --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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+ sudo groupadd -g 93 frr
+ sudo groupadd -g 94 frrvty
+ sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \
+ -d /nonexistent -s /bin/false frr
+
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ export MAKE=gmake
+ export LDFLAGS="-L/opt/csw/lib"
+ export CPPFLAGS="-I/opt/csw/include"
+ ./configure \
+ --sysconfdir=/etc/frr \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --enable-vtysh \
+ --enable-watchfrr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Enable IP & IPv6 forwarding
- routeadm -e ipv4-forwarding
- routeadm -e ipv6-forwarding
+ routeadm -e ipv4-forwarding
+ routeadm -e ipv6-forwarding
diff --git a/doc/Building_FRR_on_OpenBSD6.md b/doc/Building_FRR_on_OpenBSD6.md
index 3f390d5eb..9e13d5ce4 100644
--- a/doc/Building_FRR_on_OpenBSD6.md
+++ b/doc/Building_FRR_on_OpenBSD6.md
@@ -12,80 +12,82 @@ Install required packages
Configure PKG_PATH
- export PKG_PATH=http://ftp5.usa.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(machine -a)/
+ export PKG_PATH=http://ftp5.usa.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(machine -a)/
Add packages:
- pkg_add git autoconf-2.69p2 automake-1.15p0 libtool
- pkg_add gmake gawk dejagnu openssl json-c p5-XML-LibXML py-test
+ pkg_add git autoconf-2.69p2 automake-1.15p0 libtool
+ pkg_add gmake gawk dejagnu openssl json-c p5-XML-LibXML py-test
Select Python2.7 as default (required for pytest)
- ln -s /usr/local/bin/python2.7 /usr/local/bin/python
-
+ ln -s /usr/local/bin/python2.7 /usr/local/bin/python
+
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
- groupadd -g 525 _frr
- groupadd -g 526 _frrvty
- useradd -g 525 -u 525 -c "FRR suite" -G _frrvty \
- -d /nonexistent -s /sbin/nologin _frr
+ groupadd -g 525 _frr
+ groupadd -g 526 _frrvty
+ useradd -g 525 -u 525 -c "FRR suite" -G _frrvty \
+ -d /nonexistent -s /sbin/nologin _frr
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- export LDFLAGS="-L/usr/local/lib"
- export CPPFLAGS="-I/usr/local/include"
- ./configure \
- --sysconfdir=/etc/frr \
- --localstatedir=/var/frr \
- --enable-pimd \
- --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-tcp-zebra \
- --enable-fpm \
- --enable-ldpd \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- gmake
- gmake check
- sudo gmake install
+(You may prefer different options on configure statement. These are just
+an example)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ export LDFLAGS="-L/usr/local/lib"
+ export CPPFLAGS="-I/usr/local/include"
+ ./configure \
+ --sysconfdir=/etc/frr \
+ --localstatedir=/var/frr \
+ --enable-pimd \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --enable-ldpd \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ gmake
+ gmake check
+ sudo gmake install
### Create empty FRR configuration files
- sudo mkdir /var/frr
- sudo chown _frr:_frr /var/frr
- sudo chmod 755 /var/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 chown -R _frr:_frr /etc/frr
- sudo touch /etc/frr/vtysh.conf
- sudo chown -R _frr:_frrvty /etc/frr/vtysh.conf
- sudo chmod 750 /etc/frr
- sudo chmod 640 /etc/frr/*.conf
+ sudo mkdir /var/frr
+ sudo chown _frr:_frr /var/frr
+ sudo chmod 755 /var/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 chown -R _frr:_frr /etc/frr
+ sudo touch /etc/frr/vtysh.conf
+ sudo chown -R _frr:_frrvty /etc/frr/vtysh.conf
+ sudo chmod 750 /etc/frr
+ sudo chmod 640 /etc/frr/*.conf
### Enable IP & IPv6 forwarding
@@ -98,29 +100,30 @@ Add the following lines to the end of `/etc/rc.conf`:
**Reboot** to apply the config to the system
### 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`)
- #!/bin/sh
- #
- # $OpenBSD: frr_zebra.rc,v 1.1 2013/04/18 20:29:08 sthen Exp $
-
- daemon="/usr/local/sbin/zebra -d"
-
- . /etc/rc.d/rc.subr
-
- rc_cmd $1
+ #!/bin/sh
+ #
+ # $OpenBSD: frr_zebra.rc,v 1.1 2013/04/18 20:29:08 sthen Exp $
+
+ daemon="/usr/local/sbin/zebra -d"
+
+ . /etc/rc.d/rc.subr
+
+ rc_cmd $1
### Enable FRR processes
(Enable the required processes only)
- echo "frr_zebra=YES" >> /etc/rc.conf
- echo "frr_bgpd=YES" >> /etc/rc.conf
- echo "frr_ospfd=YES" >> /etc/rc.conf
- echo "frr_ospf6d=YES" >> /etc/rc.conf
- echo "frr_isisd=YES" >> /etc/rc.conf
- echo "frr_ripngd=YES" >> /etc/rc.conf
- echo "frr_ripd=YES" >> /etc/rc.conf
- echo "frr_pimd=YES" >> /etc/rc.conf
- echo "frr_ldpd=YES" >> /etc/rc.conf
+ echo "frr_zebra=YES" >> /etc/rc.conf
+ echo "frr_bgpd=YES" >> /etc/rc.conf
+ echo "frr_ospfd=YES" >> /etc/rc.conf
+ echo "frr_ospf6d=YES" >> /etc/rc.conf
+ echo "frr_isisd=YES" >> /etc/rc.conf
+ echo "frr_ripngd=YES" >> /etc/rc.conf
+ echo "frr_ripd=YES" >> /etc/rc.conf
+ echo "frr_pimd=YES" >> /etc/rc.conf
+ echo "frr_ldpd=YES" >> /etc/rc.conf
diff --git a/doc/Building_FRR_on_Ubuntu1204.md b/doc/Building_FRR_on_Ubuntu1204.md
index 98ee2b831..60b714d4d 100644
--- a/doc/Building_FRR_on_Ubuntu1204.md
+++ b/doc/Building_FRR_on_Ubuntu1204.md
@@ -8,121 +8,125 @@ Building FRR on Ubuntu 12.04LTS from Git Source
Install required packages
-------------------------
-
+
Add packages:
- apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \
- libpam0g-dev dejagnu libjson0 pkg-config libpam0g-dev libjson0-dev flex \
- python-pytest
-
-Install newer bison from 14.04 package source (Ubuntu 12.04 package source is too old)
-
- mkdir builddir
- cd builddir
- wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg-2.dsc
- wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg.orig.tar.bz2
- wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg-2.debian.tar.gz
- tar -jxvf bison_3.0.2.dfsg.orig.tar.bz2
- cd bison-3.0.2.dfsg/
- tar xzf ../bison_3.0.2.dfsg-2.debian.tar.gz
- sudo apt-get build-dep bison
- debuild -b -uc -us
- cd ..
- sudo dpkg -i ./libbison-dev_3.0.2.dfsg-2_amd64.deb ./bison_3.0.2.dfsg-2_amd64.deb
- cd ..
- rm -rf builddir
+ apt-get install git autoconf automake libtool make gawk libreadline-dev \
+ texinfo libpam0g-dev dejagnu libjson0 pkg-config libpam0g-dev \
+ libjson0-dev flex python-pytest
+
+Install newer bison from 14.04 package source (Ubuntu 12.04 package source
+is too old)
+
+ mkdir builddir
+ cd builddir
+ wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg-2.dsc
+ wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg.orig.tar.bz2
+ wget http://archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_3.0.2.dfsg-2.debian.tar.gz
+ tar -jxvf bison_3.0.2.dfsg.orig.tar.bz2
+ cd bison-3.0.2.dfsg/
+ tar xzf ../bison_3.0.2.dfsg-2.debian.tar.gz
+ sudo apt-get build-dep bison
+ debuild -b -uc -us
+ cd ..
+ sudo dpkg -i ./libbison-dev_3.0.2.dfsg-2_amd64.deb ./bison_3.0.2.dfsg-2_amd64.deb
+ cd ..
+ rm -rf builddir
Install newer version of autoconf and automake:
- wget 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 ..
-
- wget 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 ..
-
+ wget 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 ..
+
+ wget 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 ..
+
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
- sudo groupadd -g 92 frr
- sudo groupadd -r -g 85 frrvty
- sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
+ sudo groupadd -g 92 frr
+ sudo groupadd -r -g 85 frrvty
+ sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
--gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example.)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --enable-exampledir=/usr/share/doc/frr/examples/ \
- --localstatedir=/var/run/frr \
- --sbindir=/usr/lib/frr \
- --sysconfdir=/etc/frr \
- --enable-pimd \
- --enable-watchfrr \
- --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-tcp-zebra \
- --enable-fpm \
- --enable-ldpd \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check
- sudo make install
+(You may prefer different options on configure statement. These are just
+an example.)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --sysconfdir=/etc/frr \
+ --enable-pimd \
+ --enable-watchfrr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --enable-ldpd \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check
+ sudo make install
### 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 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
### 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
- net.ipv4.ip_forward=1
+ # Uncomment the next line to enable packet forwarding for IPv4
+ net.ipv4.ip_forward=1
- # Uncomment the next line to enable packet forwarding for IPv6
- # Enabling this option disables Stateless Address Autoconfiguration
- # based on Router Advertisements for this host
- net.ipv6.conf.all.forwarding=1
+ # Uncomment the next line to enable packet forwarding for IPv6
+ # Enabling this option disables Stateless Address Autoconfiguration
+ # based on Router Advertisements for this host
+ net.ipv6.conf.all.forwarding=1
**Reboot** or use `sysctl` to apply the same config to the running system
diff --git a/doc/Building_FRR_on_Ubuntu1404.md b/doc/Building_FRR_on_Ubuntu1404.md
index 319842859..ac0a45acd 100644
--- a/doc/Building_FRR_on_Ubuntu1404.md
+++ b/doc/Building_FRR_on_Ubuntu1404.md
@@ -8,81 +8,87 @@ Building FRR on Ubuntu 14.04LTS from Git Source
Install required packages
-------------------------
-
+
Add packages:
- apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \
- dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest
-
+ apt-get install git autoconf automake libtool make gawk libreadline-dev \
+ texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
+ python-pytest
+
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
- sudo groupadd -g 92 frr
- sudo groupadd -r -g 85 frrvty
- sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
+ sudo groupadd -g 92 frr
+ sudo groupadd -r -g 85 frrvty
+ sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
--gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example.)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --enable-exampledir=/usr/share/doc/frr/examples/ \
- --localstatedir=/var/run/frr \
- --sbindir=/usr/lib/frr \
- --sysconfdir=/etc/frr \
- --enable-pimd \
- --enable-watchfrr \
- --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-tcp-zebra \
- --enable-fpm \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check
- sudo make install
+(You may prefer different options on configure statement. These are just
+an example.)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --sysconfdir=/etc/frr \
+ --enable-pimd \
+ --enable-watchfrr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check
+ sudo make install
### 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 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 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 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
### 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
- net.ipv4.ip_forward=1
+ # Uncomment the next line to enable packet forwarding for IPv4
+ net.ipv4.ip_forward=1
- # Uncomment the next line to enable packet forwarding for IPv6
- # Enabling this option disables Stateless Address Autoconfiguration
- # based on Router Advertisements for this host
- net.ipv6.conf.all.forwarding=1
+ # Uncomment the next line to enable packet forwarding for IPv6
+ # Enabling this option disables Stateless Address Autoconfiguration
+ # based on Router Advertisements for this host
+ net.ipv6.conf.all.forwarding=1
**Reboot** or use `sysctl` to apply the same config to the running system
diff --git a/doc/Building_FRR_on_Ubuntu1604.md b/doc/Building_FRR_on_Ubuntu1604.md
index 03f4d6d9e..d1e1a377d 100644
--- a/doc/Building_FRR_on_Ubuntu1604.md
+++ b/doc/Building_FRR_on_Ubuntu1604.md
@@ -1,111 +1,116 @@
-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
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
-------------------------
-
+
Add packages:
- apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo \
- dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest
-
+ apt-get install git autoconf automake libtool make gawk libreadline-dev \
+ texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
+ python-pytest
+
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
- sudo groupadd -g 92 frr
- sudo groupadd -r -g 85 frrvty
- sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
+ sudo groupadd -g 92 frr
+ sudo groupadd -r -g 85 frrvty
+ sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
--gecos "FRR suite" --shell /sbin/nologin frr
### Download Source, configure and compile it
-(You may prefer different options on configure statement. These are just an example.)
-
- git clone https://github.com/freerangerouting/frr.git frr
- cd frr
- git checkout stable/2.0
- ./bootstrap.sh
- ./configure \
- --enable-exampledir=/usr/share/doc/frr/examples/ \
- --localstatedir=/var/run/frr \
- --sbindir=/usr/lib/frr \
- --sysconfdir=/etc/frr \
- --enable-pimd \
- --enable-watchfrr \
- --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-tcp-zebra \
- --enable-fpm \
- --enable-ldpd \
- --with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion
- make
- make check
- sudo make install
+(You may prefer different options on configure statement. These are just
+an example.)
+
+ git clone https://github.com/freerangerouting/frr.git frr
+ cd frr
+ git checkout stable/2.0
+ ./bootstrap.sh
+ ./configure \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --sysconfdir=/etc/frr \
+ --enable-pimd \
+ --enable-watchfrr \
+ --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-tcp-zebra \
+ --enable-fpm \
+ --enable-ldpd \
+ --with-pkg-git-version \
+ --with-pkg-extra-version=-MyOwnFRRVersion
+ make
+ make check
+ sudo make install
### 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 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
### 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
- net.ipv4.ip_forward=1
+ # Uncomment the next line to enable packet forwarding for IPv4
+ net.ipv4.ip_forward=1
- # Uncomment the next line to enable packet forwarding for IPv6
- # Enabling this option disables Stateless Address Autoconfiguration
- # based on Router Advertisements for this host
- net.ipv6.conf.all.forwarding=1
+ # Uncomment the next line to enable packet forwarding for IPv6
+ # Enabling this option disables Stateless Address Autoconfiguration
+ # based on Router Advertisements for this host
+ net.ipv6.conf.all.forwarding=1
### Enable MPLS Forwarding (with Linux Kernel >= 4.5)
-Edit `/etc/sysctl.conf` and the following lines. Make sure to add a line equal to
-`net.mpls.conf.eth0.input` or each interface used with MPLS
+Edit `/etc/sysctl.conf` and the following lines. Make sure to add a line
+equal to `net.mpls.conf.eth0.input` or each interface used with MPLS
- # 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
+ # 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
### Add MPLS kernel modules
Add the following lines to `/etc/modules-load.d/modules.conf`:
- # Load MPLS Kernel Modules
- mpls-router
- mpls-iptunnel
+ # Load MPLS Kernel Modules
+ mpls-router
+ mpls-iptunnel
**Reboot** or use `sysctl` to apply the same config to the running system