lwip-dpdk
介绍
移植lwip到DPDK上,并运行iperf,httpd,tcp_echo三个示例程序。
软件架构
- 将lwip移植到了dpdk上,编译成了unix版本的动态链接库;
- 利用meson+ninja链接liblwip库并编译iperf、httpd、tcp_echo等三个实例程序;
- lwip源码修改:
- 修改
lwip/contrib/ports/unix/lib
下lwipopts.h
,利用raw api进行编程; - 修改
lwip/contrib/ports/unix/lib
下CMakeLists.txt
,将app引入- 修改前:
add_library(lwip ${lwipnoapps_SRCS} ${lwipcontribportunix_SRCS} ${lwipcontribportunixnetifs_SRCS})
- 修改后:
add_library(lwip ${lwipnoapps_SRCS} ${lwipallapps_SRCS} ${lwipcontribportunix_SRCS} ${lwipcontribportunixnetifs_SRCS})
- 修改前:
- 修改
使用教程
- 安装DPDK,建议20以上的版本;
- clone本仓库;
- 编译liblwip,
bash buildlwip.sh
- 进入apps/iperf目录,其它app编译类似:
rm -rf build