]> git.proxmox.com Git - mirror_frr.git/blame - doc/developer/building-frr-for-archlinux.rst
Merge pull request #13141 from mjstapp/fix_ospf_json_keys
[mirror_frr.git] / doc / developer / building-frr-for-archlinux.rst
CommitLineData
248d2d87
NN
1Arch Linux
2================
3
4Installing Dependencies
5-----------------------
6
7.. code-block:: console
8
9 sudo pacman -Syu
10 sudo pacman -S \
11 git autoconf automake libtool make cmake pcre readline texinfo \
12 pkg-config pam json-c bison flex python-pytest \
ab140d61 13 c-ares python python2-ipaddress python-sphinx \
afb8fe93
DL
14 net-snmp perl libcap libelf libunwind
15
16.. include:: building-libunwind-note.rst
248d2d87
NN
17
18.. include:: building-libyang.rst
19
20Protobuf
21^^^^^^^^
22
23.. code-block:: console
24
25 sudo pacman -S protobuf-c
26
27ZeroMQ
28^^^^^^
29
30.. code-block:: console
31
32 sudo pacman -S zeromq
33
34Building & Installing FRR
35-------------------------
36
37Add FRR user and groups
38^^^^^^^^^^^^^^^^^^^^^^^
39
40.. code-block:: console
41
42 sudo groupadd -r -g 92 frr
43 sudo groupadd -r -g 85 frrvty
44 sudo useradd --system -g frr --home-dir /var/run/frr/ \
45 -c "FRR suite" --shell /sbin/nologin frr
46 sudo usermod -a -G frrvty frr
47
48Compile
49^^^^^^^
50
51.. include:: include-compile.rst
52
53Install FRR configuration files
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56.. code-block:: console
57
58 sudo install -m 775 -o frr -g frr -d /var/log/frr
59 sudo install -m 775 -o frr -g frrvty -d /etc/frr
60 sudo install -m 640 -o frr -g frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
61 sudo install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
62 sudo install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
63 sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons
64
65Tweak sysctls
66^^^^^^^^^^^^^
67
68Some sysctls need to be changed in order to enable IPv4/IPv6 forwarding and
69MPLS (if supported by your platform). If your platform does not support MPLS,
70skip the MPLS related configuration in this section.
71
97cfd5d2 72Edit :file:`/etc/sysctl.conf` [*Create the file if it doesn't exist*] and
248d2d87
NN
73append the following values (ignore the other settings):
74
75::
76
77 # Enable packet forwarding for IPv4
78 net.ipv4.ip_forward=1
79
80 # Enable packet forwarding for IPv6
81 net.ipv6.conf.all.forwarding=1
82
83Reboot or use ``sysctl -p`` to apply the same config to the running system.
84
85Add MPLS kernel modules
86"""""""""""""""""""""""
87
88To
89enable, add the following lines to :file:`/etc/modules-load.d/modules.conf`:
90
91::
92
93 # Load MPLS Kernel Modules
94 mpls_router
95 mpls_iptunnel
96
97
98And load the kernel modules on the running system:
99
100.. code-block:: console
101
102 sudo modprobe mpls-router mpls-iptunnel
103
104Enable MPLS Forwarding
105""""""""""""""""""""""
106
107Edit :file:`/etc/sysctl.conf` and the following lines. Make sure to add a line
108equal to :file:`net.mpls.conf.eth0.input` for each interface used with MPLS.
109
110::
111
112 # Enable MPLS Label processing on all interfaces
113 net.mpls.conf.eth0.input=1
114 net.mpls.conf.eth1.input=1
115 net.mpls.conf.eth2.input=1
116 net.mpls.platform_labels=100000
117
118Install service files
119^^^^^^^^^^^^^^^^^^^^^
120
121.. code-block:: console
122
123 sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
124 sudo systemctl enable frr
125
126Start FRR
127^^^^^^^^^
128
129.. code-block:: shell
130
131 systemctl start frr