天天看點

DPDK環境搭建及Helloworld樣例

配置虛拟機環境

  • 多張網卡,一張網卡是無法運作DPDK的,至少要兩張。
  • 多核CPU,可以在實作多個DPDK邏輯排程核lcore。
DPDK環境搭建及Helloworld樣例
  • DPDK依賴參考:http://www.cnblogs.com/vancasola/p/8881197.html

安裝DPDK

1.在DPDK官網下載下傳DPDK的壓縮包:http://core.dpdk.org/download, 我下載下傳的是穩定版本

18.05.1

.

2.進入root權限,解壓下載下傳的安裝包到使用者目錄下。

tar xJf ddpdk-stable-18.05.1.tar.xz
cd dpdk-stable-18.05.1/
           

3.配置環境變量

make config T=x86_64-native-linuxapp-gcc
sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
           

4.安裝

make
           

運作DPDK

1.設定環境變量

export RTE_SDK=/home/liuhy/dpdk-stable-18.05.1/
export RTE_TARGET=build
           

2.編譯example程式

make -C examples
           

3.配置大頁表

mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
           

4.運作helloworld,效果如下:

root@liuhy-VirtualBox:/home/liuhy/dpdk-stable-18.05.1/examples/helloworld/build# ./helloworld -c f
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100e net_e1000_em
EAL: PCI device 0000:00:08.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100e net_e1000_em
EAL: PCI device 0000:00:09.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100e net_e1000_em
EAL: PCI device 0000:00:0a.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100e net_e1000_em
hello from core 1
hello from core 2
hello from core 3
hello from core 0