CN117499346A - 访问控制信息的下发方法及装置 - Google Patents
访问控制信息的下发方法及装置 Download PDFInfo
- Publication number
- CN117499346A CN117499346A CN202311839052.3A CN202311839052A CN117499346A CN 117499346 A CN117499346 A CN 117499346A CN 202311839052 A CN202311839052 A CN 202311839052A CN 117499346 A CN117499346 A CN 117499346A
- Authority
- CN
- China
- Prior art keywords
- target
- access control
- control information
- linked list
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims abstract description 215
- 238000012216 screening Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 13
- 230000037431 insertion Effects 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 3
- 239000000523 sample Substances 0.000 claims 8
- 239000000758 substrate Substances 0.000 claims 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种访问控制信息的下发方法及装置,目标交换设备上部署有目标芯片和多个数据传输端口,目标芯片上配置了与每个数据传输端口一一对应的访问控制列表,方法应用于目标交换设备,方法包括:接收用户发起的端口配置请求;响应端口配置请求,从目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索目标访问控制信息在每个目标数据传输端口对应的访问控制数据中的目标数据;根据目标数据控制目标芯片配置目标访问控制信息。通过本申请,可以解决相关技术中访问控制信息的下发效率较低的问题,达到提高访问控制信息的下发效率的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种访问控制信息的下发方法及装置。
背景技术
交换芯片是网络交换设备的核心部件,负责数据包的转发和处理。一般来说,交换设备会集成多个数据传输端口,用于连接不同设备进行数据交换。访问控制信息是用于控制网络中数据包的流向和权限的配置信息,可以包括数据传输端口的访问权限、流量控制、安全策略等。用户根据对交换设备的数据传输端口的数据处理需求将对数据传输端口的访问控制信息的配置请求通过交换设备下发到交换芯片上,进而该芯片根据数据传输端口的访问控制信息对交换设备上对应的数据传输端口上的数据进行处理。在实际使用中,用户存在某些需求让同一个访问控制信息在交换设备上的多个数据传输端口上生效。为了实现这种需求,用户通常以匹配端口位图的方式将配置请求下发给交换芯片,即直接对芯片下发一条匹配端口位图的配置请求就可以了,这对芯片的功能等级存在一定要求,需要芯片支持基于端口位图的配置功能,但是在实际引用中可能存在芯片不支持这样功能的情况,为此,用户需要分别构建匹配每个数据传输端口的配置请求给芯片,这无疑增加了用户的配置成本。
发明内容
本申请实施例提供了一种访问控制信息的下发方法及装置,以至少解决相关技术中访问控制信息的下发效率较低的问题。
根据本申请的一个实施例,提供了一种访问控制信息的下发方法,目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述方法应用于所述目标交换设备,所述方法包括:
接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
可选的,所述响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,包括:
提取所述端口配置请求携带的目标数据传输端口和配置类型,其中,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式;
从具有对应关系的数据传输端口和访问控制数据中搜索出与所述目标数据传输端口对应的目标访问控制数据;
根据所述配置类型和所述目标访问控制数据确定所述目标数据。
可选的,所述根据所述配置类型和所述目标访问控制数据确定所述目标数据,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,其中,所述第一位置标识用于指示所述第一存储位置在所述目标芯片上的位置,所述目标数据包括所述第一位置标识;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,其中,所述第二位置标识用于指示所述第二存储位置在所述目标芯片上的位置,所述目标数据包括所述第二位置标识。
可选的,所述根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,包括:
根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识;
从所述第三位置标识中筛选出所述第一位置标识。
可选的,所述根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识,包括:
提取所述第一结构体中包括的第四位置标识,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应存储位置中存储的访问控制信息的类型,所述第四位置标识用于指示与所述第一结构体对应的存储位置在所述目标芯片中的位置,所述目标访问控制数据包括所述第一结构体;
将位置标识集合中除所述第四位置标识之外的其他位置标识确定为所述第三位置标识,其中,所述位置标识集合中存储了目标芯片上与所述目标数据传输端口对应的存储位置的位置标识。
可选的,所述根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,包括:
从所述第一结构体中筛选出携带了目标信息标识的第二结构体,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应的存储位置中存储的访问控制信息的类型,所述目标信息标识用于指示所述目标访问控制信息,所述目标访问控制数据包括所述第二结构体;
提取所述第二结构体中携带的所述第二位置标识。
可选的,所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息,包括:
根据所述目标数据确定所述目标芯片上的目标存储位置;
控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,其中,所述配置类型为从所述端口配置请求中提取得到的,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式。
可选的,所述控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的目标接口将所述端口配置请求中携带的所述目标访问控制信息写入所述目标存储位置;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的所述目标接口将所述目标存储位置中存储的配置信息进行删除。
可选的,在所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息之后,所述方法还包括:
获取所述目标芯片对所述目标访问控制信息的配置结果;
根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据。
可选的,所述根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据,包括:
根据所述配置结果确定所述目标芯片中的目标存储位置的目标结构体,其中,所述目标存储位置为所述目标芯片上配置了所述目标访问控制信息的存储位置,所述目标结构体用于指示所述目标存储位置中存储的访问控制信息的类型;
使用所述目标结构体对初始链表进行更新,得到所述目标链表,其中,所述访问控制数据包括所述初始链表,所述参考访问控制数据包括所述目标链表,所述初始链表中记录了所述目标芯片上存储了相同类型的访问控制信息的存储位置的结构体之间的关联关系。
可选的,所述使用所述目标结构体对初始链表进行更新,得到所述目标链表,包括以下之一:
在所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,将所述目标结构体更新到所述初始链表中,得到所述目标链表;
在所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,从所述初始链表中删除所述目标结构体,得到所述目标链表。
可选的,所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求为基于端口位图的配置请求的情况下,将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,其中,所述端口位图用于指示所述端口配置请求所生效的所述目标数据传输端口,所述第一数据传输端口为所述端口位图所包括的所述目标数据传输端口中排序处于首位的数据传输端口,所述初始链表包括所述第一链表,所述第一链表用于指示已经在所述目标芯片上按照信息配置顺序配置的访问控制信息;
以所述插入节点为头节点在所述初始链表中创建第二链表,其中,所述第二链表中存储了其他数据传输端口对应的所述目标结构体,所述其他数据传输端口对应的所述目标结构体在所述第二链表中按照所述其他数据传输端口在所述端口位图中的排序顺序依次存储,所述其他数据传输端口为所述端口位图中除所述第一数据传输端口以外的端口。
可选的,所述将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,包括:
将所述第一链表尾部的第三结构体中的第一指针字段的字段值设置为与所述第一数据传输端口对应的所述目标结构体中包括的第一字段的字段值,其中,所述第一字段为用于指示访问控制信息的信息标识的字段,所述第一指针字段用于指示所述信息配置顺序中下一个访问控制信息的信息标识,所述信息标识用于指示所述目标芯片上与所述结构体对应的存储位置中存储的访问控制信息类型;
将所述插入节点的所述第一指针字段的字段值设置为尾节点字段值。
可选的,所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求用于请求增加与所述目标访问控制信息绑定的数据传输端口的情况下,从所述初始链表中筛选出与参考访问控制信息对应的第三链表,其中,所述第三链表用于记录所述目标芯片上已经存储了所述目标访问控制信息的存储位置对应的结构体;
将所述目标结构体添加到所述第三链表的尾部。
可选的,所述将所述目标结构体添加到所述第三链表的尾部,包括:
将所述第三链表尾部的第四结构体的第二指针字段的字段值设置为所述目标结构体包括的第二字段的字段值,其中,所述第二指针字段用于指示所述目标芯片上下一个存储了所述目标访问控制信息的存储位置对应的结构体,所述第二字段为用于指示存储位置在所述目标芯片上的位置;
将所述目标结构体写入所述第三链表中所述第四结构体之后的位置,并将所述目标结构体的所述第二指针字段的字段值设置为尾节点字段值。
可选的,所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除在所述目标芯片上配置的所述目标访问控制信息的情况下,从第一链表中查找与所述初始目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的存储位置;
查找所述初始链表中以所述第三结构体为起始节点的第四链表,其中,所述第四链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体,所述目标结构体包括所述第五结构体和所述第四链表中记录的结构体;
从所述第一链表中删除所述第五结构体以及删除所述第四链表中存储的全部结构体。
可选的,所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除与所述目标芯片上配置的所述目标访问控制信息绑定的数据传输端口的下,从所述初始链表中筛选出第五链表,其中,所述第五链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体;
将所述第五链表中的包括的目标结构体删除。
可选的,所述从所述初始链表中筛选出第五链表,包括:
从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述候选目标访问控制信息的信息存储条目;
查找所述初始链表中以所述第五结构体为起始节点的所述第五链表。
可选的,所述方法还包括:
在接收到目标查询命令的情况下,根据参考访问控制信息从初始链表中筛选出第六链表,其中,所述访问控制数据包括所述初始链表,所述初始链表中记录了所述目标芯片上已经存储的访问控制信息在所述目标芯片上的存储的存储位置对应的结构体,所述结构体用于指示对应的存储位置中存储的访问控制信息的信息类型,所述目标查询命令用于请求查询所述目标芯片上与所述参考访问控制信息具有绑定关系的数据传输端口数量,所述第六链表中记录了与所述目标芯片中存储了所述参考访问控制信息的存储位置对应的结构体;
将所述第六链表中记录的所述结构体的数量作为所述目标芯片上与所述目标访问控制信息具有绑定关系的数据传输端口数量。
可选的,所述根据参考访问控制信息从初始链表中筛选出六链表,包括:
从第一链表中查找与所述参考访问控制信息对应的第六结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第六结构体用于指示所述目标芯片中一个存储了所述参考访问控制信息的存储位置在所述芯片中的位置;
查找所述初始链表中以所述第六结构体为起始节点的所述第七第六链表。
根据本申请的另一个实施例,提供了一种 访问控制信息的下发装置,目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述装置应用于所述目标交换设备,所述装置包括:
接收模块,用于接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
搜索模块,用于响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;
配置模块,用于根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,目标芯片上配置了交换设备上每个数据传输端口对应的访问控制列表,在目标交换设备上,通过维护数据传输端口和访问控制信息的对应关系,从而能够知道各个数据传输端口的访问控制列表在目标芯片上的存储信息,进而在目标交换设备接收到用户发起的请求对目标交换设备上的目标数据端口的访问控制列表配置目标访问控制信息的端口配置请求的情况下,通过搜索目标访问控制信息在每个目标数据传输端口对应的访问控制数据中的目标数据,从而确定出目标芯片中用于为对应的目标数据传输端口配置目标访问控制信息的位置,进而目标交换设备通过根据目标数据对目标交换芯片进行控制,从而实现通过目标交换设备根据用户下发的端口配置请求对目标芯片上的访问控制信息的配置功能,避免了用户在执行对多个数据传输端口的访问控制信息批量配置时配置操作的重复执行,因此,可以解决相关技术中访问控制信息的下发效率较低的问题,达到提高访问控制信息的下发效率的效果。
附图说明
图1是本申请实施例的一种访问控制信息的下发方法的服务器设备的硬件结构框图;
图2是根据本申请实施例的访问控制信息的下发方法的流程图;
图3是根据本申请实施例的一种可选的系统示意图;
图4是根据本申请实施例的一种科学的初始链表示意图;
图5是根据本申请实施例的一种可选的访问控制信息的下发流程图;
图6是根据本申请实施例的访问控制信息的下发装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种访问控制信息的下发方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的访问控制信息的下发方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种访问控制信息的下发方法,图2是根据本申请实施例的访问控制信息的下发方法的流程图,目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述方法应用于所述目标交换设备,如图2所示,所述方法包括如下步骤:
步骤S202,接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
步骤S204,响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;
步骤S206,根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
本申请应用于交换设备上,交换设备上部署有目标芯片,图3是根据本申请实施例的一种可选的系统示意图,如图3所示,交换设备在接收到用户下发的端口配置请求后,响应端口配置请求,从交换设备上存储的访问控制数据中搜索出目标数据,进而使用目标数据控制目标芯片配置目标访问控制信息。
通过上述步骤,目标芯片上配置了交换设备上每个数据传输端口对应的访问控制列表,在目标交换设备上,通过维护数据传输端口和访问控制信息的对应关系,从而能够知道各个数据传输端口的访问控制列表在目标芯片上的存储信息,进而在目标交换设备接收到用户发起的请求对目标交换设备上的目标数据端口的访问控制列表配置目标访问控制信息的端口配置请求的情况下,通过搜索目标访问控制信息在每个目标数据传输端口对应的访问控制数据中的目标数据,从而确定出目标芯片中用于为对应的目标数据传输端口配置目标访问控制信息的位置,进而目标交换设备通过根据目标数据对目标交换芯片进行控制,从而实现通过目标交换设备根据用户下发的端口配置请求对目标芯片上的访问控制信息的配置功能,避免了用户在执行对多个数据传输端口的访问控制信息批量配置时配置操作的重复执行,因此,可以解决相关技术中访问控制信息的下发效率较低的问题,达到提高访问控制信息的下发效率的效果。
在上述步骤S202提供的实施例中,端口配置请求可以但不限于是对一个或者多个目标数据传输端口的访问控制列表配置目标访问控制信息,即端口配置请求可以是在单个数据传输端口上生效的端口配置请求,或者还可以是在多个数据传输端口上生效的批量配置请求,当目标端口数量为多个时,端口配置请求可以是匹配端口位图的端口配置请求,端口位图中包括配置请求需要生效的多个目标数据传输端口,当目标交换机接收到匹配端口位图的端口配置请求的情况下,通过对端口位图进行识别,从而确定出目标数据传输端口;或者用户下发的端口配置请求还可以是直接携带了配置请求需要生效的数据传输端口标识的配置请求,目标交换机通过识别端口标识从而确定需要生效的目标数据传输端口,本方案对此不做限定。
可选地,在本申请实施例中,端口配置请求可以但不限于请求增加访问控制信息和数据传输端口的绑定关系,此时访问控制信息可以是目标芯片上已经配置了的访问控制信息,即原本目标芯片上配置了访问控制信息A,该访问控制信息A与数据传输端口a存在绑定关系,端口配置请求可以是用于请求在保持访问控制信息A与数据传输端口a的绑定关系不变的基础上,增加访问控制信息A和交换设备上其他数据传输端口的绑定关系,或者访问控制信息还可以是目标芯片上并未配置过的访问控制信息,端口配置请求用于在交换设备上新增一个新的访问控制信息和数据传输端口的绑定关系;另外端口配置请求还可以是删除访问控制信息和数据传输端口的绑定关系,删除访问控制信息和数据传输端口的绑定关系可以是删除与访问控制信息存在绑定关系的全部或者部分数据传输端口,本方案对此不做限定。
在上述步骤S204提供的实施例中,在交换设备上维护了数据传输端口对应的访问控制数据,访问控制数据中记录了对应数据传输端口的访问控制列表在目标芯片中的存储信息,存储信息用于指示对应数据传输端口的访问控制列表中的每个访问控制信息在目标芯片上的存储位置,或者对应数据传输端口的访问控制列表中包括的多个访问控制信息在目标芯片上的存储格式。因此在确定了目标访问控制机信息后,能够使用目标访问控制信息在目标芯片上的存储位置,比如,在具体操作时,端口配置请求可以是对目标芯片上的目标访问控制信息进行删除,因此需要删除目标芯片上存储的目标访问控制信息,可以使用目标访问控制信息对访问控制数据进行搜索,从各个数据传输端口的存储信息中找到目标访问控制数据在目标芯片上的存储位置,得到目标数据。当端口配置请求是在目标芯片上新增目标访问控制信息的情况下,可以对访问控制数据进行搜索,从而找到对应端口的访问控制列表中的访问控制信息在目标芯片中的存储位置,进而根据已存储了访问控制信息的存储位置在目标芯片上找到空闲的存储位置,从而空闲的存储位置中确定出用于存储目标访问控制数据的存储位置。
可选地,在本申请实施例中,访问控制数据可以但不限于是通过表格的形式记录数据传输端口和访问控制列表在目标芯片上的存储信息,比如,构建信息存储表格,将同一个数据传输端口的访问存储信息存储在同一个表格区域内;或者访问控制数据还可以是记录了存储信息的链表,即链表上存储多个结构体,每个结构体对应目标芯片上的一个信息存储位置,将结构体用于指示对应的信息存储位置上存储的访问控制信息的类型,链表上的结构体之间存在指向关系。
可选地,在本申请实施例中,目标数据可以是目标芯片上用于存储目标访问控制信息的存储位置的索引信息,或者用于存储目标访问控制信息的存储位置在目标芯片上的位置信息,或者还可以是目标芯片上用于存储目标访问控制信息的目标存储位置的位置标识,本方案对此不做限定。
在上述步骤S206提供的实施例中,目标数据指示目标芯片中目标数据传输端口配置目标访问控制信息的位置,因此在控制目标芯片配置目标访问控制信息的时候可以调用目标芯片上用于存储目标访问控制信息的接口,向该接口发送目标指令,该指令用于指示对目标芯片上的对应位置执行与端口配置请求对应的配置操作,其中,目标指令是根据端口配置请求执行的配置类型生成的,比如,可以是请求执行访问控制信息和数据传输端口的绑定操作,或者还可以是请求执行访问控制信息和数据传输端口的解除绑定操作。当请求执行绑定操作的情况下控制目标芯片配置目标访问控制信息的方式是将目标访问控制信息通过接口存储到目标芯片上对应的存储位置上,当请求执行解除绑定操作的情况下,控制目标芯片 目标访问控制信息的当时通过调用接口对目标芯片上对应位置存储的目标访问控制信息进行删除,本方案对此不做限定。
作为一种可选的实施例,所述响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,包括:
提取所述端口配置请求携带的目标数据传输端口和配置类型,其中,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式;
从具有对应关系的数据传输端口和访问控制数据中搜索出与所述目标数据传输端口对应的目标访问控制数据;
根据所述配置类型和所述目标访问控制数据确定所述目标数据。
可选地,在本申请实施例中,目标访问控制数据记录了目标数据传输端口的访问控制列表在目标芯片的存储信息,比如目标数据传输端口的访问控制列表中的访问控制信息在目标芯片上的存储位置,或者目标数据传输端口的访问控制列表在目标芯片上的存储格式,本方案对此不做限定。
可选地,在本申请实施例中,配置类型不同,确定目标数据的方式也是不同的,当配置类型用于指示端口配置请求用于请求在目标访问控制列表中增加目标访问控制信息的情况下,可以在目标访问控制数据中搜索出目标数据传输端口已经绑定的访问控制信息在目标芯片上的第一存储位置,从而根据第一存储位置在目标芯片上为目标数据传输端口分配的存储位置中搜索出空闲存储位置,从而得到用于存储目标访问控制数据的存储位置,从而得到目标数据;当配置类型用于指示端口配置请求用于请求在目标访问控制列表中删除目标访问控制信息的情况下,可以从目标访问控制数据中搜索出用于存储目标访问控制数据的目标存储位置,从而得到目标数据。
作为一种可选的实施例,所述根据所述配置类型和所述目标访问控制数据确定所述目标数据,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,其中,所述第一位置标识用于指示所述第一存储位置在所述目标芯片上的位置,所述目标数据包括所述第一位置标识;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,其中,所述第二位置标识用于指示所述第二存储位置在所述目标芯片上的位置,所述目标数据包括所述第二位置标识。
可选地,在本申请实施例中,目标访问控制数据中记录了与目标数据传输端口绑定的访问控制信息在目标芯片上存储的存储位置,即目标访问控制数据中至少携带有位置标识,该位置标识指示对应的访问控制信息在目标芯片上存储的存储位置,除此之外,目标访问控制数据上还可以携带有访问控制信息标识,该访问控制信息标识用于指示访问控制信息的信息类型。
可选地,在本申请实施例中,根据目标访问控制数据确定目标芯片上用于存储目标访问控制信息的第一存储位置的第一位置标识的方式可以是先提取目标访问控制数据中全部的位置标识,目标访问控制数据中的位置标识为指示目标数据传输端口存在绑定关系的访问控制信息在目标芯片中存储的存储位置的标识,进而根据目标芯片上与目标数据传输端口对应的标识集合中筛选出出目标范文控制数据中的位置标识以外的其他标识,从而其他标识中筛选出第一位置标识,标识集合用于存储目标芯片上为目标数据传输端口分配的存储位置对应的位置标识。
作为一种可选的实施例,所述根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,包括:
根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识;
从所述第三位置标识中筛选出所述第一位置标识。
可选地,在本申请实施例中,根据目标访问控制数据能够确定出与目标数据传输端口绑定的访问控制信息在目标芯片上存储的存储位置,进而可以通过目标访问控制数据从位置标识集合中确定出目标芯片上为目标数据传输端口分配的全部存储位置中处于空闲状态的第三存储位置的第三位置标识,其中位置标识集合中记录了为目标数据传输端口在目标芯片上分配的全部存储位置中每个存储位置对应的位置标识。
可选地,在本申请实施例中,从第三位置标识中筛选出第一位置标识可以是通过随机筛选的方式,或者还不可以是根据目标访问控制信息所占存储位置的大小确定出与目标访问控制信息存储位置匹配的存储位置的位置标识,即目标芯片上为各个数据传输端口分配的多个存储位置是大小不同的存储位置,可以根据访问控制信息占用空间大小选取对应存储位置进行访问控制信息的存储。
作为一种可选的实施例,所述根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识,包括:
提取第一结构体中包括的第四位置标识,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应存储位置中存储的访问控制信息的类型,所述第四位置标识用于指示与所述第一结构体对应的存储位置在所述目标芯片中的位置,所述目标访问控制数据包括所述第一结构体;
将位置标识集合中除所述第四位置标识之外的其他位置标识确定为所述第三位置标识,其中,所述位置标识集合中存储了目标芯片上与所述目标数据传输端口对应的存储位置的位置标识。
可选地,在本申请实施例中,每个第一结构体中携带有位置标识和访问控制信息标识,位置标识用于表征对应的存储位置在目标芯片上所在的位置,访问控制信息标识用于指示对应的存储位置中存储的访问控制信息的类型。
作为一种可选的实施例,所述根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,包括:
从第一结构体中筛选出携带了目标信息标识的第二结构体,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应的存储位置中存储的访问控制信息的类型,所述目标信息标识用于指示所述目标访问控制信息,所述目标访问控制数据包括所述第二结构体;
提取所述第二结构体中携带的所述第二位置标识。
作为一种可选的实施例,所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息,包括:
根据所述目标数据确定所述目标芯片上的目标存储位置;
控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,其中,所述配置类型为从所述端口配置请求中提取得到的,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式。
可选地,在本申请实施例中,配置类型可以是对端口配置请求进行识别得到的。
可选地,在本申请实施例中,对于目标芯片上的每个存储位置可以分别配置一个接口,交换设备通过调用对应的接口对目标芯片上对应的存储位置中存储的访问控制信息进行配置。
可选地,在本申请实施例中,控制目标芯片对目标存储位置执行与配置类型配置的目标配置操作的方式可以是根据配置类型生成对目标存储位置的目标配置指令,该目标配置指令用于指示目标芯片对目标存储位置执行目标配置操作,进而将目标配置指令发送给目标芯片从而控制目标芯片执行与配置类型匹配的目标配置操作。
可选地,在本申请实施例中,目标配置操作可以但不限于包括将目标访问控制信息下发到目标存储位置,或者将目标存储位置中存储的目标访问控制信息删除,本方案对此不做限定。
作为一种可选的实施例,所述控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的目标接口将所述端口配置请求中携带的所述目标访问控制信息写入所述目标存储位置;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的所述目标接口将所述目标存储位置中存储的配置信息进行删除。
作为一种可选的实施例,在所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息之后,所述方法还包括:
获取所述目标芯片对所述目标访问控制信息的配置结果;
根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据。
可选地,在本申请实施例中,在每次执行完端口配置请求后,需要对目标交换设备上存储访问控制数据进行更新,从而使得访问控制数据中存储的信息和目标芯片上实际的访问控制信息一致。
可选地,在本申请实施例中,对访问控制信息进行更新包括将对目标访问控制信息的配置结果添加到访问控制数据中,或者将访问控制数据中与目标访问控制信息的配置结果相关的内容进行删改操作,本方案对此不做限定。
作为一种可选的实施例,所述根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据,包括:
根据所述配置结果确定所述目标芯片中的目标存储位置的目标结构体,其中,所述目标存储位置为所述目标芯片上配置了所述目标访问控制信息的存储位置,所述目标结构体用于指示所述目标存储位置中存储的访问控制信息的类型;
使用所述目标结构体对初始链表进行更新,得到目标链表,其中,所述访问控制数据包括所述初始链表,所述参考访问控制数据包括所述目标链表,所述初始链表中记录了所述目标芯片上存储了相同类型的访问控制信息的存储位置的结构体之间的关联关系。
可选地,在本申请实施例中,目标结构体可以是根据配置结果构建的,目标结构体中可以但不限于携带有位置标识和访问控制信息标识,位置标识用于表征对应的存储位置在目标芯片上所在的位置,访问控制信息标识用于指示对应的存储位置中存储的访问控制信息的类型。
可选地,在本申请实施例中,使用目标结构体对初始链表的更新操作可以但不限于包括将初始链表中与目标结构体相同的结构体删除,或者将目标结构体添加到初始链表中。
作为一种可选的实施例,所述使用所述目标结构体对初始链表进行更新,得到所述目标链表,包括以下之一:
在所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,将所述目标结构体更新到所述初始链表中,得到所述目标链表;
在所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,从所述初始链表中删除所述目标结构体,得到所述目标链表。
可选地,在本申请实施例中,将目标结构体更新到初始链表中可以是先在初始链表中确定出与目标结构体对应的位置,将目标结构体插入到该位置上,或者还可以直接将新添加的目标结构体插入到初始链表的尾部的方式,本申请对此不做限定。
作为一种可选的实施例,所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求为基于端口位图的配置请求的情况下,将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,其中,所述端口位图用于指示所述端口配置请求所生效的所述目标数据传输端口,所述第一数据传输端口为所述端口位图所包括的所述目标数据传输端口中排序处于首位的数据传输端口,所述初始链表包括所述第一链表,所述第一链表用于指示已经在所述目标芯片上按照信息配置顺序配置的访问控制信息;
以所述插入节点为头节点在所述初始链表中创建第二链表,其中,所述第二链表中存储了其他数据传输端口对应的所述目标结构体,所述其他数据传输端口对应的所述目标结构体在所述第二链表中按照所述其他数据传输端口在所述端口位图中的排序顺序依次存储,所述其他数据传输端口为所述端口位图中除所述第一数据传输端口以外的端口。
可选地,在本申请实施例中,链表由一些列节点组成,每个节点对应一个目标芯片上存储位置的结构体,每个结构体中记录了对应的存储位置中存储访问控制信息的存储情况和指向下一个结构体的指针,通过这种方式将目标芯片上存储了访问控制信息的存储位置对应的结构体按照顺序连接起来。
可选地,在本申请实施例中,第一链表可以但不限于用于记录目标芯片上存储的全部类型的访问控制信息,根据访问控制信息被配置到目标芯片上的顺序依次创建第一链表中的结构体。
可选地,在本申请实施例中,第一链表可以但不限于用于记录与对应的数据传输端口存在绑定关系的访问控制信息,即每个数据传输端口对应一个第一链表,每个第一链表中记录了与该数据传输端口存在绑定关系的访问控制信息。
可选地,在本申请实施例中,交换设备上维护了两条链表,即初始链表包括两条链表,分别是第一链表和第二链表,第一链表是记录全部访问控制信息的链表,第二链表是记录每个访问控制信息在目标芯片上所存储的存储位置的链表。
图4是根据本申请实施例的一种科学的初始链表示意图,如图4所示,该初始链表由结构体组成,每个结构体对应了一个目标芯片上一个用于存储访问控制信息的存储位置(chip entry),通过结构体记录用户下发的端口配置请求和在芯片上与每个数据传输端口对应的多个存储位置上存储的访问控制信息的对应关系结构体内包含如下信息,用户下发的ACL编号(user_entry_id)(端口配置请求请求配置的访问控制信息的编号),芯片对应的ACL编号(chip_entry_id)(芯片中用于存储该访问控制信息的存储位置的编号),ACL表项要匹配的具体内容(acl_info),还有维护这个数据结构所需要的信息:因为需要维护两类链表,第一类只有一个链表,是所有user entry的链表link1(第一链表),第二类链表link2(第二链表)是对应于中间层额外创建的chip entry。也就是说对于每个匹配端口位图的user entry,都有自己专属的link2,包含了所有中间层额外创建的chip entry,所以需要在结构体内再添加两个成员,一个是next_user_entry(访问控制信息字段/访问控制信息标识)另一个是next_chip_entry(存储位置标识/存储位置字段),分别对应两个链表,如下是一个结构体的伪代码:
typedef struct acl_entry_s
{
int chip_entry_id;
int user_entry_id
acl_info_t acl_info;
acl_entry_t*next_user_entry;
acl_entry_t*next_chip_entry;
}acl_entry_t
由于每个结构体上携带了chip_entry_id(存储位置标识/存储位置字段)、(user_entry_id)(访问控制信息字段/访问控制信息标识)、next_user_entry(第一指针字段)以及next_chip_entry(第二指针字段),实现通过指针字段构建链表中结构体的指向关系,在图4中包括了一条第一链表(即结构体A1、B1、C1……N1之间的指向关系)以及多条第二链表(即结构体A1到An、B1到Bn、……N1到Nn的指向关系),在第一链表中前一个结构体的next_user_entry(第一指针字段)指向下一个结构体,每个结构体的next_chip_entry(第二指针字段)指向第二链表中的下一个结构体。
作为一种可选的实施例,所述将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,包括:
将所述第一链表尾部的第三结构体中的第一指针字段的字段值设置为与所述第一数据传输端口对应的所述目标结构体中包括的第一字段的字段值,其中,所述第一字段为用于指示访问控制信息的信息标识的字段,所述第一指针字段用于指示所述信息配置顺序中下一个访问控制信息的信息标识,所述信息标识用于指示所述目标芯片上与所述结构体对应的存储位置中存储的访问控制信息类型;
将所述插入节点的所述第一指针字段的字段值设置为尾节点字段值。
可选地,在本申请实施例中,在每个结构体上都包括一个第一指针字段,用于索引第一链表上与当前结构体相邻的下一个结构体。
作为一种可选的实施例,所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求用于请求增加与所述目标访问控制信息绑定的数据传输端口的情况下,从所述初始链表中筛选出与参考访问控制信息对应的第三链表,其中,所述第三链表用于记录所述目标芯片上已经存储了所述目标访问控制信息的存储位置对应的结构体;
将所述目标结构体添加到所述第三链表的尾部。
作为一种可选的实施例,所述将所述目标结构体添加到所述第三链表的尾部,包括:
将所述第三链表尾部的第四结构体的第二指针字段的字段值设置为所述目标结构体包括的第二字段的字段值,其中,所述第二指针字段用于指示所述目标芯片上下一个存储了所述目标访问控制信息的存储位置对应的结构体,所述第二字段为用于指示存储位置在所述目标芯片上的位置;
将所述目标结构体写入所述第三链表中所述第四结构体之后的位置,并将所述目标结构体的所述第二指针字段的字段值设置为尾节点字段值。
可选地,在本申请实施例中,每个结构体上设置有第二指针字段,用于指示链表中下与当前结构体对应的存储位置中存储的访问控制信息相同的存储位置的结构体。
作为一种可选的实施例,所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除在所述目标芯片上配置的所述目标访问控制信息的情况下,从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的存储位置;
查找所述初始链表中以第三结构体为起始节点的第四链表,其中,所述第四链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体,所述目标结构体包括所述第五结构体和所述第四链表中记录的结构体;
从所述第一链表中删除所述第五结构体以及删除所述第四链表中存储的全部结构体。
可选地,在本申请实施例中,每个结构体中均设置有访问控制信息字段(访问控制信息标识),该访问控制信息字段用于指示该结构体对应的存储位置中存储的访问控制信息的类型,进而可以通过对访问控制信息字段进行识别的方式从而查找到第一链表中存在目标访问控制信息对应的目标访问控制信息字段的第五结构体。
可选地,在本申请实施例中,结构体中携带有第二指针字段,进而通过对第二指针字段进行搜索,从而找到一第三结构体为起始节点的第四链表。
作为一种可选的实施例,所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除与所述目标芯片上配置的所述目标访问控制信息绑定的数据传输端口的下,从所述初始链表中筛选出第五链表,其中,所述第五链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体;
将所述第五链表中的包括的目标结构体删除。
可选地,在本申请实施例中,链表中的每个结构体上均配置了访问控制信息字段(访问控制信息标识),进而可以通过识别目标访问控制信息对应的目标访问控制信息字段的方式从初始链表中筛选出第五链表。
作为一种可选的实施例,所述从所述初始链表中筛选出第五链表,包括:
从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的信息存储条目;
查找所述初始链表中以所述第五结构体为起始节点的所述第五链表。
可选地,在本申请实施例中,查找第五结构体的方式可以是通过在第一链表所包括的结构体中查找携带目标访问控制信息对应的目标访问控制字段的方式。
作为一种可选的实施例,所述方法还包括:
在接收到目标查询命令的情况下,根据参考访问控制信息从初始链表中筛选出第六链表,其中,所述访问控制数据包括所述初始链表,所述初始链表中记录了所述目标芯片上已经存储的访问控制信息在所述目标芯片上的存储的存储位置对应的结构体,所述结构体用于指示对应的存储位置中存储的访问控制信息的信息类型,所述目标查询命令用于请求查询所述目标芯片上与所述参考访问控制信息具有绑定关系的数据传输端口数量,所述第六链表中记录了与所述目标芯片中存储了所述参考访问控制信息的存储位置对应的结构体;
将所述第六链表中记录的所述结构体的数量作为所述目标芯片上与所述目标访问控制信息具有绑定关系的数据传输端口数量。
可选地,在本申请实施例中,每个结构体上均携带有访问控制信息字段(访问控制信息标识),该访问控制信息字段用于指示该结构体对应的存储位置中存储的访问控制信息的类型,通过对初始链表包括的全部结构体的访问控制信息进行识别,从而在初始链表中筛序出结构体携带了参考访问控制信息对应的参考访问控制字段的第六链表。
作为一种可选的实施例,所述根据参考访问控制信息从初始链表中筛选出六链表,包括:
从第一链表中查找与所述参考访问控制信息对应的第六结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第六结构体用于指示所述目标芯片中一个存储了所述参考访问控制信息的存储位置在所述芯片中的位置;
查找所述初始链表中以所述第六结构体为起始节点的所述第六链表。
图5是根据本申请实施例的一种可选的访问控制信息的下发流程图,应用与交换设备,如图5所示,至少包括如下步骤:
S501,接收用户下发的匹配端口的ACL(Access Control List,访问控制列表)端口配置请求,上层软件保持不变,仍然传递端口绑定的信息,交换设备中间层软件接收到端口配置请求后,在端口配置请求为匹配端口位图的端口配置请求时,绑定位图的要求之后,为位图上面每一个端口都配置一个对应的ACL表项,在配置请求为普通配置请求后,为配置请求中对应的端口配置一个对应的ACL表项。
S502,检测端口配置请求是否为添加user entry,在所述端口配置请求为添加user entry的情况下,执行步骤S503。
S503,检测端口配置请求是否为匹配端口位图的配置请求,在端口配置请求为匹配端口位图的配置请求的情况下,执行步骤S504。
S504,如果匹配端口位图的,中间层需要为每个端口位图里面的端口去分别建立chip entry并创建结构体,把端口位图中的第一个有效端口所对应的结构体插入到link1的尾部(如果此时link1没有任何节点,那么把这个结构体作为link1的头节点,可以用来遍历整个链表;否则就插入链表的尾部,插入尾部是通过把link1原来的尾节点的next_user_entry字段赋值为新创建的这个结构体的地址完成的。然后把next_chip_entry字段置0,这标志着链表的尾节点。),并以此为头节点,创建link2,将位图中其他端口对应的chipentry依次插入到link2的尾部(插入尾部是通过把link1原来的尾节点的next_chip_entry字段赋值为新创建的这个结构体的地址完成的。然后把next_chip_entry字段置0,这标志着链表的尾节点),对于这些由端口位图衍生出来的chip entry对应的结构体:需要填充相同的user_entry_id,因为都对应于上层下发的单个entry编号,而chip_entry_id填充的就是中间层创建的chip entry编号,每一个都不同,acl_info也是对应于各自匹配的端口而改变。
S505,在端口配置请求不是匹配端口位图的端口配置请求的情况下,为这个entry创建结构体保存信息,如果之前没有任何链表成员,那么这个user entry将作为link1的头节点,可以用来遍历整个链表;否则就插入链表的尾部,插入尾部是通过把link1原来的尾节点的next_user_entry字段赋值为新创建的这个结构体的地址完成的。然后把next_chip_entry字段置0,这标志着链表的尾节点。
S506,检测端口配置请求是否为请求删除user entry。
S507,删除的时候则需要遍历link1,然后比较每个link1的成员的user_entry_id和上层要删除的user entry编号,如果一样就可以通过节点结构体的next_chip_entry找到对应的link2节点,然后遍历link2,删除link2的所有节点。
S508,检测端口配置请求是否为请求增加绑定端口的配置请求。
S509,增加绑定端口的时候,上层软件会向中间层下发一个绑定指令,指定userentry的编号,然后去绑定新的端口。对于中间层来说,只需要先遍历link1,根据userentry id找到对应的link1节点,然后根据link1节点中的next_chip_entry字段找到对应的link2,然后将新节点插入link2的尾部;如果next_chip_entry字段为空,说明link1的节点对应的user entry原来是绑定单个端口的。
S510,检测端口配置请求是否为请求删除绑定端口的配置请求。
S511,删除绑定端口的时候,上层软件回向中间层下发一个解绑指令,指定userentry的编号,然后去解绑指定的端口。对于中间层来说,只需要先遍历link1,根据userentry id找到对应的link1节点,然后根据link1节点中的next_chip_entry字段找到对应的link2,然后遍历link2找到对应acl_info的节点并删除该节点。
S512,结束访问控制信息的下发。
本发明实际应用到交换机的代码中,主要效果是解决因为硬件原因导致不支持用户某些配置操作,增加了配置难度的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种访问控制信息的下发装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的访问控制信息的下发装置的结构框图,如图6所示目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述装置应用于所述目标交换设备,所述装置包括:
接收模块,用于接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
搜索模块,用于响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;
配置模块,用于根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
可选的,所搜索模块,包括:
提取单元,用于提取所述端口配置请求携带的目标数据传输端口和配置类型,其中,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式;
搜索单元,用于从具有对应关系的数据传输端口和访问控制数据中搜索出与所述目标数据传输端口对应的目标访问控制数据;
第一确定单元,用于根据所述配置类型和所述目标访问控制数据确定所述目标数据。
可选的,所述第一确定单元,用于执行以下操作之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,其中,所述第一位置标识用于指示所述第一存储位置在所述目标芯片上的位置,所述目标数据包括所述第一位置标识;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,其中,所述第二位置标识用于指示所述第二存储位置在所述目标芯片上的位置,所述目标数据包括所述第二位置标识。
可选的,所述第一确定单元,用于:
根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识;
从所述第三位置标识中筛选出所述第一位置标识。
可选的,所述第一确定单元,用于:
提取所述第一结构体中包括的第四位置标识,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应存储位置中存储的访问控制信息的类型,所述第四位置标识用于指示与所述第一结构体对应的存储位置在所述目标芯片中的位置,所述目标访问控制数据包括所述第一结构体;
将位置标识集合中除所述第四位置标识之外的其他位置标识确定为所述第三位置标识,其中,所述位置标识集合中存储了目标芯片上与所述目标数据传输端口对应的存储位置的位置标识。
可选的,所述第一确定单元,用于:
从所述第一结构体中筛选出携带了目标信息标识的第二结构体,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应的存储位置中存储的访问控制信息的类型,所述目标信息标识用于指示所述目标访问控制信息,所述目标访问控制数据包括所述第二结构体;
提取所述第二结构体中携带的所述第二位置标识。
可选的,所述配置,包括:
第二确定单元,用于根据所述目标数据确定所述目标芯片上的目标存储位置;
控制单元,用于控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,其中,所述配置类型为从所述端口配置请求中提取得到的,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式。
可选的,所述控制单元,用于执行以下操作之一:
第一处理单元,用于在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的目标接口将所述端口配置请求中携带的所述目标访问控制信息写入所述目标存储位置;
第二处理单元,用于在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的所述目标接口将所述目标存储位置中存储的配置信息进行删除。
可选的,所述装置还包括:
获取模块,用于在所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息之后,获取所述目标芯片对所述目标访问控制信息的配置结果;
更新模块,用于根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据。
可选的,所述更新模块,包括:
第三确定单元,用于根据所述配置结果确定所述目标芯片中的目标存储位置的目标结构体,其中,所述目标存储位置为所述目标芯片上配置了所述目标访问控制信息的存储位置,所述目标结构体用于指示所述目标存储位置中存储的访问控制信息的类型;
更新单元,用于使用所述目标结构体对初始链表进行更新,得到所述目标链表,其中,所述访问控制数据包括所述初始链表,所述参考访问控制数据包括所述目标链表,所述初始链表中记录了所述目标芯片上存储了相同类型的访问控制信息的存储位置的结构体之间的关联关系。
可选的,所述更新单元,用于执行以下操作之一:
在所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,将所述目标结构体更新到所述初始链表中,得到所述目标链表;
在所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,从所述初始链表中删除所述目标结构体,得到所述目标链表。
可选的,所述更新单元,用于:
在所述端口配置请求为基于端口位图的配置请求的情况下,将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,其中,所述端口位图用于指示所述端口配置请求所生效的所述目标数据传输端口,所述第一数据传输端口为所述端口位图所包括的所述目标数据传输端口中排序处于首位的数据传输端口,所述初始链表包括所述第一链表,所述第一链表用于指示已经在所述目标芯片上按照信息配置顺序配置的访问控制信息;
以所述插入节点为头节点在所述初始链表中创建第二链表,其中,所述第二链表中存储了其他数据传输端口对应的所述目标结构体,所述其他数据传输端口对应的所述目标结构体在所述第二链表中按照所述其他数据传输端口在所述端口位图中的排序顺序依次存储,所述其他数据传输端口为所述端口位图中除所述第一数据传输端口以外的端口。
可选的,所述更新单元,用于:
将所述第一链表尾部的第三结构体中的第一指针字段的字段值设置为与所述第一数据传输端口对应的所述目标结构体中包括的第一字段的字段值,其中,所述第一字段为用于指示访问控制信息的信息标识的字段,所述第一指针字段用于指示所述信息配置顺序中下一个访问控制信息的信息标识,所述信息标识用于指示所述目标芯片上与所述结构体对应的存储位置中存储的访问控制信息类型;
将所述插入节点的所述第一指针字段的字段值设置为尾节点字段值。
可选的,所述更新单元,用于:
在所述端口配置请求用于请求增加与所述目标访问控制信息绑定的数据传输端口的情况下,从所述初始链表中筛选出与参考访问控制信息对应的第三链表,其中,所述第三链表用于记录所述目标芯片上已经存储了所述目标访问控制信息的存储位置对应的结构体;
将所述目标结构体添加到所述第三链表的尾部。
可选的,所述更新单元,用于:
将所述第三链表尾部的第四结构体的第二指针字段的字段值设置为所述目标结构体包括的第二字段的字段值,其中,所述第二指针字段用于指示所述目标芯片上下一个存储了所述目标访问控制信息的存储位置对应的结构体,所述第二字段为用于指示存储位置在所述目标芯片上的位置;
将所述目标结构体写入所述第三链表中所述第四结构体之后的位置,并将所述目标结构体的所述第二指针字段的字段值设置为尾节点字段值。
可选的,所述更新单元,用于:
在所述端口配置请求用于请求删除在所述目标芯片上配置的所述目标访问控制信息的情况下,从第一链表中查找与所述初始目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的存储位置;
查找所述初始链表中以所述第三结构体为起始节点的第四链表,其中,所述第四链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体,所述目标结构体包括所述第五结构体和所述第四链表中记录的结构体;
从所述第一链表中删除所述第五结构体以及删除所述第四链表中存储的全部结构体。
可选的,所述更新单元,用于:
在所述端口配置请求用于请求删除与所述目标芯片上配置的所述目标访问控制信息绑定的数据传输端口的下,从所述初始链表中筛选出第五链表,其中,所述第五链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体;
将所述第五链表中的包括的目标结构体删除。
可选的,所述更新单元,用于:
从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述候选目标访问控制信息的信息存储条目;
查找所述初始链表中以所述第五结构体为起始节点的所述第五链表。
可选的,所述装置还包括:
筛选模块,用于在接收到目标查询命令的情况下,根据参考访问控制信息从初始链表中筛选出第六链表,其中,所述访问控制数据包括所述初始链表,所述初始链表中记录了所述目标芯片上已经存储的访问控制信息在所述目标芯片上的存储的存储位置对应的结构体,所述结构体用于指示对应的存储位置中存储的访问控制信息的信息类型,所述目标查询命令用于请求查询所述目标芯片上与所述参考访问控制信息具有绑定关系的数据传输端口数量,所述第六链表中记录了与所述目标芯片中存储了所述参考访问控制信息的存储位置对应的结构体;
处理模块,用于将所述第六链表中记录的所述结构体的数量作为所述目标芯片上与所述目标访问控制信息具有绑定关系的数据传输端口数量。
可选的,所述筛选模块,包括:
第一查找单元,用于从第一链表中查找与所述参考访问控制信息对应的第六结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第六结构体用于指示所述目标芯片中一个存储了所述参考访问控制信息的存储位置在所述芯片中的位置;
第二查找单元,用于查找所述初始链表中以所述第六结构体为起始节点的所述第七第六链表。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种访问控制信息的下发方法,其特征在于,
目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述方法应用于所述目标交换设备,所述方法包括:
接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;
根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
2.根据权利要求1所述的方法,其特征在于,
所述响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,包括:
提取所述端口配置请求携带的目标数据传输端口和配置类型,其中,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式;
从具有对应关系的数据传输端口和访问控制数据中搜索出与所述目标数据传输端口对应的目标访问控制数据;
根据所述配置类型和所述目标访问控制数据确定所述目标数据。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述配置类型和所述目标访问控制数据确定所述目标数据,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,其中,所述第一位置标识用于指示所述第一存储位置在所述目标芯片上的位置,所述目标数据包括所述第一位置标识;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,其中,所述第二位置标识用于指示所述第二存储位置在所述目标芯片上的位置,所述目标数据包括所述第二位置标识。
4.根据权利要求3所述的方法,其特征在于,
所述根据所述目标访问控制数据确定所述目标芯片上用于存储所述目标访问控制信息的第一存储位置的第一位置标识,包括:
根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识;
从所述第三位置标识中筛选出所述第一位置标识。
5.根据权利要求4所述的方法,其特征在于,
所述根据所述目标访问控制数据从所述目标芯片上用于存储所述目标访问控制列表的存储位置中确定出处于空闲状态的第三存储位置的第三位置标识,包括:
提取第一结构体中包括的第四位置标识,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应存储位置中存储的访问控制信息的类型,所述第四位置标识用于指示与所述第一结构体对应的存储位置在所述目标芯片中的位置,所述目标访问控制数据包括所述第一结构体;
将位置标识集合中除所述第四位置标识之外的其他位置标识确定为所述第三位置标识,其中,所述位置标识集合中存储了目标芯片上与所述目标数据传输端口对应的存储位置的位置标识。
6.根据权利要求3所述的方法,其特征在于,
所述根据所述目标访问控制数据确定出所述目标芯片上存储了所述目标访问控制信息的第二存储位置的第二位置标识,包括:
从第一结构体中筛选出携带了目标信息标识的第二结构体,其中,每个所述第一结构体用于指示所述目标芯片中与所述第一结构体对应的存储位置中存储的访问控制信息的类型,所述目标信息标识用于指示所述目标访问控制信息,所述目标访问控制数据包括所述第二结构体;
提取所述第二结构体中携带的所述第二位置标识。
7.根据权利要求1所述的方法,其特征在于,
所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息,包括:
根据所述目标数据确定所述目标芯片上的目标存储位置;
控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,其中,所述配置类型为从所述端口配置请求中提取得到的,所述配置类型用于指示所述端口配置请求所请求对访问控制列表的访问控制信息进行配置的配置方式。
8.根据权利要求7所述的方法,其特征在于,
所述控制所述目标芯片对所述目标存储位置执行与配置类型匹配的目标配置操作,包括以下之一:
在所述配置类型用于指示所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的目标接口将所述端口配置请求中携带的所述目标访问控制信息写入所述目标存储位置;
在所述配置类型用于指示所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,调用所述目标芯片上与所述目标存储位置对应的所述目标接口将所述目标存储位置中存储的配置信息进行删除。
9.根据权利要求1所述的方法,其特征在于,
在所述根据所述目标数据控制所述目标芯片配置所述目标访问控制信息之后,所述方法还包括:
获取所述目标芯片对所述目标访问控制信息的配置结果;
根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据。
10.根据权利要求9所述的方法,其特征在于,
所述根据所述配置结果对所述访问控制数据进行更新,得到参考访问控制数据,包括:
根据所述配置结果确定所述目标芯片中的目标存储位置的目标结构体,其中,所述目标存储位置为所述目标芯片上配置了所述目标访问控制信息的存储位置,所述目标结构体用于指示所述目标存储位置中存储的访问控制信息的类型;
使用所述目标结构体对初始链表进行更新,得到目标链表,其中,所述访问控制数据包括所述初始链表,所述参考访问控制数据包括所述目标链表,所述初始链表中记录了所述目标芯片上存储了相同类型的访问控制信息的存储位置的结构体之间的关联关系。
11.根据权利要求10所述的方法,其特征在于,
所述使用所述目标结构体对初始链表进行更新,得到所述目标链表,包括以下之一:
在所述端口配置请求用于请求在目标访问控制列表中增加所述目标访问控制信息的情况下,将所述目标结构体更新到所述初始链表中,得到所述目标链表;
在所述端口配置请求用于请求在所述目标访问控制列表中删除所述目标访问控制信息的情况下,从所述初始链表中删除所述目标结构体,得到所述目标链表。
12.根据权利要求11所述的方法,其特征在于,
所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求为基于端口位图的配置请求的情况下,将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,其中,所述端口位图用于指示所述端口配置请求所生效的所述目标数据传输端口,所述第一数据传输端口为所述端口位图所包括的所述目标数据传输端口中排序处于首位的数据传输端口,所述初始链表包括所述第一链表,所述第一链表用于指示已经在所述目标芯片上按照信息配置顺序配置的访问控制信息;
以所述插入节点为头节点在所述初始链表中创建第二链表,其中,所述第二链表中存储了其他数据传输端口对应的所述目标结构体,所述其他数据传输端口对应的所述目标结构体在所述第二链表中按照所述其他数据传输端口在所述端口位图中的排序顺序依次存储,所述其他数据传输端口为所述端口位图中除所述第一数据传输端口以外的端口。
13.根据权利要求12所述的方法,其特征在于,
所述将与端口位图中的第一数据传输端口对应的所述目标结构体作为插入节点插入到第一链表的尾部,包括:
将所述第一链表尾部的第三结构体中的第一指针字段的字段值设置为与所述第一数据传输端口对应的所述目标结构体中包括的第一字段的字段值,其中,所述第一字段为用于指示访问控制信息的信息标识的字段,所述第一指针字段用于指示所述信息配置顺序中下一个访问控制信息的信息标识,所述信息标识用于指示所述目标芯片上与所述结构体对应的存储位置中存储的访问控制信息类型;
将所述插入节点的所述第一指针字段的字段值设置为尾节点字段值。
14.根据权利要求11所述的方法,其特征在于,
所述将所述目标结构体更新到所述初始链表中,包括:
在所述端口配置请求用于请求增加与所述目标访问控制信息绑定的数据传输端口的情况下,从所述初始链表中筛选出与参考访问控制信息对应的第三链表,其中,所述第三链表用于记录所述目标芯片上已经存储了所述目标访问控制信息的存储位置对应的结构体;
将所述目标结构体添加到所述第三链表的尾部。
15.根据权利要求14所述的方法,其特征在于,
所述将所述目标结构体添加到所述第三链表的尾部,包括:
将所述第三链表尾部的第四结构体的第二指针字段的字段值设置为所述目标结构体包括的第二字段的字段值,其中,所述第二指针字段用于指示所述目标芯片上下一个存储了所述目标访问控制信息的存储位置对应的结构体,所述第二字段为用于指示存储位置在所述目标芯片上的位置;
将所述目标结构体写入所述第三链表中所述第四结构体之后的位置,并将所述目标结构体的所述第二指针字段的字段值设置为尾节点字段值。
16.根据权利要求11所述的方法,其特征在于,
所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除在所述目标芯片上配置的所述目标访问控制信息的情况下,从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的存储位置;
查找所述初始链表中以第三结构体为起始节点的第四链表,其中,所述第四链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体,所述目标结构体包括所述第五结构体和所述第四链表中记录的结构体;
从所述第一链表中删除所述第五结构体以及删除所述第四链表中存储的全部结构体。
17.根据权利要求11所述的方法,其特征在于,
所述从所述初始链表中删除所述目标结构体,包括:
在所述端口配置请求用于请求删除与所述目标芯片上配置的所述目标访问控制信息绑定的数据传输端口的下,从所述初始链表中筛选出第五链表,其中,所述第五链表中记录了与所述目标芯片中存储了所述目标访问控制信息的存储位置对应的结构体;
将所述第五链表中的包括的目标结构体删除。
18.根据权利要求17所述的方法,其特征在于,
所述从所述初始链表中筛选出第五链表,包括:
从第一链表中查找与所述目标访问控制信息对应的第五结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第五结构体用于指示所述目标芯片中一个存储了所述目标访问控制信息的信息存储条目;
查找所述初始链表中以所述第五结构体为起始节点的所述第五链表。
19.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
在接收到目标查询命令的情况下,根据参考访问控制信息从初始链表中筛选出第六链表,其中,所述访问控制数据包括所述初始链表,所述初始链表中记录了所述目标芯片上已经存储的访问控制信息在所述目标芯片上的存储的存储位置对应的结构体,所述结构体用于指示对应的存储位置中存储的访问控制信息的信息类型,所述目标查询命令用于请求查询所述目标芯片上与所述参考访问控制信息具有绑定关系的数据传输端口数量,所述第六链表中记录了与所述目标芯片中存储了所述参考访问控制信息的存储位置对应的结构体;
将所述第六链表中记录的所述结构体的数量作为所述目标芯片上与所述目标访问控制信息具有绑定关系的数据传输端口数量。
20.根据权利要求19所述的方法,其特征在于,
所述根据参考访问控制信息从初始链表中筛选出六链表,包括:
从第一链表中查找与所述参考访问控制信息对应的第六结构体,其中,所述初始链表包括所述第一链表,所述第一链表用于记录已经在所述目标芯片上按照信息配置顺序配置的访问控制信息,所述第六结构体用于指示所述目标芯片中一个存储了所述参考访问控制信息的存储位置在所述芯片中的位置;
查找所述初始链表中以所述第六结构体为起始节点的所述第六链表。
21.一种访问控制信息的下发装置,其特征在于,
目标交换设备上部署有目标芯片和多个数据传输端口,所述目标芯片上配置了与每个所述数据传输端口一一对应的访问控制列表,所述目标芯片用于根据所述访问控制列表中存储的访问控制信息管理对应的所述数据传输端口中传输的数据包,所述装置应用于所述目标交换设备,所述装置包括:
接收模块,用于接收用户发起的端口配置请求,其中,所述端口配置请求用于请求向目标数据传输端口的访问控制列表配置目标访问控制信息,所述多个数据传输端口包括所述目标数据传输端口;
搜索模块,用于响应所述端口配置请求,从所述目标交换设备上存储的具有对应关系的数据传输端口和访问控制数据中搜索所述目标访问控制信息在每个所述目标数据传输端口对应的访问控制数据中的目标数据,其中,所述访问控制数据用于记录对应的数据传输端口的访问控制列表在所述目标芯片中的存储信息,所述目标数据用于指示在所述目标芯片中用于为对应的所述目标数据传输端口配置所述目标访问控制信息的位置;
配置模块,用于根据所述目标数据控制所述目标芯片配置所述目标访问控制信息。
22.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至20任一项中所述的方法的步骤。
23.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至20任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839052.3A CN117499346B (zh) | 2023-12-28 | 2023-12-28 | 访问控制信息的下发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839052.3A CN117499346B (zh) | 2023-12-28 | 2023-12-28 | 访问控制信息的下发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117499346A true CN117499346A (zh) | 2024-02-02 |
CN117499346B CN117499346B (zh) | 2024-03-01 |
Family
ID=89680357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311839052.3A Active CN117499346B (zh) | 2023-12-28 | 2023-12-28 | 访问控制信息的下发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499346B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0854608A2 (en) * | 1996-12-30 | 1998-07-22 | Compaq Computer Corporation | Network switch with shared memory system |
CN106302255A (zh) * | 2016-08-22 | 2017-01-04 | 刘永锋 | 一种智能交换机 |
WO2017071667A1 (zh) * | 2015-10-30 | 2017-05-04 | 新华三技术有限公司 | 报文转发 |
CN112073438A (zh) * | 2020-10-10 | 2020-12-11 | 迈普通信技术股份有限公司 | 一种访问控制规则配置方法、装置、交换机及存储介质 |
CN115242493A (zh) * | 2022-07-20 | 2022-10-25 | 浪潮思科网络科技有限公司 | 一种acl配置方法、装置、设备及介质 |
CN115550290A (zh) * | 2022-10-14 | 2022-12-30 | 浪潮思科网络科技有限公司 | 一种在存储区域网络中实现Zone隔离的方法及设备 |
CN116016337A (zh) * | 2023-01-03 | 2023-04-25 | 苏州盛科科技有限公司 | 一种报文转发方法、装置、电子设备及存储介质 |
-
2023
- 2023-12-28 CN CN202311839052.3A patent/CN117499346B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0854608A2 (en) * | 1996-12-30 | 1998-07-22 | Compaq Computer Corporation | Network switch with shared memory system |
WO2017071667A1 (zh) * | 2015-10-30 | 2017-05-04 | 新华三技术有限公司 | 报文转发 |
CN106302255A (zh) * | 2016-08-22 | 2017-01-04 | 刘永锋 | 一种智能交换机 |
CN112073438A (zh) * | 2020-10-10 | 2020-12-11 | 迈普通信技术股份有限公司 | 一种访问控制规则配置方法、装置、交换机及存储介质 |
CN115242493A (zh) * | 2022-07-20 | 2022-10-25 | 浪潮思科网络科技有限公司 | 一种acl配置方法、装置、设备及介质 |
CN115550290A (zh) * | 2022-10-14 | 2022-12-30 | 浪潮思科网络科技有限公司 | 一种在存储区域网络中实现Zone隔离的方法及设备 |
CN116016337A (zh) * | 2023-01-03 | 2023-04-25 | 苏州盛科科技有限公司 | 一种报文转发方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
左振辉;: "利用IP扩展控制应用服务访问", 网络安全和信息化, no. 07, 5 November 2016 (2016-11-05) * |
Also Published As
Publication number | Publication date |
---|---|
CN117499346B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114172802B (zh) | 容器网络配置方法、装置、计算节点、主节点及存储介质 | |
US7010660B2 (en) | Management method and a management system for volume | |
CN107786638B (zh) | 一种数据处理方法、装置及系统 | |
CN107911249A (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
US11398981B2 (en) | Path creation method and device for network on chip and electronic apparatus | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN103546380A (zh) | 一种基于策略路由的报文转发方法和装置 | |
CN114785685B (zh) | 软件差分升级方法、装置、电子设备及可读存储介质 | |
CN102891768A (zh) | 网络管理的方法和网元 | |
CN114024886A (zh) | 跨资源池的网络互通方法、电子设备及可读存储介质 | |
CN107547283A (zh) | 分布式聚合组的管理方法及装置 | |
CN117499346B (zh) | 访问控制信息的下发方法及装置 | |
CN106789695B (zh) | 报文处理方法及装置 | |
CN111600833B (zh) | 网络操作系统及报文转发方法 | |
CN107168900B (zh) | 一种配置acl表项的方法和装置 | |
CN109104499B (zh) | 一种会话建立方法、装置、设备和存储介质 | |
CN116938844A (zh) | 一对多镜像的配置方法、装置和电子设备 | |
CN113542127B (zh) | 无角色vtep节点单vxlan拓扑查找方法及装置 | |
CN100379230C (zh) | 路由器,管理数据传送路径的方法及其计算机程序 | |
US11144236B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program | |
CN107493316A (zh) | 应用运营管理方法、服务器及计算机可读存储介质 | |
US20230099545A1 (en) | Iot system and data collection control method | |
CN107645399A (zh) | 命令配置方法及装置、系统 | |
CN114416385A (zh) | 分布式锁的发送方法和装置、存储介质及电子装置 | |
JPH1118135A (ja) | 移動通信システムのホームロケーションレジスタと加入 者データ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |