pktgen-3.5.0执行命令报错

安装完dpdk、lua工具后,执行命令./pktgen -l 1-5 -n 6 -- -P -m "[2].0,[3].1,[4].2,[5].3"
报错如下:
Copyright (c) , Intel Corporation. All rights reserved. Powered by DPDK
EAL: Detected 12 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL: probe driver: 8086:15ab net_ixgbe
EAL: PCI device 0000:03:00.1 on NUMA socket 0
EAL: probe driver: 8086:15ab net_ixgbe
EAL: PCI device 0000:05:00.0 on NUMA socket 0
EAL: probe driver: 8086:15ab net_ixgbe
EAL: PCI device 0000:05:00.1 on NUMA socket 0
EAL: probe driver: 8086:15ab net_ixgbe
EAL: PCI device 0000:07:00.0 on NUMA socket 0
EAL: probe driver: 15b3:1017 net_mlx5
PMD: net_mlx5: cannot access device, is mlx5_ib loaded?
EAL: Requested device 0000:07:00.0 cannot be used
EAL: PCI device 0000:07:00.1 on NUMA socket 0
EAL: probe driver: 15b3:1017 net_mlx5
PMD: net_mlx5: cannot access device, is mlx5_ib loaded?
EAL: Requested device 0000:07:00.1 cannot be used
Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
lua-shell: module 'Pktgen' not found:
no field package.preload['Pktgen']
no file '/usr/local/share/lua/5.3/Pktgen.lua'
no file '/usr/local/share/lua/5.3/Pktgen/init.lua'
no file '/usr/local/lib/lua/5.3/Pktgen.lua'
no file '/usr/local/lib/lua/5.3/Pktgen/init.lua'
no file './Pktgen.lua'
no file './Pktgen/init.lua'
no file '/usr/local/lib/lua/5.3/Pktgen.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './Pktgen.so'
stack traceback:
[C]: in function 'require'
pktgen: /home/dpdk/pktgen-3.5.0/app/lpktgenlib.c:3624: _lua_openlib: Assertion `dolibrary(L, "Pktgen") == 0' failed.
Aborted (core dumped)

要在pktgen根目录下执行就不会报错了:

 cd /pot/pktgen-dpdk-pktgen-3.5.0

  ./app/x86_64-native-linuxapp-gcc/pktgen -l 0-4 -n 3 -- -P -m "[1:3].0, [2:4].1"

除了pktgen,还有其他压测工具。
推荐一个网络压测工具dperf项目https://github.com/baidu/dperf
,它实现了小型的TCP/UDP/http协议栈,实现了HTTP客户端/服务器,性能达到100Gbps,每秒1千万HTTP新建,几十亿并发连接数,里面有设计文档。它经过Linux基金会评审,成为了DPDK生态项目哦。dperf运行在用户态很方便修改、调试,对学习TCP协议栈很有帮助。谢谢。