一种基于PCIE接口消息报文的硬件流表卸载方法和系统与流程

文档序号:37593106发布日期:2024-04-18 12:27阅读:9来源:国知局
一种基于PCIE接口消息报文的硬件流表卸载方法和系统与流程

本发明涉及数据中心的通信,是一种基于pcie接口消息报文的硬件流表卸载方法和系统。


背景技术:

1、在云服务数据中心的服务器侧引入智能网卡,将网络、存储、操作系统中不适合cpu处理的高性能数据处理功能卸载到硬件执行,提升数据处理能力,释放cpu算力。智能网卡的网络功能卸载支持ovs(open vswitch)。ovs的流表管理运行在智能网卡上的soc芯片,流表存储于soc芯片的ddr外设中。网络流量全部经过soc芯片上的ovs组件处理后,再到达服务器侧的端口。这种卸载方式的网络处理性能受制于soc芯片的能力。

2、在现有已公开的发明技术中,如申请公开号为cn106878178a的中国专利公开了流表下发方法、系统及控制器,本发明的流表下发方法包括:控制器收到来自交换机的流表申请消息后,识别流表申请消息的类型,判断类型对应的流表模板是否已发送给交换机;若未发送给交换机,则生成对应类型的流表模板,将流表模板发送给交换机;控制器根据预定时间内收到的流表申请消息,生成流表组消息并发送给交换机,流表组消息中包括预定时间内每个流表申请消息对应的流表信息。

3、上述专利基于pcie总线接口寄存器地址映射方式构造卸载消息报文,不易弹性扩展,或者基于以太报文特定udp端口下自定义内容的消息报文,不方便硬件芯片实现。现有专利有提到流表组消息方式批量下发流表信息,但是未考虑消息格式的通用性和硬件芯片处理的简易性。本发明提出的方法为pcie接口下卸载硬件流表提供了可弹性扩展、可编程、易于硬件实现特性。


技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、本发明所要解决的技术问题是针对现有技术中,本发明解决了现有技术中,基于寄存器地址映射方式的soc芯片卸载硬件流表在易用性、速度上受到了制约限制且不符合智能网卡可编程特性的要求的问题,提出了一种基于pcie接口消息报文的硬件流表卸载方法和系统。

3、为了达到上述目的,本发明一种基于pcie接口消息报文的硬件流表卸载方法的技术方案包括如下步骤:

4、s1:通过pcie接口建立与硬件设备的连接;

5、s2:进行字段扩展判断,并对消息报文进行填充对齐排布处理;

6、s3:通过硬件设备上的控制命令查询获取当前硬件设备上的流表操作的需求表达信息;

7、s4:根据消息报文摘要和流表操作的需求,确定消息报文来源和执行的操作;

8、s5:通过pcie接口将卸载命令的消息报文发送到硬件设备,并更新本地状态。

9、具体地,s2中,所述字段扩展判断包括如下具体步骤:

10、s201:识别消息报文的报文格式和字节长度;

11、s202:从接收到的数据帧中,按照报文协议,逐步抽取需要扩展的字段信息;

12、s203:执行不同的消息报文的填充对齐排布处理策略。

13、具体地,s201中,所述消息报文的报文格式为兼容以太网mac帧格式,包括:目的mac地址、源mac地址、字段长度、数据字段、帧校验序列。

14、具体地,mac协议类型是自定义特定类型值。

15、具体地,s203中,所述不同的消息报文的填充对齐排布处理策略包括:

16、当消息报文字段单个字段长度短于fpga/asic芯片单周期处理长度,但消息报文字段总长度小于等于单周期处理长度时,进行连续排布扩展处理策略;

17、当消息报文字段长度超过fpga/asic芯片单周期处理长度时,该消息报文字段判断为填充无效,执行保留字段对齐到fpga/asic芯片单周期处理长度的整数倍长度的扩展处理策略。

18、具体地,所述当前硬件设备上的流表操作的需求表达信息包括:消息头和消息数据两部分,其中,消息头包括pcie接口pvf、队列id、目的id、操作id、操作类型、操作码、操作长度、操作数目等关键字段;消息数据是多个操作数目下操作内容的串联排列。

19、具体地,s4包括:根据消息报文摘要来源进行流表查找,并进行流表匹配处理,其中,通过流表匹配将单条流表与报文摘要比对,确定是否匹配并输出该条流表中的操作指令;流表查找包括在硬件可用流表中找出匹配流表。

