diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2022-12-08 14:17:17 +0100 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2022-12-12 08:44:56 +0000 | 
| commit | 211c53670ac5967d8108b38540129492940fa37a (patch) | |
| tree | 4a506f7f79efd56e6dfbdda37ef41b0b26729266 /doc | |
| parent | b8e6418c554c2be8a9b1636c42200ce1ad4d20ec (diff) | |
doc: add FreeBSD 13 build docs
Some minor changes since FreeBSD 11, mostly fewer extra sauce.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit d3135b0189f3b99b5eb327d821bb9a40d09988e1)
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/developer/building-frr-for-freebsd13.rst | 122 | ||||
| -rw-r--r-- | doc/developer/building.rst | 3 | ||||
| -rw-r--r-- | doc/developer/subdir.am | 1 | 
3 files changed, 125 insertions, 1 deletions
diff --git a/doc/developer/building-frr-for-freebsd13.rst b/doc/developer/building-frr-for-freebsd13.rst new file mode 100644 index 0000000000..0bc8277930 --- /dev/null +++ b/doc/developer/building-frr-for-freebsd13.rst @@ -0,0 +1,122 @@ +FreeBSD 13 +========== + +FreeBSD 13 restrictions: +------------------------ + +-  MPLS is not supported on ``FreeBSD``. MPLS requires a Linux Kernel +   (4.5 or higher). LDP can be built, but may have limited use without +   MPLS +-  PIM for IPv6 is not currently supported on ``FreeBSD``. + +Install required packages +------------------------- + +Add packages: (Allow the install of the package management tool if this +is first package install and asked) + +.. code-block:: shell + +   pkg install git autoconf automake libtool gmake json-c pkgconf \ +      bison py39-pytest c-ares py39-sphinx texinfo libunwind libyang2 + +.. include:: building-libunwind-note.rst + +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** + +Add frr group and user +^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: shell + +   pw groupadd frr -g 101 +   pw groupadd frrvty -g 102 +   pw adduser frr -g 101 -u 101 -G 102 -c "FRR suite" \ +      -d /usr/local/etc/frr -s /usr/sbin/nologin + + +Download Source, configure and compile it +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +(You may prefer different options on configure statement. These are just +an example) + +.. code-block:: shell + +   git clone https://github.com/frrouting/frr.git frr +   cd frr +   ./bootstrap.sh +   export MAKE=gmake LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include +   ./configure \ +       --sysconfdir=/usr/local/etc/frr \ +       --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \ +       --localstatedir=/var/run/frr \ +       --prefix=/usr/local \ +       --enable-multipath=64 \ +       --enable-user=frr \ +       --enable-group=frr \ +       --enable-vty-group=frrvty \ +       --enable-configfile-mask=0640 \ +       --enable-logfile-mask=0640 \ +       --enable-fpm \ +       --with-pkg-git-version \ +       --with-pkg-extra-version=-MyOwnFRRVersion +   gmake +   gmake check +   sudo gmake install + +Create empty FRR configuration files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: shell + +   sudo mkdir /usr/local/etc/frr + +For integrated config file: + +.. code-block:: shell + +   sudo touch /usr/local/etc/frr/frr.conf + +For individual config files: + +.. note:: Integrated config is preferred to individual config. + +.. code-block:: shell + +   sudo touch /usr/local/etc/frr/babeld.conf +   sudo touch /usr/local/etc/frr/bfdd.conf +   sudo touch /usr/local/etc/frr/bgpd.conf +   sudo touch /usr/local/etc/frr/eigrpd.conf +   sudo touch /usr/local/etc/frr/isisd.conf +   sudo touch /usr/local/etc/frr/ldpd.conf +   sudo touch /usr/local/etc/frr/nhrpd.conf +   sudo touch /usr/local/etc/frr/ospf6d.conf +   sudo touch /usr/local/etc/frr/ospfd.conf +   sudo touch /usr/local/etc/frr/pbrd.conf +   sudo touch /usr/local/etc/frr/pimd.conf +   sudo touch /usr/local/etc/frr/ripd.conf +   sudo touch /usr/local/etc/frr/ripngd.conf +   sudo touch /usr/local/etc/frr/staticd.conf +   sudo touch /usr/local/etc/frr/zebra.conf +   sudo chown -R frr:frr /usr/local/etc/frr/ +   sudo touch /usr/local/etc/frr/vtysh.conf +   sudo chown frr:frrvty /usr/local/etc/frr/vtysh.conf +   sudo chmod 640 /usr/local/etc/frr/*.conf + +Enable IP & IPv6 forwarding +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Add the following lines to the end of ``/etc/sysctl.conf``: + +:: + +   # Routing: We need to forward packets +   net.inet.ip.forwarding=1 +   net.inet6.ip6.forwarding=1 + +**Reboot** or use ``sysctl`` to apply the same config to the running system. diff --git a/doc/developer/building.rst b/doc/developer/building.rst index c687ba8dc8..2d8cc209b0 100644 --- a/doc/developer/building.rst +++ b/doc/developer/building.rst @@ -16,9 +16,10 @@ Building FRR     building-frr-for-debian9     building-frr-for-fedora     building-frr-for-opensuse +   building-frr-for-freebsd9     building-frr-for-freebsd10     building-frr-for-freebsd11 -   building-frr-for-freebsd9 +   building-frr-for-freebsd13     building-frr-for-netbsd6     building-frr-for-netbsd7     building-frr-for-openbsd6 diff --git a/doc/developer/subdir.am b/doc/developer/subdir.am index c8654d6725..9cf14a1966 100644 --- a/doc/developer/subdir.am +++ b/doc/developer/subdir.am @@ -14,6 +14,7 @@ dev_RSTFILES = \  	doc/developer/building-frr-for-opensuse.rst \  	doc/developer/building-frr-for-freebsd10.rst \  	doc/developer/building-frr-for-freebsd11.rst \ +	doc/developer/building-frr-for-freebsd13.rst \  	doc/developer/building-frr-for-freebsd9.rst \  	doc/developer/building-frr-for-netbsd6.rst \  	doc/developer/building-frr-for-netbsd7.rst \  | 
