# lwip-dpdk **Repository Path**: andrewdai/lwip-dpdk ## Basic Information - **Project Name**: lwip-dpdk - **Description**: 移植lwip到DPDK上,并运行iperf,httpd,tcp_echo三个示例程序。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-01-27 - **Last Updated**: 2024-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lwip-dpdk #### 介绍 移植lwip到DPDK上,并运行iperf,httpd,tcp_echo三个示例程序。 #### 软件架构 1. 将lwip移植到了dpdk上,编译成了unix版本的动态链接库; 2. 利用meson+ninja链接liblwip库并编译iperf、httpd、tcp_echo等三个实例程序; 3. 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})` #### 使用教程 1. 安装DPDK,建议20以上的版本; 2. clone本仓库; 3. 编译liblwip, `bash buildlwip.sh` 4. 进入apps/iperf目录,其它app编译类似: * `rm -rf build` * `meson build` * `ninja -C build` * `bash run.sh` (按照cpu和网卡情况自行修改参数运行程序) 5. 测试工具: * 已经使能了arp, 可以用ping测试连通; * 用iperf2.0测试lwip iperf,默认端口5001,不建议用iperf3测试; * 用curl 或者ab 测试httpd,默认端口80; * 用socat或者telnet测试tcp_echo,默认端口7; #### [点我获取源码](https://gitee.com/markchen7788/lwip-dpdk)