searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

DPDK在Centos7上的编译、安装、运行测试用例

2023-11-28 01:20:49
447
0

一、虚拟机设置多队列网卡

找到虚拟机所在文件夹目录,找到虚拟机的vmx文件,将网卡类型:ethernet序号.virtualDev = "e1000" 

改为ethernet序号.virtualDev = "vmxnet3" 。

二、检查系统环境是否满足要求

检查内核版本需大于2.6.33,检查glibc的版本需大于2.7

三、开始编译dpdk

1、官网下载dpdk源码

2、安装meson 和 ninja工具

pip3 install meson ninja

3、编译测试

tar -xvf dpdk-20.11.1.tar.xz

cd dpdk-stable-20.11.1/

meson -Dexampls=all build

cd build

ninja install

四、配置大页内存

1、安装libhugetlbfs库

yum install libhugetlbfs

2、设置大页内存

vim /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1024 "
 
大页内存每页大小为2M,一共设置1024页面,即2GB
 
3、重新生成 grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
 
4、验证大页内存
cat /proc/meminfo |grep -i HugePages

五、加载驱动

5.1、获取网卡名称: ifconfig
5.2、挂载驱动:

igb_uio驱动和vfio-pci驱动使用一个即可,推荐使用vfio-pci。

1、首先查看是否已经挂载vfio-pci驱动:lsmod | grep vfio

若无显示,则没有挂载,需要挂载驱动

2、修改grub配置,开启vfio支持:

  • vim /etc/default/grub
  • 在GRUB_CMDLINE_LINUX行最后添加:iommu=pt intel_iommu=on
  • grub2-mkconfig -o /boot/grub2/grub.cfg #更新配置
  • reboot #重启虚拟机

3、验证配置是否修改成功:#若有指令,则修改成功

cat /proc/cmdline | grep intel_iommu=on

cat /proc/cmdline | grep iommu=pt

4、加载网卡驱动

modprobe vfio

modprobe vfio-pci

5、查看驱动是否加载成功:

lsmod | grep vfio

lsmod | grep vfio_pci

5.3、关闭网卡:

sudo ifconfig ens192 down

5.4、绑定网卡:

将刚刚关闭的网卡绑定到vifo-pci驱动上

python3 usertools/dpdk-devbind.py --bind=vfio-pci ens192

5.5、查看网卡状态:

cd usertools

./dpdk-devbind.py -s

六、运行测试用例

sudo build/examples/dpdk-helloworld -l 1-3 -n 3

# 输出如下
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL:   using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(3)
EAL: Probe PCI driver: net_vmxnet3 (15ad:7b0) device: 0000:0b:00.0 (socket 0)
EAL: No legacy callbacks, legacy socket not created
hello from core 2
hello from core 3
hello from core 1

0条评论
作者已关闭评论
c****j
1文章数
0粉丝数
c****j
1 文章 | 0 粉丝
c****j
1文章数
0粉丝数
c****j
1 文章 | 0 粉丝
原创

DPDK在Centos7上的编译、安装、运行测试用例

2023-11-28 01:20:49
447
0

一、虚拟机设置多队列网卡

找到虚拟机所在文件夹目录,找到虚拟机的vmx文件,将网卡类型:ethernet序号.virtualDev = "e1000" 

改为ethernet序号.virtualDev = "vmxnet3" 。

二、检查系统环境是否满足要求

检查内核版本需大于2.6.33,检查glibc的版本需大于2.7

三、开始编译dpdk

1、官网下载dpdk源码

2、安装meson 和 ninja工具

pip3 install meson ninja

3、编译测试

tar -xvf dpdk-20.11.1.tar.xz

cd dpdk-stable-20.11.1/

meson -Dexampls=all build

cd build

ninja install

四、配置大页内存

1、安装libhugetlbfs库

yum install libhugetlbfs

2、设置大页内存

vim /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1024 "
 
大页内存每页大小为2M,一共设置1024页面,即2GB
 
3、重新生成 grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
 
4、验证大页内存
cat /proc/meminfo |grep -i HugePages

五、加载驱动

5.1、获取网卡名称: ifconfig
5.2、挂载驱动:

igb_uio驱动和vfio-pci驱动使用一个即可,推荐使用vfio-pci。

1、首先查看是否已经挂载vfio-pci驱动:lsmod | grep vfio

若无显示,则没有挂载,需要挂载驱动

2、修改grub配置,开启vfio支持:

  • vim /etc/default/grub
  • 在GRUB_CMDLINE_LINUX行最后添加:iommu=pt intel_iommu=on
  • grub2-mkconfig -o /boot/grub2/grub.cfg #更新配置
  • reboot #重启虚拟机

3、验证配置是否修改成功:#若有指令,则修改成功

cat /proc/cmdline | grep intel_iommu=on

cat /proc/cmdline | grep iommu=pt

4、加载网卡驱动

modprobe vfio

modprobe vfio-pci

5、查看驱动是否加载成功:

lsmod | grep vfio

lsmod | grep vfio_pci

5.3、关闭网卡:

sudo ifconfig ens192 down

5.4、绑定网卡:

将刚刚关闭的网卡绑定到vifo-pci驱动上

python3 usertools/dpdk-devbind.py --bind=vfio-pci ens192

5.5、查看网卡状态:

cd usertools

./dpdk-devbind.py -s

六、运行测试用例

sudo build/examples/dpdk-helloworld -l 1-3 -n 3

# 输出如下
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL:   using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(3)
EAL: Probe PCI driver: net_vmxnet3 (15ad:7b0) device: 0000:0b:00.0 (socket 0)
EAL: No legacy callbacks, legacy socket not created
hello from core 2
hello from core 3
hello from core 1

文章来自个人专栏
dpvs学习
1 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0