「HowToInstallDpdk」修訂間的差異
跳至導覽
跳至搜尋
(创建页面,内容为“# 通过ssh或者console进入系统shell # 首先, 请确定您使用的是申威NetONE系统, 检查的方法是<source lang="bash" line> uname -a | grep swx1 #…”) |
|||
(未顯示由 2 位使用者於中間所作的 4 次修訂) | |||
行 1: | 行 1: | ||
+ | == 以下的说明均基于DPDK 16.04 == | ||
+ | |||
# 通过ssh或者console进入系统shell | # 通过ssh或者console进入系统shell | ||
# 首先, 请确定您使用的是申威NetONE系统, 检查的方法是<source lang="bash" line> | # 首先, 请确定您使用的是申威NetONE系统, 检查的方法是<source lang="bash" line> | ||
行 8: | 行 10: | ||
# 接下来安装dpdk, 请执行: <source lang="bash" line> | # 接下来安装dpdk, 请执行: <source lang="bash" line> | ||
ipkg-cl -f /root/ipkg.conf install dpdk # 仅仅安装内核模块, 是dpdk的最小安装 | ipkg-cl -f /root/ipkg.conf install dpdk # 仅仅安装内核模块, 是dpdk的最小安装 | ||
− | ipkg-cl -f /root/ipkg.conf install dpdk-tools # 安 | + | ipkg-cl -f /root/ipkg.conf install dpdk-tools # 安 装dpdk_nic_bind, testpmd等dpdk基本配置和测试工具 |
− | ipkg-cl -f /root/ipkg.conf install dpdk-tests # 在/usr/local/bin/下安装dpdk examples下的部分测试程序 | + | ipkg-cl -f /root/ipkg.conf install dpdk-tests # 在/usr/local/bin/下安装dpdk examples下的部分测试程序, 这些测试程序均以dpdktest_<原名>的方式存放 |
</source> | </source> | ||
# 重启 | # 重启 | ||
行 15: | 行 17: | ||
'''以下内容仅供参考:''' | '''以下内容仅供参考:''' | ||
− | # /etc/init.d/S30dpdk启动脚本<source lang="bash" line> | + | # /etc/init.d/S30dpdk启动脚本(脚本需要加上可执行权限 chmod +x)<source lang="bash" line> |
#!/bin/sh | #!/bin/sh | ||
行 23: | 行 25: | ||
echo 2048 > /sys/kernel/mm/hugepages/hugepages-8192kB/nr_hugepages | echo 2048 > /sys/kernel/mm/hugepages/hugepages-8192kB/nr_hugepages | ||
</source> | </source> | ||
+ | # <source lang="bash">chmod +x /etc/init.d/S30dpdk</source> | ||
# /root/dpdk.sh <source lang="bash" line> | # /root/dpdk.sh <source lang="bash" line> | ||
#!/bin/sh | #!/bin/sh | ||
行 28: | 行 31: | ||
DRIVER=igb_uio | DRIVER=igb_uio | ||
− | # SLOTS的内容可以通过"dpdk_nic_bind --status"获取, 在本示例里面(swx1), | + | # SLOTS的内容可以通过"dpdk_nic_bind --status"获取, 在本示例里面(swx1), 0001:2a:00.0 0001:2a:00.1 分别 对应的 是eth0, eth1 |
SLOTS="0001:2a:00.0 0001:2a:00.1" | SLOTS="0001:2a:00.0 0001:2a:00.1" | ||
於 2018年9月4日 (二) 11:26 的最新修訂
以下的說明均基於DPDK 16.04
- 通過ssh或者console進入系統shell
- 首先, 請確定您使用的是申威NetONE系統, 檢查的方法是
1uname -a | grep swx1 2# 如果有如下的输出, 即表示是NetONE系统 3#Linux netone 4.4.150-swx1 #1 SMP Sat Aug 18 11:47:40 UTC 2018 sw_64 GNU/Linux
- 然後, 請參照這裡完成當前系統的升級, 確保當前系統包含所需軟件包;
- 接下來安裝dpdk, 請執行:
1ipkg-cl -f /root/ipkg.conf install dpdk # 仅仅安装内核模块, 是dpdk的最小安装 2ipkg-cl -f /root/ipkg.conf install dpdk-tools # 安装dpdk_nic_bind, testpmd等dpdk基本配置和测试工具 3ipkg-cl -f /root/ipkg.conf install dpdk-tests # 在/usr/local/bin/下安装dpdk examples下的部分测试程序, 这些测试程序均以dpdktest_<原名>的方式存放
- 重啟
- /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具
以下內容僅供參考:
- /etc/init.d/S30dpdk啟動腳本(腳本需要加上可執行權限 chmod +x)
1#!/bin/sh 2 3echo "starting dpdk...." 4/bin/mkdir -p /mnt/huge 5/bin/mount -t hugetlbfs nodev /mnt/huge 6echo 2048 > /sys/kernel/mm/hugepages/hugepages-8192kB/nr_hugepages
chmod +x /etc/init.d/S30dpdk
- /root/dpdk.sh
1#!/bin/sh 2 3DRIVER=igb_uio 4 5# SLOTS的内容可以通过"dpdk_nic_bind --status"获取, 在本示例里面(swx1), 0001:2a:00.0 0001:2a:00.1分别对应的是eth0, eth1 6SLOTS="0001:2a:00.0 0001:2a:00.1" 7 8/sbin/modprobe ${DRIVER} 9for t in ${SLOTS}; do 10 dpdk_nic_bind --force --bind=${DRIVER} ${t} 11done 12dpdk_nic_bind --status
- 進入申威系統, 運行testpmd, 進行測試