AltraMayor / gatekeeper

The first open-source DDoS protection system
https://github.com/AltraMayor/gatekeeper/wiki
GNU General Public License v3.0
1.34k stars 232 forks source link

Not able to start Gatekeeper #656

Closed bhattaraiakshaya closed 1 year ago

bhattaraiakshaya commented 1 year ago

here is the lshw network bus info. lshw -c network -businfo

WARNING: you should run this program as super-user.
Bus info          Device      Class          Description
========================================================
pci@0000:01:00.0              network        82599ES 10-Gigabit SFI/SFP+ Network Connection
pci@0000:01:00.1              network        82599ES 10-Gigabit SFI/SFP+ Network Connection
pci@0000:03:00.0  enp3s0      network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
pci@0000:04:00.0  wlp4s0      network        AR9485 Wireless Network Adapter
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
When we run the gatekeeper with no parameters, we get this log.

Now we are running gatekeeper

$ sudo build/gatekeeper

EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL:   Invalid NUMA socket, default to 0
EAL:   using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(2)
EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:01:00.0 (socket 0)
EAL:   Invalid NUMA socket, default to 0
EAL: Ignore mapping IO port bar(2)
EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:01:00.1 (socket 0)
EAL: No legacy callbacks, legacy socket not created
EAL: See files in . for further log

Do we need to run the gatekeeper with specific params? Thank you

arvindin commented 1 year ago

here is the lshw network bus info. lshw -c network -businfo

WARNING: you should run this program as super-user.
Bus info          Device      Class          Description
========================================================
pci@0000:01:00.0              network        82599ES 10-Gigabit SFI/SFP+ Network Connection
pci@0000:01:00.1              network        82599ES 10-Gigabit SFI/SFP+ Network Connection
pci@0000:03:00.0  enp3s0      network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
pci@0000:04:00.0  wlp4s0      network        AR9485 Wireless Network Adapter
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
When we run the gatekeeper with no parameters, we get this log.

Now we are running gatekeeper

$ sudo build/gatekeeper

EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL:   Invalid NUMA socket, default to 0
EAL:   using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(2)
EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:01:00.0 (socket 0)
EAL:   Invalid NUMA socket, default to 0
EAL: Ignore mapping IO port bar(2)
EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:01:00.1 (socket 0)
EAL: No legacy callbacks, legacy socket not created
EAL: See files in . for further log

Do we need to run the gatekeeper with specific params? Thank you

This step we missed from the above, we did do a bind, sudo dependencies/dpdk/usertools/dpdk-devbind.py --bind=vfio-pci enp1s0f1

AltraMayor commented 1 year ago

It seems you have not configured hugepages: EAL: No available hugepages reported in hugepages-1048576kB.

bhattaraiakshaya commented 1 year ago
  1. lshw -c network -businfo Here is the output

    WARNING: you should run this program as super-user.
    Bus info          Device      Class          Description
    ========================================================
    pci@0000:01:00.0  enp1s0f0    network        82599ES 10-Gigabit SFI/SFP+ Network Connection
    pci@0000:01:00.1  enp1s0f1    network        82599ES 10-Gigabit SFI/SFP+ Network Connection
    pci@0000:03:00.0  enp3s0      network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
    pci@0000:04:00.0  wlp4s0      network        AR9485 Wireless Network Adapter
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
  2. We ran the bind command sudo dependencies/dpdk/usertools/dpdk-devbind.py --bind=vfio-pci enp1s0f0

  3. sudo dependencies/dpdk/usertools/dpdk-hugepages.py --setup 2G

  4. We updated the net.lua file, changed the front and back ports:

