System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,特别是涉及一种流表硬件卸载方法、虚拟交换机、装置、计算机设备和存储介质。
技术介绍
1、ovs(open vswitch)是一个虚拟交换机,用于组成虚拟网络。所谓虚拟交换,就是利用软件实现交换功能,也称为软件交换机。跟传统的物理交换机相比,虚拟交换机成本低廉,配置灵活,一台物理设备上可以配置数百台虚拟交换机。
2、虚拟交换机包含硬件缓存和用户空间,硬件缓存内设置网卡部件,网卡部件包括不支持卸载流表的智能网卡(smart nic)以及支持卸载流表的dpu卡硬件(一般通过asic或者fpga实现),用户空间内包括数据库服务器和核心交换机进程模块。网卡部件为不支持卸载流表的智能网卡,当硬件缓存接收到报文后,必然在网卡部件中不存在报文对应的流表信息,报文通过网卡部件向核心交换机进程模块查询流表信息进行对应的执行操作。网卡部件为支持卸载流表的智能网卡,若在网卡部件中不存在报文对应的流表信息时,通过网卡部件向核心交换机进程模块查询流表信息,当查询到对应的流表信息时将流表下发至网卡部件中,后续的报文通过网卡部件中的流表进行对应的执行操作。
3、因此,网卡部件向核心交换机进程模块查询流表信息时,如果核心交换机进程模块中的流表信息庞大,则查询报文对应的流表信息过程耗时长,导致流表查询速率慢。
技术实现思路
1、基于此,提供一种流表硬件卸载方法、虚拟交换机、装置、计算机设备和存储介质,解决网卡部件向核心交换机进程模块查询流表信息时,核心交换机进程模块中的流表信息
2、一方面,提供一种流表硬件卸载方法,所述方法包括:
3、响应于在第一级流表中不存在目标条流的第一个报文对应的匹配信息,则获取当前报文的类型,根据当前报文的类型判断网卡部件是否支持当前报文流表硬件卸载;
4、若所述网卡部件不支持当前报文流表硬件卸载则查询第二级流表中是否存在所述第一个报文对应的匹配信息,若所述第二级流表中存在所述第一个报文对应的匹配信息,则根据所述第一个报文对应的匹配信息生成相应表项插入所述第一级流表,更新转发报文数量及转发所述第一报文的字节数统计值,并将更新后的第一级流表下发至所述网卡部件中执行转发所述第一个报文操作;若所述第二级流表中不存在所述第一个报文对应的匹配信息,则查询第三级流表中是否存在所述第一个报文对应的配置特征信息;
5、若所述网卡部件支持当前报文流表硬件卸载则跳过查询所述第二级流表,直接查询所述第三级流表中是否存在所述第一个报文对应的配置特征信息;
6、若所述第三级流表中存在所述第一个报文对应的配置特征信息,则根据所述第一个报文对应的配置特征信息生成目标转发规则表,并将所述目标转发规则表下发至所述网卡部件中执行转发所述第一个报文操作。
7、在其中一个实施例中,在所述响应于在第一级流表中不存在目标条流的第一个报文对应的匹配信息之前还包括:
8、判断在所述网卡部件的硬件流表中是否存在目标条流的第一个报文对应的匹配信息;
9、若在所述网卡部件的硬件流表中不存在所述的第一个报文对应的匹配信息,则查询在第一级流表中是否存在所述第一个报文对应的匹配信息;
10、响应于在所述第一级流表中存在所述第一个报文对应的匹配信息,则将所述第一级流表下发至所述网卡部件中执行转发所述第一个报文操作。
11、在其中一个实施例中,在所述判断在所述网卡部件的硬件流表中是否存在目标条流的第一个报文对应的匹配信息步骤之前还包括:
12、响应于网卡部件收到目标条流时,获取所述目标条流的第一个报文,查询在所述网卡部件的硬件流表中是否存在所述第一个报文对应的匹配信息;
13、若在所述网卡部件的硬件流表中存在所述第一个报文对应的匹配信息,则根据所述第一个报文对应的匹配信息执行转发所述第一个报文操作。
14、在其中一个实施例中,所述流表硬件卸载方法还包括:
15、若所述第三级流表中存在所述第一个报文对应的匹配信息,则根据所述第一个报文对应的匹配信息生成相应表项插入所述第一级流表及所述第二级流表;
16、若所述第三级流表中不存在所述第一个报文对应的匹配信息,则丢弃查询所述第一个报文,同时生成执行动作为丢弃当前报文的流表插入所述第一级流表及所述第二级流表。
17、在其中一个实施例中,在所述丢弃查询所述第一个报文之后还包括:
18、将所述目标条流的非第一个报文作为后续报文,判断在所述网卡部件的硬件流表中是否存在所述后续报文对应的匹配信息;
19、若在所述网卡部件的硬件流表中存在所述后续报文对应的匹配信息,则根据所述后续报文对应的匹配信息执行转发所述后续报文操作;
20、若在所述网卡部件的硬件流表中不存在所述后续报文对应的匹配信息,则查询在第一级流表中是否存在所述后续报文对应的匹配信息;
21、响应于在所述第一级流表中存在所述后续报文对应的匹配信息,则将所述第一级流表下发至所述网卡部件中执行转发所述后续报文操作;
22、响应于在所述第一级流表中不存在所述后续报文对应的匹配信息,若所述网卡部件支持当前报文流表硬件卸载则跳过查询所述第二级流表,直接查询所述第三级流表中是否存在所述后续报文对应的配置特征信息;否则查询所述第二级流表中是否存在所述后续报文对应的匹配信息;
23、若所述第二级流表中存在所述后续报文对应的匹配信息,则根据所述后续报文对应的匹配信息生成相应表项插入所述第一级流表,并将更新后的第一级流表下发至所述网卡部件中执行转发所述后续报文操作;
24、若所述第二级流表中不存在所述后续报文对应的匹配信息,则查询第三级流表中是否存在所述后续报文对应的匹配信息;
25、若所述第三级流表中存在所述后续报文对应的匹配信息,则根据所述后续报文对应的匹配信息生成相应表项插入所述第一级流表及所述第二级流表,更新转发报文数量及转发所述第二报文的字节数统计值,根据更新后的第一级流表执行转发所述后续报文操作;
26、若所述第三级流表中不存在所述后续报文对应的匹配信息,则丢弃查询所述后续报文,同时生成执行动作为丢弃当前报文的流表插入所述第一级流表及所述第二级流表中。
27、在其中一个实施例中,通过采用元组空间搜索算法查询所述第二级流表中是否存在所述第一个报文对应的匹配信息;所述第二级流表为数据路径分类表,所述第三级流表为用户原始配置特征信息表。
28、在其中一个实施例中,所述第一级流表用于保存8k个emc表项;所述第二级流表用于保存全部数据路径信息,所述第二级流表的存储容量大于所述第一级流表,所述第三级流表用于保存用户原始配置特征信息。
29、另一方面,提供了一种流表硬件卸载装置,所述装置包括:
30、一级流表处理模块,用于响应于在第一级流表中不存在目标条流报文本文档来自技高网...
【技术保护点】
1.一种流表硬件卸载方法,其特征在于,包括:
2.根据权利要求1所述的流表硬件卸载方法,其特征在于,在所述响应于在第一级流表中不存在目标条流的第一个报文对应的匹配信息之前还包括:
3.根据权利要求2所述的流表硬件卸载方法,其特征在于,在所述判断在所述网卡部件的硬件流表中是否存在目标条流的第一个报文对应的匹配信息步骤之前还包括:
4.根据权利要求1所述的流表硬件卸载方法,其特征在于,所述流表硬件卸载方法还包括:
5.根据权利要求4所述的流表硬件卸载方法,其特征在于,在所述丢弃查询所述第一个报文之后还包括:
6.根据权利要求1所述的流表硬件卸载方法,其特征在于,通过采用元组空间搜索算法查询所述第二级流表中是否存在所述第一个报文对应的匹配信息;所述第一级流表为精确匹配缓存表,所述第二级流表为数据路径分类表,所述第三级流表为用户原始配置特征信息表。
7.根据权利要求6所述的流表硬件卸载方法,其特征在于,所述第一级流表用于保存8k个emc表项;所述第二级流表用于保存全部数据路径信息,所述第二级流表的存储容量大于所述第一
8.一种流表硬件卸载装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种流表硬件卸载方法,其特征在于,包括:
2.根据权利要求1所述的流表硬件卸载方法,其特征在于,在所述响应于在第一级流表中不存在目标条流的第一个报文对应的匹配信息之前还包括:
3.根据权利要求2所述的流表硬件卸载方法,其特征在于,在所述判断在所述网卡部件的硬件流表中是否存在目标条流的第一个报文对应的匹配信息步骤之前还包括:
4.根据权利要求1所述的流表硬件卸载方法,其特征在于,所述流表硬件卸载方法还包括:
5.根据权利要求4所述的流表硬件卸载方法,其特征在于,在所述丢弃查询所述第一个报文之后还包括:
6.根据权利要求1所述的流表硬件卸载方法,其特征在于,通过采用元组空间搜索算法查询所述第二级流表中是否存在所述第一个报文对应的匹配信息;所述第一级流表为精...
【专利技术属性】
技术研发人员:董建军,陈翔,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。