dpdk+l2fwd+l3fwd遇到的问题

博客主要介绍了DPDK、l2fwd、l3fwd运行时的报错问题及解决办法。包括未挂载hugetlbfs需先挂载,虚拟机跑DPDK报错要修改文件并重新编译,运行l3fwd报错是 -c 参数设置问题,l3fwd无法解析包类型可加 --parse - ptype,l2fwd无空闲大页可重启设备,DPDK加载igb_uio.ko报错需加载依赖模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.未挂载hugetlbfs

需要在设置大页内存之前挂载 hugetlbfs

mount -t hugetlbfs nodev /mnt/huge

2.虚拟机里跑dpdk报错

修改文件/home/dpdk-16.07/lib/librte_eal/linuxapp/igb_uio目录下的igb_uio.c(390行),如下图:

修改完后保存退出,重新编译dpdk。

3.运行l3fwd报错

原因:-c参数设置不对,应该是十六进制6

./l3fwd -c 6 -n 4 -- -p 0x3 --config=”(0,0,1),(0,1,2)”

-c 6(0110)正好对应config(端口、队列、核)中的1、2两个核。

4.l3fwd---port 0 cannot parse packet type

此程序依然依赖硬件来完成packet type的识别。该参数“--parse-ptype”应该是启用了软件识别类型的功能。加上--parse-ptype,l3fwd启动成功.

5.l2fwd---No free hugepages

大页不正常,可以重启设备,然后执行:

umount /mnt/huge
rm -rf /mnt/huge
mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

6.dpdk加载igb_uio.ko报错

dmesg | tail查看

依赖模块没有加载导致的

执行:modprobe uio

接着执行insmod igb_uio.ko

正常加载了

 

 

 

DPDK的example目录包含了很多示例应用程序,这些示例应用程序可以帮助您了解DPDK的基本概念和用法。如果您是一个初学者,建议您按照以下顺序学习DPDK的example目录: 1. hello_world:这是一个最简单的示例,它展示了如何初始化DPDK环境并打印一条简单的消息。这个示例可以帮助您了解DPDK的基本结构和初始化过程。 2. l2fwd:这是一个简单的L2转发示例,它演示了如何使用DPDK处理网络数据包。这个示例可以帮助您了解DPDK的数据包接收和发送机制,以及如何使用DPDK的API来处理数据包。 3. pktgen:这是一个用于生成和发送网络数据包的示例,它演示了如何使用DPDK创建一个网络数据包生成器。这个示例可以帮助您了解如何使用DPDK生成和发送数据包,并了解如何配置和管理数据包生成器。 4. qos_sched:这是一个网络流量调度示例,它演示了如何使用DPDK网络流量进行调度和管理。这个示例可以帮助您了解DPDK的流量调度机制和如何使用DPDK的API对网络流量进行管理。 5. l3fwd:这是一个简单的L3转发示例,它演示了如何使用DPDK处理IP数据包。这个示例可以帮助您了解DPDK的IP数据包接收和发送机制,以及如何使用DPDK的API来处理IP数据包。 建议您按照上述顺序学习DPDK的example目录,逐步了解DPDK的基本概念和用法,并逐步掌握DPDK的API和工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值