DPDK安装步骤-ubuntu-dpdk20.11

DPDK安装步骤-ubuntu-dpdk20.11

查看网卡是否支持多队列

cat /proc/interrupts | grep ${网卡名称}

安装依赖

sudo apt install build-essential -y
sudo apt install python3 -y
sudo apt install python3-pip -y
sudo pip3 install meson ninja
sudo apt install libnuma-dev -y
sudo apt install net-tools -y

配置巨页

2M巨页

修改内核参数
sudo vim /etc/default/grub

在GRUB_CMDLINE_LINUX参数后追加:
hugepages=1024
如果需要开启immon功能需要追加:
intel_iommu=on iommu=pt

1024表示有1024个巨页

重新生成引导配置
sudo grub-mkconfig -o /boot/grub/grub.cfg
重启并验证
sudo reboot
cat /proc/meminfo |grep -i HugePages
验证iommu是否成功:
dmesg | grep DMAR

1G巨页(2M与1G二选一)

修改内核参数
vim /etc/default/grub

在GRUB_CMDLINE_LINUX参数后追加:
default_hugepagesz=1G hugepagesz=1G hugepages=4 

如果需要开启intel_iommu功能需要追加:
intel_iommu=on iommu=pt

1G表示1G巨页大小

4 表示有4个巨页

挂载巨页(1G巨页)
挂载
sudo mkdir /mnt/huge
sudo mount -t hugetlbfs pagesize=1GB /mnt/huge
配置启动自动挂载
sudo vim /etc/fstab

追加自动挂载:
nodev /mnt/huge hugetlbfs pagesize=1GB 0 0
重新生成引导配置
sudo grub-mkconfig -o /boot/grub/grub.cfg
重启并验证
reboot
cat /proc/meminfo |grep -i HugePages

验证iommu是否成功:
dmesg | grep DMAR

编译源代码

编译

在dpdk源码根目录执行:
meson -Dbuildtype=debug -Dexamples=ALL -Denable_kmods=true ${构建之后的目标文件夹}

安装

在构建之后的目标文件中:
sudo ninja install
sudo ldconfig

挂载kni驱动

insmod <build_dir>/kernel/linux/kni/rte_kni.ko carrier=on

挂载网卡驱动

vfio-pci

停止网卡
sudo ifconfig ${网卡名称} down
加载网卡
sudo modprobe vfio-pci enable_sriov=1
绑定网卡
sudo ./usertools/dpdk-devbind.py -b vfio-pci ${网卡编号}

网卡编号查看:
./usertools/dpdk-devbind.py --status

加载IGB-UIO驱动

下载安装包
git clone https://github.com/atsgen/dpdk-kmod.git
安装并加载
cd dpdk-kmod/scripts
sudo sh install.sh 
sudo modprobe igb_uio
sudo modprobe uio
将指定的网卡挂载为igb_uio驱动
sudo ./usertools/dpdk-devbind.py -b igb_uio ${网卡编号}

网卡编号查看:
./usertools/dpdk-devbind.py --status

虚拟机注意

修改网卡

ethernet0.virtualDev = "vmxnet3"
ethernet0.wakeOnPcktRcv = "TRUE"
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

果丶果

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

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

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

打赏作者

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

抵扣说明:

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

余额充值