歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> centos 7 搭建dpdk開發環境

centos 7 搭建dpdk開發環境

日期:2017/3/6 9:13:34   编辑:學習Linux

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/hugemount -t hugetblfs nodev /mnt/hugeecho 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 --statusTo bind eth1 from the current driver and move to use igb_uio        dpdk_nic_bind.py --bind=igb_uio eth1To unbind 0000:01:00.0 from using any driver        dpdk_nic_bind.py -u 0000:01:00.0To 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=

http://xxxxxx/Linuxjc/1156034.html TechArticle

Copyright © Linux教程網 All Rights Reserved