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.05k stars 235 forks source link

Device support: Intel E810, Found 0 usable devices: #316

Open magaboomchen opened 3 years ago

magaboomchen commented 3 years ago

Hi! I have run MoonGen on Intel 82599 NIC successfully, but I meet some problems when I use 100Gbps Intel E810-CQDA2 NIC. I bind igb_uio driver on two ports of this card and run the basic script to test it (sudo ./build/MoonGen examples/l3-load-latency.lua 0 1). But MoonGen can't find available ports. Here is the output: (Note that 0000:5e:00.0 and 0000:5e:00.1 are Intel 82599 NICs)

======================== Initializing DPDK. This will take a few seconds... EAL: Detected 104 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: VFIO support initialized EAL: PCI device 0000:5e:00.0 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe EAL: PCI device 0000:5e:00.1 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe [INFO] Found 0 usable devices: [FATAL] Lua error in task master /home/MoonGen/build/../libmoon/lua/device.lua: 100: there are only 0 ports, tried to configure port id 0 Stack Traceback

(2) Lua method 'fatal' at file '/home/MoonGen/build/../libmoon/lua/log.lua:129' Local variables: self = table: 0x4011af98 {DEBUG:0, fatal:function: 0x40086530, writeToLog:function: 0x40086510, INFO:1 (more...)} str = string: "there are only 0 ports, tried to configure port id 0" (3) Lua field 'config' at file '/home/MoonGen/build/../libmoon/lua/device.lua: 100' Local variables: args = table: 0x4182d9d8 {rxQueues:3, txQueues:3, port:0} (4) Lua function 'master' at file 'examples/l3-load-latency.lua:37' (best guess) Local variables: args = table: 0x418243e8 {rxDev:1, txDev:0, flows:4, rate:10000, size:60} (5) global C function 'xpcall' (6) Lua upvalue 'master' at file '/home/MoonGen/build/../libmoon/lua/main.lua:96' Local variables: _ = string: "./buildGen" file = string: "examples/l3-load-latency.lua" args = table: 0x404bb0a8 {1:0, 2:1} cfgFile = nil ok = boolean: true parsedArgs = table: 0x418242d0 {1:table: 0x418243e8} (7) Lua function 'main' at file '/home/MoonGen/build/../libmoon/lua/main.lua:146' (best guess) Local variables: task = string: "master" /home/MoonGen/build/../libmoon/lua/device.lua: 100: there are only 0 ports, tried to configure port id 0

Does MoonGen support Intel E810-CQDA2?

Zotan commented 2 years ago

I have the same issue. Have you tried using dpdk directly with the E810 @magaboomchen ? That's my next step.

magaboomchen commented 2 years ago

@Zotan Hi, intel e810 supports DPDK, and I run the DPDK applications using intel E810 successfully. As far as I know, e810 needs DPDK's version above 19.02. So, I also try the Moongen branch dpdk-19.05 but it also fails to find the device. Intel E810 is a new NIC, and I suspect that we may need to modify some part of the source code of Moongen to support E810.

VAPuerta commented 1 year ago

Hi! I am having the same issue with a Intel I225-V.

Have you solve this problem??