“HowToInstallDpdk”的版本间差异

来自申威CPU与嵌入式系统
跳到导航 跳到搜索
(创建页面,内容为“# 通过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  # 安 装dpdk-devbind, testpmd等dpdk基本配置和测试工具
+
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), 09:00.0 对应的是eth4, 09:00.1对应的 是eth5
+
# 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

  1. 通过ssh或者console进入系统shell
  2. 首先, 请确定您使用的是申威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
    
  3. 然后, 请参照这里完成当前系统的升级, 确保当前系统包含所需软件包;
  4. 接下来安装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_<原名>的方式存放
    
  5. 重启
  6. /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具

以下内容仅供参考:

  1. /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
    
  2. chmod +x /etc/init.d/S30dpdk
    
  3. /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
    
  4. 进入申威系统, 运行testpmd, 进行测试