HowToInstallDPDK

來自飛騰CPU與嵌入式係統
跳轉至: 導航搜索
  1. 通過ssh或者console進入係統shell
  2. 首先, 請確定您使用的是飛騰NetONE係統, 檢查的方法是
    1 uname -a | grep ex01a
    2 # 如果有如下的輸出, 即表示是NetONE係統
    3 # Linux netone 4.4-bex01a #1 SMP Mon Aug 15 00:55:38 UTC 2016 aarch64 GNU/Linux
    
  3. 然後, 請參照這裏完成當前係統的升級, 確保當前係統包含所需軟件包;
  4. 接下來安裝dpdk, 請執行:
    1 ipkg-cl -f /root/ipkg.conf install dpdk  # 僅僅安裝內核模塊, 是dpdk的最小安裝
    2 ipkg-cl -f /root/ipkg.conf install dpdk-tools  # 安裝dpdk-devbind, testpmd等dpdk基本配置和測試工具
    3 ipkg-cl -f /root/ipkg.conf install dpdk-tests  # 在/usr/local/bin/下安裝dpdk examples下的部分測試程序
    
  5. 重啟
  6. /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具

以下內容僅供參考:

  1. /etc/init.d/S30dpdk啟動腳本
    1 #!/bin/sh
    2 
    3 echo "starting dpdk...."
    4 /bin/mkdir -p /mnt/huge
    5 /bin/mount -t hugetlbfs nodev /mnt/huge
    6 echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    
  2. /root/dpdk.sh
     1 #!/bin/sh
     2 
     3 # 如果使用4.4的內核, 請uncomment下一行, 使用igb_uio
     4 # DRIVER=igb_uio
     5 # 如果使用4.7的內核, 請uncomment下一行, 使用vfio-pci
     6 # DRIVER=vfio-pci
     7 
     8 # SLOTS的內容可以通過"dpdk-devbind --status"獲取, 在本示例裏麵(bex01a), 09:00.0對應的是eth4, 09:00.1對應的是eth5
     9 SLOTS="09:00.0 09:00.1"
    10 
    11 /sbin/modprobe ${DRIVER}
    12 for t in ${SLOTS}; do
    13   dpdk-devbind --force --bind=${DRIVER} ${t}
    14 done
    15 dpdk-devbind --status
    
  3. 進入飛騰係統, 運行testpmd, 進行測試