centos 7 搭建dpdk开发环境,centosdpdk 绑定网卡的时候通过


环境: 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=

相关内容

    暂无相关文章