centos 7 搭建dpdk開發環境

來源:互聯網
上載者:User

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=

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.