Ubuntu系统下DPDK环境搭建

2024-03-01 23:28
文章标签 系统 ubuntu 搭建 环境 dpdk

本文主要是介绍Ubuntu系统下DPDK环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一.虚拟机配置
    • 1.添加一个网卡(桥接模式)
    • 2.修改网卡类型
    • 3.修改网卡名称
    • 4.重启虚拟机
    • 5.查看网卡信息
    • 6.dpdk配置内存巨型页
  • 三 DPDK源代码下载和编译
    • 1.下载源代码
    • 2.解压源代码
    • 3.安装编译环境
    • 4.编译
    • 5.设置dpdk的环境变量
    • 6.禁止多队列网卡
    • 7.加载igb_uio模块
    • 8.网卡绑定
    • 9.验证测试案例
    • 10.运行第一个DPDK程序

一.虚拟机配置

1.添加一个网卡(桥接模式)

在这里插入图片描述

2.修改网卡类型

在虚拟机本地文件存储路径下,打开文件名后缀为 .vmx 的文件,修改以下参数:

ethernet1.virtualDev = "e1000"

修改为:

ethernet1.virtualDev = "vmxnet3"

注意:修改时须在虚拟机关机状态下修改

3.修改网卡名称

通过命令sudo vim /etc/netplan/00-installer-config.yaml可以看到如下:
在这里插入图片描述
将其修改为:
在这里插入图片描述
其次,通过命令sudo vim /etc/default/grub 将参数GRUB_CMDLINE_LINUX="" 修改为:GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US net.ifnames=0 biosdevname=0"

再执行命令sudo grub-mkconfig -o /boot/grub/grub.cfg

4.重启虚拟机

5.查看网卡信息

ifconfig

在这里插入图片描述
查看是否有多队列网卡:cat /proc/interrupts | grep eth
在这里插入图片描述
通过图片展示信息可以看到此时为一个普通网卡eth1和一个多队列网卡eth0

6.dpdk配置内存巨型页

Ubuntu20.04支持内存巨型页,但是还是要我们修改启动参数,设置巨型页大小和数量,设置方法是修改linux启动参数,我们需要修改**/etc/default/grub文件的GRUB_CMDLINE_LINUX参数,添加default_hugepages=1G hugepagesz=2M hugepages=1024**
sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US net.ifnames=0 biosdevname=0 default_hugepages=1G hugepagesz=2M hugepages=1024"

再执行命令:sudo grub-mkconfig -o /boot/grub/grub.cfg

三 DPDK源代码下载和编译

1.下载源代码

官方地址:Download
由于DPDK各版本之间差异较大,编译过程以实际情况为准,此处演示版本为 DPDK 19.08.2
在这里插入图片描述

2.解压源代码

将下载的DPDK压缩包放置到合适的目录中,此处我的路径为:/home/zloser/share/ 通过命令:tar -xJf dpdk-19.08.2.tar.xz 解压后得到/home/zloser/share/dpdk-stable-19.08.2的源代码dpdk-stable-19.08.2

3.安装编译环境

sudo apt-get install libnuma-dev

4.编译

注意:编译需要在root权限下

cd dpdk-stable-19.08.2/

执行脚本命令:./usertools/dpdk-setup.sh
在这里插入图片描述
选择:39 回车

Option:39

在这里插入图片描述
编译成功后输入:60 退出,在该目录下会存在一个新的文件夹:x86_64-native-linux-gcc
在这里插入图片描述

5.设置dpdk的环境变量

执行命令:
export RTE_SDK=/home/zloser/share/dpdk-stable-19.08.2(修改为自己的路径)
export RTE_TARGET=x86_64-native-linux-gcc
在这里插入图片描述

6.禁止多队列网卡

通过上述操作可以知道多队列网卡为:eth0
通过命令使其禁止:sudo ifconfig eth0 down
在这里插入图片描述

7.加载igb_uio模块

执行脚本命令:./usertools/dpdk-setup.sh
Option:43
在这里插入图片描述

8.网卡绑定

igb_uio模块加载成功后,我们选择49绑定igb_uio模块到eth0,输入PCI地址:0000:03:00:0,将网卡绑定到igb_uio模块.
Option:49
在这里插入图片描述
绑定成功后如下图所示,否则绑定失败,需重新绑定.
在这里插入图片描述

9.验证测试案例

Option:53
根据自己虚拟机的核心数选择bitmask值,否则测试出错.
bitmask:7(此处虚拟机核心数为8)
在这里插入图片描述
在这里插入图片描述

输入指令 show port info 0 查看接口信息
在这里插入图片描述
输入:quit退出

10.运行第一个DPDK程序

dpdk的源代码中有很多例子程序,都放在example目录中,其中有个最简单的程序helloworld,进入example/helloworld中,直接make,可以编译出helloworld程序。最后我们使用root权限执行
make
sudo ./build/helloworld
在这里插入图片描述
环境配置成功!!!

这篇关于Ubuntu系统下DPDK环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/764183

相关文章

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总