多分支跳转协处理方法及装置制造方法及图纸

技术编号:26606259 阅读:36 留言:0更新日期:2020-12-04 21:30
本申请提供一种多分支跳转协处理方法及装置,该方法包括:第一网络处理器获取分支跳转条件,并将分支跳转条件发送给协处理器,分支跳转条件包括N条分支跳转子条件,分支跳转子条件与子TCAM一一对应;协处理器对每个子TCAM对应的分支跳转子条件和每个子TCAM中的TCAM条目进行匹配,确定匹配成功的至少一条TCAM条目;协处理器根据匹配成功的至少一条TCAM条目确定静态随机存储器SRAM地址,SRAM地址对应的SRAM单元用于存储待执行动作对应的存储地址;协处理器将SRAM地址发送给所述第二网络处理器;第二网络处理器根据SRAM地址确定待执行动作对应的存储地址,并执行存储地址对应的待执行动作。使得TCAM条目数量降低,从而提高了分支跳转条件的匹配效率,并且可以节省TCAM的存储空间,进而降低TCAM的功耗。

【技术实现步骤摘要】
多分支跳转协处理方法及装置
本申请涉及多分支跳转协处理技术,尤其涉及一种多分支跳转协处理方法及装置。
技术介绍
随着互联网技术的不断发展,交换机或者路由器的应用也越来越频繁,通常交换机或者路由器中包括有网络处理器,在网络处理器上运行的软件中,会遇到多分支跳转结构。目前网络处理器基于三态内容寻址存储器(TernaryContentAddressMemory,简称TCAM)来实现这种分支跳转。其中TCAM中存储有多条TCAM条目。网络处理器对编译后的分支跳转条件与TCAM中的TCAM条目进行匹配,当匹配成功后,则该网络处理器将匹配成功的TCAM条目对应的静态随机存储器(StaticRandomAccessMemory,简称SRAM)地址发送给下一个网络处理器,该下一个网络处理器通过确定SRAM地址中所存储的待执行动作对应的存储地址,来执行该存储地址对应的待执行动作。然而,目前网络处理器基于TCAM进行分支跳转条件匹配时,存在匹配数量庞大的问题。尤其当分支跳转条件较为复杂时,则TCAM条目也会存在爆炸式增长的趋势,从而造成多分支跳转条件匹配效本文档来自技高网...

【技术保护点】
1.一种多分支跳转协处理方法,所述方法应用于交换机或者路由器,所述交换机或者所述路由器包括:第一网络处理器、第二网络处理器、协处理器和三态内容寻址存储器TCAM,所述协处理器的两端分别与所述第一网络处理器和所述第二网络处理器连接,所述TCAM与所述协处理器连接,其中所述TCAM按照待处理业务被逻辑划分为N个子TCAM,所述N为大于或者等于2的正整数,前N-1个子TCAM中的每个子TCAM中包括至少一条TCAM条目,所述每个子TCAM中的至少一条TCAM条目存在一个收敛节点,且所述收敛节点为所述每个子TCAM的下一个子TCAM中的至少一条TCAM条目的起始节点,以及所述收敛节点为所述每个子TCA...

【技术特征摘要】
1.一种多分支跳转协处理方法,所述方法应用于交换机或者路由器,所述交换机或者所述路由器包括:第一网络处理器、第二网络处理器、协处理器和三态内容寻址存储器TCAM,所述协处理器的两端分别与所述第一网络处理器和所述第二网络处理器连接,所述TCAM与所述协处理器连接,其中所述TCAM按照待处理业务被逻辑划分为N个子TCAM,所述N为大于或者等于2的正整数,前N-1个子TCAM中的每个子TCAM中包括至少一条TCAM条目,所述每个子TCAM中的至少一条TCAM条目存在一个收敛节点,且所述收敛节点为所述每个子TCAM的下一个子TCAM中的至少一条TCAM条目的起始节点,以及所述收敛节点为所述每个子TCAM中的至少一条TCAM条目中的每条TCAM条目的最后一个条件节点的下一个条件节点;或者,所述收敛节点为所述每个子TCAM中的至少一条TCAM条目中的每条TCAM条目的最后一个条件节点,以及所述收敛节点为所述每个子TCAM的下一个子TCAM中的至少一条TCAM条目的起始节点的前一个条件节点;所述方法包括:
所述第一网络处理器获取分支跳转条件,并将所述分支跳转条件发送给所述协处理器,其中所述分支跳转条件包括N条分支跳转子条件,所述分支跳转子条件与所述子TCAM一一对应;
所述协处理器对每个子TCAM对应的分支跳转子条件和每个子TCAM中的TCAM条目进行匹配,确定匹配成功的至少一条TCAM条目;
所述协处理器根据所述匹配成功的至少一条TCAM条目确定静态随机存储器SRAM地址;
所述协处理器从所述SRAM地址中获取用于存储待执行动作的存储地址;
所述第二网络处理器获取所述存储地址中的所述待执行动作。


2.根据权利要求1所述的方法,其特征在于,
若所述分支跳转条件最多包括M个条件节点,每个条件节点可以取值为第一数值或者第二数值,所述M为大于或者等于2的正整数,则每条TCAM条目也包括M项数值,每项数值可以为所述第一数值、所述第二数值和第三数值中的任一项;
当任一分支跳转子条件中的条件节点取所述第一数值,且所述任一分支跳转子条件对应的子TCAM中存在至少一条TCAM条目对应位置的数值为所述第一数值或者所述第三数值时,则表示所述任一分支跳转子条件中的条件节点匹配成功;
当所述任一分支跳转子条件中的条件节点取所述第二数值,且所述任一分支跳转子条件对应的子TCAM中存在至少一条TCAM条目对应位置的数值为所述第二数值或者所述第三数值时,则表示所述任一分支跳转子条件中的条件节点匹配成功;
当所述任一分支跳转子条件中的每个条件节点和任一条TCAM条目对应位置的数值匹配成功,则表示所述任一分支跳转子条件和所述任一条TCAM条目匹配成功。


3.根据权利要求2所述的方法,其特征在于,所述协处理器根据所述匹配成功的至少一条TCAM条目确定静态随机存储器SRAM地址,包括:
所述协处理器在所述至少一条TCAM条目中,确定与每个子TCAM对应的分支跳转子条件中的每个条件节点取值相同的TCAM条目;
所述协处理器确定所述取值相同的TCAM条目对应的SRAM地址为所述SRAM地址。


4.根据权利要求1或2所述的方法,其特征在于,还包括:
所述协处理器获取所述子TCAM的划分信息,所述划分信息包括:所述收敛节点的个数和所述收敛节点的位置信息;
所述协处理器根据所述子TCAM的划分信息确定所述分支跳转条件的分割...

【专利技术属性】
技术研发人员:钟汝刚李顺方亚里夫·布里马尤尼·比克
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1