快速开始 使用libpcap来测试,所有网卡兼容,但是性能不是那么好咯。
http://www.dpdk.org/doc/quick-start
1.解压源代码
tar xf dpdk.tar.gzcd dpdk
2.允许pcap 在编译前记得安装libpcap(fedora 安装: dnf install libpcap-devel)
make config T=x86_64-native-linuxapp-gccsed -ri 's,(PMD_PCAP=).*,\1y,' build/.config(这句含义就是把build/.config文件中的修改为PMD_PCAP=y)
3.编译lib和可执行文件(编译前记得安装kernel-header 可以执行 dnf install kernel-devel)
执行命令:
make
4.分配大页内存
mkdir -p /mnt/hugemount -t hugetlbfs nodev /mnt/hugeecho 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
官方说的64 实际上用64会出各种问题(所以使用echo 256比较科学)
5.使用PMD来运行测试的例子(两个网卡)
运行命令:
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
运行完成就得到如下结果
testpmd> show port stats all ######################## NIC statistics for port 0 ######################## RX-packets: 0 RX-errors: 0 RX-bytes: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 ############################################################################ ######################## NIC statistics for port 1 ######################## RX-packets: 0 RX-errors: 0 RX-bytes: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 ############################################################################ testpmd> start tx_first testpmd> stop ---------------------- Forward statistics for port 0 ---------------------- RX-packets: 2377688 RX-dropped: 0 RX-total: 2377688 TX-packets: 2007009 TX-dropped: 0 TX-total: 2007009 ---------------------------------------------------------------------------- ---------------------- Forward statistics for port 1 ---------------------- RX-packets: 2006977 RX-dropped: 0 RX-total: 2006977 TX-packets: 2377720 TX-dropped: 0 TX-total: 2377720 ---------------------------------------------------------------------------- +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++ RX-packets: 4384665 RX-dropped: 0 RX-total: 4384665 TX-packets: 4384729 TX-dropped: 0 TX-total: 4384729 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++