DPDK安装过程
DPDK安装
DPDK (数据平面开发套件, Data Plane Development Kit)在ubuntu环境下的安装过程。
安装环境
VirtualBox虚拟机中安装DPDK19.11,之前曾装双系统,但只有一个网卡可以连接网络,DPDK绑定网卡后会接管网卡接到的所有数据帧,遂放弃真机,选择虚拟机进行环境配置。
在VirtualBox中设置两个NAT网卡,
- 操作系统:Ubuntu 18.04.3 LTS 64位
- 网卡型号:Intel Pro/1000 MT 桌面(82540EM) * 2
安装前准备(下载、解压、安装依赖包)
浏览 Home-DPDK官网 ,下载 DPDK 19.11.0 (LTS)压缩包,放到/home/user/目录下。根据Documentation里的Quick Start Guide,在Terminal里敲击以下命令:
- 解压源压缩包
tar xf dpdk.tar.gz
cd dpdk
- libpcap依赖安装
sudo apt-get install libpcap-dev
- Enable pcap (libpcap headers are required).
make config T=x86_64-native-linuxapp-gcc
sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
- 安装numa依赖(numa.h库)
apt-get install libnuma-dev
- 编译
make
利用usertools/dpdk-setup.sh
配置环境
- 利用官方已经写好的bash脚本,跳出选项界面
cd usertools
./dpdk-setup.sh
- 选择自己对应的DPDK环境。(我选择的是 [38] x86_64-native-linuxapp-gcc )
------------------------------------------------------------------------------
----------------------------------------------------------
Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] arm64-armada-linuxapp-gcc
[2] arm64-armada-linux-gcc
[3] arm64-armv8a-linuxapp-clang
[4] arm64-armv8a-linuxapp-gcc
[5] arm64-armv8a-linux-clang
[6] arm64-armv8a-linux-gcc
[7] arm64-bluefield-linuxapp-gcc
[8] arm64-bluefield-linux-gcc
[9] arm64-dpaa-linuxapp-gcc
[10] arm64-dpaa-linux-gcc
[11] arm64-emag-linuxapp-gcc
[12] arm64-emag-linux-gcc
[13] arm64-n1sdp-linuxapp-gcc
[14] arm64-n1sdp-linux-gcc
[15] arm64-octeontx2-linuxapp-gcc
[16] arm64-octeontx2-linux-gcc
[17] arm64-stingray-linuxapp-gcc
[18] arm64-stingray-linux-gcc
[19] arm64-thunderx2-linuxapp-gcc
[20] arm64-thunderx2-linux-gcc
[21] arm64-thunderx-linuxapp-gcc
[22] arm64-thunderx-linux-gcc
[23] arm64-xgene1-linuxapp-gcc
[24] arm64-xgene1-linux-gcc
[25] arm-armv7a-linuxapp-gcc
[26] arm-armv7a-linux-gcc
[27] i686-native-linuxapp-gcc
[28] i686-native-linuxapp-icc
[29] i686-native-linux-gcc
[30] i686-native-linux-icc
[31] ppc_64-power8-linuxapp-gcc
[32] ppc_64-power8-linux-gcc
[33] x86_64-native-bsdapp-clang
[34] x86_64-native-bsdapp-gcc
[35] x86_64-native-freebsd-clang
[36] x86_64-native-freebsd-gcc
[37