加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

dpdk20.11在ubuntu20.04中新一代的安装

(2021-01-13 16:44:22)
分类: DPDK

新的安装方式貌似有点不一样了,改动挺大

 

前期准备

sudo apt-get install python3
sudo apt-get install python3-pip

sudo apt install pkg-config
sudo pip3 install meson
sudo pip3 install ninja

 

编译dpdk

cd dpdk-20.11
sudo meson -Dexamples=all build
cd build
sudo ninja install

 重新编译只要删除build文件夹,重复上面步骤就好了

新的dpdk没有igb_uio模块了,要自己下载

http://git.dpdk.org/dpdk-kmods/commit/linux/igb_uio

下载后虚拟机需要修改igb_uio.c

  • case RTE_INTR_MODE_LEGACY:  
  •     if (pci_intx_mask_supported(udev->pdev) || true 
  •         dev_dbg(&dev->dev, "using INTX");  
  •         udev->info.irq_flags IRQF_SHARED IRQF_NO_THREAD;  
  •         udev->info.irq dev->irq;  
  •         udev->mode RTE_INTR_MODE_LEGACY;  
  •         break;  
  •      
  •     dev_notice(&dev->dev, "PCI INTX mask not supported\  

 

编译以后就有了igb_uio模块了



vfio需要先编辑/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt intel_iommu=on"

grub-mkconfig -o /boot/grub/grub.cfg 或update-grub

重启

$ cat /proc/cmdline | grep iommu=pt

$ cat /proc/cmdline | grep intel_iommu=on

查看生效  虚拟机CPU那里的vt vx都勾上

 



编辑启动脚本:

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

install -d /mnt/huge
mount -t hugetlbfs nodev /mnt/huge 2>/dev/null
echo 0 > /proc/sys/kernel/randomize_va_space

下面这两个模块安装了少报错

modprobe 8021q

modprobe vxlan

//igb_uio

modprobe uio
insmod /root/dpdk-kmods-main/linux/igb_uio/igb_uio.ko

 //vfio

modprobe vfio-pci

/usr/bin/chmod a+x /dev/vfio

/usr/bin/chmod 0666 /dev/vfio/*


./dpdk-devbind.py --bind=igb_uio ens37   绑定网卡


新一代dpdk  默认安装到了/usr/local/lib/x86_64-linux-gnu/dpdk

make文件内置了动态库和静态库的编译选项,默认是动态库

所以会找不到网卡,动态库网卡so没有连接过来

习惯了全兼容的我  需要make static 来编译程序  这样才可以运行

不然dpdk rte_eth_dev_count_avail 总是为0




21.11版本里 需要安装  pyelftools

直接pip 可能找不到  到https://pypi.org/project/pyelftools/#files  下载whl文件

pip install pyelftools-0.27-py2.py3-none-any.whl  就可以了

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有