1NetBSD 6 2======================================== 3 4NetBSD 6 restrictions: 5---------------------- 6 7- MPLS is not supported on ``NetBSD``. MPLS requires a Linux Kernel 8 (4.5 or higher). LDP can be built, but may have limited use without 9 MPLS 10 11Install required packages 12------------------------- 13 14Configure Package location: 15 16:: 17 18 PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All" 19 export PKG_PATH 20 21Add packages: 22 23:: 24 25 sudo pkg_add git autoconf automake libtool gmake openssl \ 26 pkg-config json-c py36-test python36 py36-sphinx 27 28Install SSL Root Certificates (for git https access): 29 30:: 31 32 sudo pkg_add mozilla-rootcerts 33 sudo touch /etc/openssl/openssl.cnf 34 sudo mozilla-rootcerts install 35 36.. include:: building-libyang.rst 37 38Get FRR, compile it and install it (from Git) 39--------------------------------------------- 40 41Add frr groups and user 42^^^^^^^^^^^^^^^^^^^^^^^ 43 44:: 45 46 sudo groupadd -g 92 frr 47 sudo groupadd -g 93 frrvty 48 sudo useradd -g 92 -u 92 -G frrvty -c "FRR suite" \ 49 -d /nonexistent -s /sbin/nologin frr 50 51Download Source, configure and compile it 52^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 53 54(You may prefer different options on configure statement. These are just 55an example) 56 57:: 58 59 git clone https://github.com/frrouting/frr.git frr 60 cd frr 61 ./bootstrap.sh 62 MAKE=gmake 63 export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" 64 export CPPFLAGS="-I/usr/pkg/include" 65 ./configure \ 66 --sysconfdir=/usr/pkg/etc/frr \ 67 --enable-exampledir=/usr/pkg/share/examples/frr \ 68 --enable-pkgsrcrcdir=/usr/pkg/share/examples/rc.d \ 69 --localstatedir=/var/run/frr \ 70 --enable-multipath=64 \ 71 --enable-user=frr \ 72 --enable-group=frr \ 73 --enable-vty-group=frrvty \ 74 --enable-configfile-mask=0640 \ 75 --enable-logfile-mask=0640 \ 76 --enable-fpm \ 77 --with-pkg-git-version \ 78 --with-pkg-extra-version=-MyOwnFRRVersion 79 gmake 80 gmake check 81 sudo gmake install 82 83Create empty FRR configuration files 84^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 85 86:: 87 88 sudo mkdir /var/log/frr 89 sudo mkdir /usr/pkg/etc/frr 90 sudo touch /usr/pkg/etc/frr/zebra.conf 91 sudo touch /usr/pkg/etc/frr/bgpd.conf 92 sudo touch /usr/pkg/etc/frr/ospfd.conf 93 sudo touch /usr/pkg/etc/frr/ospf6d.conf 94 sudo touch /usr/pkg/etc/frr/isisd.conf 95 sudo touch /usr/pkg/etc/frr/ripd.conf 96 sudo touch /usr/pkg/etc/frr/ripngd.conf 97 sudo touch /usr/pkg/etc/frr/pimd.conf 98 sudo chown -R frr:frr /usr/pkg/etc/frr 99 sudo touch /usr/local/etc/frr/vtysh.conf 100 sudo chown frr:frrvty /usr/pkg/etc/frr/*.conf 101 sudo chmod 640 /usr/pkg/etc/frr/*.conf 102 103Enable IP & IPv6 forwarding 104^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105 106Add the following lines to the end of ``/etc/sysctl.conf``: 107 108:: 109 110 # Routing: We need to forward packets 111 net.inet.ip.forwarding=1 112 net.inet6.ip6.forwarding=1 113 114**Reboot** or use ``sysctl`` to apply the same config to the running 115system 116 117Install rc.d init files 118^^^^^^^^^^^^^^^^^^^^^^^ 119 120:: 121 122 cp pkgsrc/*.sh /etc/rc.d/ 123 chmod 555 /etc/rc.d/*.sh 124 125Enable FRR processes 126^^^^^^^^^^^^^^^^^^^^ 127 128(Enable the required processes only) 129 130:: 131 132 echo "zebra=YES" >> /etc/rc.conf 133 echo "bgpd=YES" >> /etc/rc.conf 134 echo "ospfd=YES" >> /etc/rc.conf 135 echo "ospf6d=YES" >> /etc/rc.conf 136 echo "isisd=YES" >> /etc/rc.conf 137 echo "ripngd=YES" >> /etc/rc.conf 138 echo "ripd=YES" >> /etc/rc.conf 139 echo "pimd=YES" >> /etc/rc.conf 140