DPDK学习笔记

DPDK 24.03

一.编译运行

1.环境和依赖

1.1.安装系统Ubuntu24.04
1.2.配置ubuntu源

*镜像地址阿里云Ubuntu镜像:https://developer.aliyun.com/mirror/ubuntu

*修改文件 vim /etc/apt/sources.list

1.3.下载dpdk编译需要的依赖
  • gcc 5.0+ (我用的4.8.5也没啥问题)

yum install gcc

  • python 3.6+ (linux高版本默认已安装)

pat install python3

  • ninja 通过pip下载 (root用户安装可能有警告,先看错误指南)

pip3 install meson ninja

  • pyelftools 0.22+ 也通过pip下载

pip3 install pyelftools

  • 安装numa

apt install libnuma-dev

  • 安装pkg-config(运行测试程序时需要)

apt-get install pkg-config

2.编译

  • 下载自己想要的版本 这里是22.07

wget https://fast.dpdk.org/rel/dpdk-22.07.tar.xz

  • 解压

tar xf dpdk-22.07.tar.xz

cd dpdk-22.07

  • 编译

meson setup build

cd build

ninja

meson install  //或者 ninja install

ldconfig

3.绑定网卡igb_uio 驱动

3.1.下载/编译驱动(外部添加所以放在哪个目录都行)

git clone http://dpdk.org/git/dpdk-kmods

cd dpdk-kmods/linux/igb_uio

make

3.2.加载 igb_uio 驱动
cd dpdk-kmods/linux/igb_uio
modprobe uio
insmod igb_uio.ko  intr_mode=legacy

注意: 加载驱动时要带着参数intr_mode=legacy,如果不加参数,将会有问题!

3.3. 分配一些大页内存【这里是1G】:(不配置运行测试程序报错)
  • 方式一:
         echo 512 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
  • 方式二:

cat /proc/meminfo |grep Hu

查看目前hugepage配置。我这里已经配置好了,显示HugePage512个,如果没有配置好显示的是0个。

cat /proc/meminfo | grep HugePages

  • 修改文件

sudo echo  10 > /proc/sys/vm/nr_hugepages

3.4.dpdk绑定网卡

   进入dpdk-24.03/usertools/目录,执行脚本查看网卡绑定状态。确认网卡不是active状态。同时找到网卡的pci号。

./dpdk-devbind.py --status

绑定两个网卡【虚拟机最好有 个网卡,留一个连网用】:

ifconfig ens34 down //先关闭网卡
ifconfig (ens35要关闭网卡名) down
dpdk-devbind.py -b igb_uio 0b:00.0

 二.深入使用

三.安装时错误指南

3.1. pip3安装解决报错:WARNING: Running pip as the ‘root‘ user can result in broken permissions and conflicting

说明:

问题:root用户使用pip3安装时会警告,可能会导致权限损坏和冲突

解决方式:我们需要创造一个虚拟的环境区执行它

  • 先安装  apt install python3.12-venv
  • python3 -m venv tutorial-env  //创建一个虚拟环境
  • source tutorial-env/bin/activate //然后执行这行命令,然后就ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值