DPDK编译指南

1、编译环境

1.1 基本要求

     dpdk开发手册中列出了编译dpdk需要的工具和资源:
        -  GNU make
        -  cmp,sed,grep,arch
        -  gcc,版本推荐4.5.x或以上,对于不同版本的gcc要注意编译选项对性能的影响
        -  libc头文件,glibc的版本要求2.7或以上
        -  linux内核头文件和源码,内核版本要求2.6.33或以上
        -  python,版本要求2.6或以上

1.2 实际编译环境

     OS:ubuntu 18.04.1,64bits
     Kernel:linux-5.0.0
     GCC:7.5.0
     Glibc:2.27
     DPDK:19.11
     Python:2.7.17

2、编译方法

2.1 编译服务器搭建

    编译服务器安装ubuntu 18.04.1,安装其他相关的工具。下载内核源码并编译内核源码,
    指定内核源码输出路径。关于内核源码的编译可参考我的关于内核源码树构建的博文

内核源码树的构建

2.2 解压DPDK源码包

   下载DPDK源码包dpdk-19.11.tar.xz到用户路径,并解压,解压命令如下:
   tar xvJf  dpdk-19.11.tar.xz

2.3 编译DPDK的SDK环境

1) 声明环境变量"RTE_KERNELDIR",指定内核的编译路径(绝对路径)

[xxx@xxx-O-E-M-FILLED:~]$ export RTE_KERNELDIR=/lib/modules/5.0.0-23-generic           
若不指定,默认值在dpdk-19.11/mk/rte.vars.mk文件中定义
RTE_KERNELDIR ?= /lib/modules/$(shell uname -r)/build

2)配置DPDK 的SDK 环境

[xxx@xxx-O-E-M-FILLED:~]$ cd dpdk-19.11
[xxx@xxx-O-E-M-FILLED:~dpdk-19.11]$  make config T=x86_64-native-linux-gcc O=build
"T="指定了配置模板"RTE_CONFIG_TEMPLATE","O="可指定输出目录,若不指定,
默认为./build目录

3)编译DPDK SDK

[xxx@xxx-O-E-M-FILLED:~dpdk-19.11]$  make O=build
make命令执行后,将会在指定的输出目录生存SDK自带的测试程序、库文件及内核模块。

4)清除DPDK SDK

[xxx@xxx-O-E-M-FILLED:~dpdk-19.11]$  make clean O=build,"O="为make config命令
指定的"RTE_OUTPUT"输出目录,若make config时未指定,这里也不指定。

2.4 编译应用程序

1)应用程序源码结构

 应用程序源码可以放在人与目录下(以myApp目录为例),参考DPDK 例子helloworld写
 对应的Makefile
 	......
 	#binary name
 	APP=myApp         #生成的应用程序名称
 	#all source are stored in SRCS-y
 	SRCS-y :=main.c      #这里增加需要的源码
 	CFLAGS += -O2 -g     #可以调整优化选项-O2,增加对gdb调试的支持
 	CFLAGS += $(WERROR_FLAGS)
 	include $(RTE_SDK)/mk/rte_extapp.mk

2)声明环境变量"RTE_SDK",指明DPDK SDK源码路径(绝对路径)

[xxx@xxx-O-E-M-FILLED:~]$ export RTE_SDK=/home/xxx/dpdk-19.11/

3)声明环境变量"RTE_TARGET",指明"SDK目标"与"RTE_SDK"的相对路径

[xxx@xxx-O-E-M-FILLED:~]$ export RTE_TARGET=./build

4)编译myApp程序

[xxx@xxx-O-E-M-FILLED:~myApp]$  make  O=../myApp/,"O="可指定输出目录,若不指定,
默认为./build目录。

5)清除myApp目标文件

[xxx@xxx-O-E-M-FILLED:~myApp]$  make  O=../myApp/
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值