CN116016395A - 冗余切换方法、装置及网络设备 - Google Patents

冗余切换方法、装置及网络设备 Download PDF

Info

Publication number
CN116016395A
CN116016395A CN202211628130.0A CN202211628130A CN116016395A CN 116016395 A CN116016395 A CN 116016395A CN 202211628130 A CN202211628130 A CN 202211628130A CN 116016395 A CN116016395 A CN 116016395A
Authority
CN
China
Prior art keywords
port
physical
bitmap
interrupt
physical layer
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.)
Pending
Application number
CN202211628130.0A
Other languages
English (en)
Inventor
邵继超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Armyfly Technology Co Ltd
Original Assignee
Beijing Armyfly Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Armyfly Technology Co Ltd filed Critical Beijing Armyfly Technology Co Ltd
Priority to CN202211628130.0A priority Critical patent/CN116016395A/zh
Publication of CN116016395A publication Critical patent/CN116016395A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种冗余切换方法、装置及网络设备,包括:一端口物理层单元包含的一物理端口掉线时,产生第一中断信号至一位图寄存器;位图寄存器记录第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;位图中的不同比特位对应不同的端口物理层单元;处理器响应第二中断信号从位图寄存器获取位图,根据位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;从确定出的端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对确定出的物理端口的冗余切换。本申请只需遍历中断的端口物理层单元的所有端口,降低遍历大量物理端口状态开销,减少了获取物理端口状态的时延,提高冗余切换的性能。

Description

