本发明专利技术实施例提供一种移动TCAM表项的方法、装置、设备及介质。所述方法包括:接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中;若所述移动链表中的优先级表项的数量大于预设阈值,则将所述移动链表中的所有优先级表项搬移至硬件表项中。本发明专利技术实施例提供的移动优先级表项的方法,批量缓存一定数量的优先级表项,利用移动链表按优先级排序,并一次性将移动链表中的优先级表项搬移到硬件表项中,相比于逐条移动优先级表项的方法,批量移动可以整合中间移动过程,大大减少优先级表项操作扇出比,提高了优先级表项的配置性能。先级表项的配置性能。先级表项的配置性能。
【技术实现步骤摘要】
一种移动TCAM表项的方法、装置、设备及介质
[0001]本专利技术实施例涉及数据通信领域,具体涉及一种移动TCAM表项的方法、装置、设备及介质。
技术介绍
[0002]在路由器和交换机等网络设备中,使用访问控制列表(Access Control List,ACL)控制用户对网络的访问,保障网络安全。ACL是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。ACL存储在交换芯片的三态内存寻址寄存器中(Ternary Content Cddressable Memory,TCAM),称为TCAM表项。TCAM表项间存在优先级关系,优先级高的表项,安装的硬件位置较小。因此每次新增TCAM表项,可能需要移动已安装的TCAM表项。
[0003]图1为现有技术中TCAM移动过程示意图,如图1所示,安装一条优先级最高的TCAM表项,需要从下往上依次移动已安装的所有TCAM表项,当已安装表数量较多时,会严重影响表项的配置性能,可能导致表项迟迟无法生效。因此,提高TCAM表项的移动性能是解决表项安装时间过长的关键。
[0004]目前,提高TCAM表项配置性能的实现方案有:(1)芯片升级,使用性能更强的交换芯片;(2)TCAM空间预留:在安装TCAM表项时分散安装,预留一定空间,减少移动次数。方案(1)可直接提高表项配置性能,但网络设备数量庞大,更换交换芯片成本过高。方案(2)的效果与已安装表项在TCAM中的占比相关,当已安装表项占比较小时,能在一定程度上减少表项移动次数,提高表项移动性能;但当已安装表项占比较高时,基本失效,TCAM表项移动仍是性能瓶颈。
技术实现思路
[0005]针对现有技术中的缺陷,本专利技术实施例提供了一种移动TCAM表项的方法、装置、设备及介质。
[0006]第一方面,本专利技术实施例提供一种移动优先级表项的方法,包括:
[0007]接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中;
[0008]若所述移动链表中的优先级表项的数量大于预设阈值,则将所述移动链表中的所有优先级表项搬移至硬件表项中。
[0009]如上述方法,可选地,所述将所述移动链表中的所有优先级表项搬移至硬件表项中,包括:
[0010]确定所述所有优先级表项中每个优先级表项的搬移顺序和在所述硬件表项中的移动位置;
[0011]按照所述搬移顺序依次将所述所有优先级表项中的每个优先级表项搬移到所述硬件表项中对应的移动位置。
[0012]如上述方法,可选地,所述确定所述所有优先级表项中每个优先级表项的搬移顺序,包括:
[0013]确定所述所有优先级表项中每个优先级表项的移动方向;其中,向上移动时,优先级表项在所述硬件表项中的位置编号减小,向下移动时,优先级表项在所述硬件表项中的位置编号增大,位置编号越大,对应的优先级越低;
[0014]初始化操作链表;
[0015]依次遍历所述移动链表中的每个优先级表项,若操作链表中上一个新增的优先级表项不为空,且所述上一个新增的优先级表项的移动方向与移动链表中的第一优先级表项的移动方向一致,且所述移动方向为向下移动,则将所述第一优先级表项插入到所述操作链表中上一个新增的优先级表项之前;
[0016]否则,将所述第一优先级表项插入到所述操作链表的尾部;
[0017]所述移动链表中的所有优先级表项都插入到所述操作链表之后,按照所述操作链表确定所述所有优先级表项的搬移顺序。
[0018]如上述方法,可选地,接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中,包括;
[0019]若所述移动链表中存在所述待移动的优先级表项,则更新所述待移动的优先级表项在所述移动链表中的位置;
[0020]否则,计算所述待移动的优先级表项的优先级,并按照优先级顺序将所述待移动的优先级表项插入到移动链表中。
[0021]如上述方法,可选地,所述优先级表项包括:TCAM表项、路由器优先级表项或QOS策略优先级表项。
[0022]第二方面,本专利技术实施例提供一种移动优先级表项的装置,包括:
[0023]缓存模块,用于接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中;
[0024]处理模块,用于若所述移动链表中的优先级表项的数量大于预设阈值,则将所述移动链表中的所有优先级表项搬移至硬件表项中。
[0025]如上述装置,可选地,所述处理模块包括:
[0026]确定单元,用于确定所述所有优先级表项中每个优先级表项的搬移顺序和在所述硬件表项中的移动位置;
[0027]搬移单元,用于按照所述搬移顺序依次将所述所有优先级表项中的每个优先级表项搬移到所述硬件表项中对应的移动位置。
[0028]如上述装置,可选地,所述确定单元具体用于:
[0029]确定所述所有优先级表项中每个优先级表项的移动方向;其中,向上移动时,优先级表项在所述硬件表项中的位置编号减小,向下移动时,优先级表项在硬件表项中的位置编号增大,位置编号越大,对应的优先级越低;
[0030]初始化操作链表;
[0031]依次遍历所述移动链表中的每个优先级表项,若操作链表中上一个新增的优先级表项不为空,且所述上一个新增的优先级表项的移动方向与移动链表中的第一优先级表项的移动方向一致,且所述移动方向为向下移动,则将所述第一优先级表项插入到所述操作
链表中上一个新增的优先级表项之前;
[0032]否则,将所述第一优先级表项插入到所述操作链表的尾部;
[0033]所述移动链表中的所有优先级表项都插入到所述操作链表之后,按照所述操作链表确定所述所有优先级表项的搬移顺序。
[0034]如上述装置,可选地,所述缓存模块具体用于:
[0035]若所述移动链表中存在所述待移动的优先级表项,则更新所述待移动的优先级表项在所述移动链表中的位置;
[0036]否则,计算所述待移动的优先级表项的优先级,并按照优先级顺序将所述待移动的优先级表项插入到移动链表中。
[0037]如上述装置,可选地,所述优先级表项包括:TCAM表项、路由器优先级表项或QOS策略优先级表项。
[0038]第三方面,本专利技术实施例提供一种电子设备,包括:
[0039]存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中;若所述移动链表中的优先级表项的数量大于预设阈值,则将所述移动链表中的所有优先级表项搬移至硬件表项中。
[0040]第四方面,本专利技术实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:接收待移动的优先级表项,按照优先级顺序将所述待移动的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种移动优先级表项的方法,其特征在于,包括:接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中;若所述移动链表中的优先级表项的数量大于预设阈值,则将所述移动链表中的所有优先级表项搬移至硬件表项中。2.根据权利要求1所述的方法,其特征在于,所述将所述移动链表中的所有优先级表项搬移至硬件表项中,包括:确定所述所有优先级表项中每个优先级表项的搬移顺序和在所述硬件表项中的移动位置;按照所述搬移顺序依次将所述所有优先级表项中的每个优先级表项搬移到所述硬件表项中对应的移动位置。3.根据权利要求2所述的方法,其特征在于,所述确定所述所有优先级表项中每个优先级表项的搬移顺序,包括:确定所述所有优先级表项中每个优先级表项的移动方向;其中,向上移动时,优先级表项在所述硬件表项中的位置编号减小,向下移动时,优先级表项在所述硬件表项中的位置编号增大,位置编号越大,对应的优先级越低;初始化操作链表;依次遍历所述移动链表中的每个优先级表项,若操作链表中上一个新增的优先级表项不为空,且所述上一个新增的优先级表项的移动方向与移动链表中的第一优先级表项的移动方向一致,且所述移动方向为向下移动,则将所述第一优先级表项插入到所述操作链表中上一个新增的优先级表项之前;否则,将所述第一优先级表项插入到所述操作链表的尾部;所述移动链表中的所有优先级表项都插入到所述操作链表之后,按照所述操作链表确定所述所有优先级表项的搬移顺序。4.根据权利要求1所述的方法,其特征在于,接收待移动的优先级表项,按照优先级顺序将所述待移动的优先级表项插入到移动链表中,包括;若所述移动链表中存在所述待移动的优先级表项,则更新所述待移动的优先级表项在所述移动链表中的位置;否则,计算所述待移动的优先级表项的优先级,并按照优先级顺序将所述待移动的优先级表项插入到移动链表中。5.根据权利要求1
‑
4任一所述的方法,其特征在于,所述优...
【专利技术属性】
技术研发人员:林星,
申请(专利权)人:锐捷网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。