-- These parameters should likely be initially changed.
    local log_level = staticlib.c.RTE_LOG_DEBUG
    local user --= "gatekeeper"

    local front_ports = {"enp1s0f0"}
    local front_ips  = {"10.0.1.1/24", "2001:db8:1::1/48"}
    local front_bonding_mode = staticlib.c.BONDING_MODE_ROUND_ROBIN
    local front_ipv4_vlan_tag = 0x123
    local front_ipv6_vlan_tag = front_ipv4_vlan_tag
    local front_vlan_insert = true
    local front_mtu = 1500

    local back_ports = {"enp1s0f1"}
    local back_ips  = {"10.0.2.1/24", "2001:db8:2::1/48"}
    local back_bonding_mode = staticlib.c.BONDING_MODE_ROUND_ROBIN
    local back_ipv4_vlan_tag = 0x456
    local back_ipv6_vlan_tag = back_ipv4_vlan_tag
    local back_vlan_insert = true
    local back_mtu = 2048
  1. sudo build/gatekeeper

Here is the log

dcm@dcm1:~/gatekeeper$ sudo cat gatekeeper_2023_08_25_18_04.log
Main/0: cycles/second = 3591677940, cycles/millisecond = 3591677, picosec/cycle = 278
Main/0: config: ./lua/gatekeeper/staticlib.lua:506: There is no map for enp1s0f0 in the front interface configuration
Main/0: Failed to configure Gatekeeper
AltraMayor commented 1 year ago

Have you updated the file if_map.lua after adding the new NIC?

Notice that, in step 2 above, you have to bind enp1s0f1 as well since you're using it for the back interface.

arvindin commented 1 year ago

Thank you, it resolved the issue, now we see this, cm@dcm1:~/gatekeeper$ sudo cat gatekeeper_2023_08_26_22_25.log Main/0: cycles/second = 3591679047, cycles/millisecond = 3591679, picosec/cycle = 278 rte_bpf_elf_load() is not supported with current config rebuild with libelf installed Main/0: gk_load_bpf_flow_handler(): file "./lua/bpf/granted.bpf" does not have the BPF program "init"; rte_errno = 95: Operation not supported Main/0: config: ./lua/gk.lua:108: Failed to load BPF program: ./lua/bpf/granted.bpf Main/0: Failed to configure Gatekeeper

arvindin commented 1 year ago

Here is the install sys out: cm@dcm1:~/gatekeeper$ sudo apt-get install libelf-dev [sudo] password for dcm: Reading package lists... Done Building dependency tree
Reading state information... Done libelf-dev is already the newest version (0.176-1.1build1). 0 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.

dcm@dcm1:~/gatekeeper$ sudo apt-get install libelf Reading package lists... Done Building dependency tree
Reading state information... Done E: Unable to locate package libelf

arvindin commented 1 year ago

We have spent like a week to go through README and Docs and we still have issues just running gatekeeper! :) It should just run out of box for a layman who wants to use your product? Will it help if I give you guys access to my server? I surely want to update readme with my notes PR coming soon.

AltraMayor commented 1 year ago

The problem with libelf you are reporting seems to be the same issue discussed here.

AltraMayor commented 1 year ago

We have spent like a week to go through README and Docs and we still have issues just running gatekeeper! :) It should just run out of box for a layman who wants to use your product? Will it help if I give you guys access to my server? I surely want to update readme with my notes PR coming soon.

I understand your frustration. Pull requests to improve the documentation are more than welcome, so we all lower the effort to deploy Gatekeeper. Nevertheless, you should recalibrate your expectations: deploying Gatekeeper is not easy. Even after you get Gatekeeper running, you'll still need to integrate it into your network and write your policy. There's no other open source that does what Gatekeeper does to compare. Commercial options lower their deployment challenges by selling appliances or DDoS protection services; they don't sell the software. We expect appliances and protection services based on Gatekeeper will become available as our community grows.

There's a company that intends to offer commercial support to Gatekeeper. They are setting up their service based on some initial contracts with new deployers who want to save time to deploy and scale their deployments. Once they make the service publically available, I'll add them to the home of the wiki. They will hopefully be a better route to get newcomers started.

arvindin commented 1 year ago

