DPDK19.11下载及安装

目录

DPDK下载地址

解压及配置

安装

官网安装配置地址

源码目录结构

准备阶段

需要安装的工具:

需要安装的库:

执行安装脚本

    1. 选择要构建的DPDK环境

    2. 添加对应的模块 、vfio、kni

    3. 给系统设置大页内存

    4. 绑定要使用或测试的网卡

使用-testpmd

1. 可以直接在dpdk-setup.sh 脚本中执行

2. 使用命令执行

3. testpmd命令行的基本使用

附加


DPDK下载地址

dpdk官网地址:

Home - DPDKhttps://www.dpdk.org/DPDK下载地址:

DPDKhttp://core.dpdk.org/download/附加:

        由于版本更新,如果是第一次使用建议使用DPDK19.11版本,19.11版本及之前版本在 usertools 目录下有 dpdk-setup.sh 脚本,这个脚本可以快速简洁的配置方式,更适合新手使用<就像我这样的>

        DPDK19.11 及之前版本的编译方式及编译工具为GCC Make 

        DPDK19.11 之后版本 编译工具为 meson ninja

        #故使用这个之前需要安装对应的编译工具

        #sudo apt install make

        #sudo apt install gcc

        # 当前下载版本为 dpdk-19.11.11 ,下载完的文件名 dpdk-19.11.11.tar.xz

解压及配置

解压命令 <万能解压 tar -xvf *>:

        tar -xvf dpdk-19.11.11.tar.xz

安装:

        由于19.11版本更新<18.11也不用了>,执行 dpdk-setup.sh 脚本时,也不需要提前配置环境变量,也不用加sudo          #就是下面这个

{     

        export RTE_SDK=`pwd`        #pwd替换成当前路径

        export RTE_TARGET=x86_64-native-linuxapp-gcc

}

安装

官网安装配置地址

官网所有版本的配置方式地址

DPDKhttp://core.dpdk.org/doc/archives/DPDK19.11官网配置地址

DPDK documentation — Data Plane Development Kit 19.11.12-rc1 documentation

可以整页翻译一下

Google浏览器 页面翻译成中文http://t.csdn.cn/YMqy9 #<上面这个是谷歌浏览器整页翻译的设置方式 的文章>

源码目录结构

我们主要用 usertools 目录中的文件 

cpu_layout.py         #CPU信息
dpdk-devbind.py        #DPDK的网卡信息及绑定解绑
dpdk-pmdinfo.py        
dpdk-setup.sh        #我们主要用这个
dpdk-telemetry-client.py
meson.build

准备阶段

需要安装的工具:

sudo apt install make

sudo apt install gcc

sudo apt install python

需要安装的库:

numa 库

sudo apt-get install libnuma-dev

执行安装脚本

./dpdk-setup.sh    #编译执行主要分为5步

1. 选择要构建的DPDK环境

由于在Ubuntu虚拟机中使用

故构建方式选择 [41] x86_64-native-linuxapp-gcc

注意:第一次构建时间有点长

附加:<构建命令解析>

###

###
###
###

2. 添加对应的模块 <igb_uio、vfio、kni>

附加:
        VFIO是当前最安全的转发方式,可以添加IOMMU功能
        IGB_UIO模式是候补模式,都安装不上的时候的备选
        KNI模式是Linux系统内核自带的方式

# 咱们选IGB_UIO模式

 # OK

3. 给系统设置大页内存

根据不同的系统来设置不同的大页

两个重点

