emmericp / MoonGen

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.
MIT License
1.04k stars 234 forks source link

Could not configure device 0: error Invalid argument #260

Closed kshmelev closed 4 years ago

kshmelev commented 4 years ago

Hi, I am trying to run MoonGen with IntelDPDK 18.11, and this is what I am getting

sudo LD_LIBRARY_PATH=/opt/blackfyre/moongen/lib ./build/MoonGen.orig "interface/init.lua" start udp-simple:0 [WARN] malloc() allocates objects >= 1 MiB from LuaJIT memory space. [WARN] Install libjemalloc if you encounter out of memory errors. [INFO] Initializing DPDK. This will take a few seconds... EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:10ed net_ixgbe_vf EAL: PCI device 0000:00:04.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:10ed net_ixgbe_vf [INFO] Found 1 usable devices: Device 0: 02:C9:F2:F2:0C:B8 (Intel Corporation 82599 Ethernet Controller Virtual Function) [INFO] Flow udp-simple => 0x1 Ethdev port_id=0 invalid rsshf: 0x3fffc, valid value: 0x0 [FATAL] Lua error in task master /opt/blackfyre/moongen/build/../libmoon/lua/device.lua:196: Could not configure device 0: error Invalid argument Stack Traceback (2) Lua method 'fatal' at file '/opt/blackfyre/moongen/build/../libmoon/lua/log.lua:129' Local variables: self = table: 0x41a74f98 {DEBUG:0, fatal:function: 0x40d78ee8, writeToLog:function: 0x40d78ec8, INFO:1 (more...)} str = string: "Could not configure device 0: error Invalid argument" (3) Lua field 'config' at file '/opt/blackfyre/moongen/build/../libmoon/lua/device.lua:196' Local variables: args = table: 0x4028e5f8 {rxQueues:1, stripVlan:true, dropEnable:true, mempools:table: 0x416f4ce8 (more...)} driverInfo = table: 0x409c2948 {} rc = number: -22 (4) Lua method 'configure' at file 'interface/devmgr.lua:40' Local variables: self = table: 0x411e50d8 {0:table: 0x4028e440} (for generator) = C function: next (for state) = table: 0x411e50d8 {0:table: 0x4028e440} (for control) = number: nan i = number: 0 v = table: 0x4028e440 {rxq:0, rxqi:0, txq:1, txqi:0, rsqi:0, rsq:0} txq = number: 1 rxq = number: 1 (5) Lua function 'master' at file 'interface/init.lua:66' (best guess) Local variables: args = table: 0x418269d8 {output:., config:flows, start:true, flows:table: 0x41827378} devices = table: 0x411e50d8 {0:table: 0x4028e440} flows = table: 0x411e5188 {1:table: 0x411e54d0} (6) global C function 'xpcall' (7) Lua upvalue 'master' at file '/opt/blackfyre/moongen/build/../libmoon/lua/main.lua:96' Local variables: = string: "./build/MoonGen.orig" file = string: "interface/init.lua" args = table: 0x41d17fc8 {1:start, 2:udp-simple:0} cfgFile = nil ok = boolean: true parsedArgs = table: 0x41826970 {1:table: 0x418269d8} (8) Lua function 'main' at file '/opt/blackfyre/moongen/build/../libmoon/lua/main.lua:146' (best guess) Local variables: task = string: "master" /opt/blackfyre/moongen/build/../libmoon/lua/device.lua:196: Could not configure device 0: error Invalid argument

The same command run with IntelDPDK 17.08 results in the correct output. I understand that 18.11 may not be supported, but can someone give me a hint why am I having the issue?

emmericp commented 4 years ago

We unfortunately cannot support most DPDK versions because we need ABI-compatibility (and some optional custom patches), this looks like a case of an ABI mismatch.