栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

DPDK(一):安装与环境配置

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DPDK(一):安装与环境配置

基础环境

vmware16虚拟机+Ubuntu22.04

因为要同时使用wsl2就打开了hyper-v,也导致了一些后续问题,虚拟环境兼容版本选择了Workstation Beta,没有测试,但应该16及以上均可。

DPDK使用21.11 LTS版本

安装前准备

换源,下载源码等步骤略

为了安装,需要准备一些软件包,参见2. System Requirements — Data Plane Development Kit 22.07.0 documentation

APT安装

使用apt安装以下包:build-essential libnuma-dev libpcap-dev python3-pip python3-pyelftools

由于Ubuntu22.04安装了python3.10,不需要再安装python,安装pip3即可。

PIP安装

使用pip安装meson和ninja,注意同样需要使用sudo安装到系统usr目录下,如果安装到用户目录下后续ninja install时会出现问题。

网卡配置

在虚拟机设置界面添加一个新的网卡,配置为桥接模式,以待后续测试

大页内存设置

修改/etc/default/grub配置文件,在GRUB_CMDLINE_LINUX一行中加入

default_hugepagesz=1G hugepagesz=1G hugepages=4 iommu=pt intel_iommu=on

这里仅展示永久设置1G大页的方法,临时配置或其他大小见官方文档。注意不要设置大于物理内存的总大页空间,会导致虚拟机没办法启动。

保存后执行

update-grub

更新grub

在dev文件夹下创建挂载点

sudo mkdir -p /dev/hugepages

之后挂载大页内存

sudo mount -t hugetlbfs nodev /dev/hugepages

重启后查看cat /proc/meminfo中的hugepage检查是否成功。

安装DPDK

解压源码包,在解压的根目录执行meson build,如想编译examples可以添加选项-Dexamples=all,更多选项参见3. Compiling the DPDK Target from Source — Data Plane Development Kit 22.07.0 documentation

切换到build目录,执行

ninja
sudo ninja install
sudo ldconfig

 完成安装

网卡配置

使用到usertools/dpdk-devbind.py

在使用hyper-v之后就不能再使用虚拟机的Intel VT-x,因此vfio-pci不能使用,如果可以的话官方建议使用vfio-pci保证安全性,见6. Linux Drivers — Data Plane Development Kit 22.07.0 documentation

下面介绍使用igb_uio驱动的方式,DPDK20.x版本后不再提供igb_uio的源码,可以到此下载

dpdk-kmods - Kernel modules or add-ons 

解压后执行make编译即可,得到模块文件igb_uio.ko,执行

sudo modprobe uio
sudo insmod igb_uio.ko

安装两个模块,此时执行

usertools/dpdk-devbind.py --status

可以在两个网卡后面的unused后面看到igb_uio说明模块配置成功

之后执行

sudo usertools/dpdk-devbind.py --bind=igb_uio eth0

即可将eth0网卡的驱动配置为igb_uio。

测试

可以使用examples中的helloworld和app中的dpdk-testpmd进行测试,见官方文档。

或许会添加使用skeleton测试的细节。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号