summaryrefslogtreecommitdiffstats
path: root/doc/Building_FRR_on_CentOS6.md
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/Building_FRR_on_CentOS6.md
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/Building_FRR_on_CentOS6.md')
-rw-r--r--doc/Building_FRR_on_CentOS6.md225
1 files changed, 116 insertions, 109 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)