marvell交换软件CPSS的板型整合方法及装置
文献发布时间:2023-06-19 12:13:22
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种marvell交换软件CPSS的板型整合方法及装置。
背景技术
同型号的Marvell交换芯片被设计成不同型号的交换机时,软件中所加入端口参数、serdes参数、点灯配置等信息都不相同,这导致不同型号的交换机所需要的固件也不相同,因此一款交换机需要维护维护一套与之相对应的软件。
随着交换机的种类也越来越多,相应的软件与固件版本也呈现增长的趋势,需要投入更多的人力成本来维护各种各样的软件与固件版本,也增加了固件使用出错的概率。
发明内容
鉴于上述问题,本发明提供了一种marvell交换软件CPSS的板型整合方法及装置,用于解决现有技术中同型号的Marvell交换芯片被设计成不同型号的交换机时,软件中所加入端口参数、serdes参数、点灯配置等信息都不相同,这导致不同型号的交换机所需要的固件也不相同,因此一款交换机需要维护维护一套与之相对应的软件。随着交换机的种类也越来越多,相应的软件与固件版本也呈现增长的趋势,需要投入更多的人力成本来维护各种各样的软件与固件版本,也增加了固件使用出错的概率的问题,具体方案如下:
一种marvell交换软件CPSS的板型整合方法,预先编制交换机板型区分逻辑,所述交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,包括:
初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
基于所述目标板型配置对所述当前交换机的固件进行配置。
上述的方法,可选的,依据所述检测交换机型号逻辑确定所述当前交换机的当前型号,包括:
在预设位置获取配置指令;
解析所述配置指令,获取所述配置指令中包含的当前交换机型号。
上述的方法,可选的,获取所述配置指令中包含的当前交换机型号,包括:
调用所述CPSS中的appDemoDbEntryGet函数;
基于所述appDemoDbEntryGet函数获取所述配置指令中的当前交换机型号。
上述的方法,可选的,基于所述当前交换机型号,获取与所述当前交换机型号匹配的目标板型配置,包括:
遍历所述交换机板型区分逻辑,查找与所述当前交换机型号相同的目标交换机型号;
基于所述对应关系,确定与所述目标交换机型号对应的目标板型配置。
上述的方法,可选的,还包括:
在检测到对所述交换机板型区分逻辑的更新指令时,依据所述更新指令对所述板型区分逻辑进行更新,其中,所述更新指令为添加指令、修改指令或者删除指令中的至少一种。
一种marvell交换软件CPSS的板型整合装置,预先编制交换机板型区分逻辑,所述交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系包括:
初始化模块,用于初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
确定模块,用于在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
获取模块,用于基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
配置模块,用于基于所述目标板型配置对所述当前交换机的固件进行配置。
上述的装置,可选的,所述确定模块包括:
第一获取单元,用于在预设位置获取配置指令;
第二获取单元,用于解析所述配置指令,获取所述配置指令中包含的当前交换机型号。
上述的装置,可选的,所述第二获取单元包括:
调用子单元,用于调用所述CPSS中的appDemoDbEntryGet函数;
获取子单元,用于基于所述appDemoDbEntryGet函数获取所述配置指令中的当前交换机型号。
上述的装置,可选的,所述获取模块包括:
查找单元,用于遍历所述交换机板型区分逻辑,查找与所述当前交换机型号相同的目标交换机型号;
确定单元,用于基于所述对应关系,确定与所述目标交换机型号对应的目标板型配置。
上述的装置,可选的,还包括:
更新模块,用于在检测到对所述交换机板型区分逻辑的更新指令时,依据所述更新指令对所述板型区分逻辑进行更新,其中,所述更新指令为添加指令、修改指令或者删除指令中的至少一种。
与现有技术相比,本发明包括以下优点:
本发明公开了一种marvell交换软件CPSS的板型整合方法及装置,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,该方法包括:初始化CPSS,在CPSS中添加检测交换机型号逻辑;在检测到当前交换机启动指令时,依据检测交换机型号逻辑确定当前交换机的当前交换机型号;基于板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;基于目标板型配置对当前交换机的固件进行配置。上述过程中,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,不在需要为每一个交换机分配固件,减少了固件的数量,降低了固件的维护成本和使用出错的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种marvell交换软件CPSS的板型整合方法流程图;
图2为本发明实施例公开的一种版型区分逻辑执行示意图;
图3为本发明提供的一种marvell交换软件CPSS的板型整合装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明共公开了一种marvell交换软件CPSS的板型整合方法及装置,应用于marvell交换软件CPSS的板型整合过程中,现有技术中,同型号的Marvell交换芯片被设计成不同型号的交换机时,软件中所加入端口参数、serdes参数、点灯配置等信息都不相同,这导致不同型号的交换机所需要的固件也不相同,其中,固件是由软件通过编译而生成的二进制文件,并放入交换机的存储器中以控制交换机的运行,不同型号的交换机需要不同的固件。随着交换机的种类也越来越多,相应的软件与固件版本也呈现增长的趋势,需要投入更多的人力成本来维护各种各样的软件与固件版本,也增加了固件使用出错的概率,为了解决上述问题,本发明提供了一种marvell交换软件CPSS的板型整合方法,所述整合方法预先编制交换机板型区分逻辑,所述交换机版型区分逻辑中包含有至少一个交换机型号和板型配置的对应关系,所述整合方法的执行流程如图1所示,包括步骤:
S101、初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
本发明实施例中,首先初始化CPSS(Core Prestera Software Suite),初始化CPSS过程主要包括两个阶段的初始化,其中,第一阶段初始化包括:
(1)初始化CPSS数据库和驱动程序结构
(2)CPSS初始化设备状态,内部数据库和特定于电路板的参数
(3)设置端口属性,映射端口系统端口至MAC
第二阶段初始化包括:
(1)分配资源(例如Tx/Rx缓冲区和描述符)
(2)配置硬件以在PP设备和CPU之间建立数据路径(例如DMA和DMA内存)
(3)初始化AUQ/FUQ机制
(4)基于TCAM设置路由器模式
(5)初始化相关的CPSS组件
(6)在端口和设备上启用流量
进一步的,在所述CPSS中添加检测检测交换机型号逻辑,其中,所述检测交换机型号逻辑用于检测不同交换机的交换机型号。其中,所述交换机型号检测逻辑如下所示:
注:appDemoDbEntryGet为获取交换机型号函数
lu2382_board_init()/ep8500_board_init()为两种交换机的初始化函数
S102、在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
本发明实施例中,通过检测预设指令、预设信号或者其它优选的方式判断交换机是否启动,本发明实施例中对交换机启动的具体检测方式不进行限定,在检测到当前交换机启动时,基于所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号。
具体的确定过程如下:在当前交换机启动时,用命令的方式在系统中写入当前交换机的型号,例如,在CPSS初始化前,使用配置命令“shell-execute appDemoDbEntryAdd"boardid",1”将交换机型号信息配置进CPSS,所述配置命令可以存储在所述CPSS中的预设位置,其中,所述预设位置可以依据经验或者具体情况进行设定,本发明实施例中不进行具体限定。在检测到当前交换机启动时,在所述预设位置获取所述配置指令,解析所述配置指令,获取所述配置指令中包含的当前交换机型号,如上例所示,所述当前交换机型号为boardid=1,其中,获取所述当前交换机型号的可以通过指定函数或者其它额度方式获取,本发明实施例中不进行具体限定,例如,所述指定函数可以为appDemoDbEntryGet函数,获取所述交换机型号的过程如下:调用所述CPSS中的appDemoDbEntryGet函数;基于所述appDemoDbEntryGet函数获取所述配置指令中的当前交换机型号。
S103、基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
本发明实施例中,所述板型区分逻辑指为每一个交换机型号匹配对应的版型配置,其中,所述板型配置包括:软件中所加入端口参数、serdes参数、点灯配置等信息,所述版型区分逻辑为一个分支结构,其执行示意图如图2所示,首先获取交换机型号boardid,1,2...n时数据库中交换机的型号,每一个型号都对应有版型配置信息,遍历所述交换机板型区分逻辑,查找与所述当前交换机型号相同的目标交换机型号,将当前交换机型号由boardid=1开始判断,若匹配不成功,继续下一个判断,若匹配成功,基于所述对应关系,确定与所述目标交换机型号对应的目标板型配置。
S104、基于所述目标板型配置对所述当前交换机的固件进行配置。
本发明实施例中,所述目标板型配置中包括交换机的端口配置、serdes配置、端口灯的配置等相关配置,加载与所述当前交换机型号匹配的目标版型配置,对所述当前交换机的固件进行配置。
其中,具体的配置过程如下:
GT_STATUS lu2382_board_init(void)
{
lu2382_vlan_dele();
lu2382_mac_to_serdes_init();//mac与serdes对应关系初始化
lu2382_led_init();//交换机端口指示灯灯初始化
lu2382_port_params_init();//交换机端口初始化
lu2382_task_init();
return GT_OK;
}
本发明公开了一种marvell交换软件CPSS的板型整合方法,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,该方法包括:初始化CPSS,在CPSS中添加检测交换机型号逻辑;在检测到当前交换机启动指令时,依据检测交换机型号逻辑确定当前交换机的当前交换机型号;基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;基于目标板型配置对当前交换机进行配置。上述过程中,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,不在需要为每一个交换机分配固件,减少了固件的数量,降低了固件的维护成本和使用出错的概率。
本发明实施例中,若所述配置指令的获取的当前交换机型号未存在于所述板型区分逻辑中时,初始化默认配置,其中,所述初始化默认配置可以基于经验或者具体情况进行配置,本发明实施例中,不进行限定,优选的,若所述配置指令的获取的当前交换机型号未存在于所述板型区分逻辑中时,还可以进行提示,提示是否当前交换机型号有误,或者由于具体的情况需要对板型区分逻辑进行更新时,依据具体的更新指令对所述板型区分逻辑进行更新,其中,所述更新指令为添加指令、修改指令或者删除指令中的至少一种。
基于上述的一种marvell交换软件CPSS的板型整合方法,本发明实施例中,还提供了一种marvell交换软件CPSS的板型整合装置,所述整合装置预先编制交换机板型区分逻辑,所述交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,所述整合装置的结构框图如图3所示,包括:
初始化模块201、确定模块202、获取模块203和配置模块204。
其中,
所述初始化模块201,用于初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
所述确定模块202,用于在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
所述获取模块203,用于基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
所述配置模块204,用于基于所述目标板型配置对所述当前交换机的固件进行配置。
本发明公开了一种marvell交换软件CPSS的板型整合装置,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,该方法包括:初始化CPSS,在CPSS中添加检测交换机型号逻辑;在检测到当前交换机启动指令时,依据检测交换机型号逻辑确定当前交换机的当前交换机型号;基于板型区分逻辑,获取与当前交换机型号匹配的目标板型配置;基于目标板型配置对当前交换机的固件进行配置。上述过程,预先编制交换机板型区分逻辑,交换机板型区分逻辑包括至少一个交换机型号和板型配置的对应关系,不在需要为每一个交换机分配固件,减少了固件的数量,降低了固件的维护成本和使用出错的概率。
本发明实施例中,所述确定模块202包括:
第一获取单元205和第二获取单元206。
其中,
所述第一获取单元205,用于在预设位置获取配置指令;
所述第二获取单元206,用于解析所述配置指令,获取所述配置指令中包含的当前交换机型号。
本发明实施例中国,所述第二获取单元206包括:
调用子单元207和获取子单元208。
其中,
所述调用子单元207,用于调用所述CPSS中的appDemoDbEntryGet函数;
所述获取子单元208,用于基于所述appDemoDbEntryGet函数获取所述配置指令中的当前交换机型号。
本发明实施例中,所述获取模块203包括:
查找单元209和确定单元210。
其中,
所述查找单元209,用于遍历所述交换机板型区分逻辑,查找与所述当前交换机型号相同的目标交换机型号;
所述确定单元210,用于基于所述对应关系,确定与所述目标交换机型号对应的目标板型配置。
本发明实施例中,所述整合装置还包括:更新模块211。
其中,
所述更新模块211,用于在检测到对所述交换机板型区分逻辑的更新指令时,依据所述更新指令对所述板型区分逻辑进行更新,其中,所述更新指令为添加指令、修改指令或者删除指令中的至少一种。
所述整合装置包括处理器和存储器,上述初始化模块、确定模块、获取模块和配置模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来降低了固件的维护成本和使用出错的概率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述marvell交换软件CPSS的板型整合方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述marvell交换软件CPSS的板型整合方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
基于所述目标板型配置对所述当前交换机的固件进行配置。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
初始化CPSS,在所述CPSS中添加检测交换机型号逻辑;
在检测到当前交换机启动指令时,依据所述检测交换机型号逻辑确定所述当前交换机的当前交换机型号;
基于所述板型区分逻辑,获取与所述当前交换机型号匹配的目标板型配置;
基于所述目标板型配置对所述当前交换机的固件进行配置。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- marvell交换软件CPSS的板型整合方法及装置
- 基于数据交换的工作流整合方法和装置