]> git.proxmox.com Git - mirror_frr.git/blame - doc/developer/building-frr-for-freebsd13.rst
pimd, doc: remove dead import check references
[mirror_frr.git] / doc / developer / building-frr-for-freebsd13.rst
CommitLineData
d3135b01
DL
1FreeBSD 13
2==========
3
4FreeBSD 13 restrictions:
5------------------------
6
7- MPLS is not supported on ``FreeBSD``. MPLS requires a Linux Kernel
8 (4.5 or higher). LDP can be built, but may have limited use without
9 MPLS
10- PIM for IPv6 is not currently supported on ``FreeBSD``.
11
12Install required packages
13-------------------------
14
15Add packages: (Allow the install of the package management tool if this
16is first package install and asked)
17
18.. code-block:: shell
19
20 pkg install git autoconf automake libtool gmake json-c pkgconf \
21 bison py39-pytest c-ares py39-sphinx texinfo libunwind libyang2
22
23.. include:: building-libunwind-note.rst
24
25Get FRR, compile it and install it (from Git)
26---------------------------------------------
27
28**This assumes you want to build and install FRR from source and not using any
29packages**
30
31Add frr group and user
32^^^^^^^^^^^^^^^^^^^^^^
33
34.. code-block:: shell
35
36 pw groupadd frr -g 101
37 pw groupadd frrvty -g 102
38 pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \
39 -d /usr/local/etc/frr -s /usr/sbin/nologin
40
41
42Download Source, configure and compile it
43^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44
45(You may prefer different options on configure statement. These are just
46an example)
47
48.. code-block:: shell
49
50 git clone https://github.com/frrouting/frr.git frr
51 cd frr
52 ./bootstrap.sh
53 export MAKE=gmake LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include
54 ./configure \
55 --sysconfdir=/usr/local/etc/frr \
56 --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \
57 --localstatedir=/var/run/frr \
58 --prefix=/usr/local \
59 --enable-multipath=64 \
60 --enable-user=frr \
61 --enable-group=frr \
62 --enable-vty-group=frrvty \
63 --enable-configfile-mask=0640 \
64 --enable-logfile-mask=0640 \
65 --enable-fpm \
66 --with-pkg-git-version \
67 --with-pkg-extra-version=-MyOwnFRRVersion
68 gmake
69 gmake check
70 sudo gmake install
71
72Create empty FRR configuration files
73^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
74
75.. code-block:: shell
76
77 sudo mkdir /usr/local/etc/frr
78
79For integrated config file:
80
81.. code-block:: shell
82
83 sudo touch /usr/local/etc/frr/frr.conf
84
85For individual config files:
86
87.. note:: Integrated config is preferred to individual config.
88
89.. code-block:: shell
90
91 sudo touch /usr/local/etc/frr/babeld.conf
92 sudo touch /usr/local/etc/frr/bfdd.conf
93 sudo touch /usr/local/etc/frr/bgpd.conf
94 sudo touch /usr/local/etc/frr/eigrpd.conf
95 sudo touch /usr/local/etc/frr/isisd.conf
96 sudo touch /usr/local/etc/frr/ldpd.conf
97 sudo touch /usr/local/etc/frr/nhrpd.conf
98 sudo touch /usr/local/etc/frr/ospf6d.conf
99 sudo touch /usr/local/etc/frr/ospfd.conf
100 sudo touch /usr/local/etc/frr/pbrd.conf
101 sudo touch /usr/local/etc/frr/pimd.conf
102 sudo touch /usr/local/etc/frr/ripd.conf
103 sudo touch /usr/local/etc/frr/ripngd.conf
104 sudo touch /usr/local/etc/frr/staticd.conf
105 sudo touch /usr/local/etc/frr/zebra.conf
106 sudo chown -R frr:frr /usr/local/etc/frr/
107 sudo touch /usr/local/etc/frr/vtysh.conf
108 sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf
109 sudo chmod 640 /usr/local/etc/frr/*.conf
110
111Enable IP & IPv6 forwarding
112^^^^^^^^^^^^^^^^^^^^^^^^^^^
113
114Add the following lines to the end of ``/etc/sysctl.conf``:
115
116::
117
118 # Routing: We need to forward packets
119 net.inet.ip.forwarding=1
120 net.inet6.ip6.forwarding=1
121
122**Reboot** or use ``sysctl`` to apply the same config to the running system.