dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx

上传人:wj 文档编号:1450448 上传时间:2023-04-30 格式:DOCX 页数:11 大小:644.95KB
下载 相关 举报
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第1页
第1页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第2页
第2页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第3页
第3页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第4页
第4页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第5页
第5页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第6页
第6页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第7页
第7页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第8页
第8页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第9页
第9页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第10页
第10页 / 共11页
dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx

《dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。

dpdk安装及示例程序使用指南虚拟机版Word文档下载推荐.docx

----------------------------------------------------------

Step1:

SelecttheDPDKenvironmenttobuild

[1]arm64-armv8a-linuxapp-gcc

[2]arm64-thunderx-linuxapp-gcc

[3]arm64-xgene1-linuxapp-gcc

[4]arm-armv7a-linuxapp-gcc

[5]i686-native-linuxapp-gcc

[6]i686-native-linuxapp-icc

[7]ppc_64-power8-linuxapp-gcc

[8]tile-tilegx-linuxapp-gcc

[9]x86_64-ivshmem-linuxapp-gcc

[10]x86_64-ivshmem-linuxapp-icc

[11]x86_64-native-bsdapp-clang

[12]x86_64-native-bsdapp-gcc

[13]x86_64-native-linuxapp-clang

[14]x86_64-native-linuxapp-gcc

[15]x86_64-native-linuxapp-icc

[16]x86_x32-native-linuxapp-gcc

Step2:

Setuplinuxappenvironment

[17]InsertIGBUIOmodule

[18]InsertVFIOmodule

[19]InsertKNImodule

[20]Setuphugepagemappingsfornon-NUMAsystems

[21]SetuphugepagemappingsforNUMAsystems

[22]DisplaycurrentEthernetdevicesettings

[23]BindEthernetdevicetoIGBUIOmodule

[24]BindEthernetdevicetoVFIOmodule

[25]SetupVFIOpermissions

Step3:

Runtestapplicationforlinuxappenvironment

[26]Runtestapplication($RTE_TARGET/app/test)

[27]Runtestpmdapplicationininteractivemode($RTE_TARGET/app/testpmd)

Step4:

Othertools

[28]Listhugepageinfofrom/proc/meminfo

Step5:

Uninstallandsystemcleanup

[29]UnbindNICsfromIGBUIOorVFIOdriver

[30]RemoveIGBUIOmodule

[31]RemoveVFIOmodule

[32]RemoveKNImodule

[33]Removehugepagemappings

[34]ExitScript

Option:

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]Listhugepageinfofrom/proc/meminfo可以查看页大小,以及多少页是空闲的

11.查看当前网卡状态

通过上图,我们看出有三块网卡,都是intele1000型号的,下面两块网卡是我们后来手动添加的,然而都是active的状态,要将他们作为dpdk的网卡,就必须要先关掉

另开一个终端:

再次查看,网卡状态,可以进行网卡绑定了:

12.绑定网卡

选择[23]BindEthernetdevicetoIGBUIOmodule

输入网卡前面的数字序号,即可绑定该网卡,这里我们有两个需要绑定,eth1和eth2,它们的序号分别是0000:

02:

06.0和0000:

07.0

绑定完再次查看网卡状态,我们可以看见两个网卡都已经是用于dpdk了:

13.到这一步dpdk的配置都已经结束了,下面可以运行一下dpdk自带的示例程序,比如说testpmd:

选择[27]Runtestpmdapplicationininteractivemode($RTE_TARGET/app/testpmd)

然后会出现testpmd>

的显示

如下,即显示了start到stop之间发送接受的包数量

Port0LinkUp-speed1000Mbps-full-duplex

Port1LinkUp-speed1000Mbps-full-duplex

Done

testpmd>

start

iopacketforwarding-CRCstrippingdisabled-packets/burst=32

nbforwardingcores=1-nbforwardingports=2

RXqueues=1-RXdesc=128-RXfreethreshold=0

RXthresholdregisters:

pthresh=0hthresh=0wthresh=0

TXqueues=1-TXdesc=512-TXfreethreshold=0

TXthresholdregisters:

TXRSbitthreshold=0-TXQflags=0x0

stop

Tellingcorestostop...

Waitingforlcorestofinish...

----------------------Forwardstatisticsforport0----------------------

RX-packets:

149536RX-dropped:

0RX-total:

149536

TX-packets:

149536TX-dropped:

0TX-total:

----------------------------------------------------------------------------

----------------------Forwardstatisticsforport1----------------------

+++++++++++++++Accumulatedforwardstatisticsforallports+++++++++++++++

299072RX-dropped:

299072

299072TX-dropped:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Done.

输入quit即可退出。

注意:

每次使用dpdk的时候,都必须把加载IGB模块、设置页大小、绑定网卡做一遍,除非把这一些操作添加进启动项。

运行示例程序的过程中遇到的问题主要有两个,下面一一列举它们的解决办法:

1.在运行testpmd程序的过程中,显示EAL:

Errorreadingfromfiledescriptor13:

Input/outputerror刷屏。

解决办法:

这是由于在虚拟机里运行造成的,dpdk的技术人员已经发布了补丁,只不过由于补丁:

然而由于补丁是1.7版本的,其他版本的只需要根据补丁内容对代码进行修改就可。

打开dpdk目录下lib/librte_eal/linuxapp/igb_uio里的igb_uio.c文件,找到下图位置:

按照补丁说明,把

if(pci_intx_mask_supported(dev)){

dev_dbg(&

dev->

dev,"

usingINTX"

);

udev->

info.irq_flags=IRQF_SHARED;

info.irq=dev->

irq;

mode=RTE_INTR_MODE_LEGACY;

break;

}

dev_notice(&

PCIINTXmasknotsupported\n"

代码替换为

dev_dbg(&

udev->

break;

保存退出,重新编译dpdk(从配置开始)即可成功运行。

2.运行示例程序,显示EAL:

Error-exitingwithcode:

1Cause:

Creationofmbufpoolforsocket0

意思是创建缓冲池失败,我们退回到分配页大小的地方,分配更大的hugepage,如果最大的hugepage仍然报错,就关闭虚拟机,给该虚拟机设置更大的内存,问题就得以解决。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2