一种acl规则的加载方法及装置的制造方法_3

文档序号:9579195阅读:来源:国知局
CAM Bank地址从高到低)的顺序遍历预设的优先级链表,可以在TCAMBank中找到两个位置一上界位置和下界位置,其中,上界位置为第一个优先级不小于P的ACL规则所占用的基本存储单元,下界位置为最后一个优先级不大于P的ACL规则所占用的基本存储单元,上界位置和下界位置之间的基本存储单元组成可加载范围。
[0044]步骤303:当所述可加载范围中包含的基本存储单元的数目小于待加载的ACL规则的数目时,搬迁存储介质中已经存储的ACL规则,将搬迁后得到的空闲基本存储单元作为扩展的基本存储单元添加至所述可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于待加载的ACL规则的数目;将数据加载请求指示的待加载的ACL规则依次加载至添加了扩展的基本存储单元的可加载范围中的基本存储单元。
[0045]在本实施例的另一个实施方式中,当可加载范围中包含的基本存储单元的数目大于或等于待加载的ACL规则的数目时,直接将数据加载请求指示的待加载的ACL规则依次下发至该可加载范围中的基本存储单元。
[0046]具体的,搬迁存储介质中已经存储的ACL规则,可以包括:将与可加载范围相邻的指定基本存储单元作为第一基本存储单元;在TCAM Bank中筛选出除该可加载范围之外距离该第一基本存储单元最近的且处于空闲状态的第二基本存储单元;搬迁该第二基本存储单元与该第一基本存储单元之间的基本存储单元中已存储的ACL规则。其中,所述第一基本存储单元可以为与确定的可加载范围相邻的上界位置或下界位置,在本实施例中,将上界位置作为所述第一基本存储单元。
[0047]优选的,在搬迁过程中,可以不改变已经存储的ACL规则的前后存储顺序。
[0048]参阅图5中搬迁处理的图示,确定本批次的待加载的ACL规则的数目为6,且待加载的ACL规则的优先级为P,并且在步骤302后,确定的可加载范围中基本存储单元的数目小于待加载的ACL规则的数目,即无可加载范围或可加载范围中空间不足,这样,首先确定优先级为P-High且地址最高的基本存储单元(即箭头所指示的上界位置)作为第一基本存储单元,在TCAM Bank中筛选出除该可加载范围之外距离该第一基本存储单元最近的且处于空闲状态的第二基本存储单元;然后搬迁筛选出的该第二基本存储单元与该第一基本存储单元之间的基本存储单元中已存储的ACL规则,将搬迁处理后得到的空闲基本存储单元作为扩展的基本存储单元添加至可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于待加载的ACL规则的数目时再停止搬迁,在图5中,将优先级为P-Low的ACL规则搬迁4次后,将该优先级为P_Low的ACL规则迁移至TCAM Bank中倒数第二个基本存储单元后,当前扩展后的可加载范围中基本存储单元数目为6,将有足够的空间进行本批次的ACL规则加载。
[0049]优选的,将数据加载请求指示的待加载的ACL规则直接依次加载至添加了扩展的基本存储单元的可加载范围,可以包括:将第一条待加载的ACL规则加载至添加了扩展的基本存储单元的可加载范围中的指定位置的首个基本存储单元;然后依次将剩余每一条待加载的ACL规则加载至添加了扩展的基本存储单元的可加载范围中距离首个基本存储单元最近的基本存储单元中。
[0050]其中,在实际场景中,可以将可加载范围中地址最低的基本存储单元作为首个基本存储单元,或者将地址最高的基本存储单元作为首个基本存储单元,仍以图5为例,在本实施例中,将地址最低的基本存储单元作为首个基本存储单元,然后按照地址从低到高依次将每一条待加载的ACL规则加载至基本存储单元,这样,保证了在待加载的ACL规则存储到基本存储单元的过程中有足够的空间进行存储,不需要在ACL规则加载过程中搬迁ACL规则。
[0051]基于上述实施例,参阅图6所示,本发明实施例还提供了一种ACL规则的加载装置,该装置包括:接收单元601,确定单元602、处理单元603,其中,
[0052]接收单元601,用于接收数据加载请求,该数据加载请求包括待加载的ACL规则的数目;
[0053]确定单元602,用于根据该数据加载请求在用于存储ACL规则的存储介质中确定可加载范围;
[0054]处理单元603,用于当该可加载范围中包含的基本存储单元的数目小于待加载的ACL规则的数目时,搬迁存储介质中已经存储的ACL规则,将搬迁处理后得到的空闲基本存储单元作为扩展的基本存储单元添加至可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于待加载的ACL规则的数目;
[0055]将数据加载请求指示的待加载的ACL规则依次加载至添加了扩展的基本存储单元的可加载范围中的基本存储单元。
[0056]较佳地,存储介质为TCAM Bank。
[0057]确定单元602,具体用于:
[0058]将数据加载请求指定的TCAM Bank中的基本存储单元作为可加载范围;或者
[0059]根据数据加载请求,确定待加载的ACL的规则的优先级;根据待加载的ACL规则的优先级,按照从低优先级到高优先级的顺序遍历包括ACL规则的优先级和基本存储单元位置信息的映射关系的优先级链表,将TCAM Bank中首个优先级不小于待加载的ACL规则的优先级的基本存储单元作为上界位置,将TCAM Bank中最后一个优先级不大于待加载的ACL规则的优先级的基本存储单元作为下界位置;将上界位置和下界位置之间的基本存储单元作为可加载范围。
[0060]处理单元603搬迁存储介质中已经存储的ACL规则时,具体用于:
[0061]将与可加载范围相邻的指定基本存储单元作为第一基本存储单元;
[0062]在TCAM Bank中筛选出除可加载范围之外距离第一基本存储单元最近的且处于空闲状态的第二基本存储单元;
[0063]搬迁筛选出的第二基本存储单元与第一基本存储单元之间的基本存储单元中已存储的ACL规则。
[0064]处理单元603在将数据加载请求指示的待加载的ACL规则依次加载至添加了扩展的基本存储单元的可加载范围中的基本存储单元时,包括:
[0065]将第一条待加载的ACL规则加载至添加了扩展的基本存储单元的可加载范围中的指定位置的首个基本存储单元;
[0066]依次将剩余每一条待加载的ACL规则加载至添加了扩展的基本存储单元的可加载范围中距离首个基本存储单元最近的基本存储单元中。
[0067]基于上述实施例,参阅图7所示,本发明实施例还提供了一种ACL规则的加载装置,该装置包括:收发器701和处理器702,其中,
[0068]收发器701,用于接收数据加载请求,所述数据加载请求包括待加载的ACL规则的数目;
[0069]处理器702,用于根据所述数据加载请求在用于存储ACL规则的存储介质中确定可加载范围;当所述可加载范围中包含的基本存储单元的数目小于所述待加载的ACL规则的数目时,搬迁所述存储介质中已经存储的ACL规则,将搬迁后得到的空闲基本存储单元作为扩展的基本存储单元添加至所述可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于所述待加载的ACL规则的数目;将所述数据加载请求指示的待加载的ACL规则依次加载至添加了扩展的基本存储单元的可加载范围中的基本存储单元。
[0070]较佳地,所述存储介质为三态内容寻址存储器块TCAM Bank。
[0071]处理器702在根据所述数据加载请求在用于存储ACL规则的存储介质中确定可加载范围时,具体用于:
[0072]将所述数据加载请求指定的所述TCAM Bank中的基本存储单元作为可加载范围;或者
[0073]根据所述数据加载请求,确定待加载的ACL的规则的优先级;根据所述待加载的ACL规则的优先级,按照从低优先级到高优先级的顺序遍历包括ACL规则的优先级和基本存储单元位置信息的映射关系的优先级链表,将所述TCAM Bank中首个优先级不小于所述待加载的ACL规则的优先级的基本存储单元作为上界位置,将所述TCAM Bank中最后一个优先级不大于所述待加载的ACL规则的优先级的基本存储单元作为下界位置;将所述上界位置和所述下界位置之间的基本存储单元作为可加载范围。
[0074]处理器702在搬迁所述存储介质中已经存储的ACL规则时,具体用于:
[0075]将与所述可加载范围相邻的指定基本存储单元作为第
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1