




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DPDK安装及示例程序使用指南(适用于虚拟机)-torronto 2016.1.27关于dpdk的介绍不用多说,主要就是它是intel开发的一个网络数据包查找转发的套件,用以分析网络数据的,所以只支持intel的网卡以及极少数除intel之外的网卡,具体支持的型号,官网有说明。因此,大多数时候,我们都是用虚拟机来仿真。1. 在虚拟机中的ubuntu系统上手动设置2个网卡(一共3个),就使用默认的桥接模式,然后修改处理器个数为2个处理器,每个处理器2核心。内存分配,1GB以上,2GB更好。2. 去官网下载dpdk软件包,http:/www.dpdk.eu/download3. 将软件包解压在主目录下,根据个人喜好,因为后面编译和使用示例每次都要访问的。4. 从终端进入5. tools文件夹中有一个setup.sh方便新手完成dpdk的设置初始化操作:(当然,配置编译之前先进入特权模式)6. 我们可以看到setup.sh里的一些选项如下:- RTE_SDK exported as /home/torronto/dpdk-2.2.0- Step 1: Select the DPDK environment to build-1 arm64-armv8a-linuxapp-gcc2 arm64-thunderx-linuxapp-gcc3 arm64-xgene1-linuxapp-gcc4 arm-armv7a-linuxapp-gcc5 i686-native-linuxapp-gcc6 i686-native-linuxapp-icc7 ppc_64-power8-linuxapp-gcc8 tile-tilegx-linuxapp-gcc9 x86_64-ivshmem-linuxapp-gcc10 x86_64-ivshmem-linuxapp-icc11 x86_64-native-bsdapp-clang12 x86_64-native-bsdapp-gcc13 x86_64-native-linuxapp-clang14 x86_64-native-linuxapp-gcc15 x86_64-native-linuxapp-icc16 x86_x32-native-linuxapp-gcc- Step 2: Setup linuxapp environment-17 Insert IGB UIO module18 Insert VFIO module19 Insert KNI module20 Setup hugepage mappings for non-NUMA systems21 Setup hugepage mappings for NUMA systems22 Display current Ethernet device settings23 Bind Ethernet device to IGB UIO module24 Bind Ethernet device to VFIO module25 Setup VFIO permissions- Step 3: Run test application for linuxapp environment-26 Run test application ($RTE_TARGET/app/test)27 Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)- Step 4: Other tools-28 List hugepage info from /proc/meminfo- Step 5: Uninstall and system cleanup-29 Unbind NICs from IGB UIO or VFIO driver30 Remove IGB UIO module31 Remove VFIO module32 Remove KNI module33 Remove hugepage mappings34 Exit ScriptOption: 7. 先进行配置,我的系统是ubuntu12.04,64位,所以应该输入14,选择x86_64-native-linuxapp-gcc进行编译,如果是32位系统则是x86_x32-native-linuxapp-gcc,或者是i686-native-linuxapp-gcc,因为i386、i686都是32位的,平台选错了会导致后面编译不成功。编译界面如下,有点长。如果编译有错,往往是软件包依赖关系不满足,安装相应的软件包,对于ubuntu15.10出的错可能和内核有关,所以建议使用的linux3.x内核的。8. 编译完成后,载入IGB组件9. 设置页大小先设置位128,即128*2MB的页大小10. 选择28 List hugepage info from /proc/meminfo可以查看页大小,以及多少页是空闲的11. 查看当前网卡状态通过上图,我们看出有三块网卡,都是intel e1000型号的,下面两块网卡是我们后来手动添加的,然而都是active的状态,要将他们作为dpdk的网卡,就必须要先关掉另开一个终端:再次查看,网卡状态,可以进行网卡绑定了:12. 绑定网卡选择23 Bind Ethernet device to IGB UIO module输入网卡前面的数字序号,即可绑定该网卡,这里我们有两个需要绑定,eth1和eth2,它们的序号分别是0000:02:06.0和0000:02:07.0绑定完再次查看网卡状态,我们可以看见两个网卡都已经是用于dpdk了:13. 到这一步dpdk的配置都已经结束了,下面可以运行一下dpdk自带的示例程序,比如说testpmd:选择27 Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)然后会出现testpmd的显示如下,即显示了start到stop之间发送接受的包数量Port 0 Link Up - speed 1000 Mbps - full-duplexPort 1 Link Up - speed 1000 Mbps - full-duplexDonetestpmd start io packet forwarding - CRC stripping disabled - packets/burst=32 nb forwarding cores=1 - nb forwarding ports=2 RX queues=1 - RX desc=128 - RX free threshold=0 RX threshold registers: pthresh=0 hthresh=0 wthresh=0 TX queues=1 - TX desc=512 - TX free threshold=0 TX threshold registers: pthresh=0 hthresh=0 wthresh=0 TX RS bit threshold=0 - TXQ flags=0x0testpmd testpmd stopTelling cores to stop.Waiting for lcores to finish. - Forward statistics for port 0 - RX-packets: 149536 RX-dropped: 0 RX-total: 149536 TX-packets: 149536 TX-dropped: 0 TX-total: 149536 - - Forward statistics for port 1 - RX-packets: 149536 RX-dropped: 0 RX-total: 149536 TX-packets: 149536 TX-dropped: 0 TX-total: 149536 - + Accumulated forward statistics for all ports+ RX-packets: 299072 RX-dropped: 0 RX-total: 299072 TX-packets: 299072 TX-dropped: 0 TX-total: 299072 +Done.testpmd 输入quit即可退出。注意:每次使用dpdk的时候,都必须把加载IGB模块、设置页大小、绑定网卡做一遍,除非把这一些操作添加进启动项。运行示例程序的过程中遇到的问题主要有两个,下面一一列举它们的解决办法:1. 在运行testpmd程序的过程中,显示EAL: Error reading from file descriptor 13: Input/output error刷屏。解决办法:这是由于在虚拟机里运行造成的,dpdk的技术人员已经发布了补丁,只不过由于补丁:然而由于补丁是1.7版本的,其他版本的只需要根据补丁内容对代码进行修改就可。打开dpdk目录下lib/librte_eal/linuxapp/igb_uio里的igb_uio.c文件,找到下图位置:按照补丁说明,把 if (pci_intx_mask_supported(dev) dev_dbg(&dev-dev, using INTX); udev-info.irq_flags = IRQF_SHARED; udev-info.irq = dev-irq; udev-mode = RTE_INTR_MODE_LEGACY; break; dev_notice(&dev-dev, PCI INTX mask not supportedn);代码替换为 dev_dbg(&dev-dev, using INTX); udev-info.irq_flags = IRQF_SHARED; udev-info.irq = dev-irq; udev-mode = RTE_INT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年执业药师之《西药学专业一》通关练习题和答案及完整答案详解
- 2025年导游资格考试试卷附参考答案详解【培优】
- 2025年全民国家安全教育日知识竞赛题(附答案)
- 2025年鸡东辅警考试题库(附答案)
- 2024西安外事学院单招《物理》常考点试卷及答案详解【历年真题】
- 2025知识产权许可合同
- 2025个人工程承包合同书
- 2024年燃气职业技能鉴定每日一练试卷附答案详解(基础题)
- 2025自考之《社区护理》复习提分资料附参考答案【能力提升】
- 急性上消化道出血的应急预案演练脚本
- GB/T 6478-2015冷镦和冷挤压用钢
- GB/T 11376-2020金属及其他无机覆盖层金属的磷化膜
- 2022年《体育法》全文PPT
- 公司区域经营管理办法
- 五年级《中国民间故事》知识考试题库(含答案)
- 《景观生态设计》课件
- 江苏省南通市各县区乡镇行政村村庄村名居民村民委员会明细
- 中国古典乐器-古筝琵琶英文介绍(带翻译)课件
- 地表形态塑造内力作用说课
- QSY02553-2018井下作业井控技术规范
- 苏教版(新教材)三年级上册小学科学第二单元测试卷含答案
评论
0/150
提交评论