访问控制列表生效控制方法、装置、设备和存储介质制造方法及图纸

技术编号:37395930 阅读:10 留言:0更新日期:2023-04-27 07:33
本申请涉及一种访问控制列表生效控制方法、装置、设备和存储介质。所述方法包括:为每个访问控制列表条目对应的访问控制列表动作创建一个冲突集;为每个访问控制列表条目创建结构体,所述结构体包含访问控制列表条目的优先级;创建并维护汇总链表,所述汇总链表包含所有的访问控制列表条目,并在所述汇总链表的末尾插入所述结构体;创建并维护多个分类排序链表,每一分类排序链表中包含相同访问控制列表键的访问控制列表条目,并按访问控制列表条目的优先级顺序进行排序设置。采用本方法能够根据所述目标访问控制列表条目的优先级顺序结合冲突集判定所述目标访问控制列表条目是否使能生效,并更新其他访问控制列表条目的生效状态。效状态。效状态。

【技术实现步骤摘要】
访问控制列表生效控制方法、装置、设备和存储介质


[0001]本申请涉及交换机
,特别是涉及一种访问控制列表生效控制方法、装置、计算机设备和存储介质。

技术介绍

[0002] 访问控制列表(Access Control List,以下简称ACL)是交换机常用的一种功能。它可以控制报文的各种行为,在交换芯片的报文处理流水线上有很重要的地位。从芯片角度看,ACL资源被分成了几块(通常为8块),每块(以下用chip table代替)包含很多个表项(通常为1024,以下用chip entry代替)。用户所下发的ACL table和ACL entry和芯片中的chip table和chip entry是可以一一对应的。
[0003] 具有相同ACL key的ACL entry,它们的ACL action之间可能会存在冲突,这个时候ACL entry的优先级高的应该生效。但是对于芯片来说,首先要判断的是chip table的优先级。也即如果两个ACL entry所对应的chip entry在不同的chip table内,且动作发生冲突,那么所在chip table优先级高的生效;反之,在一个chip table内优先级高的ACL entry才会生效。
[0004] 在现有的技术方案中,用户下发的ACL table和ACL entry会按照一定的规则被分配到chip table和chip entry之上,高优先级的ACL entry首次被下到一个高优先级的chip table上,低优先级的ACL entry首次被下到了低优先级的chip table上,一切正常,但是删除高优先级的ACL entry之后再次下刷,这次低优先级的ACL entry被分配到高优先级chip table上面了,反而优先生效。

技术实现思路

