使用mkae 编译pktgen出现
/pktgen-dpdk/lib/luz/lua_socket.c:157:对 lua_rotate'未定义的引用
/pktgen-dpdk/lib/luz/lua_socket.c:157:对 lua_getglobal'未定义的引用
/pktgen-dpdk/lib/luz/lua_socket.c:157:对 lua_rotate'未定义的引用
/pktgen-dpdk/lib/luz/lua_socket.c:157:对 lua_pcallk'未定义的引用
/pktgen-dpdk/lib/luz/lua_socket.c:157:对 lua_rotate'未定义的引用
(很多这种路径然后后面显示对‘lua_ ’未定义的引用)
collect2 : 错误 : ld 返回 1
make[2]:[pktgen] 错误1
make[1]:[all] 错误2
make:[app] 错误2
怎么解决一下
lua是C语言模块,用g++调用C语言的库需要在包含头文件时加上extern "C",就能正常编译了,
extern "C" {
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
};
除了pktgen,还有其他压测工具。
推荐一个网络压测工具dperf项目https://github.com/baidu/dperf
,它实现了小型的TCP/UDP/http协议栈,实现了HTTP客户端/服务器,性能达到100Gbps,每秒1千万HTTP新建,几十亿并发连接数,里面有设计文档。它经过Linux基金会评审,成为了DPDK生态项目哦。dperf运行在用户态很方便修改、调试,对学习TCP协议栈很有帮助。谢谢。