冗余切换方法、装置及网络设备
技术领域
本申请涉及半导体测试技术领域,特别涉及一种冗余切换方法、装置及网络设备、计算设备。
背景技术
在通用的网络拓扑中,由于物理层(Physical Layer,PHY)单元的物理端口可能会出现异常而导致无法继续运行,需要建立冗余网络以对出现异常的物理端口进行冗余切换。建立冗余网络时需要使用多生成树协议(Multiple Spanning Tree Protocol,MSTP)技术防止环路。基于MSTP进行冗余切换时,基本原理如下:
网络设备通过其CPU轮询各物理端口UP/DOWN状态,通过管理数据输入输出(Management Data Input/Output,MDIO)接口从物理PHY的物理端口列表选择一个物理端口,通过物理端口号找到对应的寄存器基地址,然后读取寄存器值(物理端口寄存器范指,其实是很多寄存器的集合,包括控制寄存器,状态寄存器,中断寄存器等等),当状态寄存器的UP/DOWN/有变化时,通过事件通知MSTP进程进行相应物理端口的冗余切换。该方式存在如下缺点:需要CPU不断轮询(即高频率的读取)物理PHY的物理端口的寄存器值,非常耗费CPU资源,而且物理PHY数量多的情况下会导致CPU占用率非常高。
针对上述方式的一种改进方式是:不用CPU轮询各物理端口UP/DOWN状态,而是各物理端口UP/DOWN状态通过中断方式通知CPU,当CPU收到外部中断时,CPU不知道是哪个物理端口的中断事件,所以CPU通过MDIO接口依次读取所有物理PHY的物理端口的寄存器值,当状态寄存器的状态位变化之后,通知MSTP进程进行相应物理端口的冗余切换。该方式避免了CPU不断轮询物理PHY的物理端口的寄存器值所导致的性能问题,节省轮询的时间开销。但该方式存在如下缺点:因为CPU不知道是哪个物理端口上报的事件,所以还是需要CPU依次访问所有的物理PHY上的各物理端口的寄存器,当物理端口数量较多的情况下,相应的物理端口的寄存器的数量也较多,仍会导致此时CPU占用率非常高。另一方面,在某些特殊环境组网中要求MSTP冗余切换时间<50ms,而大量物理端口的遍历也导致获取物理端口状态的时延增加,降低MSTP冗余切换的性能。
发明内容
鉴于现有技术的以上问题,本申请提供一种冗余切换方法、装置及网络设备、计算设备、计算机可读存储介质及计算机程序产品,避免CPU遍历所有的物理PHY上的物理端口的寄存器,降低CPU的遍历大量物理端口状态开销,减少了获取物理端口状态的时延,提高MSTP冗余切换的性能。
为达到上述目的,本申请第一方面提供了一种冗余切换方法,包括:
一端口物理层单元包含的一物理端口掉线时,所述端口物理层单元产生第一中断信号至一位图寄存器;
所述位图寄存器记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
所述处理器响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;
所述处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
本申请通过中断状态位图直接确定发生中断的端口物理层单元,然后再确定可能发生中断的物理端口,这样无需遍历所有端口物理层单元,只需遍历发生中断的端口物理层单元对应的物理端口即可确定,从而降低了CPU的遍历大量物理端口状态开销,减少了获取物理端口状态的时间,提升了MSTP进行冗余切换的性能。
为达到上述目的,本申请第二方面提供了一种冗余切换装置,包括:
端口物理层单元,用于在其包含的一物理端口掉线时,产生第一中断信号至一位图寄存器;
位图寄存器,用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
处理器,用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
为达到上述目的,本申请第三方面提供了一种网络设备,包括:处理器、位图寄存器、至少两个端口物理层单元,其中,至少一个端口物理层单元包括至少两个物理端口,每个物理端口对应一个状态寄存器,不同的端口物理层单元通过不同的中断输出线与所述位图寄存器连接;
所述端口物理层单元用于在其包括的一物理端口掉线时,产生第一中断信号至所述位图寄存器;
所述状态寄存器用于记录对应的物理端口的状态,所述状态包括掉线状态;
所述位图寄存器用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
所述处理器用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生中断信号的端口物理层单元;
所述处理器还用于从所述确定出的所述端口物理层单元的各物理端口对应的状态寄存器记录的状态中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
本申请第四方面提供了一种计算设备,包括:通信接口,以及至少一个处理器;其中,所述至少一个处理器用于执行程序指令,所述程序指令当被所述至少一个处理器执行时使得所述计算设备执行上述第一方面的任一所述的方法。
本申请第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面的任一所述的方法。
本申请第六方面提供了一种计算机程序产品,其包括有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面的任一所述的方法。
附图说明
图1是本申请冗余切换方法的第一实施例的流程图;
图2是本申请网络设备的结构性示意性图;
图3是本申请一种具体的网络设备的结构性示意性图;
图4是本申请冗余切换方法的第二实施例的流程图;
图5是本申请冗余切换装置的结构性示意性图;
图6是本申请实施例提供的一种计算设备的结构性示意性图。
应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本发明实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本发明实施例的物理连接方式。
具体实施方式
下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的冗余切换方案,包括冗余切换方法、装置及网络设备。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)位图:一种数据结构,其特点是读取速度快、存储空间占用小。其原理是使用一个整型(int)的32个比特位表示0~31个数,该32个比特位可以记为[31:0],每个比特位的取值为1或0。本申请实施例中使用不同的比特位代表不同的物理PHY。
2)端口物理层单元:简称为端口PHY,端口PHY提供至少4个物理端口,也可以有8个或者12个的。物理PHY存储4个物理端口的寄存器。一个物理端口对应一个物理端口寄存器。一个网络设备有很多MAC端口,每一个MAC端口连接PHY上的一个物理口,可以混为一谈也可以严格区分。举例,一个网络设备有48个MAC口,则需要12个PHY,每个PHY出4个RG45网口。物理端口寄存器范指,其实是很多寄存器的集合,包括控制寄存器,状态寄存器,中断寄存器等等。
为了解决上述技术问题,本申请设计了一种冗余切换方法。本申请在端口物理层单元包含的物理端口掉线时,端口物理层单元产生第一中断信号至位图寄存器,位图寄存器记录该第一中断信号对应的第一值到位图中的相应比特位(位图中的不同比特位对应不同的端口物理层单元),并产生第二中断信号至处理器,处理器响应第二中断信号从位图寄存器获取位图,根据位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元,再从包含的各物理端口中确定出掉线的物理端口,触发对物理端口的冗余切换。本申请通过中断状态位图直接确定发生中断的端口物理层单元,然后再确定可能发生中断的物理端口,这样无需遍历所有端口物理层单元,只需遍历发生中断的端口物理层单元对应的物理端口即可确定,从而降低了CPU的遍历大量物理端口状态开销,减少了获取物理端口状态的时间,提升了MSTP进行冗余切换的性能。
该方法可以应用于冗余网络中网络设备中的端口物理层单元的物理端口插线/掉线后进行物理端口切换的应用场景当中。
下面参照图1示出的流程图,对本申请冗余切换方法的第一实施例进行介绍。其中,如图1所示,该方法包括:
S110:一端口物理层单元包含的一物理端口掉线时,所述端口物理层单元产生第一中断信号至一位图寄存器。
在一实施例中,上述所述的物理端口掉线指的是状态中断,中断可以采用硬件中断,通过中断输出线来输出中断。每个能够发出中断请求的硬件单元都有一条中断输出线,连接到位图寄存器引脚,位图寄存器中存储中断状态位图。每一根中断输出线表示一个物理PHY,所有的物理PHY可以建立如下表1所示的位图:
表1中断状态位图
Figure BDA0004004443900000041
上述中断状态位图的bit位可以根据实际的物理PHY芯片的个数确定,可以设定为和物理PHY芯片的个数相同,也可以是多于物理PHY芯片的个数。
中断状态位图中中断状态也可以设定为0:发生中断;1:没有中断。
上述的寄存器可以采用FPGA(Field Programmable Gate Array,逻辑门单元)硬件寄存器。
S120:所述位图寄存器记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元。
在一实施例中,位图寄存器记录第一中断信号对应的第一值到位图中的相应比特位,包括:
不同的端口物理层单元通过不同的中断输出线连接到所述位图寄存器不同管脚;
所述位图寄存器根据接收所述第一中断信号的管脚,确定出位图中的相应比特位,使用该比特位记录所述第一中断信号对应的第一值。
在本实施例中,当中断发生时,位图寄存器记录一个信号对应的值(即1)到表1的位图对应的bit位,即将表1中的对应的bit位置为1,其余的bit位置0。
在一实施例中,位图寄存器中还记录有与位图的各比特位对应的各掩码;
产生第二中断信号至处理器包括:记录第一中断信号对应的第一值的比特位对应的掩码表示响应中断信号时,产生第二中断信号至处理器。
在一实施例中,响应中断条件是:中断使能和中断标志,上述提到的中断状态位图表示中断标志,还需要确定中断使能,即中断掩码,中断掩码是指在进行中断前,需要对相应的中断状态字进行授权允许或屏蔽相关中断的操作。基于此,产生了辅助物理PHY的位图掩码,如下表2所示。
表2辅助中断状态位图掩码
物理PHY位图mask[31:0] 0:关闭中断功能;1:开启中断功能
S130:所述处理器响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元。
在本实施例中,处理器需要根据表2的辅助中断状态位图掩码确定是否响应中断,若是1,则响应中断,若是0,则不响应中断。然后根据表1中为1的bit位,通过中断线确定连接的具体是哪个端口物理层单元。
S140:所述处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
在一实施例中,处理器从确定出的端口物理层单元包含的各物理端口中确定出掉线的物理端口,包括:
处理器从确定出的端口物理层单元包含的各物理端口所对应的状态寄存器中读取状态寄存器记录的中断状态;
将中断状态记录为中断的状态寄存器所对应的物理端口确定为掉线的物理端口。
在一实施例中,处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,包括:
处理器根据映射表确定所述确定出的所述端口物理层单元包含的各物理端口;
依次读取所述各物理端口的状态寄存器,从所述状态寄存器中读取记录的中断状态;
将中断状态记录为中断的状态寄存器所对应的物理端口确定为中断的物理端口;
其中,所述映射表中包括端口物理层单元与物理端口属性信息的映射关系。
在一实施例中,映射表按照如下方式建立:
获取每一端口物理层单元的端口物理层单元信息;
根据所述端口物理层单元信息,遍历每一端口物理层单元的所有物理端口,获取所有物理端口的属性信息;
将所述端口物理层单元信息与对应的所述物理端口的属性信息建立映射,获得所述映射表。
其中,每个物理PHY可以包括4或多个物理端口(具体根据实际的芯片规格要求),每个物理端口包括如下属性:逻辑端口号,管理数据时钟(Management Data Clock,MDC)总线号,PHY地址,芯片端口(CHIPPORT)。由于物理PHY需要逆向寻找物理端口对应关系,这种逆向查找需避免遍历所有的物理端口数组,所以在初始化的时候建立物理PHY和MDC总线号、PHY地址、CHIPPORT、逻辑端口号的映射表,如表3所示。
表3映射表
Figure BDA0004004443900000061
其中,物理PHY指的是物理PHY位图中对应的bit,在初始化的时候建立物理PHY对应的bit位作为数组指针的下标,指向逻辑端口号、MDC总线号、PHY地址、CHIPPORT的映射表。
其中,MDC总线是以太网标准IEEE802.3中专门用于MAC和PHY之间管理的串行接口总线,其中MDC是总线时钟信号,该接口主要用于MAC控制器对PYH层的状态读取和设置、获取链路状态,控制物理层协商等操作。
其中,PHY地址是5bit的数值,PHY地址(PHY地址的右移3位)是5bit右移三位得到的2bit数值。
其中,CHIPPORT就是芯片里记录的端口号,物理端口就是逻辑端口也是CHIPPORT,这是在不同的层面的称呼,比如前面板物理端口5,逻辑端口号是5,那么CHIPPORT可能是18,但是这是同一个物理端口。其中,逻辑端口号是应用代码里看到的端口,物理端口读取的是芯片的数值,他们存在映射关系。
物理PHY位图的每一个bit指向一个物理PHY,赋值指针数组指向对应的物理PHY。MDC总线号,PHY地址,CHIPPORT对应作为关键字对应具体物理PHY上的物理端口。无论相应的MDC总线上是否存在物理PHY都可以准确查找,避免轮询所有端口,降低了定位物理PHY的时延和增强了产品兼容性。
其中,映射表是根据表4所示的物理PHY的信息来建立,表4作为物理PHY的数据源,初始化的时候遍历所有的端口属性可以生成如上表3的映射表,物理PHY与映射表一一映射。
表4物理PHY的信息
Figure BDA0004004443900000062
在本实施例中,使用映射表查找物理端口的具体过程如下:
处理器得到位图中的一个bit,假如这个bit置位了(即置1),那么这个bit代表所属的物理层单元产生中断,在初始化的时候位图中的bit位会作为数组指针的下标。根据得到的bit位,通过数组指针[bit]的方式得到表3中映射表中的数值,这样就找到了端口物理层单元所包含的所有物理端口。
在一实施例中,S140中的目标进程可以是MSTP进程。
在一实施例中,确定出产生第一中断信号的端口物理层单元后,还包括:
清除中断状态记录为中断的状态寄存器;
清除位图寄存器的位图中对应第一中断信号的相应比特位。
其中,在响应了中断后,需要清除中断和中断标志,如果不清除中断标志,本次中断退出,又会检测到中断标志,因此重复进入中断。
其中,清除位图寄存器的位图中对应第一中断信号的相应比特位就是在状态寄存器对应的比特位写入1。
端口状态从UP转为DOWN是一种情况,还有就是端口状态从DOWN转为UP,清除中断状态需要软件找到是哪个物理PHY的哪个CHIPPORT后进行清除。
本申请的上述各个实施例中具有如下有益效果:通过本申请公开的一些实施例的冗余切换方法,通过建立中断状态位图可以直接确定发生中断的端口物理层单元,然后再通过读取区里端口对应的状态寄存器确定可能发生中断的物理端口,这样无需遍历所有端口物理层单元的所有物理端口,只需遍历发生中断的端口物理层单元对应的物理端口即可,从而降低了CPU的遍历大量物理端口状态开销,减少了获取物理端口状态的时间,提升了MSTP进行冗余切换的性能,使之达到电信级指标,同时兼容了产品平台健壮性。
如图2所示,本申请实施例提供了一种网络设备,图2是本申请网络设备的结构性示意性图,如图2所示,该网络设备包括:处理器、位图寄存器、至少两个端口物理层单元,其中,至少一个端口物理层单元包括至少两个物理端口,每个物理端口对应一个状态寄存器,不同的端口物理层单元通过不同的中断输出线与所述位图寄存器连接;
所述端口物理层单元用于在其包括的一物理端口掉线时,产生第一中断信号至所述位图寄存器;
所述状态寄存器用于记录对应的物理端口的状态,所述状态包括掉线状态;
所述位图寄存器用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
所述处理器用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生中断信号的端口物理层单元;
所述处理器还用于从所述确定出的所述端口物理层单元的各物理端口对应的状态寄存器记录的状态中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
本申请提供了冗余切换方法的第二实施例,该实施例中,所使用的网络设备包括一CPU,交换芯片中的2个物理PHY,该CPU通过PCIE线连接交换芯片,每个物理PHY提供一路中断输出,共两路中断输出线连接到FPGA两管脚,该FPGA有一根I/O线,连接到CPU的外部中断信号线,该FPGA中包括一位图寄存器,位图寄存器中存储物理PHY位图和位图掩码,其中,每个物理PHY具有4个物理端口,每个物理端口对应一该物理端口的状态寄存器,如图3所示。为了描述方便,将上述2个物理PHY分别称为第一、第二物理PHY,对应的两路中断输出线分别称为第一、第二中断输出线,各物理端口分别称为第一到第八物理端口,对应的状态寄存器分别称为第一到第八状态寄存器。下面,如图4所示,对该网络设备的冗余切换过程进行介绍,包括以下步骤:
S10:当网络设备的第一物理PHY的第一物理端口掉线(端口状态从UP转为DOWN)时,该第一物理PHY产生中断信号,并通过第一中断输出线到FPGA;
S20:FPGA基于对应的连接管脚接收到来自第一中断输出线的中断信号,其中管脚与物理PHY一一对应,故可根据管脚的中断信号更新位图寄存器中的用于记录各物理PHY中断状态的位图,使位图中对应第一物理PHY(或称为对应该管脚)的bit值为1,即记录到位图。
其中,该用于记录各物理PHY中断状态的位图可参见前述的表1,不再赘述。为了描述方便,后文将用于记录各物理PHY中断状态的位图简称为中断状态位图。
S30:FPAG的位图寄存器中还记录有对应中断状态位图的掩码,当对应第一物理PHY的bit位的掩码为1时,则表示开启了中断功能,则FPAG响应所述第一物理PHY的中断,产生一中断信号输出至CPU。
其中,该中断状态位图的掩码也以位图方式记录,可参见前述的表2,不再赘述。
为了描述方便,后文将以位图方式记录的中断状态位图的掩码简称为掩码位图。
其中,CPU的外部中断信号线连接FPGA的I/O上,这样FPGA上报的中断可以通过I/O送给CPU。
S40:CPU接收到FPAG的中断信号后,CPU启动外部中断功能,CPU读取FPGA的位图寄存器获得中断状态位图。
S50:CPU根据中断状态位图的值可确定出上述产生中断的第一物理PHY。
具体的,假如中断状态位图[31:0]连接第一物理PHY对应的bit位置1,则CPU根据所述bit位就可以确定是第一物理PHY发生了中断。
S60:根据确定出的物理PHY,CPU依次读取第一物理PHY上的第一到第四物理端口对应的第一到第四状态寄存器,根据其中的第一状态寄存器记录的表述中断【与步骤S10对应】的值,确定出第一物理端口中断。
具体的,中断状态位图[31:0]连接第一物理PHY对应的bit位置1,则该bit位会作为数组指针的下标,CPU通过数组指针[bit]的方式得到第一物理PHY对应的如表3所示的映射表,该表中包括有第一物理PHY包含的第一到第四物理端口的逻辑端口号、MDC总线号、PHY地址、CHIPPORT。然后根据逻辑端口号、MDC总线号、PHY地址、CHIPPORT这些信息,依次读取第一物理PHY上的第一到第四物理端口对应的第一到第四状态寄存器,基于第一到第四状态寄存器的值确定是哪个物理端口中断。比如第一状态寄存器的值表示中断状态,则确定出第一物理端口中断。
S70:CPU清除第一状态寄存器记录的中断状态(即清除第一状态寄存器的值),CPU关闭外部中断,同时清除FPGA的位图寄存器中中断状态位图中对应第一物理PHY的bit位。
具体的,CPU写入1到第一状态寄存器,第一状态寄存器的中断状态被清除,同时FPGA的位图寄存器的bit位自动为0。
S80:CPU根据逻辑端口上报事件给MSTP进程,即上报中断事件,该事件中包括的逻辑端口,可以根据第一物理PHY的映射表获得第一物理端口对应的逻辑端口获得。
具体的,上报事件的具体实现:CPU开启UIO模块,通过kill_fasync向应用层报POLL_IN事件。应用层启动高优先级进程,通过epoll注册POLL_IN事件。在事件中发送消息通知MSTP进程处理上报的中断事件。
其中,UIO模块是CPU内核中的代码模块,负责在用户空间和内核空间处理中断任务。Kill_fasync是内核空间向用户空间发送事件。用户空间通过注册POLL_IN事件得到响应处理端口UP/DOWN事件。
S90:MSTP进程收到上报的事件后,执行冗余切换。
具体的,根据上报的事件中记录的逻辑端口号确定出发生了第一物理端口中断,根据UP/DOWN事件类型,判断第一物理端口是FORWARDING(转发状态)还是BLOCK状态(阻塞状态),快速进行冗余切换。
假如第二物理PHY上的第一到第四物理端口中发生中断,则同样通过上述方法步骤进行确定。
如图5所示,本申请实施例提供了一种冗余切换装置,该冗余切换装置可以用于实现上述实施例中的冗余切换方法,如图5所示,该冗余切换装置200具有端口物理层单元210、位图寄存器220和处理器230。
其中,端口物理层单元,用于在其包含的一物理端口掉线时,产生第一中断信号至一位图寄存器;
位图寄存器,用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
处理器,用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
具体可参见方法实施例中的详细描述,此处不做赘述。
图6是本申请实施例提供的一种计算设备300的结构性示意性图。该计算设备可以作为冗余切换装置,执行上述冗余切换方法中的各可选实施例。该计算设备可以是终端,也可以是终端内部的芯片或芯片系统。如图6所示,该计算设备300包括:处理器310、存储器320、通信接口330。
应理解,图6所示的计算设备300中的通信接口330可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
其中,该处理器310可以与存储器320连接。该存储器320可以用于存储该程序代码和数据。因此,该存储器320可以是处理器310内部的存储单元,也可以是与处理器310独立的外部存储单元,还可以是包括处理器310内部的存储单元和与处理器310独立的外部存储单元的部件。
可选的,计算设备300还可以包括总线。其中,存储器320、通信接口330可以通过总线与处理器310连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器310可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器310采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器320可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。处理器310的一部分还可以包括非易失性随机存取存储器。例如,处理器310还可以存储设备类型的信息。
在计算设备300运行时,所述处理器310执行所述存储器320中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
应理解,根据本申请实施例的计算设备300可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备300中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。

