dpdk在intel的cpu上一直没遇到什么问题,最近公司使用海光服务器,cpu是AMD的,启动dpdk后却发现数据包全部被网卡丢弃了。找了支持人员确认,是要开启iommu。具体方法如下:
在/etc/default/grub文件的“GRUB_CMDLINE_LINUX=”这一行中添加“amd_iommu=on iommu=pt”
GRUB_CMDLINE_LINUX="crashkernel=auto amd_iommu=on iommu=pt rhgb quiet"
然后重新生成grub文件
grub2-mkconfig -o /boot/grub2/grub.cfg
再次启动程序,就能正常通过dpdk收包了。