As the cliche goes, long time lurker...
Until getting into problem that can't seem to get past, even with some GPT advisory.
I am attempting to experiment using Suricata (v7.0.5) with DPDK, but keep running into hangups. The latest method seemed promising which was starting with a Virtual Machine of a clean FreeBSD latest version (v14), and installing DPDK first by means of compiling from the Ports Tree, then the same for Suricata. DPDK compiled successfully. The problem is with compiling Suricata:
- I have edited the Makefile file to allow for the enabling of DPDK (--enable-dpdk).
- When attempting to compile, an error occurs that there is no "libnuma" available, and makes references for how to install with Linux Distros. This is the headache as when to compile with enabling DPDK, the configure script checks for numa. Without enabling for DPDK, there appears to be no issues.
-- I then have tried installing the linux-c7-numctl-libs, along with configuring for use Linux support compatibility. This does not resolve the issue.
- I have modified the suricata configure.ac file to bypass the testing of the presence of numa. This looks promising until requiring numa.h file associated with DPDK.
-- Having edited that out, then run into another error of an undeclared identifier of 'UNIT16_WIDTH' which I assume is in relation due not including the numa.h file.
Outside of compiling, have tried to install in combinations of both DPDK and Suricata via pkg, and along with possible options (there is an option for Netmap, but not for DPDK) but that has failed as well.
Perhaps I am over thinking this, in that I just need to enter in the DPDK configuration into the Suricata,yml file, but that did not work either, unless I did that wrong.
Or missing some environmental variables?
Or is it that in order to compile Suricata with DPDK, it has to be done in Linux and then ported over into FreeBSD, as I see a number of references in the configure files with Linux but little with FreeBSD?
So I am at stopping point currently and need some advice. I am willing to document the process so others can perform the same procedure.
Until getting into problem that can't seem to get past, even with some GPT advisory.
I am attempting to experiment using Suricata (v7.0.5) with DPDK, but keep running into hangups. The latest method seemed promising which was starting with a Virtual Machine of a clean FreeBSD latest version (v14), and installing DPDK first by means of compiling from the Ports Tree, then the same for Suricata. DPDK compiled successfully. The problem is with compiling Suricata:
- I have edited the Makefile file to allow for the enabling of DPDK (--enable-dpdk).
- When attempting to compile, an error occurs that there is no "libnuma" available, and makes references for how to install with Linux Distros. This is the headache as when to compile with enabling DPDK, the configure script checks for numa. Without enabling for DPDK, there appears to be no issues.
-- I then have tried installing the linux-c7-numctl-libs, along with configuring for use Linux support compatibility. This does not resolve the issue.
- I have modified the suricata configure.ac file to bypass the testing of the presence of numa. This looks promising until requiring numa.h file associated with DPDK.
-- Having edited that out, then run into another error of an undeclared identifier of 'UNIT16_WIDTH' which I assume is in relation due not including the numa.h file.
Outside of compiling, have tried to install in combinations of both DPDK and Suricata via pkg, and along with possible options (there is an option for Netmap, but not for DPDK) but that has failed as well.
Perhaps I am over thinking this, in that I just need to enter in the DPDK configuration into the Suricata,yml file, but that did not work either, unless I did that wrong.
Or missing some environmental variables?
Or is it that in order to compile Suricata with DPDK, it has to be done in Linux and then ported over into FreeBSD, as I see a number of references in the configure files with Linux but little with FreeBSD?
So I am at stopping point currently and need some advice. I am willing to document the process so others can perform the same procedure.