centos 7 搭建dpdk开发环境

前端之家收集整理的这篇文章主要介绍了centos 7 搭建dpdk开发环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境: Centos 7,dpdk 16.04
虚拟机软件:VMWare WorkStation 10.0.1 build-1379776
cpu: 4个cpu, 每个cpu1个核心
内存:2GB
网卡:intel网卡*2, 用于dpdk试验;另一块网卡用于和宿主系统进行通信(这点需要特别注意)

1.编译dpdk

cd dpdk16.04
make config T=x86_64-native-linuxapp-gcc
make
这种方法编译后,会生成一个build目录,


各个文件夹:
app:测试程序,如test和testpmd
lib:库文件
include:头文件
kmod:编译好的模块,我的编译后有igb_uio.ko和rte_kni.ko.

2、加载系统的UIO驱动以及新生成的dpdk的igb_uio驱动

modprobe uio
insmod build/kmod/igb_uio.ko

3、分配大页内存

mkdir -p /mnt/huge

mount -t hugetblfs nodev /mnt/huge

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

4、解除要使用的网卡的驱动绑定

由于系统启动时会自动加载网卡使用的驱动,所以要先解除指定网口对驱动的绑定。
绑定网卡的时候

通过./tools/dpdk_nic_bind.py –usage可以查看该脚本的使用方法
主要用法如下:

To display current device status:
        dpdk_nic_bind.py --status

To bind eth1 from the current driver and move to use igb_uio
        dpdk_nic_bind.py --bind=igb_uio eth1

To unbind 0000:01:00.0 from using any driver
        dpdk_nic_bind.py -u 0000:01:00.0

To bind 0000:02:00.0 and 0000:02:00.1 to the ixgbe kernel driver
        dpdk_nic_bind.py -b ixgbe 02:00.0 02:00.1

5、绑定网卡到指定的驱动

可以不经过第5步直接用新驱动替换当前驱动:

./tools/dpdk_nic_bind.py -b igb_uio eth1

也可以经过第5步后,直接绑定新驱动,可以直接设置多个网卡绑定:

./tools/dpdk_nic_bind.py -b igb_uio 0000:00:08.0 0000:00:09.0
其中0000:00:08.0 和 0000:00:09.0是mac地址

=====================================================

一个好消息是dpdk中集成了一个脚本/tools/setup.sh
其中包含了编译dpdk源代码,设置环境变量比如hugepages,加载内核模块等等

运行setup.h之前需要设置下环境变量 export RTE_SDK=

猜你在找的CentOS相关文章