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.03k stars 234 forks source link

/home/ubuntu/MoonGen/build/../libmoon/lua/device.lua:100: there are only 0 ports, tried to configure port id 0 #310

Open rohit172001-eng opened 3 years ago

rohit172001-eng commented 3 years ago

Thank you sir, can you also please help me up with these queries 1) Do we need external adapters to run dpdk in virtual machine or in my local machine. image 2) In spite of having supported adapters I'm getting the following error, I've also successfully binded the NICs, but showing valid port array as 0. image

sudo ./moongen-simple start load-latency:0:1:rate=10Mp/s,time=3m [INFO] Initializing DPDK. This will take a few seconds... EAL: Detected 8 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: VFIO support initialized [INFO] Found 0 usable devices: [ERROR] Invalid device number "0" for flow "load-latency". [ERROR] Invalid device number "1" for flow "load-latency". [ERROR] Need to pass at least one tx or rx device. [ERROR] No valid flows remain

sudo ./build/MoonGen examples/l3-load-latency.lua 0 1 [INFO] Initializing DPDK. This will take a few seconds... EAL: Detected 8 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: VFIO support initialized [INFO] Found 0 usable devices: [FATAL] Lua error in task master /home/ubuntu/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/ubuntu/MoonGen/build/../libmoon/lua/log.lua:129' Local variables: self = table: 0x411bcf98 {DEBUG:0, fatal:function: 0x4020bae0, writeToLog:function: 0x4020bac0, INFO:1 (more...)} str = string: "there are only 0 ports, tried to configure port id 0" (3) Lua field 'config' at file '/home/ubuntu/MoonGen/build/../libmoon/lua/device.lua:100' Local variables: args = table: 0x41f1b9f0 {rxQueues:3, txQueues:3, port:0} (4) Lua function 'master' at file 'examples/l3-load-latency.lua:37' (best guess) Local variables: args = table: 0x4191f1a8 {rxDev:1, txDev:0, flows:4, rate:10000, size:60} (5) global C function 'xpcall' (6) Lua upvalue 'master' at file '/home/ubuntu/MoonGen/build/../libmoon/lua/main.lua:96' Local variables: _ = string: "./build/MoonGen" file = string: "examples/l3-load-latency.lua" args = table: 0x408824b0 {1:0, 2:1} cfgFile = nil ok = boolean: true parsedArgs = table: 0x4191eec0 {1:table: 0x4191f1a8} (7) Lua function 'main' at file '/home/ubuntu/MoonGen/build/../libmoon/lua/main.lua:146' (best guess) Local variables: task = string: "master" /home/ubuntu/MoonGen/build/../libmoon/lua/device.lua:100: there are only 0 ports, tried to configure port id 0

Originally posted by @rohit172001-eng in https://github.com/emmericp/MoonGen/issues/306#issuecomment-835848643

Ramla-I commented 2 years ago

Hi, did you find a solution for this issue?

rohit172001-eng commented 2 years ago

Hi, did you find a solution for this issue? Nope, I thought we need some supported external adapters, so the work is on halt. Please let me know if you find the solution.

tb-bingel commented 1 year ago

Hi, did you find a solution for this issue? Nope, I thought we need some supported external adapters, so the work is on halt. Please let me know if you find the solution.

Refer to #301,

You can try dpdk-19.05 branch. it's OK for me with Mellanox MT27800 100G nics.

$ git checkout remotes/origin/dpdk-19.05 -b dpdk-19.05
$ diff ./libmoon/CMakeLists.txt.bak ./libmoon/CMakeLists.txt
index 99e1458..5064836 100644
--- ./libmoon/CMakeLists.txt.bak
+++ ./libmoon/CMakeLists.txt
@@ -43,6 +43,8 @@ SET(DPDK_LIBS
 #Add Mellanox libraries if options are specified
 if(USE_MLX5 OR USE_MLX4)
        SET(DPDK_LIBS ${DPDK_LIBS} ibverbs)
+       SET(DPDK_LIBS ${DPDK_LIBS} mlx5)
+       SET(DPDK_LIBS ${DPDK_LIBS} mnl)
 endif()

 if(USE_MLX5)
$ ./build.sh --mlx5