DPDK 虚拟机下小试牛刀

本文是原创,转载请注明.

作者: 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

2.

testpmd> show port stats all

3.

testpmd> start tx_first

4.

testpmd> stop


本篇至此结束, 谢谢大家!

你可能感兴趣的:(DPDK)