]>
Commit | Line | Data |
---|---|---|
248d2d87 NN |
1 | Arch Linux |
2 | ================ | |
3 | ||
4 | Installing 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 | ||
20 | Protobuf | |
21 | ^^^^^^^^ | |
22 | ||
23 | .. code-block:: console | |
24 | ||
25 | sudo pacman -S protobuf-c | |
26 | ||
27 | ZeroMQ | |
28 | ^^^^^^ | |
29 | ||
30 | .. code-block:: console | |
31 | ||
32 | sudo pacman -S zeromq | |
33 | ||
34 | Building & Installing FRR | |
35 | ------------------------- | |
36 | ||
37 | Add 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 | ||
48 | Compile | |
49 | ^^^^^^^ | |
50 | ||
51 | .. include:: include-compile.rst | |
52 | ||
53 | Install 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 | ||
65 | Tweak sysctls | |
66 | ^^^^^^^^^^^^^ | |
67 | ||
68 | Some sysctls need to be changed in order to enable IPv4/IPv6 forwarding and | |
69 | MPLS (if supported by your platform). If your platform does not support MPLS, | |
70 | skip the MPLS related configuration in this section. | |
71 | ||
97cfd5d2 | 72 | Edit :file:`/etc/sysctl.conf` [*Create the file if it doesn't exist*] and |
248d2d87 NN |
73 | append 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 | ||
83 | Reboot or use ``sysctl -p`` to apply the same config to the running system. | |
84 | ||
85 | Add MPLS kernel modules | |
86 | """"""""""""""""""""""" | |
87 | ||
88 | To | |
89 | enable, 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 | ||
98 | And load the kernel modules on the running system: | |
99 | ||
100 | .. code-block:: console | |
101 | ||
102 | sudo modprobe mpls-router mpls-iptunnel | |
103 | ||
104 | Enable MPLS Forwarding | |
105 | """""""""""""""""""""" | |
106 | ||
107 | Edit :file:`/etc/sysctl.conf` and the following lines. Make sure to add a line | |
108 | equal 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 | ||
118 | Install 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 | ||
126 | Start FRR | |
127 | ^^^^^^^^^ | |
128 | ||
129 | .. code-block:: shell | |
130 | ||
131 | systemctl start frr |