Thank you so much, we are also trying to package it in a black box, with commercial support and Splunk integration for SoC. All the changes if any we will give back to the project, we are small team but working with DDoS for more than 10 yrs. Thanks again for your support. https://discretecomputingmachines.com

AltraMayor commented 1 year ago

Welcome to the community!

bhattaraiakshaya commented 1 year ago

We are seeing the following output when running . setup.sh

 . setup.sh
Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
[3/1561] Linking target lib/librte_bpf.so.21.0.
FAILED: lib/librte_bpf.so.21.0 
cc  -o lib/librte_bpf.so.21.0 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_exec.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_load.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_pkt.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_validate.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_jit_x86.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,librte_bpf.so.21 -Wl,--no-as-needed -pthread -lm -ldl -lnuma lib/librte_eal.so.21.0 lib/librte_kvargs.so.21.0 lib/librte_telemetry.so.21.0 lib/librte_mbuf.so.21.0 lib/librte_mempool.so.21.0 lib/librte_ring.so.21.0 lib/librte_net.so.21.0 lib/librte_ethdev.so.21.0 lib/librte_meter.so.21.0 -Wl,--end-group -Wl,--version-script=/home/dcm/gatekeeper/dependencies/dpdk/lib/librte_bpf/version.map '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/dcm/gatekeeper/dependencies/dpdk/build/lib
/usr/bin/ld: lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_pkt.c.o: in function `bpf_eth_elf_load':
bpf_pkt.c:(.text+0x197): undefined reference to `rte_bpf_elf_load'
/usr/bin/ld: bpf_pkt.c:(.text+0x233): undefined reference to `rte_bpf_elf_load'
collect2: error: ld returned 1 exit status
[12/1561] Compiling C object 'drivers/a715181@@tmp_rte_bus_dpaa@sta/bus_dpaa_base_fman_fman.c.o'.
ninja: build stopped: subcommand failed.
[3/1551] Linking target lib/librte_bpf.so.21.0.
FAILED: lib/librte_bpf.so.21.0 
cc  -o lib/librte_bpf.so.21.0 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_exec.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_load.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_pkt.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_validate.c.o' 'lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_jit_x86.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,librte_bpf.so.21 -Wl,--no-as-needed -pthread -lm -ldl -lnuma lib/librte_eal.so.21.0 lib/librte_kvargs.so.21.0 lib/librte_telemetry.so.21.0 lib/librte_mbuf.so.21.0 lib/librte_mempool.so.21.0 lib/librte_ring.so.21.0 lib/librte_net.so.21.0 lib/librte_ethdev.so.21.0 lib/librte_meter.so.21.0 -Wl,--end-group -Wl,--version-script=/home/dcm/gatekeeper/dependencies/dpdk/lib/librte_bpf/version.map '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/dcm/gatekeeper/dependencies/dpdk/build/lib
/usr/bin/ld: lib/76b5a35@@rte_bpf@sta/librte_bpf_bpf_pkt.c.o: in function `bpf_eth_elf_load':
bpf_pkt.c:(.text+0x197): undefined reference to `rte_bpf_elf_load'
/usr/bin/ld: bpf_pkt.c:(.text+0x233): undefined reference to `rte_bpf_elf_load'
collect2: error: ld returned 1 exit status
[12/1551] Compiling C object 'drivers/a715181@@tmp_rte_net_octeontx2@sta/net_octeontx2_otx2_tx.c.o'.
ninja: build stopped: subcommand failed.
==== Building LuaJIT 2.0.5 ====
make -C src
make[1]: Entering directory '/home/dcm/gatekeeper/dependencies/luajit-2.0/src'
make[1]: Nothing to be done for 'default'.
make[1]: Leaving directory '/home/dcm/gatekeeper/dependencies/luajit-2.0/src'
==== Successfully built LuaJIT 2.0.5 ====
==== Installing LuaJIT 2.0.5 to /usr/local ====
mkdir -p /usr/local/bin /usr/local/lib /usr/local/include/luajit-2.0 /usr/local/share/man/man1 /usr/local/lib/pkgconfig /usr/local/share/luajit-2.0.5/jit /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1
cd src && install -m 0755 luajit /usr/local/bin/luajit-2.0.5
cd src && test -f libluajit.a && install -m 0644 libluajit.a /usr/local/lib/libluajit-5.1.a || :
rm -f /usr/local/bin/luajit /usr/local/lib/libluajit-5.1.so.2.0.5 /usr/local/lib/libluajit-5.1.so /usr/local/lib/libluajit-5.1.so.2
cd src && test -f libluajit.so && \
  install -m 0755 libluajit.so /usr/local/lib/libluajit-5.1.so.2.0.5 && \
  ldconfig -n /usr/local/lib && \
  ln -sf libluajit-5.1.so.2.0.5 /usr/local/lib/libluajit-5.1.so && \
  ln -sf libluajit-5.1.so.2.0.5 /usr/local/lib/libluajit-5.1.so.2 || :
