堆叠系统中的MAC地址信息同步方法及装置与流程

文档序号:12009129阅读:396来源:国知局
堆叠系统中的MAC地址信息同步方法及装置与流程
本申请涉及通信网络技术领域,特别涉及一种堆叠系统中的MAC地址信息同步方法及装置。

背景技术:
以太网交换机堆叠技术可以将多个交换机互联在一起,形成分布式交换架构,并作为一个逻辑交换实体运行。从管理和配置的角度来看,一个分布式交换架构看起来就像一台交换设备;从性能的角度来看,一个分布式交换架构中的每一个交换机都能针对本交换机的端口上的第二层、第三层数据流通信业务,制定本地转发策略。通过堆叠,多个交换设备可以互相连接起来形成一个“联合设备”,可以将这个“联合设备”称为一个Stacking(堆叠系统),将组成Stacking的每一个交换设备称为一个Slot(堆叠成员)。多个Slot组成一个Stacking之后,无论在管理还是在使用上,就都成为了一个整体。也就是说,用户可以将这多个Slot看成单一设备进行管理和使用。这样既可以通过增加Slot来扩展端口数量和交换能力,同时也可以通过多个Slot之间的相互备份增加整个Stacking的可靠性。图1所示,3个设备:Slot1、Slot2和Slot3组成一个环形堆叠系统。每一个Slot上最多具有两组堆叠口,分别记为P1和P2。一个Slot的堆叠口P1与相邻的另一个Slot的堆叠口P2相连,组成环形堆叠系统。该环形堆叠系统中的每一个Slot通过聚合与交换机SW1和SW2连接。上行方向的单播流(目的MAC(MediaAccessControl,媒体访问控制)地址为Mac2,源MAC地址为Mac1)经该环形堆叠系统的Slot1转发至SW2,从而,Slot1上学习到了源MAC地址:Mac1。而回复的下行方向的单播流(目的MAC地址为Mac1,源MAC地址是Mac2)经聚合组Hash(哈希)计算后,并没有从Slot1转发,而是从Slot2上进入该环形堆叠系统。由于Slot2上并没有学习到Mac1,Slot2查表发现该单播报文是目的MAC地址未知的单播报文,因此,将该单播报文在该环形堆叠系统内广播。这样,不仅增加了额外带宽的消耗,而且会使得目的设备(即MAC地址为Mac1的设备)收到多份报文。为了避免上述情况的发生,堆叠系统通常借助IPC(Inter-processCommunication,进程间通信)通信技术,在堆叠成员之间进行MAC地址的同步处理。同步方式主要有定期批量同步方式和事件触发方式两种。定期批量同步方式是指:每一个堆叠成员定期(周期性)读取本设备学习到的所有MAC地址信息,通过IPC通信手段,将这些MAC地址信息打包发送给其它堆叠成员。其它堆叠成员收到同步过来的MAC地址信息之后,确定是否需要同步,即,本设备上是否已经存在该MAC地址信息,以及,合法性检查;当确定需要同步时,则将该MAC地址信息配置到硬件FDB(ForwardingDatabase,转发数据库)中。事件触发方式是指:每一个堆叠成员在学习到MAC地址或有MAC地址老化时,进行MAC地址信息的同步,过程同定期批量同步方式。其中,被同步的MAC地址信息可以是聚合组下学习到的MAC地址信息,也可以是任意其他端口学习到的MAC地址信息。上述现有的堆叠系统内MAC地址信息的同步方法,必须借助IPC通信技术,使用板间IPC消息传递被同步的MAC地址信息。这样,同步发起端中的CPU(CentralProcessingUnit,中央处理器)需要组织MAC同步数据包(即板间IPC消息),被同步端中的CPU需要解析MAC同步数据包,确定是否需要同步,在确定需要同步后逐条配置到硬件FDB中。可见,整个同步过程严重消耗CPU的处理能力,占用CPU的开销较大。

