关闭

centos 7 搭建dpdk开发环境

标签: vmwareCentos搭建dpdkdpdk
1644人阅读 评论(0) 收藏 举报
分类:

环境: 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=/home/work/dpdk-stable-16.07.2
export RTE_TARGET=x86_64-native-linuxapp-gcc

参考资料:
http://sysight.com/index.php?qa=4&qa_1=dpdk%E5%9C%A8virtualbox%E4%B8%AD%E5%AE%89%E8%A3%85%E6%B5%8B%E8%AF%95

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:252905次
    • 积分:4302
    • 等级:
    • 排名:第7006名
    • 原创:145篇
    • 转载:49篇
    • 译文:3篇
    • 评论:147条
    博客专栏