Dear community,
as it seems the new driver supported will / has already move from MLNX_OFED to DOCA-OFED for the newer OSs and Connect-X 6 and “smart” (BF2,3,etc.)*
”Note: MLNX_OFED has transitioned into DOCA-Host, and now is available as DOCA-OFED profile (learn about DOCA-Host profiles here).
MLNX_OFED last standalone release is October 2024 Long Term Support (3 years). Starting January 2025 all new features will only be included in DOCA-OFED. Download DOCA-Host here.”
I am on Ubuntu 24.04 LTS and have the latest DOCA-OFED installed
If we now use the new driver we get missing dependencies like:
dpdk-testpmd
dpdk-testpmd: /lib/x86_64-linux-gnu/libmlx5.so.1: version `MLX5_OFED’ not found (required by dpdk-testpmd)
ll /lib/x86_64-linux-gnu/libmlx5.so.1
lrwxrwxrwx 1 root root 20 Jun 17 10:08 /lib/x86_64-linux-gnu/libmlx5.so.1 → libmlx5.so.1.25.58.0
ll /lib/x86_64-linux-gnu/libmlx5.so.1.25.58.0
-rw-r–r-- 1 root root 553576 Jun 17 10:08 /lib/x86_64-linux-gnu/libmlx5.so.1.25.58.0
an older file contains the mlx5_ofed:
strings /var/lib/docker/overlay2/a6fb527d44be4008ce4c02d34484890a98f71b012c4d3f6f8a72d9423a6bcd21/diff/usr/lib/aarch64-linux-gnu/libmlx5.so.1 | grep -i ofed
MLX5_OFED
vs
new
strings /lib/x86_64-linux-gnu/libmlx5.so.1.25.58.0 | grep -i ofed
…
When trying to start Suricata with the docal-all profile I get:
EAL: trace_entry_compare():48 found duplicate entry lib.eal.generic.void
EAL: eal_trace_init():84 failed to initialize trace [File exists]
EAL: FATAL: Cannot init trace
EAL: Cannot init trace
Error: dpdk: DPDK EAL initialization error: Operation not permitted [InitEal:runmode-dpdk.c:331]
pkg-config --modversion libdpdk
22.11.2507.1.0
pkg-config --exists --print-errors libdpdk
or with the doca-ofed profile and DPDK from ubuntu repo(not included in the doca-ofed)´
suricata: error while loading shared libraries: librte_ethdev.so.23: cannot open shared object file: No such file or directory
pkg-config --modversion libdpdk
23.11.4
pkg-config --exists --print-errors libdpdk
Package libmana was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmana.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘libmana’, required by ‘libdpdk’, not found
I’ve also tried with the older MLNX_OFED after completely removing the DOCA-OFED
MLNX_OFED_LINUX-24.10-3.2.5.0-ubuntu24.04-x86_64.tgz
The driver is successfully installed but with the new libs
ldconfig -p | grep librte_ethdev.so
librte_ethdev.so.24 (libc6,x86-64) => /lib/x86_64-linux-gnu/librte_ethdev.so.24
librte_ethdev.so.21 (libc6,x86-64) => /usr/local/lib/x86_64-linux-gnu/librte_ethdev.so.21
librte_ethdev.so (libc6,x86-64) => /usr/local/lib/x86_64-linux-gnu/librte_ethdev.so
librte_ethdev.so (libc6,x86-64) => /lib/x86_64-linux-gnu/librte_ethdev.so
And as it seems we need the older 23 version of libs
ldd /usr/local/bin/suricata --dpdk -vvvv -S /dev/null -c /etc/suricata/suricata.yaml | grep not
librte_ethdev.so.23 => not found
librte_mbuf.so.23 => not found
librte_mempool.so.23 => not found
librte_eal.so.23 => not found
I’ve tried manually sym-linking the 4 above libs to the new versions but then I get:
suricata: /lib/x86_64-linux-gnu/librte_mbuf.so.23: version `DPDK_23' not found (required by suricata)
suricata: /lib/x86_64-linux-gnu/librte_mempool.so.23: version `DPDK_23' not found (required by suricata)
suricata: /lib/x86_64-linux-gnu/librte_eal.so.23: version `DPDK_23' not found (required by suricata)
suricata: /lib/x86_64-linux-gnu/librte_ethdev.so.23: version `DPDK_23' not found (required by suricata)
even if pkg-config --modversion libdpdkshow 23.11.4
Has anyone tested this scenario? or hit this issue?
@lukashino perhaps?