cd etc && install -m 0644 luajit.1 /usr/local/share/man/man1
cd etc && sed -e "s|^prefix=.*|prefix=/usr/local|" -e "s|^multilib=.*|multilib=lib|" luajit.pc > luajit.pc.tmp && \
  install -m 0644 luajit.pc.tmp /usr/local/lib/pkgconfig/luajit.pc && \
  rm -f luajit.pc.tmp
cd src && install -m 0644 lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h /usr/local/include/luajit-2.0
cd src/jit && install -m 0644 bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua dis_arm.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua bcsave.lua vmdef.lua /usr/local/share/luajit-2.0.5/jit
ln -sf luajit-2.0.5 /usr/local/bin/luajit
==== Successfully installed LuaJIT 2.0.5 to /usr/local ====
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing clock_gettime... none required
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for gcc option to accept ISO C99... none needed
checking whether _Thread_local is known... yes
checking whether POSIX threads are available... yes
checking whether CC supports -Wno-pointer-sign... yes
checking whether CC supports -Wno-missing-field-initializers... yes
checking whether link time optimizer is available... yes
checking CFLAGS... -g -O2 -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers
checking LDFLAGS...  -pthread -flto=4 -g
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for flex... flex
checking for bison... bison
checking for gm4... no
checking for m4... m4
checking bison version... 3.5.1
checking which OS configuration should we use... ./sysdep/cf/linux.h
checking system-dependent directories... sysdep/linux sysdep/unix 
checking for libssh/libssh.h... no
checking for ssh_connect in -lssh... no
checking for Linux MPLS headers... yes
checking protocols... ok
checking for linux/rtnetlink.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for alloca.h... yes
checking for syslog.h... yes
checking for struct sockaddr.sa_len... no
checking whether byte ordering is bigendian... no
checking for glob.h... yes
checking for syslog lib flags... yes
checking for curses.h... yes
checking for library containing tgetent... -ltinfo
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for library containing rl_callback_read_char... -lreadline
checking for rl_crlf in -lreadline... yes
checking for rl_ding in -lreadline... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating obj/sysdep/autoconf.h
config.status: obj/sysdep/autoconf.h is unchanged

BIRD was configured with the following options:
        Source directory:   .
        Object directory:   obj
        Iproute2 directory: /etc/iproute2
        System configuration:   ./sysdep/cf/linux.h
        Debugging:      no
        POSIX threads:      yes
        Routing protocols:  bfd babel bgp mrt ospf perf pipe radv rip rpki static
        LibSSH support in RPKI: no
        Kernel MPLS support:    yes
        Client:         yes