[0005] 基于此,提供一种访问控制列表生效控制方法、装置、计算机设备和存储介质,用于解决优先级低的ACL entry被下发到高优先级chip table上反而优先生效的技术问题。
[0006]一方面,提供一种访问控制列表生效控制方法,所述方法包括:为每个访问控制列表条目对应的访问控制列表动作创建一个冲突集,在所述冲突集中记录与该访问控制列表动作相冲突的所有访问控制列表动作;为每个访问控制列表条目创建结构体,所述结构体包含访问控制列表条目的优先级;创建并维护汇总链表,所述汇总链表包含所有的访问控制列表条目,并在所述汇总链表的末尾插入所述结构体;创建并维护多个分类排序链表,每一分类排序链表中包含相同访问控制列表键的访问控制列表条目,并按访问控制列表条目的优先级顺序进行排序设置;响应于获取到新增目标访问控制列表条目操作指令时,根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表,遍历所述分类排序链表查找获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,并根据所述目标访
问控制列表条目的优先级顺序结合所述冲突集判定所述目标访问控制列表条目是否使能生效,以及更新所述分类排序链表中其他访问控制列表条目的生效状态。
[0007]在其中一个实施例中,响应于获取到新增目标访问控制列表条目操作指令时,在根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表步骤之前,还包括:根据所述目标访问控制列表条目是否在所述汇总链表中判定所述目标访问控制列表条目是否使能生效;若所述目标访问控制列表条目不在所述汇总链表中,则判定所述目标访问控制列表条目使能生效,并执行下一步;若所述目标访问控制列表条目在所述汇总链表中,则执行下一步。
[0008]在其中一个实施例中,所述根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表步骤,包括:若所述汇总链表为空,则将所述目标访问控制列表条目作为所述汇总链表的头节点;否则将所述目标访问控制列表条目插入至所述汇总链表的末尾;遍历所述汇总链表,查找所述汇总链表中是否存在与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,若不存在则将所述目标访问控制列表条目作为所述分类排序链表的头节点;否则将所述目标访问控制列表条目按照优先级顺序插入至所述分类排序链表中。
[0009]在其中一个实施例中,所述遍历所述分类排序链表查找获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,并根据所述目标访问控制列表条目的优先级顺序结合所述冲突集判定所述目标访问控制列表条目是否使能生效步骤,包括:遍历所述分类排序链表获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目;在所述汇总链表中所有的访问控制列表条目中选取所有比所述目标访问控制列表条目的优先级高的访问控制列表条目形成高优先条目集;判断所述目标访问控制列表条目的访问控制列表动作是否在所述高优先条目集的访问控制列表条目的访问控制列表动作对应的冲突集中;若是,则判定所述目标访问控制列表条目不使能生效;若否,则判定所述目标访问控制列表条目使能生效。
[0010]在其中一个实施例中,在所述判定所述目标访问控制列表条目使能生效步骤之后,还包括:在所述汇总链表中所有的访问控制列表条目中选取所有比所述目标访问控制列表条目的优先级低的访问控制列表条目形成低优先条目集;判断所述低优先条目集的访问控制列表条目的访问控制列表动作,相对于所有优先级比其高且使能的其他访问控制列表条目的访问控制列表动作是否存在冲突;若存在冲突,则判定所述低优先条目集对应的访问控制列表条目不使能生效;若不存在冲突,则判定所述低优先条目集对应的访问控制列表条目使能生效。
[0011]在其中一个实施例中,所述为每个访问控制列表条目对应的访问控制列表动作创
建一个冲突集,在所述冲突集中记录与该访问控制列表动作相冲突的所有访问控制列表动作步骤,包括:获取交换机发出的访问控制列表条目对应的目标访问控制列表动作,识别与所述目标访问控制列表动作相冲突的所有访问控制列表动作;为每一个访问控制列表动作创建冲突集位图,每一位代表了与该访问控制列表动作相冲突的其他访问控制列表动作。
[0012]在其中一个实施例中,所述获取交换机发出的访问控制列表条目对应的目标访问控制列表动作,识别与所述目标访问控制列表动作相冲突的所有访问控制列表动作步骤,包括:获取所述目标访问控制列表动作与其他访问控制列表动作的种类,访问控制列表动作的种类为取消访问控制列表丢包、限速、镜像、丢弃、复制到CPU、重定向到其他端口或修改报文内容中的任一种;根据所述目标访问控制列表动作与其他访问控制列表动作的种类内容,判定两者之间是否存在执行顺序限制;若存在执行顺序限制,则判定所述目标访问控制列表动作与其他访问控制列表动作相冲突;若不存在执行顺序限制,则判定所述目标访问控制列表动作与其他访问控制列表动作不冲突。
[0013]在其中一个实施例中,所述为每个访问控制列表条目创建结构体步骤,包括:为每个访问控制列表条目创建结构体;在所述结构体中填充访问控制列表条目的优先级。
[0014]在其中一个实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问控制列表生效控制方法,其特征在于,包括:为每个访问控制列表条目对应的访问控制列表动作创建一个冲突集,在所述冲突集中记录与该访问控制列表动作相冲突的所有访问控制列表动作;为每个访问控制列表条目创建结构体,所述结构体包含访问控制列表条目的优先级;创建并维护汇总链表,所述汇总链表包含所有的访问控制列表条目,并在所述汇总链表的末尾插入所述结构体;创建并维护多个分类排序链表,每一分类排序链表中包含相同访问控制列表键的访问控制列表条目,并按访问控制列表条目的优先级顺序进行排序设置;响应于获取到新增目标访问控制列表条目操作指令时,根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表,遍历所述分类排序链表查找获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,并根据所述目标访问控制列表条目的优先级顺序结合所述冲突集判定所述目标访问控制列表条目是否使能生效,以及更新所述分类排序链表中其他访问控制列表条目的生效状态。2.根据权利要求1所述的访问控制列表生效控制方法,其特征在于,响应于获取到新增目标访问控制列表条目操作指令时,在根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表步骤之前,还包括:根据所述目标访问控制列表条目是否在所述汇总链表中判定所述目标访问控制列表条目是否使能生效;若所述目标访问控制列表条目不在所述汇总链表中,则判定所述目标访问控制列表条目使能生效,并执行下一步;若所述目标访问控制列表条目在所述汇总链表中,则执行下一步。3.根据权利要求2所述的访问控制列表生效控制方法,其特征在于,所述根据所述目标访问控制列表条目更新所述汇总链表及所述分类排序链表步骤,包括:若所述汇总链表为空,则将所述目标访问控制列表条目作为所述汇总链表的头节点;否则将所述目标访问控制列表条目插入至所述汇总链表的末尾;遍历所述汇总链表,查找所述汇总链表中是否存在与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,若不存在则将所述目标访问控制列表条目作为所述分类排序链表的头节点;否则将所述目标访问控制列表条目按照优先级顺序插入至所述分类排序链表中。4.根据权利要求3所述的访问控制列表生效控制方法,其特征在于,所述遍历所述分类排序链表查找获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目,并根据所述目标访问控制列表条目的优先级顺序结合所述冲突集判定所述目标访问控制列表条目是否使能生效步骤,包括:遍历所述分类排序链表获取与所述目标访问控制列表条目的访问控制列表键内容相同的访问控制列表条目;在所述汇总链表中所有的访问控制列表条目中选取所有比所述目标访问控制列表条目的优先级高的访问控制列表条目形成高优先条目集;判断所述目标访问控制列表条目的访问控制列表动作是否在所述高优先条目集的访问控制列表条目的访问控制列表动作对应的冲突集中;
若是,则判定所述目标访问控制列表条目不使能生效;若否,则判定所述目标访问控制列表条目使能生效。5.根据权利要求4所述的访问控制列表生效控制方法,其特征在于,在所述判定所述目标访问控制列表条目使能生效步骤之后,还包括:在所述汇总链表中所有的访问控制列表条目中选取所有比所述目标访问控制列表条目的优先级低的访问控制列表条目形成低优先条目集;判断所述低优先条目集的访问控制列表条目的访问控制列表动作,相对于所有优先级比其高的其他访问控制列表条目的访问控制列表动作是否存在冲突;若存在冲突,则判定所述低优先条目集对应的访问控制列表条目不使能生效;若不存在冲突,则判定所述低优先条目集对应的访问控制列表条目使能生效。6.根据权利要求1所述的访问控制列表生效控制方法,其特征在于,所述为每个访问控制列表条目对应的访问控制列表动作创建一个冲突集,在所述冲突集中记录与该访问控制列表动作相冲突的所有访问控制列表动作步骤,包括:获取交换机发出的访问控制列表条目对应的目标访问控制列表动作,识别与所述目标访问控制列表动作相冲突的所有访问控制列表动作;为每一个访问控制列表动作创建冲突集位图,每一位代表了与该访问控制列表动作相冲突的其他访问控制列表动作。7.根据权利要求6所述的访问控制列表生效控制方法,其特征在于,所述获取交换机发出的访问控制列表条目对应的目标访问控制列表动作,识别与所述目标访问控制列表动作相冲突的所有访问控制列表动作步骤,包括:获取所述目标访问控制列表动作与其他访问控制列表动作的种类,访问控制列表动作的种类为取消访问控制列表丢包、限速、镜像、丢弃、复制到CPU、重定向到其他端口或修改报文内容中的任一种;根据所述目标访问控制列表动作与其他访问控制列表动作的种类内容,判定两者之间是否存在执行顺序限制;若存在执行顺序限制,则判定所述目标访问控制列表动作与其他访问控制列表动作相冲突;若不存在执行顺序限制,则判定所述目标访问控制列表动作与其他访问控制列表动作不冲突。8.根据权利要求1所述的访问控制列表生效控制方法,其特征在于,所述为每个访问控制列表条目创建结构体步骤,包括:为每个访问控制列表条目创建结构体;在所述结构体中填充访问控制列表条目的优先级。9.根据权利要求8所述的访问控制列表生效控制方法,其特征在于,所述为每个访问控制列表条目创建结构体步骤,还包括:在所述结构体中填充所述访问控制列表条目所包含的访问控制列表键的类型和值;在所述结构体中填充访问控制列表动作的值;在所述结构体中填充与所述访问控制列表条目及访问控制列表条目集合对应的ID信息;
在所述结构体中设置指向其他访问控制列...

【专利技术属性】
技术研发人员:郭世豪陈翔
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1