1. NUMA (Non Uniform Memory Access):翻译过来就是 非统一内存访问,这是针对多核CPU设置的,可以提高CPU对内存访问,内存的分配更合理,这个需要看CPU是否支持(现在的CPU一般都是支持的,所以一般都是 [52]

2. 大页大小(Huge Page):Linux系统默认的内存页面大小是4KB,但是对于大量的数据存储,需要建立多个页,页面间的跳转 会消耗CPU的性能,设置大页,可以减少页面之间的跳转,提高访问速度,这个大小一般都是根据使用情况而定,根据当前的队列的大小,主机内存的大小,合理的分配(至少让一个队列有8,9个大页啊,这里咱们设置成256(计算方式 256 * 2M 也就是 512M的大页),毕竟是为了玩一下,不需要那么严谨,哈哈) 

  # OK

4. 绑定要使用或测试的网卡

【53】 是显示当前的网络配置信息,就是有几个网卡,每个网卡当前绑定的是哪个模块

# 忘了添加网卡,这个是管理网口 不能down啊,down了就不能ssh连接了 

  虚拟机添加网卡

# 上面这个是VMware虚拟机添加网卡的教程链接

  # OK 多了两个

如果是挂在的IGB_UIO模块,就使用【54】来绑定网卡

如果是 VFIO模块,使用【55】来绑定网卡

 # 这个不需要输入前面的 0000: 也可以

绑定完结果如下

 # Using DPDK-compatible driver

使用-testpmd

两种执行方式

1. 可以直接在dpdk-setup.sh 脚本中执行

输入【58】 然后设置运行核数就行了(十六进制表示的0xff 这就是8核) 

# OK 可以运行 

2. 使用命令执行

sudo ./testpmd -c 0xf -- -i

# 上面是最基础的运行模式 (还可以添加 --rxq --txq --nb-cores 等等,可多了)

# 可执行文件所在目录为 dpdk/dpdk-stable-19.11.11/x86_64-native-linuxapp-gcc/app

# 这个就是四核启动,这个的确保Ubuntu(当前运行的系统)里有4核的CPU 

# -c 0x 就是16进制,0xf --二进制就是--> 0b1111,4个核,也可以 0x3 表示使用2个核

# -i 就是进入 交互模式 (可以输入命令那种)

# 需要 sudo 权限

 # OK 可以执行

3. testpmd命令行的基本使用

testpmd> start                # 这个就是开始转发

testpmd> stop                # 这个是停止转发,结束时会显示转发的汇总(收、发、drop)

testpmd> quit                 # 这个是退出testpmd示例

testpmd> show config fwd                 # 这个是显示当前的配置(端口、核心、流)

testpmd> show port stats all                 # 这个是展示所有端口的收发包信息

附加

可以多看看官网的文档,确实挺好玩 

而且讲的也挺好,不过有些东西还是需要百度一下(必应广告比较少)

### 编译DPDK源码于Debian 对于在Debian上编译DPDK源码的过程,操作涉及准备环境、配置以及实际构建几个方面。确保已安装必要的工具和库文件来支持这一过程[^1]。 #### 安装依赖包 为了成功编译DPDK,在开始之前需确认系统已经安装了必需的软件包: ```bash sudo apt-get update sudo apt-get install build-essential libnuma-dev ``` 这些命令会更新本地APT缓存并安装用于编译C程序的基础工具链以及NUMA开发库,后者是DPDK所依赖的一项重要组件。 #### 获取DPDK源代码 通过下载官方发布的压缩包获取最新版本的DPDK源代码,并将其解压到合适的位置: ```bash tar xJf dpdk-version.tar.xz cd dpdk-version ``` 此步骤创建了一个名为`dpdk-version`的新目录,其中包含了完整的DPDK项目结构及其所有子模块。 #### 配置与编译 进入上述新建立的工作区之后,可以利用Meson/Ninja组合来进行更灵活高效的构建流程设置;首先初始化一个新的构建环境: ```bash meson setup builddir --prefix=/usr/local ninja -C builddir ``` 这里指定了目标路径为`/usr/local`,可以根据个人需求调整该参数值。完成以上指令执行后即完成了整个项目的编译工作。 #### 安装 最后一步则是正式将生成的目标文件复制至指定位置以便后续调用: ```bash sudo ninja -C builddir install ``` 这不仅把共享库放置到了系统的标准搜索路径下,同时也处理了一些辅助性的资源文件部署任务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值