DPDK学习笔记样例学习

在上一个系列中已经介绍了DPDK的原理以及编译安装,这个部分开始进行DPDK样例程序的运行测试以及源代码分析。

编译样例前的设置

一旦创建了dpdk的目标环境目录(本系统为x86_64-native-linuxapp-gcc目录下)现在要做的就是设置软件编译需要设置的环境。

RTE_SDK:指向DPDK的安装目录

RTE_TARGET:指向DPDK的目标目标环境目录

进入样例程序:cd /home/DPDK/dpdk-stable-16.11.1/examples/helloworld

设置RTE_SDK:export RTE_SDK=/home/DPDK/dpdk-stable-16.11.1

设置RTE_TARGET: export RTE_TARGET=x86_64-native-linuxapp-gcc


编译和执行

编译程序:sudo make

(注意如果是一般用户使用sudo make会报错):Makefile:32: *** "Please define RTE_SDK environment variable"。 停止

原因在于使用export 一般用户使用export设置环境变量是可以看到设置的环境变量的,但是使用make需要使用root权限,这样的情况下在root下是看不到RTE_SDK这个变量的。所还是以前的观点使用root账户吧。

编译helloworld:make

执行程序: ./build/helloworld

DPDK学习笔记样例学习_第1张图片

执行结果报错,原因在于什么呢?

这就在于上篇文章中说的,没有设置大页。

补充:

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

mkdir /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

最后再一次执行: ./helloworld

DPDK学习笔记样例学习_第2张图片

现在可以执行了,后期所有的例子都可以按照这样的方式进行编译。后期博文开始对具体程序进行分析。



你可能感兴趣的:(DPDK专题)