Claims (10)

1.一种控制冗余切换方法,其特征在于,包括:
一端口物理层单元包含的一物理端口掉线时,所述端口物理层单元产生第一中断信号至一位图寄存器;
所述位图寄存器记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
所述处理器响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;
所述处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
2.根据权利要求1所述的方法,其特征在于,所述位图寄存器记录所述第一中断信号对应的第一值到位图中的相应比特位,包括:
不同的端口物理层单元通过不同的中断输出线连接到所述位图寄存器不同管脚;
所述位图寄存器根据接收所述第一中断信号的管脚,确定出位图中的相应比特位,使用该比特位记录所述第一中断信号对应的第一值。
3.根据权利要求1所述的方法,其特征在于,所述位图寄存器中还记录有与所述位图的各比特位对应的各掩码;
所述产生第二中断信号至处理器包括:记录所述第一中断信号对应的第一值的比特位对应的掩码表示响应中断信号时,产生第二中断信号至处理器。
4.根据权利要求1所述的方法,其特征在于,所述处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,包括:
所述处理器从所述确定出的所述端口物理层单元包含的各物理端口所对应的状态寄存器中读取状态寄存器记录的中断状态;
将中断状态记录为中断的状态寄存器所对应的物理端口确定为掉线的物理端口。
5.根据权利要求1或4所述的方法,其特征在于,所述处理器从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,包括:
所述处理器根据映射表确定所述确定出的所述端口物理层单元包含的各物理端口;
依次读取所述各物理端口的状态寄存器,从所述状态寄存器中读取记录的中断状态;
将中断状态记录为中断的状态寄存器所对应的物理端口确定为中断的物理端口;
其中,所述映射表中包括端口物理层单元与物理端口属性信息的映射关系。
6.根据权利要求1所述的方法,其特征在于,所述确定出产生第一中断信号的端口物理层单元后,还包括:
清除所述中断状态记录为中断的状态寄存器;
清除所述位图寄存器的位图中对应所述第一中断信号的相应比特位。
7.根据权利要求1所述的方法,其特征在于,所述触发对所述确定出的所述物理端口的冗余切换,包括:
处理器上报中断事件到MSTP进程;所述中断事件包括所确定出的掉线的物理端口的信息;
所述MSTP进程响应所述中断事件,执行对所述确定出的所述物理端口的冗余切换。
8.一种控制冗余切换的装置,其特征在于,包括:
端口物理层单元,用于在其包含的一物理端口掉线时,产生第一中断信号至一位图寄存器;
位图寄存器,用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
处理器,用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生第一中断信号的端口物理层单元;从所述确定出的所述端口物理层单元包含的各物理端口中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
9.一种网络设备,其特征在于,包括:处理器、位图寄存器、至少两个端口物理层单元,其中,至少一个端口物理层单元包括至少两个物理端口,每个物理端口对应一个状态寄存器,不同的端口物理层单元通过不同的中断输出线与所述位图寄存器连接;
所述端口物理层单元用于在其包括的一物理端口掉线时,产生第一中断信号至所述位图寄存器;
所述状态寄存器用于记录对应的物理端口的状态,所述状态包括掉线状态;
所述位图寄存器用于记录所述第一中断信号对应的第一值到位图中的相应比特位,并产生第二中断信号至处理器;所述位图中的不同比特位对应不同的端口物理层单元;
所述处理器用于响应所述第二中断信号从所述位图寄存器获取所述位图,根据所述位图中的第一值所在比特位的位置确定出产生中断信号的端口物理层单元;
所述处理器还用于从所述确定出的所述端口物理层单元的各物理端口对应的状态寄存器记录的状态中确定出掉线的物理端口,触发对所述确定出的所述物理端口的冗余切换。
10.一种计算设备,其特征在于,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1至6任意一项所述的方法。
CN202211628130.0A 2022-12-16 2022-12-16 冗余切换方法、装置及网络设备 Pending CN116016395A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211628130.0A CN116016395A (zh) 2022-12-16 2022-12-16 冗余切换方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211628130.0A CN116016395A (zh) 2022-12-16 2022-12-16 冗余切换方法、装置及网络设备

