发明内容
本发明的目的是提供一种刀片交换机系统、机架式网络设备及刀片交换机测试方法,用于实现在没有服务器管理单元的情况下,对刀片交换机进行测试和管理。
为了实现上述目的,本发明提供一种刀片交换机系统,该刀片交换机系统包括:至少两台刀片交换机,且每台刀片交换机被配置为具有测试模式和非测试模式中的一者;以及背板,其用于实现任意两台刀片交换机间的接口互联;其中,接口互联的两台刀片交换机被配置为均处于测试模式时,互为测试卡和被测试卡,且所述测试卡被配置为向所述被测试卡发送测试信号,并根据所述被测试卡的反馈判断测试是否通过,和/或接口互联的两台刀片交换机被配置为均处于非测试模式时,互为服务器管理单元和被管理卡,且所述服务器管理单元对所述被管理卡进行管理。
优选地,所述刀片交换机包括:管理子模块,用于获取刀片交换机的所述测试模式和非测试模式中的一者,并在所述测试模式和非测试模式中的一者为所述测试模式的情况下配置刀片交换机为测试卡或被测试卡,和/或在所述测试模式和非测试模式中的一者为所述非测试模式的情况下配置刀片交换机为服务器管理单元或被管理卡;用于通过SGMII接口实现各刀片交换机间的管理报文交互;还用于虚拟I2C接口;以及CPLD子模块,用于向所述管理子模块提供刀片交换机的为所述测试模式和非测试模式中的一者的信息;还用于虚拟GPIO接口。
优选地,所述任意两台刀片交换机间的接口互联包括:两台刀片交换机的SGMII接口的互联;其中一台刀片交换机的虚拟I2C接口与另一台刀片交换机的实际I2C接口的互联;两台刀片交换机的10GBASE-KR接口的互联;以及其中一台刀片交换机的虚拟GPIO接口与另一台刀片交换机的实际GPIO接口的互联。
优选地,所述测试信号包括I2C信号、复位信号、下电信号、10GBASE-KR信号和SGMII信号中的任意一者或多者。
本发明还提供了一种机架式网络设备,包括上述的刀片交换机系统。
本发明还提供了一种刀片交换机测试方法,该刀片交换机测试方法包括:通过背板实现任意两台刀片交换机的接口互联;以及若接口互联的两台刀片交换机均处于测试模式,配置该两台刀片交换机互为测试卡和被测试卡,且所述测试卡向所述被测试卡发送测试信号,并通过所述被测试卡的反馈判断测试是否通过,和/或若接口互联的两台刀片交换机均处于非测试模式时,配置该两台刀片交换机互为服务器管理单元和被管理卡,且所述服务器管理单元对所述被管理卡进行管理。
优选地,所述通过背板实现任意两台刀片交换机的接口互联,包括:两台刀片交换机的SGMII接口通过背板互联;其中一台刀片交换机的虚拟I2C接口通过背板与另一台刀片交换机的实际I2C接口互联;两台刀片交换机的10GBASE-KR接口通过背板互联;以及其中一台刀片交换机的虚拟GPIO接口通过背板与另一台刀片交换机的实际GPIO接口的互联。
优选地,所述配置该两台刀片交换机互为测试卡和被测试卡,包括:获取两台刀片交换机的卡槽信号slotid;将slotid=1的刀片交换机配置为测试卡,将slotid=0的刀片交换机配置为被测试卡;以及在测试卡完成对被测试卡的测试后,改变相应刀片交换机的slotid,重置测试卡和被测试卡。
优选地,所述测试卡通过背板向所述被测试卡发送测试信号,并通过所述被测试卡的反馈判断测试是否通过,包括以下中的一者或多者:所述测试卡通过背板向所述被测试卡发送I2C信号以读取被测试卡的I2C从器件,若所述被测试卡返回正常值,则测试通过,否则测试不通过;所述测试卡通过背板向所述被测试卡发送复位信号或下电信号,以复位或下电所述被测试卡,若所述被测试卡反馈成功复位或下电,则测试通过,否则测试不通过;以及所述测试卡通过背板向所述被测试卡发送10GBASE-KR信号和SGMII信号,以发起PRBS测试,若PRBS测试合格,则测试通过,否则测试不通过。
优选地,所述配置该两台刀片交换机互为服务器管理单元和被管理卡,包括:获取两台刀片交换机的slotid;对slotid=0的刀片交换机加载管理配置文件,将其配置为服务器管理单元;将slotid=1的刀片交换机配置为被管理卡,并使其处于正常工作模式;以及改变相应刀片交换机的slotid,重置服务器管理单元和被管理卡。
通过上述技术方案,本发明的有益效果包括:
1、本发明无需服务器管理单元,只需要配合简易的背板就可以实现刀片交换机本身及与服务器管理单元交互信号的测试,还可以模拟实际应用场景,实现整个刀片交换机系统的软硬件功能验证。
2、本发明在硬件设计上,没有外加其他硬件电路(如开关选通器件等),保证了单板硬件设计的可靠性,且10GBASE-KR高速信号的测试可以模拟实际背板走线,避免了信号完整性问题。
3、本发明从整体上显著地提高了开发效率,节省了硬件开发成本。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1为常规的刀片交换机系统框图,其中刀片交换机对外提供以太网接口,对内通过SGMII接口(SerialGigabitMediaIndependentInterface,即串行千兆媒体独立接口)、10GBASE-KR接口(即10G背板以太网走线接口)、I2C接口(Inter-IntegratedCircuit,即两线式串行总线接口)、GPIO(GeneralPurposeInputOutput,即通用输入/输出,如复位信号RESET、下电信号powerdown等)接口与服务器管理单元互联,其中刀片交换机的各接口是通过背板与服务器管理单元互联。该刀片交换机系统中,每一刀片交换机配置有对应的服务器管理单元,通过服务器管理单元对刀片交换机进行软硬件测试,具体的软硬件测试方法为本领域的成熟技术,在此不再赘述。
本实施方式在常规刀片交换机系统的基础上,提出了一种不采用服务器管理单元的刀片交换机系统,如图2所示,该刀片交换机系统包括:至少两台刀片交换机,且每台刀片交换机被配置为具有测试模式和非测试模式中的一者;以及背板,其用于实现任意两台刀片交换机间的接口互联。其中,接口互联的两台刀片交换机被配置为均处于测试模式时,互为测试卡和被测试卡,且所述测试卡被配置为通过所述背板向所述被测试卡发送测试信号,并根据所述被测试卡的反馈判断测试是否通过,和/或接口互联的两台刀片交换机被配置为均处于非测试模式时,互为服务器管理单元和被管理卡,且所述服务器管理单元通过所述背板对所述被管理卡进行管理。即该刀片交换机系统中接口互联的两台刀片交换机可以在测试模式下互为测试卡和被测试卡,或者可以在非测试模式下互为服务器管理单元和被管理卡,并且还可以既在测试模式下互为测试卡和被测试卡,又在非测试模式下互为服务器管理单元和被管理卡。
下面以两槽位的刀片交换机系统为例具体说明上述系统的构成及功能,该两槽位的刀片交换机系统包括两台刀片交换机和一个背板,将其中一台刀片交换机称为另一台刀片交换机的对端刀片交换机。其中,每个刀片交换机又包括管理子模块、交换子模块、以太网端口、CPLD子模块和I2C从器件等,其构成与图1所述的刀片交换机相似,管理子模块优选为CPU系统,交换子模块优选为交换芯片,CPLD子模块优选为CPLD芯片。但是本实施方式对管理子模块、交换子模块和CPLD子模块进行了不同于图1的功能配置,如下所述。
1、管理子模块
管理子模块主要用于获取刀片交换机的测试模式和非测试模式,并在所述测试模式下配置刀片交换机为测试卡或被测试卡,和/或在所述非测试模式下配置刀片交换机为服务器管理单元或被管理卡,以及用于通过SGMII接口实现各刀片交换机间的管理报文交互。
其中,获取刀片交换机的测试模式和非测试模式主要包括:通过LocalBus接口(即局部总线接口)读取CPLD子模块,获取测试信号test和卡槽信号slotid的状态,根据test信号和slotid信号的状态判断测试模式和非测试模式。
此外,管理子模块还用于虚拟I2C接口,如图2中I2C信号对应的虚线所示,虚拟的I2C接口通过背板与对端刀片交换机的实际I2C接口互联。
另外,管理子模块还用于通过PCIE(PeripheralComponentInterfaceExpress,即总线和接口标准)配置交换芯片,以完成对以太网端口的配置。
2、交换子模块
交换子模块用于提供以太网接口和10GBASE-KR接口,具体地,其对外提供标准的以太网接口,对内提供10GBASE-KR接口。其中,10GBASE-KR接口也是一种标准以太网接口,具有设置在背板上的发送和接收各一对线,支持全双工。需说明的是,为保证信号完整性,背板上发送和接收的线对必须保证和实际背板的走线一致。
3、CPLD子模块
CPLD子模块用于向所述管理子模块提供刀片交换机的工作状态信息,还用于虚拟GPIO接口。具体地,CPLD子模块采样test信号和slotid信号的状态,供CPU读取,并虚拟出GPIO接口,如图2所示,通过虚拟的GPID接口传输虚拟的复位信号RESET或者下电信号powerdown,信号通过背板与对端刀片交换机的实际复位信号或下电信号互联。slotid信号也是一类GPIO信号,同样如图2所示,虚拟的slotid信号通过背板与对端刀片交换机的实际slotid信号互联。
结合图2以及上述对刀片交换机的各功能子模块的描述,本实施方式中通过背板实现的两台刀片交换机间的接口互联包括:两台刀片交换机的SGMII接口的互联;其中一台刀片交换机的虚拟I2C接口与另一台刀片交换机的实际I2C接口的互联;两台刀片交换机的10GBASE-KR接口的互联;以及其中一台刀片交换机的虚拟GPIO接口与另一台刀片交换机的实际GPIO接口的互联。
基于与上述刀片交换机系统的同一发明思路,本实施方式还给出了一种机架式网络设备以及一种不采用服务器管理单元的刀片交换机测试方法。所述机架式网络设备包括上述的刀片交换机系统,且该机架式网络设备的具体实现与上述的刀片交换机系统相同或相近,在此不再赘述。
所述刀片交换机测试方法包括:通过背板实现任意两台刀片交换机的接口互联;以及若接口互联的两台刀片交换机均处于测试模式,配置该两台刀片交换机互为测试卡和被测试卡,且所述测试卡通过背板向所述被测试卡发送测试信号,并通过所述被测试卡的反馈判断测试是否通过,和/或若接口互联的两台刀片交换机均处于非测试模式时,则配置该两台刀片交换机互为服务器管理单元和被管理卡,且所述服务器管理单元通过背板对所述被管理卡进行管理。
进一步地,所述通过背板实现任意两台刀片交换机的接口互联,包括:两台刀片交换机的SGMII接口通过背板互联;其中一台刀片交换机的虚拟I2C接口通过背板与另一台刀片交换机的实际I2C接口互联;两台刀片交换机的10GBASE-KR接口通过背板互联;以及其中一台刀片交换机的虚拟GPIO接口通过背板与另一台刀片交换机的实际GPIO接口的互联。
进一步地,所述配置该两台刀片交换机互为测试卡和被测试卡,包括:获取两台刀片交换机的slotid;将slotid=1的刀片交换机配置为测试卡,将slotid=0的刀片交换机配置为被测试卡;以及在测试卡完成对被测试卡的测试后,改变相应刀片交换机的slotid,重置测试卡和被测试卡。
进一步地,所述测试卡通过背板向所述被测试卡发送测试信号,并通过所述被测试卡的反馈判断测试是否通过,包括以下中的一者或多者:所述测试卡通过背板向所述被测试卡发送I2C信号以读取被测试卡的I2C从器件,若所述被测试卡返回正常值,则测试通过,否则测试不通过;所述测试卡通过背板向所述被测试卡发送复位信号或下电信号,以复位或下电所述被测试卡,若所述被测试卡反馈成功复位或下电,则测试通过,否则测试不通过;以及所述测试卡通过背板向所述被测试卡发送10GBASE-KR信号和SGMII信号,以发起PRBS测试(Pseudo-RandomBinarySequence,即伪随机二进制序列测试),PRBS测试合格,则测试通过,否则测试不通过。
进一步地,所述配置该两台刀片交换机互为服务器管理单元和被管理卡,包括:获取两台刀片交换机的slotid;对slotid=0的刀片交换机加载管理配置文件,将其配置为服务器管理单元;将slotid=1的刀片交换机配置为被管理卡,并使其处于正常工作模式;以及改变相应刀片交换机的slotid,重置服务器管理单元和被管理卡。
基于上述给出的进行测试的基本步骤,以两个刀片交换机为例,在实践中进行刀片交换机测试的具体工作流程如图3所示:
步骤S101,上电,启动刀片交换机。
步骤S102,刀片交换机的管理子模块读取CPLD模块,获取test信号状态,如果test=0,说明板卡插入的是测试背板,进入开发模式;如果test=1,说明板卡插入的是正常的背板,进入用户模式,刀片交换机加载主程序,形如正常工作。
其中,开发模式和用户模式是常规刀片交换机的两种常见模式,主程序为预先配置的使刀片交换机实现相应功能的程序,用户模式下,刀片交换机加载主程序以正常工作。开发模式下,则可以对刀片交换机进行软硬件测试。
步骤S103,开发模式下,选择进入测试模式或非测试模式。
其中,测试模式主要是指软硬件测试模式,非测试模式则是指软硬件以外的管理模式。
步骤S201,刀片交换机加载测试程序,管理子模块根据CPLD子模块采集的slotid信息,配置slotid=1的交换机配置为测试卡,slotid=0的交换机配置为被测试卡。
其中,测试程序包括预先编制的软硬件测试程序等,该程序用于设定对刀片交换机进行测试的流程、项目等。
步骤S202,测试卡对被测试卡进行软硬件测试。
步骤S203,一轮测试完成后,被测试卡输出test_slotid=1,测试卡输出test_slotid=0,刀片交换机互换测试卡和被测试卡的角色,开始新一轮测试。其中,test_slotid信号表示软硬件测试模式下的slotid信号,测试卡的slotid与被测试卡的test_slotid通过背板连在一起,被测试卡的slotid也与测试卡的test_slotid也通过背板连在一起,从而能实现在一轮测试完成后互换角色。
步骤S301,非测试模式下,刀片交换机加载主程序。
步骤S302,管理子模块读取CPLD子模块采集的slotid。
步骤S303,slotid=1的刀片交换机工作在正常的用户模式下,slotid=0的刀片交换机加载管理配置文件,模拟服务器管理单元的管理功能。
步骤S304,实现正常用户模式下,刀片交换机功能验证及问题定位。
其中,步骤S201-步骤S203示意了测试模式下刀片交换机的工作状态,下面通过实例进一步说明,如图4所示,刀片交换机A为被测试卡,刀片交换机B为测试卡,则对外互联信号的测试过程如下:
1)I2C信号:刀片交换机B通过test_i2c读取刀片交换机A的I2C从器件,返回正常值表示测试通过(即测试pass),否则测试不通过。其中,test_i2C表示虚拟I2C接口。
2)复位或下电信号:刀片交换机B通过Test_reset信号复位刀片交换机A或通过Test_powerdown信号下电刀片交换机A,刀片交换机A能成功复位或下电代表测试pass,否则测试不通过。其中,Test_reset信号是指软硬件测试模式下的复位信号,对应的Test_powerdown信号是指软硬件测试模式下的下电信号。
3)10GBASE-KR和SGMII信号:刀片交换机A的10GBASE-KR和SGMII接口配置为外环模式,刀片交换机B发起PRBS测试,PRBS测试合格则测试通过,否则测试不通过。其中,所述外环模式表示为实现将对端刀片交换机发送的报文送回对端刀片交换机而形成的外环式报文路径。基于刀片交换机A配置的外环模式,刀片交换机B发起的PRBS测试的主要过程为:基于外环模式下建立的报文路径,刀片交换机B通过10GBASE-KR向刀片交换机A的交换子模块发送的报文通过刀片交换机A的SGMII接口送回至刀片交换机B,刀片交换机B再对回来的报文进行校验分析,校验OK,则代表测试pass,否则测试不通过。
另外,步骤S301-步骤S304示意了非测试模式下刀片交换机的工作状态,下面通过实例进一步说明,如图5所示,刀片交换机A为被管理卡,刀片交换机B为模拟的服务器管理单元。在此模式下,可以进行主程序下的相关功能的验证或问题定位,如图6所示,以温度监控功能为例,在该非测试模式下,刀片交换机的工作情况如下。
步骤S401,刀片交换机B通过test_i2c读取刀片交换机A的温度传感器的值。其中,为实现温度监控,在刀片交换机上安装温度传感器为本领域的常规技术手段,在此不再赘述。
步骤S402,检测温度上升是否达到阈值告警,若是则执行步骤S403,否则返回步骤S401;
步骤S403,将刀片交换机与PC端连接,以实现在PC端的上位机软件上输出告警log(即告警日志文件)。
步骤S404,检测温度持续上升是否达到复位阈值,若是则执行步骤S405,否则返回步骤S401。
步骤S405,复位刀片交换机A。
步骤S406,检测温度持续上升是否达到下电阈值,若是则执行步骤S407,否则返回步骤S401。
步骤S407,下电刀片交换机A的主机部分。
步骤S408,刀片交换机B持续监控刀片交换机A的温度。
步骤S409,判断温度下降是否达到正常,若是则执行步骤S410,否则返回步骤S401。
步骤S410,重新上电刀片交换机A的主机部分。
关于其他客户主程序下相关功能的验证或问题定位,可参考上述步骤S401到步骤S410,其与使用服务器管理单元进行相关功能的验证或问题定位的流程一致,在此不再多述。
综上所述,本实施方式提供的刀片交换机系统、机架式网络设备及刀片交换机测试方法具有以下优点:
1、无需服务器管理单元,只需要配合简易的背板就可以实现刀片交换机本身及与服务器管理单元交互信号的测试,还可以模拟实际应用场景,实现整个刀片交换机系统的软硬件功能验证。
2、在硬件设计上,没有外加其他硬件电路(如开关选通器件等),保证了单板硬件设计的可靠性,且10GBASE-KR高速信号的测试可以模拟实际背板走线,避免了信号完整性问题。
3、整体上能显著提高开发效率,节省硬件开发成本。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,本发明实施方式提供的方法不限于刀片交换机上,也同样适用于传统机架式产品的线卡、管理卡等;本发明的实施方式中以10GBASE-KR信号、SGMII信号、I2C信号、复位信号、下电信号等为例描述了一种刀片交换机系统、机架式网络设备及刀片交换机测试方法,也同样适用于其它与服务器管理单元交互的信号或接口类型。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。