下载源码
http://core.dpdk.org/download/
编译
http://core.dpdk.org/doc/quick-start/
安装python3
安装ninja
yum install ninja-build
安装meson
pip3 install meson
开始编译
tar xf dpdk.tar.gz
cd dpdk
meson build
ninja -C build
确定配置好大页内存
mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
运行测试程序
iface
需要对应机器上支持的网卡名称
build/app/dpdk-testpmd -c7 --vdev=net_pcap0,iface=eth0 --vdev=net_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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
遇到的错误
ERROR: Problem encountered: missing python module: elftools
pip3 install pyelftools
error while loading shared libraries: libatomic.so.1: cannot open shared object file
yum install libatomic
DPDK is running on a NUMA system, but is compiled without NUMA support.
这个不算问题,如果需要dpdk自己支持NUMA,需要在编译前安装对应的开发库
dnf install numactl-devel
https://forum.openeuler.org/t/topic/670
标签:TX,--,packets,RX,编译,开发,total,dpdk From: https://www.cnblogs.com/studywithallofyou/p/17630456.html