ubuntu 18.04 虚拟机安装 dpdk 开发环境

时间:2024-04-04 16:28:58

配置虚拟机网卡,在虚拟机设置中添加 2 个网络适配器,并配置为桥接模式

ubuntu 18.04 虚拟机安装 dpdk 开发环境

在 DPDK 官网首页打开下载页面

ubuntu 18.04 虚拟机安装 dpdk 开发环境

选择长期支持版 19.11.3

ubuntu 18.04 虚拟机安装 dpdk 开发环境

下载后的 dpdk-19.11.3.tar.xz 文件导入虚拟机并解压至主目录,为方便使用,将文件夹改名为 dpdk

打开终端,转为 root 用户

sudo su

配置环境变量

export RTE_SDK=/home/bt/dpdk

export RTE_TARGET=x86_64-native-linuxapp-gcc

安装辅助软件

apt-get install numactl

apt-get install libnuma-dev

apt-get install net-tools

进入 dpdk 的 usertools 目录,运行 dpdk-setup.sh

./dpdk-setup.sh

根据提示选择 Option: 38 编译 dpdk 源码

ubuntu 18.04 虚拟机安装 dpdk 开发环境

等待一段时间编译完成后,选择 Option: 45 插入 igb_uio 驱动模块

ubuntu 18.04 虚拟机安装 dpdk 开发环境

选择 Option: 48 non-NUMA 大页内存配置

虚拟机只有 1 个 socket,只能使用 non-NUMA

ubuntu 18.04 虚拟机安装 dpdk 开发环境

按需选择大页内存的页数,目前选择输入默认的 64

每个内存大页 2MB,64 页共 128MB

选择 Option: 50,查看当前网卡状态

ubuntu 18.04 虚拟机安装 dpdk 开发环境

3 个网卡全部为 active

选择 Option: 62,退出脚本

ubuntu 18.04 虚拟机安装 dpdk 开发环境

关闭之前新添加的 2 块网卡

ifconfig ens38 down

ifconfig ens39 down

完成后重新打开 dpdk-setup.sh

选择 Option: 51,绑定网卡

ubuntu 18.04 虚拟机安装 dpdk 开发环境

按提示输入网卡 ens38 和 ens39 的编号

Enter PCI address of device to bind to IGB UIO driver: 02:06.0

Enter PCI address of device to bind to IGB UIO driver: 02:07.0

选择 Option: 50,查看当前网卡状态

ubuntu 18.04 虚拟机安装 dpdk 开发环境

02:06.0 和 02:07.0 绑定为 DPDK-compatible

打开新的终端进入 dpdk 目录下 examples/helloworld 文件夹

配置环境变量

export RTE_SDK=/home/bt/dpdk

export RTE_TARGET=x86_64-native-linuxapp-gcc

编译示例工程

make

运行

注意必须用 sudo,因为 dpdk 的功能必须使用 root 权限

sudo ./build/helloworld

ubuntu 18.04 虚拟机安装 dpdk 开发环境