Publications (1)

Publication Number Publication Date
CN116016395A true CN116016395A (zh) 2023-04-25

Family

ID=86018511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211628130.0A Pending CN116016395A (zh) 2022-12-16 2022-12-16 冗余切换方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN116016395A (zh)

Similar Documents

Publication Publication Date Title
US11636052B2 (en) Non-volatile memory express (NVMe) data processing method and system
KR100982145B1 (ko) 구성가능 어드레스 매핑의 방법
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
JP3783017B2 (ja) ローカル識別子を使ったエンド・ノード区分
US8214845B2 (en) Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US20140105108A1 (en) Communicating a message request transaction to a logical device
CN111049765B (zh) 聚合端口切换方法、装置、芯片、交换机及存储介质
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN108848006B (zh) 一种端口状态的监测方法与装置
CN110535715B (zh) 基于Linux的端口状态实时检测方法、电路和交换机
US20040153849A1 (en) Data-packet error monitoring in an infiniband-architecture switch
CN108234687B (zh) 一种智能ip地址配置方法、装置及终端设备
CN108881060A (zh) 一种处理通信报文的方法及装置
US10911261B2 (en) Method, apparatus and system for hierarchical network on chip routing
CN116743684A (zh) 一种具多个非透明桥端口的PCIe交换机及其通信方法
CN116016395A (zh) 冗余切换方法、装置及网络设备
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US20040059734A1 (en) Data access control
CN111082980A (zh) 一种解析拓扑结构的方法及装置
CN111158905A (zh) 调整资源的方法和装置
US7184411B2 (en) Switch-management agent trap scheme in an infiniband-architecture switch
CN113489607A (zh) 一种业务处理系统、采集设备和汇聚设备
CN113609038B (zh) 中断处理方法、装置和电子设备
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
US20220365895A1 (en) Pcie-based data transmission method and apparatus

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