MKDIR -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/proto/bfd obj/proto/babel obj/proto/bgp obj/proto/mrt obj/proto/ospf obj/proto/perf obj/proto/pipe obj/proto/radv obj/proto/rip obj/proto/rpki obj/proto/static obj/sysdep/linux obj/sysdep/unix obj/doc
m4 -s -P conf/gen_parser.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/linux/netlink.Y sysdep/unix/config.Y sysdep/unix/krt.Y >obj/conf/cf-parse.y
bison  -Dparse.lac=full -Dparse.error=verbose -dv -pcf_ -b obj/conf/cf-parse obj/conf/cf-parse.y
obj/conf/cf-parse.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
obj/conf/cf-parse.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
m4 -s -P conf/gen_keywords.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/linux/netlink.Y sysdep/unix/config.Y sysdep/unix/krt.Y >obj/conf/keywords.h
m4 -s -P conf/gen_commands.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/linux/netlink.Y sysdep/unix/config.Y sysdep/unix/krt.Y >obj/conf/commands.h
m4 -s -DTARGET=I -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-interpret.c
m4 -s -DTARGET=H -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.h
echo  >obj/sysdep/paths.h "/* Generated by Makefile, don't edit manually! */"
echo >>obj/sysdep/paths.h "#define PATH_CONFIG_FILE \"/usr/local/etc/bird.conf\""
echo >>obj/sysdep/paths.h "#define PATH_CONTROL_SOCKET \"/usr/local/var/run/bird.ctl\""
if test -n "/etc/iproute2" ; then echo >>obj/sysdep/paths.h "#define PATH_IPROUTE_DIR \"/etc/iproute2\"" ; fi
CC -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c
flex  -f -s -B -8 -Pcf_ -oobj/conf/cf-lex.c conf/cf-lex.l
CC -o obj/conf/cf-lex.o -c obj/conf/cf-lex.c
CC -o obj/conf/conf.o -c conf/conf.c
CC -o obj/filter/filter.o -c filter/filter.c
CC -o obj/filter/data.o -c filter/data.c
CC -o obj/filter/f-util.o -c filter/f-util.c
CC -o obj/filter/tree.o -c filter/tree.c
CC -o obj/filter/trie.o -c filter/trie.c
m4 -s -DTARGET=C -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.c
CC -o obj/filter/inst-gen.o -c obj/filter/inst-gen.c
CC -o obj/lib/bitmap.o -c lib/bitmap.c
CC -o obj/lib/bitops.o -c lib/bitops.c
CC -o obj/lib/checksum.o -c lib/checksum.c
CC -o obj/lib/event.o -c lib/event.c
CC -o obj/lib/flowspec.o -c lib/flowspec.c
CC -o obj/lib/idm.o -c lib/idm.c
CC -o obj/lib/ip.o -c lib/ip.c
CC -o obj/lib/lists.o -c lib/lists.c
CC -o obj/lib/mac.o -c lib/mac.c
CC -o obj/lib/md5.o -c lib/md5.c
CC -o obj/lib/mempool.o -c lib/mempool.c
CC -o obj/lib/net.o -c lib/net.c
CC -o obj/lib/patmatch.o -c lib/patmatch.c
CC -o obj/lib/printf.o -c lib/printf.c
CC -o obj/lib/resource.o -c lib/resource.c
CC -o obj/lib/sha1.o -c lib/sha1.c
CC -o obj/lib/sha256.o -c lib/sha256.c
CC -o obj/lib/sha512.o -c lib/sha512.c
CC -o obj/lib/slab.o -c lib/slab.c
CC -o obj/lib/slists.o -c lib/slists.c
CC -o obj/lib/strtoul.o -c lib/strtoul.c
CC -o obj/lib/tbf.o -c lib/tbf.c
CC -o obj/lib/timer.o -c lib/timer.c
CC -o obj/lib/xmalloc.o -c lib/xmalloc.c
CC -o obj/nest/a-path.o -c nest/a-path.c
CC -o obj/nest/a-set.o -c nest/a-set.c
CC -o obj/nest/cli.o -c nest/cli.c
CC -o obj/nest/cmds.o -c nest/cmds.c
CC -o obj/nest/iface.o -c nest/iface.c
CC -o obj/nest/locks.o -c nest/locks.c
CC -o obj/nest/neighbor.o -c nest/neighbor.c
CC -o obj/nest/password.o -c nest/password.c
CC -o obj/nest/proto.o -c nest/proto.c
CC -o obj/nest/rt-attr.o -c nest/rt-attr.c
CC -o obj/nest/rt-dev.o -c nest/rt-dev.c
CC -o obj/nest/rt-fib.o -c nest/rt-fib.c
CC -o obj/nest/rt-show.o -c nest/rt-show.c
CC -o obj/nest/rt-table.o -c nest/rt-table.c
CC -o obj/proto/bfd/bfd.o -c proto/bfd/bfd.c
CC -o obj/proto/bfd/io.o -c proto/bfd/io.c
CC -o obj/proto/bfd/packets.o -c proto/bfd/packets.c
CC -o obj/proto/babel/babel.o -c proto/babel/babel.c
CC -o obj/proto/babel/packets.o -c proto/babel/packets.c
CC -o obj/proto/bgp/attrs.o -c proto/bgp/attrs.c
CC -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c
CC -o obj/proto/bgp/packets.o -c proto/bgp/packets.c
CC -o obj/proto/mrt/mrt.o -c proto/mrt/mrt.c
CC -o obj/proto/ospf/dbdes.o -c proto/ospf/dbdes.c
CC -o obj/proto/ospf/hello.o -c proto/ospf/hello.c
CC -o obj/proto/ospf/iface.o -c proto/ospf/iface.c
CC -o obj/proto/ospf/lsack.o -c proto/ospf/lsack.c
CC -o obj/proto/ospf/lsalib.o -c proto/ospf/lsalib.c
CC -o obj/proto/ospf/lsreq.o -c proto/ospf/lsreq.c
CC -o obj/proto/ospf/lsupd.o -c proto/ospf/lsupd.c
CC -o obj/proto/ospf/neighbor.o -c proto/ospf/neighbor.c
CC -o obj/proto/ospf/ospf.o -c proto/ospf/ospf.c
CC -o obj/proto/ospf/packet.o -c proto/ospf/packet.c
CC -o obj/proto/ospf/rt.o -c proto/ospf/rt.c
CC -o obj/proto/ospf/topology.o -c proto/ospf/topology.c
CC -o obj/proto/perf/perf.o -c proto/perf/perf.c
CC -o obj/proto/pipe/pipe.o -c proto/pipe/pipe.c
CC -o obj/proto/radv/packets.o -c proto/radv/packets.c
CC -o obj/proto/radv/radv.o -c proto/radv/radv.c
CC -o obj/proto/rip/packets.o -c proto/rip/packets.c
CC -o obj/proto/rip/rip.o -c proto/rip/rip.c
CC -o obj/proto/rpki/rpki.o -c proto/rpki/rpki.c
CC -o obj/proto/rpki/packets.o -c proto/rpki/packets.c
CC -o obj/proto/rpki/tcp_transport.o -c proto/rpki/tcp_transport.c
CC -o obj/proto/rpki/ssh_transport.o -c proto/rpki/ssh_transport.c
CC -o obj/proto/rpki/transport.o -c proto/rpki/transport.c
CC -o obj/proto/static/static.o -c proto/static/static.c
CC -o obj/sysdep/linux/netlink.o -c sysdep/linux/netlink.c
CC -o obj/sysdep/unix/io.o -c sysdep/unix/io.c
CC -o obj/sysdep/unix/krt.o -c sysdep/unix/krt.c
CC -o obj/sysdep/unix/log.o -c sysdep/unix/log.c
CC -o obj/sysdep/unix/main.o -c sysdep/unix/main.c
CC -o obj/sysdep/unix/random.o -c sysdep/unix/random.c
LD -pthread -flto=4 -g -o bird obj/conf/cf-parse.tab.o obj/conf/cf-lex.o obj/conf/conf.o obj/filter/filter.o obj/filter/data.o obj/filter/f-util.o obj/filter/tree.o obj/filter/trie.o obj/filter/inst-gen.o obj/lib/bitmap.o obj/lib/bitops.o obj/lib/checksum.o obj/lib/event.o obj/lib/flowspec.o obj/lib/idm.o obj/lib/ip.o obj/lib/lists.o obj/lib/mac.o obj/lib/md5.o obj/lib/mempool.o obj/lib/net.o obj/lib/patmatch.o obj/lib/printf.o obj/lib/resource.o obj/lib/sha1.o obj/lib/sha256.o obj/lib/sha512.o obj/lib/slab.o obj/lib/slists.o obj/lib/strtoul.o obj/lib/tbf.o obj/lib/timer.o obj/lib/xmalloc.o obj/nest/a-path.o obj/nest/a-set.o obj/nest/cli.o obj/nest/cmds.o obj/nest/iface.o obj/nest/locks.o obj/nest/neighbor.o obj/nest/password.o obj/nest/proto.o obj/nest/rt-attr.o obj/nest/rt-dev.o obj/nest/rt-fib.o obj/nest/rt-show.o obj/nest/rt-table.o obj/proto/bfd/bfd.o obj/proto/bfd/io.o obj/proto/bfd/packets.o obj/proto/babel/babel.o obj/proto/babel/packets.o obj/proto/bgp/attrs.o obj/proto/bgp/bgp.o obj/proto/bgp/packets.o obj/proto/mrt/mrt.o obj/proto/ospf/dbdes.o obj/proto/ospf/hello.o obj/proto/ospf/iface.o obj/proto/ospf/lsack.o obj/proto/ospf/lsalib.o obj/proto/ospf/lsreq.o obj/proto/ospf/lsupd.o obj/proto/ospf/neighbor.o obj/proto/ospf/ospf.o obj/proto/ospf/packet.o obj/proto/ospf/rt.o obj/proto/ospf/topology.o obj/proto/perf/perf.o obj/proto/pipe/pipe.o obj/proto/radv/packets.o obj/proto/radv/radv.o obj/proto/rip/packets.o obj/proto/rip/rip.o obj/proto/rpki/rpki.o obj/proto/rpki/packets.o obj/proto/rpki/tcp_transport.o obj/proto/rpki/ssh_transport.o obj/proto/rpki/transport.o obj/proto/static/static.o obj/sysdep/linux/netlink.o obj/sysdep/unix/io.o obj/sysdep/unix/krt.o obj/sysdep/unix/log.o obj/sysdep/unix/main.o obj/sysdep/unix/random.o
CC -o obj/client/commands.o -c client/commands.c
CC -o obj/client/util.o -c client/util.c
CC -o obj/client/client.o -c client/client.c
CC -o obj/client/birdcl.o -c client/birdcl.c
LD -pthread -flto=4 -g -o birdcl obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdcl.o
CC -o obj/client/birdc.o -c client/birdc.c
LD -pthread -flto=4 -g -o birdc obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdc.o -lreadline -ltinfo
/usr/bin/install -c -d //usr/local/sbin //usr/local/etc //usr/local/var/run
for BIN in bird birdcl birdc ; do                               \
    /usr/bin/install -c ./$BIN //usr/local/sbin/$BIN ;      \
done
if ! test -f //usr/local/etc/bird.conf ; then                       \
    /usr/bin/install -c -m 644 ./doc/bird.conf.example //usr/local/etc/bird.conf ;  \
else                                            \
    echo "Not overwriting old bird.conf" ;                      \
fi
Not overwriting old bird.conf
make: Nothing to be done for 'all'.
install -d "../lua/bpf"
install -m660 granted.bpf declined.bpf grantedv2.bpf web.bpf tcp-services.bpf "../lua/bpf"
bhattaraiakshaya commented 1 year ago

We were able to move past this error after ninja reconfigure Thank you.