一种智能网卡下基于DMA的硬件流表统计获取方法技术

技术编号:40917166 阅读:33 留言:0更新日期:2024-04-18 14:43
本发明专利技术公开了一种智能网卡下基于DMA的硬件流表统计获取方法,所述获取方法包括以下几个步骤:第一步数据包处理,第二步构建HW_STATS_TABLE,第三步DMA传输HW_STATS_TABLE,第四步SYNC_REG计数,第五步用户请求处理,第六步SYNC_REG_SEQ赋值,第七步提取SOC_HW_STATS_TABLE数据,第八步数据结果输出判定,第九步FLOW_A结果计算,计算得出FLOW_A的整体统计结果,并将结果返回给用户;本发明专利技术采用事先软硬规定统一硬件流表统计存储格式,以及事先确定SoC内存中用于存放SOC_HW_STATS_TABLE的区域地址的方式,通过直接让硬件周期性DMA将硬件流表统计结果写入SOC_HW_STATS_TABLE,彻底避免了在大容量硬件流表场景下软硬件之间频繁的报文构造与交互逻辑,彻底解决软硬件在大容量硬件流表统计上的交互问题,同时提升了SoC上软件vSwitch的性能。

【技术实现步骤摘要】

本专利技术涉及信息,特别涉及一种智能网卡下基于dma的硬件流表统计获取方法。


技术介绍

1、智能网卡的硬件中存在硬件流表,当数据包匹配硬件流表失败时,会上送到软件vswitch上生成流表规则,流表规则包括匹配域和动作域,其中匹配域由数据包的报文信息组成,而动作域规定数据包应该执行的动作,将生成的流表规则经过转换写入硬件后,数据包匹配硬件流表直接进行转发,即可实现硬件卸载,现有智能网卡都是需要通信协议连接的最初几个数据包先上送软件,在软件侧生成对应的硬件流表规则后,再卸载到硬件中,后续执行硬件的匹配和转发,而卸载到硬件后,软件仍需要实时从硬件获取对应流表统计结果,包括各个流表规则的转发包数量和转发字节数,从而支持云计算中上层业务,如虚机实时流量监控等,另一方面,智能网卡流表容量越大,能支持的卸载连接数也就越多,就能让更多的业务连接的报文直接走硬件转发,从而为上层业务提供更好的吞吐、延迟等性能指标。

2、但智能网卡中大容量的硬件流表,则带来更繁重的软件流表统计压力,现有技术采用以下方法进行解决:第一种定期全量逐条遍历硬件流表的方法,第二种软件主动发本文档来自技高网...

【技术保护点】

1.一种智能网卡下基于DMA的硬件流表统计获取方法,其特征在于,所述获取方法包括以下几个步骤:

2.根据权利要求1所述的一种智能网卡下基于DMA的硬件流表统计获取方法,其特征在于,所述HW_FLOW_A为硬件流表,所述HW_STATS_A为HW_FLOW_A为HW_FLOW_A对应的统计表项,所述HW_STATS_TABLE为多个HW_STATS_A组成的统计表。

3.根据权利要求2所述的一种智能网卡下基于DMA的硬件流表统计获取方法,其特征在于,所述HW_STATS_A包括当前流表已命中的报文字节数和报文个数。

4.根据权利要求1所述的一种智能网卡下...

【技术特征摘要】

1.一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述获取方法包括以下几个步骤:

2.根据权利要求1所述的一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述hw_flow_a为硬件流表,所述hw_stats_a为hw_flow_a为hw_flow_a对应的统计表项,所述hw_stats_table为多个hw_stats_a组成的统计表。

3.根据权利要求2所述的一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述hw_stats_a包括当前流表已命中的报文字节数和报文个数。

4.根据权利要求1所述的一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述智能网卡的内部设置有用于可编程的fpga,所述fpga通过dma周期性将hw_stats_table传输给soc_hw_stats_table。

5.根据权利要求4所述的一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述sync_reg设置在fpga内,所述sync_reg用于fpga开始和结束传输hw_stats_table时进行计数。

6.根据权利要求1所述的一种智能网卡下基于dma的硬件流表统计获取方法,其特征在于,所述soc的内部设置有vswitch,所述map_sf2hf设置在vswitch的内部,...

【专利技术属性】
技术研发人员:李易卢士鹏
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1