CN105099961A - 一种快速同步介质访问控制地址表的方法和装置 - Google Patents
一种快速同步介质访问控制地址表的方法和装置 Download PDFInfo
- Publication number
- CN105099961A CN105099961A CN201410198434.7A CN201410198434A CN105099961A CN 105099961 A CN105099961 A CN 105099961A CN 201410198434 A CN201410198434 A CN 201410198434A CN 105099961 A CN105099961 A CN 105099961A
- Authority
- CN
- China
- Prior art keywords
- mac address
- list item
- queue
- address list
- priority
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/023—Delayed use of routing table updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种快速同步MAC地址表的方法,初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;确定满足MAC地址表同步条件时,转发平面获取内存操作权限;获取待同步的MAC地址表项,依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置。本发明还同时公开了一种快速同步MAC地址表的装置。
Description
技术领域
本发明涉及以太网数据通信领域中的数据同步技术,尤其涉及一种快速同步介质访问控制(MediumAccessControl,MAC)地址表的方法和装置。
背景技术
传统以太网交换机一般由专业的转发控制专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)芯片和中央处理器(CenterProcessUnit,CPU)控制系统组成,分别称为转发平面和控制平面。
在转发平面中,ASIC芯片可以自行学习以太网包的源MAC地址,并将源MAC地址同收包端口关联在一起,这种关联关系可以生成MAC地址表。当上述MAC地址作为数据包目的MAC地址时,ASIC芯片可以依据之前学习到的MAC地址表项将数据包转发到上述关联端口,达到精确转发的目的。
在控制平面中,CPU需要运行大量二层、三层协议,控制转发平面的转发路径,满足特定业务需求。在协议运行过程中,基于安全及效率等方面的考虑,需频繁查找指定MAC地址的关联端口;查找指定MAC地址的关联端口时,虽然可以通过特定硬件接口查询ASIC芯片中已经学习到的MAC地址表,但是,这种方式不仅查询效率低,而且会与配置通道抢占物理接口资源,因此,在内存中建立MAC地址软件表是一种常用的解决办法。
目前,可以通过以下两种方式在内存中建立MAC地址软件表:
第一种方式,转发平面学习到MAC地址表项后,以消息的形式通过硬件接口发送给控制平面处理,控制平面接收到消息后,在内存中建立MAC地址软件表项。
第二种方式,控制平面在操作系统中创建独立的任务,定时周期性查询转发平面中的MAC地址表项,发现变化时,在内存中更新MAC地址软件表项。
上面两种方式中,基于消息的方式及时性稍好,但是,当有大量MAC地址表项需要在短时间内通知给控制平面时,有丢消息的隐患,会导致MAC地址软件表与转发平面中MAC地址表不同步,进而引发一系列问题;周期性查询的方式安全性稍好,但及时性较差,且长期占用一定控制平面处理器资源,只能作为消息方式的补充方法使用。
发明内容
有鉴于此,本发明实施例期望提供一种快速同步MAC地址表的方法和装置,能够解决短时间内大量MAC地址表项软硬件同步的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种快速同步介质访问控制MAC地址表的方法,所述方法包括:
初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;
确定满足MAC地址表同步条件时,转发平面获取内存操作权限;
获取待同步的MAC地址表项,依据所述待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置。
上述方案中,所述初始化转发平面和控制平面包括:控制平面发送MAC地址软件表配置信息给转发平面;转发平面依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC;或者,
转发平面定义MAC地址软件表配置信息,根据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
上述方案中,所述MAC地址软件表配置信息包括:
规定大小的内存区域M的地址、内存区域M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
或者,规定大小的内存区域M的地址、内存区域M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
其中,所述N=L*En,所述En=En’。
上述方案中,所述MAC地址表同步条件包括:确定转发平面定时器超时且高优先级队列被锁定;或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
上述方案中,所述确定满足MAC地址表同步条件之前,所述方法还包括:
MAC地址表项发生变化,判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列。
上述方案中,所述确定转发平面定时器超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在待同步MAC地址表项时,锁定高优先级队列。
上述方案中,所述获取待同步的MAC地址表项,依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,则将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,则判断是否为待更新MAC地址表项,如果是待更新表项,则更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,则设置所述待处理MAC地址表项为无效Invalid;。
上述方案中,所述依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置之后,所述方法还包括:
转发平面释放对内存的控制权限,高优先级队列和低优先级队列的优先级反转,并重启转发平面定时器。
上述方案中,所述高优先级队列包括:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列包括:低优先级新增队列、低优先级更新队列和低优先级删除队列。
上述方案中,所述确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值包括:
获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值。
上述方案中,所述判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列包括:
判断高优先级队列是否被锁定,确定高优先级队列锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,则将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入高优先级更新队列,如果不是待更新表项,则将所述变化的MAC地址表项加入高优先级删除队列。
上述方案中,所述获取待同步的MAC地址表项,并依据待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,则将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,则判断高优先级更新队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,则将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,则判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,则将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid。
本发明实施例还提供了一种快速同步MAC地址表的装置,所述装置包括:转发平面和控制平面,所述转发平面包括转发平面定时器;其中,
所述转发平面,用于初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;在确定满足MAC地址表同步条件时,转发平面获取内存操作权限;获取待同步的MAC地址表项,依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述转发平面定时器,用于计时,并在超时时触发超时后的操作;
所述控制平面,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面。
上述方案中,所述转发平面和控制平面初始化包括:控制平面发送MAC地址软件表配置信息给转发平面;转发平面依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;或者,
转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
上述方案中,所述MAC地址表同步条件包括:确定转发平面定时器超时且高优先级队列被锁定;或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
上述方案中,所述装置还包括:第一存储器和第二存储器;其中,
所述第一存储器,用于存储高优先级队列;
所述第二存储器,用于存储低优先级队列。
上述方案中,所述第一存储器包括:第一子存储器、第二子存储器和第三子存储器;
所述第二存储器包括:第四子存储器、第五子存储器和第六子存储器;
其中,所述第一子存储器,用于存储高优先级新增队列;
所述第二子存储器,用于存储高优先级更新队列;
所述第三子存储器,用于存储高优先级删除队列;
所述第四子存储器,用于存储低优先级新增队列;
所述第五子存储器,用于存储低优先级更新队列;
所述第六子存储器,用于存储低优先级删除队列。
上述方案中,所述转发平面还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定高优先级队列锁定时,将变化的MAC地址表项加入低优先级队列;确定高优先级队列未被锁定时,将变化的MAC地址表项加入高优先级队列;
以及,释放对内存的控制权限,控制高优先级队列和低优先级队列的优先级反转,并重启转发平面定时器。
上述方案中,所述MAC地址软件表配置信息包括:
规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
或者,规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
其中,所述N=L*En,所述En=En’。
上述方案中,所述确定转发平面定时器超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在待同步MAC地址表项时,锁定高优先级队列。
上述方案中,所述获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,则将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,则判断是否为待更新MAC地址表项,如果是待更新表项,则更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,则设置所述待处理MAC地址表项为无效Invalid。
上述方案中,所述确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值包括:获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值。
上述方案中,所述判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列包括:
判断高优先级队列是否被锁定,确定高优先级队列锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,则将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是新增表项,则将所述待更新MAC地址表项加入高优先级更新队列,如果不是新增表项,则将所述变化的MAC地址表项加入高优先级删除队列。
上述方案中,所述获取待同步的MAC地址表项,并依据所述待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,则将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,则判断高优先级更新增队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,则将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,则判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,则将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid。
本发明实施例所提供的快速同步MAC地址表的方法和装置,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;确定满足MAC地址表同步条件时,转发平面获取内存操作权限,从获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容,将待同步MAC地址表项同步到内存区域中指定位置。由于本发明实施例中的同步MAC地址等操作均由转发平面完成,无需控制平面操作;并且,转发平面将变化的MAC地址同步到了内存区域的指定位置;因此,本发明实施例在不增加控制平面系统消耗的前提下,能使控制平面在需要时快速索引到指定MAC地址的关联端口信息,达到转发平面和控制平面同步、精确发送数据包的目的。
附图说明
图1为本发明实施例一快速同步MAC地址表的方法流程示意图;
图2为本发明实施例二快速同步MAC地址表的方法流程示意图;
图3为本发明实施例初始化转发平面和控制平面的方法流程示意图;
图4为本发明实施例定时扫描高优先级队列方法流程示意图;
图5为本发明实施例变化MAC地址表项同步方法流程示意图;
图6为本发明实施例三快速同步MAC地址表的方法流程示意图;
图7为本发明实施例四快速同步MAC地址表的方法流程示意图;
图8为本发明实施例带有细分队列的变化MAC地址表项入队方法流程示意图;
图9为本发明实施例带有细分队列的变化MAC地址表项同步方法流程示意图;
图10为本发明实施例五快速同步MAC地址表的方法流程示意图;
图11为本发明实施例一快速同步MAC地址表的装置组成结构示意图;
图12为本发明实施例二快速同步MAC地址表的装置组成结构示意图;
图13为本发明实施例三快速同步MAC地址表的装置组成结构示意图;
图14为本发明实施例四快速同步MAC地址表的装置组成结构示意图。
具体实施方式
在本发明实施例中,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;确定满足MAC地址表同步条件时,转发平面获取内存操作权限;获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置。
这里,所述待同步MAC地址表项发生的变化是指:转发平面学习到的新MAC地址表项,或是发生老化或漂移的MAC地址表项,或是转发平面收到控制平面通知的需要新增或删除的MAC地址表项等。
其中,所述转发平面包括:转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器(DirectMemoryAccessController,DMAC);
所述MAC地址表同步条件包括:确定转发平面定时器超时且高优先级队列被锁定;或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
下面结合附图及具体实施例对本发明再做进一步详细的说明。
图1为本发明实施例一快速同步MAC地址表的方法流程示意图,如图1所示,该快速同步MAC地址表的方法流程包括:
步骤101:初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;
这里,所述初始化转发平面和控制平面包括:控制平面发送MAC地址软件表配置信息给转发平面,转发平面根据收到的配置信息,初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;或者,
转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息;
其中,所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、内存区域M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’等,其他附加功能信息可以由控制平面同转发平面协商确定;这里,所述每个缓存队列长度要与系统MAC地址表容量大小保持一致;
或者,所述MAC地址软件表配置信息还可以包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;这里,所述每个缓存队列的缓存门限值Th的范围为0至En,为本领域技术人员依据CPU处理能力和网络环境设置;这里,所述N的值等于所述L与所述En的乘积,所述En等于En’;
所述每个MAC地址表项至少包括:MAC地址、端口(PORT)号、虚拟局域网(VirtualLocalAreaNetwork,VLAN)标识、以及当前MAC地址表项是否有效(Valid/Invalid)的状态;
所述缓存队列包括高优先级队列Fh和低优先级队列Fl;
所述初始化成功表示转发平面定时器、高优先级队列Fh、低优先级队列Fl均已经就绪,所述初始化失败表示不支持快速同步MAC地址表功能;
所述初始化转发平面定时器、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC。
这里,如果转发平面和控制平面初始化成功,转发平面发送初始化成功消息给控制平面,启动转发平面定时器;如果初始化失败,转发平面发送不支持快速同步MAC地址表功能消息给控制平面。
步骤102:确定满足MAC地址表同步条件时,转发平面获取内存操作权限;
这里,所述MAC地址表同步条件具体为:确定转发平面定时器超时且高优先级队列被锁定,或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值;
所述确定满足MAC地址表同步条件之前,所述方法还包括:MAC地址表项发生变化时,判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列;其中,
所述变化的MAC地址表项包括:转发平面学习到的新MAC地址表项、发生老化或漂移的MAC地址表项、以及转发平面收到控制平面通知的需要新增或删除的MAC地址表项等;
所述判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列包括:判断高优先级队列是否被锁定,如果被锁定,则将变化的MAC地址表项加入低优先级队列;如果未锁定,则将变化的MAC地址表项加入高优先级队列;
所述确定满足MAC地址表同步条件之前,所述方法还包括:定时扫描高优先级队列,直至高优先级队列被锁定;
这里,所述定时扫描高优先级队列,直至高优先级队列被锁定,包括:转发平面定时器在超时前,一直处于等待状态,当确定转发平面定时器超时时,判断高优先级队列中是否存在待同步MAC地址表项,如果存在,则锁定高优先级队列,如果不存在,则重启转发平面定时器;
这里需要说明的是,MAC地址表项发生变化时,判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列的操作,与定时扫描高优先级队列的操作,时间不分先后,可同时进行。
所述转发平面获取内存操作权限包括:转发平面发送内存操作请求给控制平面,控制平面将内存操作权限交给转发平面;
这里,具体转发平面如何获取内存操作权限为现有技术,此处不再赘述。
进一步的,所述高优先级队列又包含细分队列:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列又包含细分队列:低优先级新增队列、低优先级更新队列和低优先级删除队列;
所述判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列包括:
判断高优先级队列是否被锁定,确定所述高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,将所述新增的MAC地址表项加入高优先级新增队列;确定不为新增表项时,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果有待更新MAC地址表项,则将所述待更新MAC地址表项加入高优先级更新队列;如果没有待更新MAC地址表项,则将所述变化的MAC地址表项加入高优先级删除队列;
确定所述高优先级队列已被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,将所述新增的MAC地址表项加入低优先级新增队列;确定不为新增表项时,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果有待更新MAC地址表项,则将所述待更新MAC地址表项加入低优先级更新队列;如果没有待更新MAC地址表项,则将所述变化的MAC地址表项加入低优先级删除队列;
所述确定高优先级队列中存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中至少一个存在待同步MAC地址表项;
所述确定高优先级队列中不存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中均不存在待同步MAC地址表项;
所述确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值包括:获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值;
步骤103:获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
这里,需要转发平面内MAC地址表同控制平面内MAC地址软件表的哈希(HASH)插入算法保持一致,以便于控制平面后续据此HASH算法对所述内存区域M进行索引;
所述获取待同步的MAC地址表项是:从转发平面的高优先级队列中获取;具体从高优先级队列获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项时,则将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,则判断是否为待更新MAC地址表项,如果是待更新表项,则更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,即为待删除表项,则设置所述待删除MAC地址表项为无效Invalid;这里,所述设置所述待删除MAC地址表项为无效Invalid包括:保留所述MAC地址表项资源,并设置为无效Invalid;或者,根据需要删除所述MAC地址表项资源;
这里,对所述待处理MAC地址表项是否为新增表项、待更新表项、待删除表项的判断及处理过程并不限于上述顺序,可根据实际情况需要进行调整,本发明所有实施例中的判断处理顺序仅为较佳实施例。
进一步的,所述将待同步MAC地址表项同步到内存区域中指定位置之后,所述方法还包括:转发平面释放对内存的控制权限,高优先级新增、更新、删除队列与低优先级新增、更新、删除队列的优先级反转,并重启转发平面定时器。
进一步的,当所述高优先级队列和低优先级队列分别包含细分队列时,所述转发平面从高优先级队列里取出待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断所述高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,则将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,则判断所述高优先级更新队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,则将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存中指定位置;否则,将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid;这里,将所述高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid包括:保留所述Nc个MAC地址表项资源,并设置所述Nc个MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
图2为本发明实施例二快速同步MAC地址的方法流程示意图,如图2所示,该快速同步MAC地址的方法流程包括:
步骤201:初始化转发平面和控制平面,并判断初始化是否成功,如果成功,执行步骤202;否则,执行步骤210;
这里,所述初始化转发平面和控制平面的方法流程如图3所示,包括:
步骤3a:控制平面发送MAC地址软件表配置信息给转发平面;
这里,所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’等,其他附加功能信息可以由控制平面同转发平面协商确定;这里,所述每个缓存队列长度要与系统MAC地址表容量大小保持一致,所述N的值等于所述L与所述En的乘积,所述En等于En’;
其中,所述每个MAC地址表项至少包括:MAC地址,端口(PORT)号,VLAN标识,以及当前MAC地址表项Valid状态;
所述缓存队列包括高优先级队列Fh和低优先级队列Fl;
所述初始化成功表示转发平面定时器和高优先级队列Fh、低优先级队列Fl已经就绪,所述初始化失败表示不支持快速同步MAC地址功能。
步骤3b:转发平面根据所述配置信息,初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;
这里,所述初始化转发平面定时器、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC。
步骤3c:判断初始化是否成功,如果成功,则执行步骤3d;否则,执行步骤3e。
步骤3d:发送初始化成功消息给控制平面,结束本次处理流程。
步骤3e:发送不支持快速同步MAC地址功能消息给控制平面。
所述初始化转发平面和控制平面还可以包括:转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
步骤202:控制设备进入运行状态。
步骤203:启动转发平面定时器;
这里,需要说明的是,控制设备进入运行状态和启动转发平面定时器为同时进行的操作。
步骤204a:MAC地址表项发生变化,判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列,结束本次处理流程;
这里,所述变化的MAC地址表项包括:转发平面学习到的新MAC地址表项、发生老化或漂移的MAC地址表项,以及转发平面收到控制平面通知的需要新增或删除的MAC地址表项等;
所述判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列包括:判断高优先级队列是否被锁定,如果被锁定,则将变化的MAC地址表项加入低优先级队列;如果未锁定,则将变化的MAC地址表项加入高优先级队列。
步骤204b:定时扫描高优先级队列,直至高优先级队列被锁定;
这里,所述定时扫描高优先级队列,直至高优先级队列被锁定的方法流程如图4所示,包括:
步骤4a:转发平面定时器等待。
步骤4b:判断转发平面定时器是否超时,如果确定超时,则执行步骤4c,否则,执行步骤4a。
步骤4c:判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,执行步骤4d;确定不存在时,执行步骤4e;
步骤4d:锁定高优先级队列,结束本次处理流程。
步骤4e:重启转发平面定时器,并执行步骤4a;
这里,需要说明的是步骤204a和步骤204b的操作顺序不分先后,可同时进行。
步骤205:发送内存操作请求给控制平面。
步骤206:控制平面将内存操作权限交给转发平面;
这里,所述转发平面如何获得内存操作权限的具体操作为现有技术,此处不再赘述。
步骤207:转发平面依次从高优先级队列里取出待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将,待同步MAC地址表项同步到内存区域中指定位置;
这里,需要转发平面内的MAC地址表与控制平面内的MAC地址软件表的HASH插入算法保持一致,以便于控制平面后续据此HASH算法对所述M内存区域进行索引;
转发平面依次从所述高优先级队列中取出待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容,将待同步MAC地址表项同步到内存区域中指定位置的方法流程如图5所示,包括:
步骤5a:从高优先级队列取出第一个待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,则执行步骤5b;否则,执行步骤5c。
步骤5b:将所述新增MAC地址表项写入内存中指定区域,并设置所述新增MAC地址表项为有效Valid,结束本次处理流程。
步骤5c:判断所述待处理MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则执行步骤5d;否则,即确定所述MAC地址表项为待删除表项,执行步骤5e。
步骤5d:更新所述MAC地址表项对应的内存区域中MAC地址表项,并设置更新的MAC地址表项为有效Valid,结束本次处理流程。
步骤5e:设置所述MAC地址表项为无效Invalid;
本步骤具体包括:保留所述MAC地址表项资源,并设置所述MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源;
这里,对所述待同步MAC地址表项是否为新增表项、待更新表项、待删除表项的判断处理过程并不限于上述顺序,可根据实际情况需要进行调整,本发明所有实施例中的判断处理顺序仅为较佳实施例。
步骤208:判断高优先级队列是否为空,如果是,则执行步骤209;否则,执行步骤207。
步骤209:转发平面释放对内存的控制权限,将高优先级队列和低优先级队列的优先级反转,并执行步骤203,重启转发平面定时器。
步骤210:发送不支持快速同步MAC地址功能消息给控制平面。
步骤211:结束本次处理流程。
图6为本发明实施例三快速同步MAC地址的方法流程示意图,如图6所示,该快速同步MAC地址的方法流程包括:
步骤601:初始化转发平面和控制平面,并判断初始化是否成功,如果成功,则执行步骤602;否则,执行步骤614;
这里,所述初始化转发平面和控制平面的方法流程如图3所示,包括:
步骤3a:控制平面发送MAC地址软件表配置信息给转发平面;
这里,所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’等,其他附加功能信息可以由控制平面同转发平面协商确定;
这里,所述每个缓存队列长度要与系统MAC地址表容量大小保持一致,所述每个缓存队列的缓存门限值Th的范围为0至En,为本领域技术人员依据CPU处理能力和网络环境设置;所述N的值等于所述L与所述En的乘积,所述En等于En’;
其中,所述每个MAC地址表项至少包括:MAC地址,PORT端口号,VLAN标识,以及当前MAC地址表项的Valid状态;
所述缓存队列包括高优先级队列Fh和低优先级队列Fl;
所述初始化成功表示转发平面定时器和高优先级队列Fh、低优先级队列Fl已经就绪,所述初始化失败表示不支持快速同步MAC地址功能。
步骤3b:初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;
这里,所述初始化转发平面定时器、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化两个FIFO队列,即高优先级队列Fh和低优先级队列Fl,将所述N、L、En、Th等数据写入DMAC。
步骤3c:判断初始化是否成功,如果成功,则执行步骤3d;否则,执行步骤3e。
步骤3d:发送初始化成功消息给控制平面,结束本次处理流程。
步骤3e:发送不支持快速同步MAC地址功能消息给控制平面。
所述初始化转发平面和控制平面还可以包括:转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
步骤602:控制设备进入运行状态。
步骤603:启动转发平面定时器;
这里,需要说明的是,控制设备进入运行状态和启动转发平面定时器为同时进行的操作。
步骤604a:MAC地址表项发生变化,判断高优先级队列是否被锁定,确定被锁定时,执行步骤605;确定未被锁定时,执行步骤606;
这里,所述变化的MAC地址表项包括:转发平面学习到的新MAC地址表项、发生老化或漂移的MAC地址表项,以及转发平面收到控制平面通知的需要新增或删除的MAC地址表项等。
步骤604b:定时扫描高优先级队列,直至高优先级队列被锁定,执行步骤609;
这里,所述定时扫描高优先级队列直至高优先级队列被锁定的方法流程如图4所示,包括:
步骤4a:转发平面定时器等待。
步骤4b:判断定时器是否超时,如果确定超时,执行步骤4c,否则,执行步骤4a。
步骤4c:判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,执行步骤4d;确定不存在时,执行步骤4e。
步骤4d:锁定高优先级队列,结束本次处理流程。
步骤4e:重启转发平面定时器,并执行步骤4a;
这里,需要说明的是步骤604a和步骤604b的操作顺序不分先后,可同时进行。
步骤605:将变化的MAC地址表项加入低优先级队列,结束本次处理流程;
步骤606:将变化的MAC地址表项加入高优先级队列;
步骤607:判断高优先级队列缓存的MAC地址表项的数量是否达到预设门限值Th,如果达到门限值,则执行步骤608;否则,不进行任何操作,结束本次处理流程。
步骤608:关闭转发平面定时器,锁定高优先级队列。
步骤609:发送内存操作请求给控制平面。
步骤610:控制平面将内存操作权限交给转发平面。
这里,所述控制平面将内存操作权限交给转发平面的具体操作为现有技术,此处不再赘述。
步骤611:转发平面依次从高优先级队列里取出待同步MAC地址表项,并依据所述待同步MAC地址表项变化的内容,将待同步MAC地址表项同步到内存区域中指定位置;
这里,需要转发平面内MAC地址表同控制平面内MAC地址软件表的HASH插入算法保持一致,以便于控制平面后续据此HASH算法对内存区域进行索引;
转发平面依次从高优先级队列里取出待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置的方法流程如图5所示,包括:
步骤5a:从高优先级队列取出第一个待处理MAC地址表项,并判断是否为新增MAC地址表项,如果是新增表项,则执行步骤5b;否则,执行步骤5c。
步骤5b:将所述新增MAC地址表项写入内存中指定区域,并设置所述新增MAC地址表项为有效Valid,结束本次处理流程。
步骤5c:判断所述待处理MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则执行步骤5d;否则,执行步骤5e。
步骤5d:更新所述MAC地址表项对应的内存区域中MAC地址表项,并设置更新的MAC地址表项为有效Valid,结束本次处理流程。
步骤5e:设置所述MAC地址表项为无效Invalid;
本步骤具体包括:保留所述MAC地址表项资源,并设置所述MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
步骤612:判断高优先级队列是否为空,如果是,则执行步骤613;否则,执行步骤611。
步骤613:转发平面释放对内存的控制权限,高优先级队列和低优先级队列的优先级反转,并执行步骤603,重启转发平面定时器,结束本次处理流程。
步骤614:发送不支持快速同步MAC地址功能消息给控制平面。
步骤615:结束本次处理流程。
图7为本发明实施例四快速同步MAC地址的方法流程示意图,如图7所示,该快速同步MAC地址的方法流程包括:
步骤701:初始化转发平面和控制平面,并判断初始化是否成功,如果成功,则执行步骤702;否则执行步骤710;
这里,所述初始化转发平面和控制平面的方法流程如图3所示,包括:
步骤3a:控制平面发送MAC地址软件表配置信息给转发平面;
这里,所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’等,其他附加功能信息可以由控制平面同转发平面协商确定;
这里,所述每个缓存队列长度要与系统MAC地址表容量大小保持一致;所述N的值等于所述L与所述En的乘积,所述En等于En’;
其中,所述每个MAC地址表项至少包括:MAC地址,PORT端口号,VLAN标识,以及当前MAC地址表项的Valid/Invalid状态;
所述缓存队列包括高优先级队列Fh和低优先级队列Fl;
所述初始化成功表示转发平面定时器和高优先级队列Fh、低优先级队列Fl已经就绪,所述初始化失败表示不支持快速同步MAC地址功能。
步骤3b:初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;
这里,所述初始化转发平面定时器、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC。
步骤3c:判断初始化是否成功,如果成功,则执行步骤3d;否则,执行步骤3e。
步骤3d:发送初始化成功消息给控制平面,结束本次处理流程。
步骤3e:发送不支持快速同步MAC地址功能消息给控制平面。
所述初始化转发平面和控制平面还可以包括:转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
步骤702:控制设备进入运行状态。
步骤703:启动转发平面定时器;
这里,需要说明的是,控制设备进入运行状态和启动转发平面定时器为同时进行的操作。
步骤704a:MAC地址表项发生变化,判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列;
这里,所述变化的MAC地址表项包括:转发平面学习到的新MAC地址表项、发生老化或漂移的MAC地址表项,以及转发平面收到控制平面通知的需要新增或删除的MAC地址表项等;
所述高优先级队列包含细分队列:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列包含细分队列:低优先级新增队列、低优先级更新队列和低优先级删除队列;
所述判断高优先级队列是否被锁定,并根据判断结果将变化的MAC地址表项加入缓存队列的方法流程如图8所示,包括:
步骤8a:判断高优先级队列是否被锁定,确定未锁定时,执行步骤8b;确定锁定时,执行步骤8g。
步骤8b:判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,执行步骤8c;否则,执行步骤8d。
步骤8c:将所述新增的MAC地址表项加入高优先级新增队列。
步骤8d:判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,执行步骤8e;否则,执行步骤8f。
步骤8e:将所述待更新MAC地址表项加入高优先级更新队列,结束本次处理流程。
步骤8f:将所述变化的MAC地址表项加入高优先级删除队列,结束本次处理流程。
步骤8g:判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,执行步骤8h;否则,执行步骤8i。
步骤8h:将所述新增的MAC地址表项加入低优先级新增队列。
步骤8i:判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,执行步骤8j;否则,执行步骤8k。
步骤8j:将所述待更新MAC地址表项加入低优先级更新队列,结束本次处理流程。
步骤8k:将所述变化的MAC地址表项加入低优先级删除队列,结束本次处理流程。
步骤704b:定时扫描高优先级队列,直至高优先级队列被锁定,执行步骤705;
这里,所述定时扫描高优先级队列,直至高优先级队列被锁定的方法流程如图4所示,包括:
步骤4a:转发平面定时器等待。
步骤4b:判断定时器是否超时,如果确定超时,执行步骤4c,否则,执行步骤4a。
步骤4c:判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,执行步骤4d;确定不存在时,执行步骤4e。
这里,所述确定高优先级队列中存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中至少一个存在待同步MAC地址表项;
所述确定高优先级队列中不存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中均不存在待同步MAC地址表项。
步骤4d:锁定高优先级队列,结束本次处理流程。
步骤4e:重启转发平面定时器,并执行步骤4a;
这里,需要说明的是步骤704a和步骤704b的操作顺序不分先后,可同时进行。
步骤705:将高优先级新增、更新及删除队列中缓存的MAC地址表项数量Na、Nb、Nc存入DMAC。
步骤706:发送内存操作请求给控制平面。
步骤707:控制平面将内存操作权限交给转发平面。
步骤708:转发平面将高优先级新增、更新及删除队列中待同步MAC地址变化表项同步到内存区域中指定位置;
这里,需要转发平面内MAC地址表同控制平面内MAC地址软件表的HASH插入算法保持一致,以便于控制平面后续据此HASH算法对M内存区域进行索引;
所述转发平面将高优先级新增、更新及删除队列中待同步MAC地址变化表项同步到内存区域中指定位置的方法流程如图9所示,包括:
步骤9a:判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,确定不为0时,则执行步骤9b;否则,执行步骤9c。
步骤9b:将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置,结束本次处理流程。
步骤9c:判断高优先级更新队列中缓存的MAC地址表项数量Nb的值是否为0,确定不为0时,则执行步骤9d;否则,执行步骤9e。
步骤9d:将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置,结束本次处理流程。
步骤9e:判断高优先级删除队列中缓存的MAC地址表项数量Nc值是否为0,确定不为0时,执行步骤9f;确定为0时,执行步骤9g;
步骤9f:将内存区域中对应的Nc个MAC地址表项设置为无效Invalid,结束本次处理流程;
本步骤具体包括:保留所述Nc个MAC地址表项资源,并设置所述Nc个MAC地址表项为无效Invalid;或者,根据需要删除所述Nc个MAC地址表项资源。
步骤9g:转发平面释放对内存的控制权限,结束本次处理流程。
步骤709:转发平面释放对内存的控制权限,高优先级新增、更新、删除队列和低优先级新增、更新、删除队列的优先级反转,并执行步骤703,重启转发平面定时器。
步骤710:发送不支持快速同步MAC地址功能消息给控制平面。
步骤711:结束本次处理流程。
图10为本发明实施例五快速同步MAC地址的方法流程示意图,如图10所示,该快速同步MAC地址的方法流程包括:
步骤1001:初始化转发平面和控制平面,并判断初始化是否成功,如果成功,则执行步骤1002;否则,执行步骤1013;
这里,所述初始化转发平面和控制平面的方法流程如图3所示,包括:
步骤3a:控制平面发送MAC地址软件表配置信息给转发平面;
这里,所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’等,其他附加功能信息可以由控制平面同转发平面协商确定;
这里,所述每个缓存队列长度要与系统MAC地址表容量大小保持一致,所述每个缓存队列的缓存门限值Th的范围为0至En,为本领域技术人员依据CPU处理能力和网络环境设置;
其中,所述每个MAC地址表项至少包括:MAC地址,PORT端口号,VLAN标识,以及当前MAC地址表项的Valid/Invalid状态;
所述缓存队列包括高优先级队列Fh和低优先级队列Fl;
所述初始化成功表示转发平面定时器和高优先级队列Fh、低优先级队列Fl已经就绪,所述初始化失败表示不支持快速同步MAC地址功能。
步骤3b:初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;
这里,所述初始化转发平面定时器、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En、Th等数据写入DMAC。
步骤3c:判断初始化是否成功,如果成功,则执行步骤3d;否则,执行步骤3e。
步骤3d:发送初始化成功消息给控制平面,结束本次处理流程。
步骤3e:发送不支持快速同步MAC地址功能消息给控制平面。
所述初始化转发平面和控制平面还可以包括:转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
步骤1002:控制设备进入运行状态。
步骤1003:启动转发平面定时器;
这里,需要说明的是,控制设备进入运行状态和启动转发平面定时器为同时进行的操作。
步骤1004a:MAC地址表项发生变化,判断高优先级队列是否被锁定,确定被锁定时,执行步骤1005;确定未被锁定时,将变化的MAC地址表项加入高优先级队列,并执行步骤1007;
这里,所述变化的MAC地址表项包括:转发平面学习到的新MAC地址表项、发生老化或漂移的MAC地址表项,以及转发平面收到控制平面通知的需要新增或删除的MAC地址表项等。
步骤1004b:定时扫描高优先级队列,直至高优先级队列被锁定,执行步骤1009;
这里,所述定时扫描高优先级队列,直至高优先级队列被锁定的方法流程如图4所示,包括:
步骤4a:转发平面定时器等待。
步骤4b:判断定时器是否超时,如果确定超时,执行步骤4c,否则,执行步骤4a。
步骤4c:判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,执行步骤4d;确定不存在时,执行步骤4e。
这里,所述确定高优先级队列中存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中至少一个存在待同步MAC地址表项;
所述确定高优先级队列中不存在待同步MAC地址表项包括:确定所述高优先级新增队列、高优先级更新队列和高优先级删除队列中均不存在待同步MAC地址表项。
步骤4d:锁定高优先级队列,结束本次处理流程。
步骤4e:重启转发平面定时器,并执行步骤4a;
这里,需要说明的是步骤1004a和步骤1004b的操作顺序不分先后,可同时进行。
步骤1005:将变化的MAC地址表项加入低优先级队列,结束本次处理流程;
这里,所述低优先级队列包含细分队列:低优先级新增队列、低优先级更新队列和低优先级删除队列。
步骤1006:将变化的MAC地址表项加入高优先级队列;
所述高优先级队列包含细分队列:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列的方法流程如图8所示,包括:
步骤8a:判断高优先级队列是否被锁定,确定未锁定时,执行步骤8b;确定锁定时,执行步骤8g。
步骤8b:判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,执行步骤8c;否则,执行步骤8d。
步骤8c:将所述新增的MAC地址表项加入高优先级新增队列,结束本次处理流程。
步骤8d:判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,执行步骤8e;否则,执行步骤8f。
步骤8e:将所述待更新MAC地址表项加入高优先级更新队列,结束本次处理流程。
步骤8f:将所述变化的MAC地址表项加入高优先级删除队列,结束本次处理流程。
步骤8g:判断所述变化的MAC地址表项是否为新增MAC地址表项,确定为新增表项时,执行步骤8h;否则,执行步骤8i。
步骤8h:将所述新增的MAC地址表项加入低优先级新增队列,结束本次处理流程。
步骤8i:判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,执行步骤8j;否则,执行步骤8k。
步骤8j:将所述待更新MAC地址表项加入低优先级更新队列,结束本次处理流程。
步骤8k:将所述变化的MAC地址表项加入低优先级删除队列,结束本次处理流程。
步骤1007:判断高优先级队列缓存的MAC地址表项的数量是否达到门限值,确定达到门限值时,执行步骤1008;否则,不进行任何操作,结束本次处理流程;
这里,所述判断高优先级队列缓存的MAC地址表项的数量是否达到门限值包括:获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值。
步骤1008:关闭所述转发平面定时器,锁定高优先级队列。
步骤1009:发送内存操作请求给控制平面。
步骤1010:控制平面将内存操作权限交给转发平面;
这里,所述控制平面将内存操作权限交给转发平面的具体操作为现有技术,此处不再赘述。
步骤1011:转发平面将高优先级新增、更新及删除队列中待同步MAC地址变化表项同步到内存区域中指定位置;
这里,需要转发平面内MAC地址表同控制平面内MAC地址软件表的HASH插入算法保持一致,以便于控制平面后续据此HASH算法对M内存区域进行索引;
所述转发平面将高优先级新增、更新及删除队列中待同步MAC地址变化表项同步到内存区域中指定位置的方法流程如图9所示,包括:
步骤9a:判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,确定不为0时,执行步骤9b;否则,执行步骤9c。
步骤9b:将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置。
步骤9c:判断高优先更新增队列中缓存的MAC地址表项数量Nb的值是否为0,确定不为0时,执行步骤9d;否则,执行步骤9e。
步骤9d:将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置。
步骤9e:判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,确定不为0时,执行步骤9f;确定为0时,执行步骤9g。
步骤9f:将内存区域中对应的Nc个MAC地址表项设置为无效Invalid,结束本次处理流程;
本步骤具体包括:保留所述Nc个MAC地址表项资源,并设置所述Nc个MAC地址表项为无效Invalid;或者,根据需要删除所述Nc个MAC地址表项资源。
步骤9g:转发平面释放对内存的控制权限。
步骤1012:转发平面释放对内存的控制权限,高优先级新增、更新、删除队列分别和低优先级新增、更新、删除队列的优先级反转,并执行步骤1003,重启转发平面定时器。
步骤1013:发送不支持快速同步MAC地址功能消息给控制平面。
步骤1014:结束本次处理流程。
图11为本发明实施例一快速同步MAC地址表的装置组成结构示意图,如图11所示,所述快速同步MAC地址表的装置组成包括:转发平面111、控制平面112和转发平面定时器113;其中,
所述转发平面111,用于初始化转发平面和控制平面,并在确定初始化成功时,启动转发平面定时器,在确定满足MAC地址表同步条件时,转发平面获取内存操作权限,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述控制平面112,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面111;
所述转发平面定时器113,用于计时,并在超时时触发超时后的操作;
这里,所述初始化转发平面和控制平面包括:控制平面112发送MAC地址软件表配置信息给转发平面111;转发平面111依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器113、高优先级队列、低优先级队列及DMAC;或者,
转发平面112定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器113、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面112读取所述MAC地址软件表配置信息。
所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
这里,所述缓存队列包括:高优先级队列和低优先级队列;
所述每个MAC地址表项至少包括:MAC地址,端口PORT号,VLAN标识,以及当前MAC地址表项Valid/Invalid状态;
所述初始化转发平面定时器113、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC;
所述MAC地址表同步条件具体为:转发平面定时器超时且高优先级队列被锁定,或高优先级队列中缓存的MAC地址表项数量不低于缓存门限值;
所述确定转发平面定时器113超时且高优先级队列被锁定包括:确定转发平面定时器超时113,判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,锁定高优先级队列;
所述依次从所述高优先级队列中取出待同步的MAC地址表项,并依据变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,判断是否为待更新MAC地址表项,如果是待更新表项,更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,即为待删除表项,则将所述待删除表项设置为无效Invalid;这里,所述将所述待删除表项设置为无效Invalid包括:保留所述MAC地址表项资源,设置所述MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
进一步的,所述转发平面111还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定锁定时,将所述变化的MAC地址表项加入低优先级队列;确定未锁定时,将所述变化的MAC地址表项加入高优先级队列。
进一步的,所述转发平面111还用于,发送内存操作请求给控制平面112、释放对内存的控制权限,以及控制高优先级队列和低优先级队列的优先级反转。
进一步的,所述装置还包括:第一存储器114、第二存储器115、存储器116及DMAC117;其中,
所述第一存储器114,用于存储高优先级队列;
所述第二存储器115,用于存储低优先级队列;
存储器116,用于存储MAC地址表;
DMAC117,用于存储存储器116大小N、存储器116中MAC地址表项容量En’,每个MAC地址表项的大小L、地址、PORT端口号,VLAN标识、VALID状态,以及缓存队列的长度En等数据。
图12为本发明实施例二快速同步MAC地址表的装置组成结构示意图,如图12所示,所述快速同步MAC地址表的装置组成包括:转发平面121、控制平面122和转发平面定时器123;其中,
所述转发平面121,用于初始化转发平面和控制平面,并在确定初始化成功时,启动转发平面定时器,在确定满足MAC地址表同步条件时,转发平面获取内存操作权限,并依据变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述控制平面122,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面121;
所述转发平面定时器123,用于计时,并在超时时触发超时后的操作;
这里,所述初始化转发平面和控制平面包括:控制平面122发送MAC地址软件表配置信息给转发平面121;转发平面121依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器123、高优先级队列、低优先级队列及DMAC;或者,
转发平面121定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器123、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面122读取所述MAC地址软件表配置信息;
所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
所述缓存队列包括:高优先级队列和低优先级队列;
所述每个MAC地址表项至少包括:MAC地址,端口PORT号,VLAN标识,以及当前MAC地址表项Valid状态;
所述初始化转发平面定时器123、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器123,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC;
所述MAC地址表同步条件具体为:转发平面定时器超时且高优先级队列被锁定,或高优先级队列中缓存的MAC地址表项数量不低于缓存门限值;
所述确定转发平面定时器123超时且高优先级队列被锁定包括:确定转发平面定时器123超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,锁定高优先级队列;
所述依次从所述高优先级队列中取出待同步的MAC地址表项,并依据变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,判断是否为待更新MAC地址表项,如果是待更新表项,更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,即为待删除表项,则将所述待删除表项设置为无效Invalid;这里,所述将所述待删除表项设置为无效Invalid包括:保留所述MAC地址表项资源,设置所述MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
进一步的,所述转发平面121还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定锁定时,将所述变化的MAC地址表项加入低优先级队列;确定未锁定时,将所述变化的MAC地址表项加入高优先级队列。
进一步的,所述转发平面121还用于,发送内存操作请求给控制平面122、释放对内存的控制权限,以及控制高优先级队列和低优先级队列的优先级反转。
进一步的,所述装置还包括:第一存储器124、第二存储器125、存储器126及DMAC1212;其中,
所述第一存储器124,用于存储高优先级队列;
所述第二存储器125,用于存储低优先级队列;
存储器126,用于存储MAC地址表;
DMAC1212,用于存储存储器126大小N、存储器126中MAC地址表项容量En’,每个MAC地址表项的大小L、地址、PORT端口号,VLAN标识、VALID状态,以及所述缓存队列的长度En等数据。
图13为本发明实施例三快速同步MAC地址表的装置组成结构示意图,如图13所示,所述快速同步MAC地址表的装置组成包括:转发平面131、控制平面132和转发平面定时器133;其中,
所述转发平面131,用于初始化转发平面和控制平面,并在确定初始化成功时,启动转发平面定时器,在确定满足MAC地址表同步条件时,转发平面获取内存操作权限,并依据变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述控制平面132,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面131;
所述转发平面定时器133,用于计时,并在超时时触发超时后的操作;
这里,所述初始化转发平面和控制平面包括:控制平面132发送MAC地址软件表配置信息给转发平面131;转发平面131依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器133、高优先级队列、低优先级队列及DMAC;或者,
转发平面131定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器133、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面132读取所述MAC地址软件表配置信息;
所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
这里,所述缓存队列包括:高优先级队列和低优先级队列;
所述高优先级队列包括:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列包括:低优先级新增队列、低优先级更新队列和低优先级删除队列;
所述每个MAC地址表项至少包括:MAC地址,端口PORT号,VLAN标识,以及当前MAC地址表项Valid/Invalid状态;
所述初始化转发平面定时器133、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC;
所述MAC地址表同步条件具体为:转发平面定时器超时且高优先级队列被锁定,或高优先级队列中缓存的MAC地址表项数量不低于缓存门限值;
所述确定转发平面定时器133超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,锁定高优先级队列;
所述从所述高优先级队列中取出待同步的MAC地址表项,并依据变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,判断高优先级更新增队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid;这里,将所述高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid包括:保留所述Nc个MAC地址表项资源,并设置所述Nc个MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
进一步的,转发平面131还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定高优先级队列被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,将所述待更新MAC地址表项加入高优先级更新队列,如果不是待更新表项,将所述变化的MAC地址表项加入高优先级删除队列。
进一步的,所述转发平面131还用于,发送内存操作请求给控制平面132、释放对内存的控制权限,以及控制高优先级新增、更新、删除队列分别和低优先级新增、更新、删除队列的优先级反转。
进一步的,所述装置还包括:第一存储器134、第二存储器135、存储器136及DMAC137;其中,
所述第一存储器134,用于存储高优先级队列;
所述第二存储器135,用于存储低优先级队列;
存储器136,用于存储MAC地址表;
DMAC137,用于存储存储器136大小N、存储器136中MAC地址表项容量En’,每个MAC地址表项的大小L、地址、PORT端口号,VLAN标识、VALID状态,以及高优先级队列、低优先级队列的长度En等数据。
进一步的,所述第一存储器134包括:第一子存储器1341、第二子存储器1342和第三子存储器1343;
所述第二存储器135包括:第四子存储器1351、第五子存储器1352和第六子存储器1353;
其中,所述第一子存储器1341,用于存储高优先级新增队列;
所述第二子存储器1342,用于存储高优先级更新队列;
所述第三子存储器1343,用于存储高优先级删除队列;
所述第四子存储器1351,用于存储低优先级新增队列;
所述第五子存储器1352,用于存储低优先级更新队列;
所述第六子存储器1353,用于存储低优先级删除队列。
图14为本发明实施例四快速同步MAC地址表的装置组成结构示意图,如图14所示,所述快速同步MAC地址表的装置组成包括:转发平面141、控制平面142和转发平面定时器143;其中,
所述转发平面141,用于初始化转发平面和控制平面,并在确定初始化成功时,启动转发平面定时器,在确定满足MAC地址表同步条件时,转发平面获取内存操作权限,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述控制平面142,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面141;
所述转发平面定时器143,用于计时,并在超时时触发超时后的操作;
这里,所述初始化转发平面和控制平面包括:控制平面142发送MAC地址软件表配置信息给转发平面141;转发平面141依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器143、高优先级队列、低优先级队列及DMAC;或者,
转发平面141定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器143、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面142读取所述MAC地址软件表配置信息;
所述MAC地址软件表配置信息包括:规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
这里,所述缓存队列包括:高优先级队列和低优先级队列;
所述高优先级队列包括:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列包括:低优先级新增队列、低优先级更新队列和低优先级删除队列;
所述每个MAC地址表项至少包括:MAC地址,端口PORT号,VLAN标识,以及当前MAC地址表项Valid/Invalid状态;
所述初始化转发平面定时器143、高优先级队列、低优先级队列及DMAC包括:转发平面使用定时参数T初始化转发平面定时器143,创建并初始化高优先级队列Fh和低优先级队列Fl,将所述N、L、En等数据写入DMAC;
所述MAC地址表同步条件具体为:转发平面定时器超时且高优先级队列被锁定,或高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
所述确定转发平面定时器143超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在时,锁定高优先级队列;
所述从所述高优先级队列中取出待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,判断高优级先更新增队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid;这里,将所述高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid包括:保留所述Nc个MAC地址表项资源,设置所述Nc个MAC地址表项为无效Invalid;或者,根据需要删除所述MAC地址表项资源。
进一步的,转发平面141还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定高优先级队列被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,将所述待更新MAC地址表项加入高优先级更新队列,如果不是待更新表项,将所述变化的MAC地址表项加入高优先级删除队列。
进一步的,所述转发平面141还用于,发送内存操作请求给控制平面142、释放对内存的控制权限,以及控制高优先级新增、更新、删除队列分别和低优先级新增、更新、删除队列的优先级反转。
进一步的,所述装置还包括:第一存储器144、第二存储器145、存储器146及DMAC147;其中,
所述第一存储器144,用于存储高优先级队列;
所述第二存储器145,用于存储低优先级队列;
存储器146,用于存储MAC地址表;
DMAC147,用于存储存储器146大小N、存储器146中MAC地址表项容量En’,每个MAC地址表项的大小L、地址、PORT端口号,VLAN标识、VALID状态,以及高优先级队列、低优先级队列的长度En等数据。
进一步的,所述第一存储器144包括:第一子存储器1441、第二子存储器1442和第三子存储器1443;
所述第二存储器145包括:第四子存储器1451、第五子存储器1452和第六子存储器1453;
其中,所述第一子存储器1441,用于存储高优先级新增队列;
所述第二子存储器1442,用于存储高优先级更新队列;
所述第三子存储器1443,用于存储高优先级删除队列;
所述第四子存储器1451,用于存储低优先级新增队列;
所述第五子存储器1452,用于存储低优先级更新队列;
所述第六子存储器1453,用于存储低优先级删除队列。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (24)
1.一种快速同步介质访问控制MAC地址表的方法,其特征在于,所述方法包括:
初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;
确定满足MAC地址表同步条件时,转发平面获取内存操作权限;
获取待同步的MAC地址表项,依据所述待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置。
2.根据权利要求1所述方法,其特征在于,所述初始化转发平面和控制平面包括:控制平面发送MAC地址软件表配置信息给转发平面;转发平面依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC;或者,
转发平面定义MAC地址软件表配置信息,根据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
3.根据权利要求2所述方法,其特征在于,所述MAC地址软件表配置信息包括:
规定大小的内存区域M的地址、内存区域M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
或者,规定大小的内存区域M的地址、内存区域M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
其中,所述N=L*En,所述En=En’。
4.根据权利要求2所述方法,其特征在于,所述MAC地址表同步条件包括:确定转发平面定时器超时且高优先级队列被锁定;或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
5.根据权利要求4所述方法,其特征在于,所述确定满足MAC地址表同步条件之前,所述方法还包括:
MAC地址表项发生变化,判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列。
6.根据权利要求4所述方法,其特征在于,所述确定转发平面定时器超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在待同步MAC地址表项时,锁定高优先级队列。
7.根据权利要求2所述方法,其特征在于,所述获取待同步的MAC地址表项,依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,则将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,则判断是否为待更新MAC地址表项,如果是待更新表项,则更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,则设置所述待处理MAC地址表项为无效Invalid。
8.根据权利要求2所述方法,其特征在于,所述依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置之后,所述方法还包括:
转发平面释放对内存的控制权限,高优先级队列和低优先级队列的优先级反转,并重启转发平面定时器。
9.根据权利要求4或5所述方法,其特征在于,所述高优先级队列包括:高优先级新增队列、高优先级更新队列和高优先级删除队列;
所述低优先级队列包括:低优先级新增队列、低优先级更新队列和低优先级删除队列。
10.根据权利要求9所述方法,其特征在于,所述确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值包括:
获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值。
11.根据权利要求5所述方法,其特征在于,所述判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列包括:
判断高优先级队列是否被锁定,确定高优先级队列锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,则将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入高优先级更新队列,如果不是待更新表项,则将所述变化的MAC地址表项加入高优先级删除队列。
12.根据权利要求9所述方法,其特征在于,所述获取待同步的MAC地址表项,并依据待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,则将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,则判断高优先级更新队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,则将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,则判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,则将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid。
13.一种快速同步MAC地址表的装置,其特征在于,所述装置包括:转发平面和控制平面,所述转发平面包括转发平面定时器;其中,
所述转发平面,用于初始化转发平面和控制平面,在确定转发平面和控制平面初始化成功时,启动转发平面定时器;在确定满足MAC地址表同步条件时,转发平面获取内存操作权限;获取待同步的MAC地址表项,依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置;
所述转发平面定时器,用于计时,并在超时时触发超时后的操作;
所述控制平面,用于初始化转发平面和控制平面,并在确定满足MAC地址表同步条件时,将内存操作权限交给转发平面。
14.根据权利要求13所述装置,其特征在于,所述转发平面和控制平面初始化包括:控制平面发送MAC地址软件表配置信息给转发平面;转发平面依据所述配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及DMAC;或者,
转发平面定义MAC地址软件表配置信息,创建高优先级队列和低优先级队列,并初始化转发平面定时器、高优先级队列、低优先级队列及直接内存访问控制器DMAC,控制平面读取所述MAC地址软件表配置信息。
15.根据权利要求14所述装置,其特征在于,所述MAC地址表同步条件包括:确定转发平面定时器超时且高优先级队列被锁定;或确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值。
16.根据权利要求14所述装置,其特征在于,所述装置还包括:第一存储器和第二存储器;其中,
所述第一存储器,用于存储高优先级队列;
所述第二存储器,用于存储低优先级队列。
17.根据权利要求16所述装置,其特征在于,所述第一存储器包括:第一子存储器、第二子存储器和第三子存储器;
所述第二存储器包括:第四子存储器、第五子存储器和第六子存储器;
其中,所述第一子存储器,用于存储高优先级新增队列;
所述第二子存储器,用于存储高优先级更新队列;
所述第三子存储器,用于存储高优先级删除队列;
所述第四子存储器,用于存储低优先级新增队列;
所述第五子存储器,用于存储低优先级更新队列;
所述第六子存储器,用于存储低优先级删除队列。
18.根据权利要求14所述装置,其特征在于,所述转发平面还用于,MAC地址表项发生变化时,判断高优先级队列是否被锁定,确定高优先级队列锁定时,将变化的MAC地址表项加入低优先级队列;确定高优先级队列未被锁定时,将变化的MAC地址表项加入高优先级队列;
以及,释放对内存的控制权限,控制高优先级队列和低优先级队列的优先级反转,并重启转发平面定时器。
19.根据权利要求14所述装置,其特征在于,所述MAC地址软件表配置信息包括:
规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
或者,规定大小的内存区域M的地址、M的大小N、定时参数T、每个缓存队列的缓存门限值Th、每个缓存队列长度En、每个MAC地址表项大小L及系统MAC地址表容量En’;
其中,所述N=L*En,所述En=En’。
20.根据权利要求15所述装置,其特征在于,所述确定转发平面定时器超时且高优先级队列被锁定包括:
确定转发平面定时器超时,判断高优先级队列中是否存在待同步MAC地址表项,确定存在待同步MAC地址表项时,锁定高优先级队列。
21.根据权利要求14所述装置,其特征在于,所述获取待同步的MAC地址表项,并依据所述待同步MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
从高优先级队列中依次取出待处理MAC地址表项,判断是否为新增MAC地址表项,如果是新增表项,则将所述新增MAC地址表项写入内存区域中指定区域,并设置所述新增MAC地址表项为有效Valid;如果不是新增表项,则判断是否为待更新MAC地址表项,如果是待更新表项,则更新所述MAC地址表项对应的内存中MAC地址表项,并设置更新的MAC地址表项为有效Valid;如果不是待更新表项,则设置所述待处理MAC地址表项为无效Invalid。
22.根据权利要求15所述装置,其特征在于,所述确定高优先级队列中缓存的MAC地址表项数量不低于缓存门限值包括:获取高优先级新增队列中缓存的MAC地址表项数量Na、高优先级更新队列中缓存的MAC地址表项数量Nb、以及高优先级删除队列中缓存的MAC地址表项数量Nc之和Cn,并判断Cn与预设门限值Th的大小,当Cn<Th时,未达到门限值;否则,已达到门限值。
23.根据权利要求18所述装置,其特征在于,所述判断高优先级队列是否被锁定,确定锁定时,将变化的MAC地址表项加入低优先级队列;确定未被锁定时,将变化的MAC地址表项加入高优先级队列包括:
判断高优先级队列是否被锁定,确定高优先级队列锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入低优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是待更新表项,则将所述待更新MAC地址表项加入低优先级更新队列;如果不是待更新表项,则将所述变化的MAC地址表项加入低优先级删除队列;
确定高优先级队列未被锁定时,判断所述变化的MAC地址表项是否为新增MAC地址表项,如果是新增表项,则将所述新增的MAC地址表项加入高优先级新增队列;如果不是新增表项,则判断所述变化的MAC地址表项是否为待更新MAC地址表项,如果是新增表项,则将所述待更新MAC地址表项加入高优先级更新队列,如果不是新增表项,则将所述变化的MAC地址表项加入高优先级删除队列。
24.根据权利要求14所述装置,其特征在于,所述获取待同步的MAC地址表项,并依据所述待同步的MAC地址表项变化的内容将待同步MAC地址表项同步到内存区域中指定位置,包括:
判断高优先级新增队列中缓存的MAC地址表项数量Na的值是否为0,如果Na的值不为0,则将高优先级新增队列中缓存的Na个MAC地址表项批量存入内存区域中指定位置;如果Na的值为0,则判断高优先级更新增队列中缓存的MAC地址表项数量Nb的值是否为0,如果Nb的值不为0,则将高优先级更新队列中待更新的Nb个MAC地址表项批量存入内存区域中指定位置;如果Nb的值为0,则判断高优先级删除队列中缓存的MAC地址表项数量Nc的值是否为0,如果Nc的值不是0,则将高优先级队列中缓存的Nc个MAC地址表项设置为无效Invalid。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198434.7A CN105099961B (zh) | 2014-05-12 | 2014-05-12 | 一种快速同步介质访问控制地址表的方法和装置 |
PCT/CN2014/090626 WO2015172538A1 (zh) | 2014-05-12 | 2014-11-07 | 快速同步介质访问控制地址表的方法、装置及存储介质 |
EP14891894.9A EP3131246B1 (en) | 2014-05-12 | 2014-11-07 | Method, device and storage medium for rapidly synchronizing medium access control address table |
MYPI2016001982A MY190447A (en) | 2014-05-12 | 2014-11-07 | Method and device for rapidly synchronizing medium access control address table, and storage medium |
US15/310,362 US10153963B2 (en) | 2014-05-12 | 2014-11-07 | Method and device for rapidly synchronizing medium access control address table, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198434.7A CN105099961B (zh) | 2014-05-12 | 2014-05-12 | 一种快速同步介质访问控制地址表的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099961A true CN105099961A (zh) | 2015-11-25 |
CN105099961B CN105099961B (zh) | 2020-01-17 |
Family
ID=54479266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410198434.7A Active CN105099961B (zh) | 2014-05-12 | 2014-05-12 | 一种快速同步介质访问控制地址表的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10153963B2 (zh) |
EP (1) | EP3131246B1 (zh) |
CN (1) | CN105099961B (zh) |
MY (1) | MY190447A (zh) |
WO (1) | WO2015172538A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512949A (zh) * | 2018-03-23 | 2018-09-07 | 烽火通信科技股份有限公司 | 一种mac地址同步方法及系统 |
CN108809837A (zh) * | 2018-06-11 | 2018-11-13 | 深圳市风云实业有限公司 | Arl表项集中管理优化系统 |
CN109492020A (zh) * | 2018-11-26 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种数据缓存方法、装置、电子设备及存储介质 |
CN110365599A (zh) * | 2019-07-12 | 2019-10-22 | 中国电信集团工会上海市委员会 | 一种Openflow交换机转发通道快速更新系统及其方法 |
CN111935338A (zh) * | 2020-09-17 | 2020-11-13 | 南京中兴软件有限责任公司 | 一种控制源mac学习条目数方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099961B (zh) | 2014-05-12 | 2020-01-17 | 中兴通讯股份有限公司 | 一种快速同步介质访问控制地址表的方法和装置 |
CN106488518B (zh) * | 2016-11-16 | 2020-01-21 | 广东新岸线计算机系统芯片有限公司 | 一种跨多小区切换下实现用户数据接续传输的方法 |
CN111835643B (zh) * | 2019-04-22 | 2021-10-19 | 华为技术有限公司 | 管理mac表的方法、网络设备、存储介质和程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230493A1 (en) * | 2006-03-31 | 2007-10-04 | Qualcomm Incorporated | Memory management for high speed media access control |
CN101115017A (zh) * | 2007-09-10 | 2008-01-30 | 杭州华三通信技术有限公司 | 一种删除mac地址的方法及装置 |
CN101232447A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种控制学习的mac地址预老化的方法 |
CN101729410A (zh) * | 2009-11-10 | 2010-06-09 | 中兴通讯股份有限公司 | 一种媒体访问控制地址表的同步方法及装置 |
US20110317699A1 (en) * | 2010-06-28 | 2011-12-29 | Avaya Inc. | Method for media access control address learning and learning rate suppression |
WO2013067681A1 (en) * | 2011-11-08 | 2013-05-16 | Qualcomm Incorporated | Synchronizing forwarding databases in a network device background |
CN103401782A (zh) * | 2013-07-24 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种mac地址同步方法及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294211A1 (en) * | 2005-03-25 | 2006-12-28 | Nicholas Amato | Forwarding table synchronization for virtual environments |
CN101110846B (zh) * | 2007-08-29 | 2011-08-31 | 杭州华三通信技术有限公司 | 一种mac地址表项的管理方法和设备 |
US7894334B2 (en) * | 2008-08-15 | 2011-02-22 | Telefonaktiebolaget L M Ericsson | Hierarchical redundancy for a distributed control plane |
JP5328332B2 (ja) * | 2008-12-19 | 2013-10-30 | キヤノン株式会社 | 画像処理システム、画像処理装置及び画像処理方法 |
CN101741728B (zh) * | 2009-11-11 | 2012-01-25 | 中兴通讯股份有限公司 | 一种媒体访问控制地址表的比较方法和装置 |
US8504718B2 (en) * | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
CN105099961B (zh) | 2014-05-12 | 2020-01-17 | 中兴通讯股份有限公司 | 一种快速同步介质访问控制地址表的方法和装置 |
-
2014
- 2014-05-12 CN CN201410198434.7A patent/CN105099961B/zh active Active
- 2014-11-07 EP EP14891894.9A patent/EP3131246B1/en active Active
- 2014-11-07 WO PCT/CN2014/090626 patent/WO2015172538A1/zh active Application Filing
- 2014-11-07 MY MYPI2016001982A patent/MY190447A/en unknown
- 2014-11-07 US US15/310,362 patent/US10153963B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230493A1 (en) * | 2006-03-31 | 2007-10-04 | Qualcomm Incorporated | Memory management for high speed media access control |
CN101115017A (zh) * | 2007-09-10 | 2008-01-30 | 杭州华三通信技术有限公司 | 一种删除mac地址的方法及装置 |
CN101232447A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种控制学习的mac地址预老化的方法 |
CN101729410A (zh) * | 2009-11-10 | 2010-06-09 | 中兴通讯股份有限公司 | 一种媒体访问控制地址表的同步方法及装置 |
US20110317699A1 (en) * | 2010-06-28 | 2011-12-29 | Avaya Inc. | Method for media access control address learning and learning rate suppression |
WO2013067681A1 (en) * | 2011-11-08 | 2013-05-16 | Qualcomm Incorporated | Synchronizing forwarding databases in a network device background |
CN103401782A (zh) * | 2013-07-24 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种mac地址同步方法及设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512949A (zh) * | 2018-03-23 | 2018-09-07 | 烽火通信科技股份有限公司 | 一种mac地址同步方法及系统 |
CN108809837A (zh) * | 2018-06-11 | 2018-11-13 | 深圳市风云实业有限公司 | Arl表项集中管理优化系统 |
CN109492020A (zh) * | 2018-11-26 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种数据缓存方法、装置、电子设备及存储介质 |
CN110365599A (zh) * | 2019-07-12 | 2019-10-22 | 中国电信集团工会上海市委员会 | 一种Openflow交换机转发通道快速更新系统及其方法 |
CN111935338A (zh) * | 2020-09-17 | 2020-11-13 | 南京中兴软件有限责任公司 | 一种控制源mac学习条目数方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3131246A4 (en) | 2017-05-31 |
WO2015172538A1 (zh) | 2015-11-19 |
MY190447A (en) | 2022-04-21 |
CN105099961B (zh) | 2020-01-17 |
US20170264530A1 (en) | 2017-09-14 |
EP3131246A1 (en) | 2017-02-15 |
EP3131246B1 (en) | 2019-09-25 |
US10153963B2 (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099961A (zh) | 一种快速同步介质访问控制地址表的方法和装置 | |
US10956194B2 (en) | Learning a MAC address in VXLAN | |
CN102137025B (zh) | 报文转发方法、装置及交换芯片 | |
US20140317256A1 (en) | Loop and Outage Avoidance in Software Defined Network | |
US10001945B2 (en) | Method of storing data and data storage managing server | |
CN112333099B (zh) | 一种本地多路径报文的选路方法、装置和存储介质 | |
WO2017219867A1 (zh) | 一种短消息重试处理方法及装置、系统 | |
CN113111033A (zh) | 一种分布式对象存储系统中桶索引动态重分的方法和系统 | |
EP2549690A1 (en) | Media access control address keep-alive device and method for convergence port | |
CN104954101A (zh) | 基于同步ack的多终端数据同步方法 | |
US10546018B2 (en) | System and method of coalescing writes to a hardware table in a non-disruptive fashion | |
WO2020063466A1 (zh) | 接入点管理 | |
CN101232508B (zh) | 加速多生成树协议网络拓扑收敛的方法及设备 | |
CN105930100B (zh) | 一种优化usim卡文件读写速度及频率的实现方法 | |
CN112804276A (zh) | 虚拟化宽带远程接入服务器及其控制方法、通信系统 | |
WO2017005125A1 (zh) | 一种用于操作系统或者应用程序的临时文件管理方法 | |
CN104579972A (zh) | 一种软件定义网络中多控制器环境下表项老化的同步方法 | |
CN103117883B (zh) | 一种分组设备运行状态同步方法 | |
CN106302184B (zh) | 一种流表项下发方法、流表项保存方法、相关装置和系统 | |
JP2010224672A (ja) | データ処理方法、システム、およびプログラム | |
US10855519B2 (en) | MAC-sync based mechanism for bridge port failover | |
RU2675050C1 (ru) | Способ и устройство выбора адреса управления доступом к среде mac | |
CN102868621B (zh) | 一种利用异步方式实现大容量路由快速写硬件的方法 | |
CN113794642B (zh) | 一种mac表项同步方法及装置 | |
CN103236950B (zh) | 用于l3vpn的业务管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |