DPDK:编译安装

环境说明

软件版本:dpdk-19.08
操作系统:ubuntu20.04
linux内核:5.13.0-48-generic
虚拟机环境:Vmware Workstation 16.2.3

安装步骤

使用安装脚本安装时,重新打开脚本需要重新执行以下所有步骤

设置环境变量

export RTE_SDK=`pwd`

export RTE_TARTGET=x86_64-native-linuxapp-gcc

开始安装

对应安装脚本[x86_64-native-linuxapp-gcc]

make config T=x86_64-native-linuxapp-gcc

执行完命令后会
在安装目录下出现x86_64-native-linuxapp-gcc/目录
进入该目录,使用make编译

make

加载IGB_UIO模块

对应安装脚本[Insert IGB UIO module]

命令如下

sudo modprobe uio
sudo insmod igb_uio.ko

如果提示以下错误,请参考链接:

insmod: ERROR: could not insert module igb_uio.ko: Invalid parameters

挂载HUGETLBFS文件系统

对应安装脚本[Setup hugepage mappings for non-NUMA systems]

此步骤尽量设置多个页面 否则后面会出现内存不足的错误

mkdir –p /mnt/huge
mount –t hugelbfs nodev /mnt/huge
echo 1024 >> /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

绑定网卡

对应安装脚本[Bind Ethernet device to IGB UIO module]

首先需要使用如下命令关闭需要绑定的网卡

sudo ifconfig ens34 down

使用usertools目录下的dpdk-devbind.py进行绑定

  • 查看网卡状态

./usertools/dpdk-devbind.py --status 

  • 绑定网卡

./usertools/dpdk-devbind.py -b igb_uio 02:02.0 

测试用例

出现如下错误:
EAL: Error reading from file descriptor 8
EAL: Error reading from file descriptor 11

解决方法:

  • 切换到lib/librte_eal/linuxapp/igb_uio目录下
  • 修改igb_uio.c中的代码

if (pci_intx_mask_supported(dev)) 

改为

if (pci_intx_mask_supported(dev) || true) 

TEST-PMD

一开始需要输入的bitmask表示你需要使用的核心数

如:f 代表 1111 使用四个核心

命令:

  • start开始包转发
  • stop停止包转发

  执行效果参考:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值