Actions
Bug #2840
closedxdp modes - Invalid argument (-22) on certain NICs
Affected Versions:
Effort:
Difficulty:
Label:
Description
As per our private discussion wit Eric - putting a place holder.
for Mellanox/Intel NIC (using in yaml) -
xdp-mode: driver
xdp-filter-file: /etc/suricata/xdp_filter.bpf
Suricata starts, no issues.
On Netronome NIC:
xdp-mode: driver
xdp-filter-file: /etc/suricata/xdp_filter.bpf
I get the err below, Suricata still starts. If I comment out ("#xdp-mode: driver") the xdp-mode - the err below is no longer present
[ERRCODE: SC_ERR_INVALID_VALUE(130)] - Unable to set XDP on 'enp94s0np0': Invalid argument (-22)
Using/having the following config and specs (using same Suricata/OS/Kernel on all boxes) -
Suricata -
git clone -b ebpf-xdp-update-8.2 https://github.com/regit/suricata.git
libbpf - master branch from - https://github.com/libbpf/libbpf
kernel -
4.19.0-0.bpo.2-amd64 #1 SMP Debian 4.19.16-1~bpo9+1 (2019-02-07) x86_64 GNU/Linux
Netronome
ethtool -i enp94s0np0 driver: nfp version: 4.19.0-0.bpo.2-amd64 SMP mod_un firmware-version: 0.0.3.5 0.22 bpf-2.0.6.124 ebpf expansion-rom-version: bus-info: 0000:5e:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
Mellanox
ethtool -i enp94s0f0 driver: mlx5_core version: 5.0-0 firmware-version: 16.23.1000 (MT_0000000012) expansion-rom-version: bus-info: 0000:5e:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes
Intel
ethtool -i enp59s0 driver: i40e version: 2.3.2-k firmware-version: 5.05 0x8000291e 1.1313.0 expansion-rom-version: bus-info: 0000:3b:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes
This is Suricata version 5.0.0-dev (rev 7d65fff2e)
Features: PCAP_SET_BUFF AF_PACKET HAVE_PACKET_FANOUT LIBCAP_NG LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HAVE_LUA HAVE_LUAJIT HAVE_LIBJANSSON TLS MAGIC RUST
SIMD support: SSE_4_2 SSE_4_1 SSE_3
Atomic intrisics: 1 2 4 8 16 byte(s)
64-bits, Little-endian architecture
GCC version 4.2.1 Compatible Clang 6.0.0 (tags/RELEASE_600/final), C version 199901
compiled with _FORTIFY_SOURCE=0
L1 cache line size (CLS)=64
thread local storage method: __thread
compiled with LibHTP v0.5.28, linked against LibHTP v0.5.28
Suricata Configuration:
AF_PACKET support: yes
eBPF support: yes
XDP support: yes
PF_RING support: no
NFQueue support: no
NFLOG support: no
IPFW support: no
Netmap support: no
DAG enabled: no
Napatech enabled: no
WinDivert enabled: no
Unix socket enabled: yes
Detection enabled: yes
Libmagic support: yes
libnss support: yes
libnspr support: yes
libjansson support: yes
liblzma support: no
hiredis support: no
hiredis async with libevent: no
Prelude support: no
PCRE jit: yes
LUA support: yes, through luajit
libluajit: yes
libgeoip: yes
Non-bundled htp: no
Old barnyard2 support: no
Hyperscan support: yes
Libnet support: yes
liblz4 support: yes
Rust support: yes (default)
Rust strict mode: yes
Rust debug mode: no
Rust compiler: rustc 1.32.0 (9fda7c223 2019-01-16)
Rust cargo: cargo 1.32.0 (8610973aa 2019-01-02)
Install suricatasc: yes
Install suricata-update: no
Profiling enabled: no
Profiling locks enabled: no
Development settings:
Coccinelle / spatch: no
Unit tests enabled: no
Debug output enabled: no
Debug validation enabled: no
Generic build parameters:
Installation prefix: /usr
Configuration directory: /etc/suricata/
Log directory: /var/log/suricata/
--prefix /usr
--sysconfdir /etc
--localstatedir /var
--datarootdir /usr/share
Host: x86_64-pc-linux-gnu
Compiler: clang-6.0 (exec name) / clang (real)
GCC Protect enabled: no
GCC march native enabled: yes
GCC Profile enabled: no
Position Independent Executable enabled: no
CFLAGS -g -O2 -march=native -I${srcdir}/../rust/gen/c-headers
PCAP_CFLAGS -I/usr/include
SECCFLAGS
Actions