DPDK分片报文处理方法及装置制造方法及图纸

技术编号:38578357 阅读:9 留言:0更新日期:2023-08-26 23:24
本申请涉及一种DPDK分片报文处理方法及装置。该方法包括:DPDK获取分片报文的报文信息;判断预设哈希表中是否已经储存所述报文信息;在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中;在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理。本申请涉及的DPDK分片报文处理方法及装置,能够在不影响非分片代码流程的前提下,对分片报文进行重组,从而报文提前进行处理,避免DPDK本身分片报文重组流程的问题。的问题。的问题。

【技术实现步骤摘要】
DPDK分片报文处理方法及装置


[0001]本公开涉及计算机信息处理领域,具体而言,涉及一种DPDK分片报文处理方法及装置。

技术介绍

[0002]IP网络中,当报文长度超过MTU(Maximum Transmiss1n Unit,最大传输单元)时,需将报文分片发送;目的设备接收到分片报文后,根据各分片的偏移量进行重组。
[0003]DPDK(Data Plane Development Kit数据平面开发套件)本身自带一个IP分片重组库,这个库维护一个分片表,根据IP包的,源IP,目的IP,ID进行维护。但是,这个分片表的操作不是线程安全的,所以一般使用时候会将其作为每CPU变量使用,或者使用一个全局锁进行同步。分片表内部是个简单的hash表,当报文被放入hash表中,如果表中hash表可以重组该报文,则返回完整重组后的报文。如果遇到错误或者还不能完成重组则返回空指针。
[0004]现有技术中,在DPDK中往往不进行分片报文重组,因为分片报文非首片,不包含4层头信息,使用3,4层信息进行RSS分流,报文无法分到同一个CPU,DPDK本身的接口无法将报文重组,如果只根据3层信息RSS分流,则报文不能均分到每个CPU,影响性能。但是,如果不进行报文重组,则有些报文相关的功能就不能在DPDK上实现。
[0005]因此,需要一种新的DPDK分片报文处理方法及装置。
[0006]在所述
技术介绍
部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0007]有鉴于此,本申请提供一种DPDK分片报文处理方法及装置,能够在不影响非分片代码流程的前提下,对分片报文进行重组,从而报文提前进行处理,避免DPDK本身分片报文重组流程的问题。
[0008]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0009]根据本申请的一方面,提出一种DPDK分片报文处理方法,该方法包括:DPDK获取分片报文的报文信息;判断预设哈希表中是否已经储存所述报文信息;在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中;在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理。
[0010]在本申请的一种示例性实施例中,还包括:通过多个分片报文的报文信息对应的哈希值生成所述预设哈希表。
[0011]在本申请的一种示例性实施例中,DPDK获取分片报文的报文信息,包括:DPDK获取报文;判断所述报文是否为分片报文;在所述报文为分片报文时,获取所述分片报文的报文源IP、报文目的IP、报文协议号、报文标识。
[0012]在本申请的一种示例性实施例中,判断预设哈希表中是否已经储存所述报文信息,包括:计算所述报文信息对应的哈希值;基于所述哈希值判断预设哈希表中是否已经储存所述报文信息。
[0013]在本申请的一种示例性实施例中,在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中,包括:在所述预设哈希表中未储存所述报文信息时,判断所述分片报文是否为首片报文;在所述分片报文不为首片报文时,将所述分片报文存入所述预设哈希表中。
[0014]在本申请的一种示例性实施例中,在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中,还包括:在所述分片报文为首片报文时,基于所述报文信息和逻辑核编号在所述预设哈希表中新建表项;将所述分片报文存入所述新建表项以储存到所述预设哈希表中。
[0015]在本申请的一种示例性实施例中,所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理,包括:所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号;在所述逻辑核编号已赋值时,将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理。
[0016]在本申请的一种示例性实施例中,所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理,还包括:在所述逻辑核编号未赋值且所述分片报文为首片报文时,将所述分片报文对应的逻辑核编号的值赋给所述预设哈希表中对应的值;将所述预设哈希表中对应的分片报文转移到所述逻辑核编号对应的CPU中进行处理;在所述逻辑核编号未赋值且所述分片报文不为首片报文时,将所述分片报文储存到所述预设哈希表。
[0017]在本申请的一种示例性实施例中,在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理,还包括:在所述预设哈希表中已经储存所述报文信息时,比较当前时间和所述预设哈希表中所述报文信息对应的储存时间;在所述当前时间和所述储存时间的差值大于老化时间时,删除所述预设哈希表中对应的表项。
[0018]在本申请的一种示例性实施例中,还包括:在DPDK将所述分片报文进行重组之后,将所述分片报文对应的预设哈希表中的表项删除。
[0019]根据本申请的一方面,提出一种DPDK分片报文处理装置,该装置包括:报文模块,用于DPDK获取分片报文的报文信息;信息模块,用于判断预设哈希表中是否已经储存所述报文信息;储存模块,用于在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中;转移模块,用于在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理。
[0020]根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
[0021]根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序
被处理器执行时实现如上文中的方法。
[0022]根据本申请的DPDK分片报文处理方法及装置,通过DPDK获取分片报文的报文信息;判断预设哈希表中是否已经储存所述报文信息;在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中;在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理的方式,能够在不影响非分片代码流程的前提下,对分片报文进行重组,从而报文提前进行处理,避免DPDK本身分片报文重组流程的问题。
[0023]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0024]通过参照附图详细描述其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DPDK分片报文处理方法,其特征在于,包括:DPDK获取分片报文的报文信息;判断预设哈希表中是否已经储存所述报文信息;在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中;在所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进行处理。2.如权利要求1所述的方法,其特征在于,还包括:通过多个分片报文的报文信息对应的哈希值生成所述预设哈希表。3.如权利要求1所述的方法,其特征在于,DPDK获取分片报文的报文信息,包括:DPDK获取报文;判断所述报文是否为分片报文;在所述报文为分片报文时,获取所述分片报文的报文源IP、报文目的IP、报文协议号、报文标识。4.如权利要求1所述的方法,其特征在于,判断预设哈希表中是否已经储存所述报文信息,包括:计算所述报文信息对应的哈希值;基于所述哈希值判断预设哈希表中是否已经储存所述报文信息。5.如权利要求1所述的方法,其特征在于,在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中,包括:在所述预设哈希表中未储存所述报文信息时,判断所述分片报文是否为首片报文;在所述分片报文不为首片报文时,将所述分片报文存入所述预设哈希表中。6.如权利要求5所述的方法,其特征在于,在所述预设哈希表中未储存所述报文信息时,基于所述报文信息将所述分片报文存入所述预设哈希表中,还包括:在所述分片报文为首片报文时,基于所述报文信息和逻辑核编号在所述预设哈希表中新建表项;将所述分片报文存入所述新建表项以储存到所述预设哈希表中。7.如权利要求1所述的方法,其特征在于,所述预设哈希表中已经储存所述报文信息时,提取所述报文信息对应的逻辑核编号,并将所述分片报文转移到所述逻辑核编号对应的CPU中进...

【专利技术属性】
技术研发人员:张昕宇
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1