]> git.proxmox.com Git - mirror_frr.git/blame - doc/developer/building-frr-for-ubuntu1404.rst
Merge pull request #12797 from jvidalallende/ubi8_minimal_dockerfile
[mirror_frr.git] / doc / developer / building-frr-for-ubuntu1404.rst
CommitLineData
08440234
QY
1Ubuntu 14.04 LTS
2================
278fb111 3
08440234
QY
4This document describes installation from source. If you want to build a
5``deb``, see :ref:`packaging-debian`.
ae32b152 6
08440234
QY
7Installing Dependencies
8-----------------------
278fb111 9
08440234 10.. code-block:: console
d1890d04 11
08440234 12 apt-get update
b0252580 13 apt-get install \
7d9a2e6d 14 git autoconf automake libtool make libreadline-dev texinfo \
45da32d7 15 pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
08440234 16 libc-ares-dev python3-dev python3-sphinx install-info build-essential \
3cb0eab3 17 libsnmp-dev perl libcap-dev libelf-dev
eb651bbc 18
fc5a4adc
RW
19.. include:: building-libyang.rst
20
5b08f6f9
PS
21Protobuf
22^^^^^^^^
23
24.. code-block:: console
25
26 sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
27
08440234
QY
28Building & Installing FRR
29-------------------------
d1890d04 30
08440234 31Add FRR user and groups
75ca3b11 32^^^^^^^^^^^^^^^^^^^^^^^
eb651bbc 33
08440234 34.. code-block:: console
278fb111 35
79871dbf 36 sudo groupadd -r -g 92 frr
eb651bbc 37 sudo groupadd -r -g 85 frrvty
02f3b051 38 sudo adduser --system --ingroup frr --home /var/run/frr/ \
278fb111 39 --gecos "FRR suite" --shell /sbin/nologin frr
02f3b051 40 sudo usermod -a -G frrvty frr
278fb111 41
08440234
QY
42Compile
43^^^^^^^
d1890d04 44
08440234 45.. include:: include-compile.rst
eb651bbc 46
08440234
QY
47Install FRR configuration files
48^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
d1890d04 49
08440234
QY
50.. code-block:: console
51
52 sudo install -m 775 -o frr -g frr -d /var/log/frr
53 sudo install -m 775 -o frr -g frrvty -d /etc/frr
54 sudo install -m 640 -o frr -g frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
55 sudo install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
56 sudo install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
57 sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons
58
59Tweak sysctls
60^^^^^^^^^^^^^
61
62Some sysctls need to be changed in order to enable IPv4/IPv6 forwarding and
63MPLS (if supported by your platform). If your platform does not support MPLS,
64skip the MPLS related configuration in this section.
65
66Edit :file:`/etc/sysctl.conf` and uncomment the following values (ignore the
67other settings):
d1890d04
QY
68
69::
278fb111 70
08440234
QY
71 # Uncomment the next line to enable packet forwarding for IPv4
72 net.ipv4.ip_forward=1
73
74 # Uncomment the next line to enable packet forwarding for IPv6
75 # Enabling this option disables Stateless Address Autoconfiguration
76 # based on Router Advertisements for this host
77 net.ipv6.conf.all.forwarding=1
78
79Reboot or use ``sysctl -p`` to apply the same config to the running system.
80
81Add MPLS kernel modules
82"""""""""""""""""""""""
83
84.. warning::
85
86 MPLS is not supported on Ubuntu 14.04 with the default kernel. MPLS requires
87 kernel 4.5 or higher. LDPD can be built, but may have limited use without
88 MPLS. For an updated Ubuntu Kernel, see
89 http://kernel.ubuntu.com/~kernel-ppa/mainline/
90
91Ubuntu 18.04 ships with kernel 4.15. MPLS modules are present by default. To
92enable, add the following lines to :file:`/etc/modules-load.d/modules.conf`:
278fb111 93
d1890d04
QY
94::
95
08440234
QY
96 # Load MPLS Kernel Modules
97 mpls_router
98 mpls_iptunnel
99
100
101And load the kernel modules on the running system:
102
103.. code-block:: console
104
105 sudo modprobe mpls-router mpls-iptunnel
106
107Enable MPLS Forwarding
108""""""""""""""""""""""
278fb111 109
08440234
QY
110Edit :file:`/etc/sysctl.conf` and the following lines. Make sure to add a line
111equal to :file:`net.mpls.conf.eth0.input` for each interface used with MPLS.
278fb111 112
08440234
QY
113::
114
115 # Enable MPLS Label processing on all interfaces
116 net.mpls.conf.eth0.input=1
117 net.mpls.conf.eth1.input=1
118 net.mpls.conf.eth2.input=1
119 net.mpls.platform_labels=100000
75ca3b11
QY
120
121Install the init.d service
122^^^^^^^^^^^^^^^^^^^^^^^^^^
d1890d04 123
08440234 124.. code-block:: console
500e13fe 125
08440234 126 sudo install -m 755 tools/frr /etc/init.d/frr
500e13fe 127
d1890d04 128Enable daemons
75ca3b11 129^^^^^^^^^^^^^^
d1890d04 130
08440234
QY
131Open :file:`/etc/frr/daemons` with your text editor of choice. Look for the
132section with ``watchfrr_enable=...`` and ``zebra=...`` etc. Enable the daemons
133as required by changing the value to ``yes``.
d1890d04
QY
134
135Start the init.d service
75ca3b11 136^^^^^^^^^^^^^^^^^^^^^^^^
d1890d04 137
08440234
QY
138.. code-block:: console
139
140 /etc/init.d/frr start
141
142Use ``/etc/init.d/frr status`` to check its status.