技术实现要素:
本申请提供了一种堆叠系统中的MAC地址信息同步方法及装置,以解决现有的堆叠系统内MAC地址信息的同步方法存在的占用CPU的开销较大的问题。本申请的技术方案如下:一方面,提供了一种堆叠系统中的MAC地址信息同步方法,堆叠系统中包括:多个成员设备,该方法应用于成员设备,该方法包括:构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLANID填充到VLANID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。另一方面,还提供了一种堆叠系统中的MAC地址信息同步装置,堆叠系统中包括:多个成员设备,该装置应用于成员设备,该装置包括:构建模块,用于构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;填充模块,用于当本成员设备需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLANID填充到VLANID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;发送模块,用于触发转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。通过本申请的技术方案,预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLANID填充到模板的VLANID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLANID作为MAC地址同步报文的VLANID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。附图说明图1是一种实际的堆叠系统的架构示意图;图2是本申请的实施例一的堆叠系统中的MAC地址信息同步方法的流程图;图3是本申请的实施例一的MAC地址同步报文模板的一种格式示意图;图4是本申请的实施例一的MAC地址同步报文模板的另一种格式示意图;图5是本申请的实施例二的堆叠系统中的MAC地址信息同步装置的结构示意图。具体实施方式为了解决现有的堆叠系统内MAC地址信息的同步方法存在的占用CPU的开销较大的问题,本申请的以下实施例中提供了一种堆叠系统中的MAC地址信息同步方法,以及一种堆叠系统中的MAC地址信息同步装置。在以下实施例中,堆叠系统中包括:多个成员设备(Slot)。成员设备可以是交换机等,本申请对此不做限定。实施例一本申请的实施例一的堆叠系统中的MAC地址信息同步方法由成员设备来执行。如图2所示,该同步方法包括以下步骤:步骤S202,构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN(VirtualLocalAreaNetwork,虚拟局域网标识)ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址(即全0xFF);在实际实施过程中,MAC地址同步报文模板的格式如图3或图4所示。MAC地址同步报文模板可以为一块内存buffer(缓冲区),该模板的大小为:64字节+芯片间转发信息结构所占字节。其中,64字节为基本报文,在基本报文中包括:源MAC地址域(在图3或图4中,以源MAC地址表示)、VLAN(VirtualLocalAreaNetwork,虚拟局域网)ID域(在图3或图4中,以VLANTAG(标签)表示)、目的MAC地址域(在图3或图4中,以目的MAC地址表示)和二层协议号域(在图3或图4中,以二层协议号表示);芯片间转发信息结构(在图3或图4中,以芯片间转发信息结构表示)用于多芯片间的统一转发。在图3和图4中,在MAC地址同步报文模板中的负载中可以填充数据,也可以不填充数据,负载部分仅仅是为了满足报文的长度不能小于64字节的要求。预置MAC地址同步报文模板的目的MAC地址为广播地址,二层协议号为预设二层协议号,称为同步MAC报文私有协议号,该私有协议号仅在堆叠系统内部使用,该私有协议号的具体值可以灵活定义,只要不引起冲突即可,例如,可以为0xACAC。图3和图4中,带有斜线的几个域:目的MAC地址域、二层协议号域和负载的值是固定的,当需要同步MAC地址信息时,只需填充其他域的值即可。步骤S204,当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLANID填充到VLANID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;其中,MAC地址信息中可以包括:MAC地址、VLANID和源端口信息。在实际实施过程中,步骤S204的具体实施方法可以包括步骤11-12:步骤11:CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,将该MAC地址信息中的VLANID填充到VLANID域中,将该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,其中,源端口信息包括:源芯片ID和源端口ID;其中,源端口信息映射到硬件中一般由源芯片ID(即转发芯片的ID)和源端口ID(即该转发芯片上的端口ID)唯一标识。这样,芯片间转发信息结构中应该包括:源芯片ID域和源端口ID域,分别用于携带源端口信息中的源芯片ID和源端口ID。在填充源端口信息时,将源端口信息中的源芯片ID填充到源芯片ID域中,将源端口信息中的源端口ID填充到源端口ID域中。步骤12:CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,并通知转发芯片发送MAC地址同步报文。步骤S206,转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给所述堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。在实际实施过程中,步骤S206的具体实施方法包括:转发芯片收到CPU的通知之后,从报文缓冲区中获取到MAC地址同步报文;转发芯片通过堆叠端口转发MAC地址同步报文,即,在所在VLAN内的堆叠系统中广播MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。其中,用户业务端口是指成员设备上连接堆叠系统外部的设备的端口,用户业务端口不是堆叠端口。其中,实现禁止通过用户业务端口转发MAC地址同步报文的方式可以采用以下两种方式中的任一种:方式一:ACL(访问控制列表)方式转发芯片按照预设的ACL规则,判断要转发的报文中的二层协议号域的值是否为预设二层协议号(即同步MAC报文私有协议号),其中,当二层协议号域的值为预设二层协议号时,表示本报文是MAC地址同步报文;若是,则禁止通过用户业务端口转发该MAC地址同步报文。在实际实施过程中,可以下发用户业务端口egress(出方向)DENY(拒绝)MAC地址同步报文ACL,用于在出方向上阻止通过用户业务端口向外转发MAC地址同步报文。方式二:出源过滤方式在本方式二中,MAC地址同步报文模板的芯片间转发信息结构中除了包括:源芯片ID域和源端口ID域以外,还包括:源ID域。转发芯片判断要转发的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当源ID域的值为MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;若是,则禁止通过用户业务端口转发该报文。在方式二中,可以预先将源ID域的值设置为一个特殊的源ID,称为MAC地址同步报文专用源ID,该MAC地址同步报文专用源ID可以是一个无效的源ID,即,该预设源ID是没有与任何用户业务端口绑定的源ID。转发芯片要通过用户业务端口发送一个报文时,若判断出该报文中的源ID域的值为MAC地址同步报文专用源ID,则将该报文过滤掉,不转发该报文。本实施例的技术方案中,预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLANID填充到模板的VLANID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLANID作为MAC地址同步报文的VLANID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。上述步骤S202-S206描述了本成员设备作为同步发起端时执行的MAC地址信息同步方法,另外,本成员设备还会接收到其他成员设备发来的MAC地址同步报文,此时,作为被同步端的本成员设备需要执行的MAC地址信息同步方法包括以下步骤:步骤S302,转发芯片通过堆叠端口接收到MAC地址同步报文之后,根据接收的MAC地址同步报文中的源MAC地址、VLANID和源端口信息,生成对应的MAC地址表项并配置到FDB中;由于所有堆叠端口都是所有VLAN的成员端口,因此,MAC地址报文可到达所有堆叠端口,并在堆叠端口的Ingress(入方向)触发源MAC地址的学习。其中,生成的表项中的MAC地址为接收的MAC地址同步报文中的源MAC地址,VLANID为接收的MAC地址同步报文中的VLANID。步骤S304,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。对于通过一堆叠端口接收到的MAC地址同步报文之后,在转发该MAC地址同步报文时,应该排除该入端口。另外,如果成员设备中包含有多个转发芯片,则在步骤S304中,转发芯片还会将接收到的MAC地址同步报文通过内部芯片间连接口广播给本成员设备中的其他转发芯片,其他转发芯片接收到该MAC地址同步报文后,会根据该MAC地址同步报文中的源MAC地址、VLANID和源端口信息,生成对应的MAC地址表项并配置到FDB中。另外,当该堆叠系统是环形堆叠系统时,为了防止MAC地址同步报文形成转发风暴,需要将MAC地址同步报文在某一条链路或某一位置点阻断或切断。具体方式如下:阻断方式一:在使用上述方式一的ACL方式实现禁止通过用户业务端口转发MAC地址同步报文时,作为同步端的成员设备会将芯片间转发信息结构中的源ID域的值置为与本成员设备绑定的源ID;在实际实施过程中,每一个成员设备具有一个与本成员设备绑定的源ID。这样,在步骤S304中,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文的方法包括:步骤21:根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;其中,多播源过滤表是预先计算好的,用于记录源ID域的值为何种值的MAC地址同步报文不允许从哪个堆叠端口转发出去,即,哪个成员设备发出的MAC地址同步报文在哪个链路阻断,该链路就是不允许转发的堆叠端口连接的链路。通常,可以按照最短转发路径的原则,计算源ID域的值为一种值的MAC地址同步报文不允许从哪个堆叠端口转发出去,例如,如图1所示,对于Slot1发出的MAC同步报文,假设,该MAC同步报文的源ID域的值为源ID1(即为Slot1绑定的源ID为源ID1),Slot1→Slot2的跳数是1跳,Slot1→Slot3的跳数是1跳,而Slot1→Slot2→Slot3的跳数是2跳,则可以计算出对于源ID域的值为源ID1的MAC地址同步报文,需要在Slot2与Slot3之间的链路阻断,不允许转发的堆叠端口就是Slot2连接至Slot3的堆叠端口。也就是说,一个成员设备发出的MAC地址同步报文会在最短转发路径的最远位置进行阻断。步骤22:若查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文,即不再将该MAC地址同步报文转发出去;步骤23:若没有查找到对应的堆叠端口标识,则将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。阻断方式二:在使用上述方式二的出源过滤方式实现禁止通过用户业务端口转发MAC地址同步报文时,作为同步端的成员设备会将芯片间转发信息结构中的源ID域的值置为MAC地址同步报文专用源ID;此时,各个成员设备发出的MAC地址同步报文中的源ID域的值是相同的,均是MAC地址同步报文专用源ID。这样,在步骤S304中,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文的方法包括:步骤31:当要通过其他堆叠端口转发该MAC地址同步报文时,判断该其他堆叠端口是否是预设的固定切断位置点,若是,则执行步骤32,否则,执行步骤33;由于各个成员设备发出的MAC地址同步报文中的源ID域都是MAC地址同步报文专用源ID,这样,需要预设固定切断位置点,用于将所有成员设备发出的MAC地址同步报文在该位置点进行阻断。例如,固定切断位置点可以是主用成员设备的P2堆叠端口,也可以是标识最小的成员设备P2堆叠端口。步骤32:禁止通过该其他堆叠端口转发该MAC地址同步报文;步骤33:通过该其他堆叠端口转发该MAC地址同步报文。实施例二针对上述实施例一中的方法,本申请实施例二提供了一种堆叠系统中的MAC地址信息同步装置,该装置位于成员设备中。如图5所示,该装置中包括以下模块:构建模块10、填充模块20和发送模块30,其中:构建模块10,用于构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;填充模块20,用于当本成员设备需要同步MAC地址信息时,触发中央处理器CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLANID填充到VLANID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;发送模块30,用于触发转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。其中,填充模块包括:填充单元和复制通知单元,其中:填充单元,用于触发CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,将该MAC地址信息中的VLANID填充到VLANID域中,将该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,其中,源端口信息包括:源芯片ID和源端口ID;复制通知单元,用于触发CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,并通知转发芯片发送MAC地址同步报文。其中,该装置中还包括:接收模块和配置模块,其中,接收模块,用于触发转发芯片通过堆叠端口接收MAC地址同步报文;配置模块,用于在转发芯片通过堆叠端口接收到MAC地址同步报文之后,触发转发芯片根据接收的MAC地址同步报文中的源MAC地址、VLANID和源端口信息,生成对应的MAC地址表项并配置到转发数据库FDB中;发送模块,还用于触发转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发接收的MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。根据本申请的一种实施例,MAC地址同步报文模板中还包括:二层协议号域,则,发送模块包括:判断单元和禁止转发单元,其中:判断单元,用于触发转发芯片按照预设的ACL规则,判断要发送的报文中的二层协议号域的值是否为预设二层协议号,其中,当二层协议号域的值为预设二层协议号时,表示本报文是MAC地址同步报文;禁止转发单元,用于若转发芯片的判断结果为是,则触发转发芯片禁止通过用户业务端口转发该MAC地址同步报文。其中,芯片间转发信息结构中包括:源ID域,源ID域的值是与发出本MAC地址同步报文的成员设备绑定的源ID;则,发送模块还包括:查找单元和转发单元,其中:查找单元,用于触发转发芯片根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;转发单元,用于若转发芯片查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文;还用于若转发芯片没有查找到对应的堆叠端口标识,则触发转发芯片将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。根据本申请的另一种实施例,芯片间转发信息结构中包括:源ID域,则,发送模块包括:判断单元和禁止转发单元,其中:判断单元,用于触发转发芯片判断要发送的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当源ID域的值为MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;禁止转发单元,用于若转发芯片的判断结果为是,则触发转发芯片禁止通过用户业务端口转发该报文。其中,发送模块还包括:转发单元,其中,判断单元,还用于当转发芯片要通过其他堆叠端口转发该MAC地址同步报文时,触发转发芯片判断该其他堆叠端口是否是预设的固定切断位置点;禁止转发单元,还用于若转发芯片判断出该其他堆叠端口是固定切断位置点,则触发转发芯片禁止通过该其他堆叠端口转发该MAC地址同步报文;转发单元,用于若转发芯片判断出该其他堆叠端口不是固定切断位置点,则触发转发芯片通过该其他堆叠端口转发该MAC地址同步报文。综上,本申请以上实施例可以达到以下技术效果:(1)预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLANID填充到模板的VLANID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLANID作为MAC地址同步报文的VLANID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。(2)当需要同步MAC地址信息时,CPU只需将该MAC地址信息中的MAC地址填充到MAC地址同步报文模板的源MAC地址域中,该MAC地址信息中的VLANID填充到模板的VLANID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,由转发芯片转发出去;这样,同步发起端只需填充模板中的部分信息并复制到转发芯片的报文缓冲区中即可,而不需要在每一个MAC同步数据包(即板间IPC消息)时都申请内存空间进行单独的组织构造;并且,预先在MAC地址同步报文的模板中构造了芯片间转发信息结构,可直接向其他芯片发送,省略了添加芯片间转发信息结构的处理过程,并且将MAC地址同步报文模板直接拷贝到转发芯片的报文缓冲区中,由转发芯片转发。另外,被同步端的转发芯片接收到MAC地址同步报文后,触发转发芯片进行源MAC地址的学习,无需上送CPU。综上,无论在同步发起端还是在被同步端都实现了高速的MAC地址同步。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1