本文是原创,转载请注明.
作者: only火车头 Hello_NB1的博客
一. 下载 dpdk
# git clone git://dpdk.org/dpdk
二. 启用 pcap
# make config T=x86_64-native-linuxapp-gcc
# sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
三. 设置大页
# mkdir /mnt/huge
# mount -t hugetlbfs nodev /mnt/huge
# echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
四. 设置双网卡
1. 关闭虚拟机
2. 设置虚拟机(一般是菜单栏下方第二个图标)
3. Add Hardware --> Network --> (Host device: Virtual network 'default' : NAT; Device model: e1000) --> Apply --> 启动虚拟机
五. 加载 vfio_pci
# modprobe vfio_pci
六. 编译
# make
如果出现以下错误:error: implicit declaration of function ‘_mm_alignr_epi8’
error: incompatible type for argument 2 of ‘_mm_storeu_si128’
解决方法:
1. 关闭虚拟机
2. 设置虚拟机(一般是菜单栏下方第二个图标)
3. Processor --> Configuration --> Copy host CPU configuration --> Apply --> 启动虚拟机
如果没有解决, 很可能是主机 CPU 不支持 sse3 指令, 需要更换主机 CPU .
七. 测试
1. # ./build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 -- -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
# ./build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 -- -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
2. testpmd> show port stats all
testpmd> show port stats all
3.testpmd> start tx_first
testpmd> start tx_first
4.testpmd> stop
testpmd> stop
本篇至此结束, 谢谢大家!