“HowToInstallDPDK”的版本间差异
跳到导航
跳到搜索
小 |
小 |
||
(未显示同一用户的3个中间版本) | |||
第19行: | 第19行: | ||
echo "starting dpdk...." | echo "starting dpdk...." | ||
− | |||
/bin/mkdir -p /mnt/huge | /bin/mkdir -p /mnt/huge | ||
/bin/mount -t hugetlbfs nodev /mnt/huge | /bin/mount -t hugetlbfs nodev /mnt/huge | ||
− | echo | + | echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages |
</source> | </source> | ||
# /root/dpdk.sh <source lang="bash" line> | # /root/dpdk.sh <source lang="bash" line> | ||
#!/bin/sh | #!/bin/sh | ||
− | + | # 如果使用4.4的内核, 请uncomment下一行, 使用igb_uio | |
− | + | # DRIVER=igb_uio | |
+ | # 如果使用4.7的内核, 请uncomment下一行, 使用vfio-pci | ||
+ | # DRIVER=vfio-pci | ||
− | dpdk-devbind -- | + | # SLOTS的内容可以通过"dpdk-devbind --status"获取, 在本示例里面(bex01a), 09:00.0对应的是eth4, 09:00.1对应的是eth5 |
− | dpdk-devbind --bind= | + | SLOTS="09:00.0 09:00.1" |
+ | |||
+ | /sbin/modprobe ${DRIVER} | ||
+ | for t in ${SLOTS}; do | ||
+ | dpdk-devbind --force --bind=${DRIVER} ${t} | ||
+ | done | ||
dpdk-devbind --status | dpdk-devbind --status | ||
</source> | </source> | ||
# 进入飞腾系统, 运行testpmd, 进行测试 | # 进入飞腾系统, 运行testpmd, 进行测试 |
2016年9月29日 (四) 10:57的最新版本
- 通过ssh或者console进入系统shell
- 首先, 请确定您使用的是飞腾NetONE系统, 检查的方法是
1uname -a | grep ex01a 2# 如果有如下的输出, 即表示是NetONE系统 3# Linux netone 4.4-bex01a #1 SMP Mon Aug 15 00:55:38 UTC 2016 aarch64 GNU/Linux
- 然后, 请参照这里完成当前系统的升级, 确保当前系统包含所需软件包;
- 接下来安装dpdk, 请执行:
1ipkg-cl -f /root/ipkg.conf install dpdk # 仅仅安装内核模块, 是dpdk的最小安装 2ipkg-cl -f /root/ipkg.conf install dpdk-tools # 安装dpdk-devbind, testpmd等dpdk基本配置和测试工具 3ipkg-cl -f /root/ipkg.conf install dpdk-tests # 在/usr/local/bin/下安装dpdk examples下的部分测试程序
- 重启
- /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具
以下内容仅供参考:
- /etc/init.d/S30dpdk启动脚本
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-2048kB/nr_hugepages
- /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 9SLOTS="09:00.0 09:00.1" 10 11/sbin/modprobe ${DRIVER} 12for t in ${SLOTS}; do 13 dpdk-devbind --force --bind=${DRIVER} ${t} 14done 15dpdk-devbind --status
- 进入飞腾系统, 运行testpmd, 进行测试