20、具体地,所述流表查找通过线性查找算法,流表采用ram存储器实例存储,ram存储器ip核使用fpga中的嵌入式存储器。

21、具体地,所述流表与报文的匹配规则包括:

22、s401:根据需求和网络规模来确定流表的大小,包括表项的数量;

23、s402:根据确定的流表大小,为每个匹配逻辑分配相应的流表空间;

24、s403:根据实际需求和要匹配的字段,针对每个匹配逻辑编写相应的匹配逻辑代码;

25、s404:根据分配的流表空间,将每个匹配逻辑的代码实例化为具体的流表项,并将其存储在对应的流表空间中。

26、另外,本发明一种基于pcie接口消息报文的硬件流表卸载系统包括如下模块:

27、接口连接模块、字段扩展判断模块、需求表达模块、流表匹配模块、卸载执行模块;

28、所述接口连接模块通过pcie接口建立与硬件设备的连接;

29、所述字段扩展判断模块用于进行字段扩展判断,并对消息报文进行填充对齐排布处理;

30、所述需求表达模块通过硬件设备上的控制命令查询获取当前硬件设备上的流表操作的需求表达信息;

31、所述流表匹配模块根据消息报文摘要和流表操作的需求,确定消息报文来源和执行的操作;

32、所述卸载执行模块通过pcie接口将卸载命令的消息报文发送到硬件设备,并更新本地状态。

33、与现有技术相比,本发明的技术效果如下:

34、1、本发明可以弹性扩展流表内容,通过字段定义支持不同的流表操作类型,流表项批处理能力。

35、2、本发明消息报文的字段内容满足可编程性表达的需要,方便后续流表协议的迭代演化和自定义。

36、3、本发明消息报文字段的填充对齐排布方式,方便在硬件芯片上实现消息报文的识别分解,流水化高效处理消息报文,提高消息报文的易用性,加速硬件流表卸载速度。



技术特征:

1.一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于:所述方法包括如下具体步骤:

2.根据权利要求1所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,s2中,所述字段扩展判断包括如下具体步骤:

3.根据权利要求2所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,s201中,所述消息报文的报文格式为兼容以太网mac帧格式,包括:目的mac地址、源mac地址、字段长度、数据字段、帧校验序列。

4.根据权利要求3所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,mac协议类型是自定义特定类型值。

5.根据权利要求1所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,s203中,所述不同的消息报文的填充对齐排布处理策略包括:

6.根据权利要求1所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,所述当前硬件设备上的流表操作的需求表达信息包括:消息头和消息数据两部分,其中,消息头包括pcie接口pvf、队列id、目的id、操作id、操作类型、操作码、操作长度、操作数目等关键字段;消息数据是多个操作数目下操作内容的串联排列。

7.根据权利要求1所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,s4包括:根据消息报文摘要来源进行流表查找,并进行流表匹配处理,其中,通过流表匹配将单条流表与报文摘要比对,确定是否匹配并输出该条流表中的操作指令;流表查找包括在硬件可用流表中找出匹配流表。

8.根据权利要求7所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,所述流表查找通过线性查找算法,流表采用ram存储器实例存储,ram存储器ip核使用fpga中的嵌入式存储器。

9.根据权利要求8所述的一种基于pcie接口消息报文的硬件流表卸载方法,其特征在于,所述流表与报文的匹配规则包括:

10.一种基于pcie接口消息报文的硬件流表卸载系统,其基于如权利要求1-9任一项所述的一种基于pcie接口消息报文的硬件流表卸载方法实现,其特征在于,所述系统包括以下模块:


技术总结
本发明涉及数据中心的通信技术领域,是一种基于PCIE接口消息报文的硬件流表卸载方法和系统,具体方法包括:通过PCIE接口建立与硬件设备的连接;进行字段扩展判断,并对消息报文进行填充对齐排布处理;通过硬件设备上的控制命令查询获取当前硬件设备上的流表操作的需求表达信息;根据消息报文摘要和流表操作的需求,确定消息报文来源和执行的操作;通过PCIE接口将卸载命令的消息报文发送到硬件设备,并更新本地状态。本发明解决了现有技术中,基于寄存器地址映射方式的SOC芯片卸载硬件流表在易用性、速度上受到了制约限制且不符合智能网卡可编程特性的要求的问题。

技术研发人员:卢士鹏,郑文明,刘禄仁,邹明,莫喜梁,穆月飞
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1