发明内容
本发明实施例提供一种交换芯片主频的调整方法、装置及网络设备,用以解决现有技术中采用软件方法调整交换芯片的主频导致的CPU资源浪费和处理效率降低的问题。
因此,根据本发明实施例,提供一种交换芯片主频的调整方法,包括:
A、获取在位业务卡的配置信息;
B、根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值;
C、按照确定出的交换芯片主频值更新交换芯片主频。
具体的,获取在位业务卡的配置信息,具体包括:
读取复杂可编程逻辑器件CPLD在位寄存器的值,确定所述在位业务卡;
获取确定出的所述在位业务卡的配置信息。
具体的,所述预设的配置信息与交换芯片主频值的对应关系包括配置信息与偏移地址的对应关系、以及偏移地址与交换芯片主频值的对应关系;
根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值,具体包括:
根据配置信息与偏移地址的对应关系,确定获取的配置信息对应的偏移地址;
根据偏移地址与交换芯片主频值的对应关系,得到确定出的偏移地址对应的交换芯片主频值。
可选的,还包括:
若判定所述在位业务卡拔出或有新的业务卡插入,则重新执行步骤A。
具体的,判定所述在位业务卡拔出或有新的业务卡插入,具体包括:
接收到所述CPLD发送的中断后,读取CPLD在位寄存器的值;
若读取到的CPLD在位寄存器的值显示所述在位业务卡已不在,则判定所述在位业务卡拔出;
若读取到的CPLD在位寄存器的值显示有新的在位业务卡,则判定有新的业务卡插入。
还提供一种交换芯片主频的调整装置,包括:
获取单元,用于获取在位业务卡的配置信息;
查找单元,用于根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值;
调整单元,用于按照确定出的交换芯片主频值更新交换芯片主频。
具体的,所述获取单元,具体用于:
读取复杂可编程逻辑器件CPLD在位寄存器的值,确定所述在位业务卡;
获取确定出的所述在位业务卡的配置信息。
具体的,所述预设的配置信息与交换芯片主频值的对应关系包括配置信息与偏移地址的对应关系、以及偏移地址与交换芯片主频值的对应关系,则所述查找单元,具体用于:
根据配置信息与偏移地址的对应关系,确定获取的配置信息对应的偏移地址;
根据偏移地址与交换芯片主频值的对应关系,得到确定出的偏移地址对应的交换芯片主频值。
可选的,还包括判定单元,用于:
若判定所述在位业务卡拔出或有新的业务卡插入,则转向所述获取单元。
具体的,所述判定单元,具体用于:
接收到所述CPLD发送的中断后,读取CPLD在位寄存器的值;
若读取到的CPLD在位寄存器的值显示所述在位业务卡已不在,则判定所述在位业务卡拔出;
若读取到的CPLD在位寄存器的值显示有新的在位业务卡,则判定有新的业务卡插入。
一种网络设备,包括上述交换芯片主频的调整装置。
本发明有益效果如下:
本发明实施例提供的交换芯片主频的调整方法、装置及网络设备,由于保存了配置信息与交换芯片主频值的对应关系,获取在位业务卡的配置信息后,根据预设的配置信息与交换芯片主频值的对应关系,就可以得到获取的配置信息对应的交换芯片主频值,避免了现有技术中需要实时采样交换芯片输入/输出端口的负载信息,从而减少了CPU需要承担的工作量,节省CPU资源且提高CPU处理效率。
具体实施方式
针对现有技术中采用软件方法调整交换芯片的主频导致的CPU资源浪费和处理效率降低的问题,本发明实施例提供一种交换芯片主频的调整方法,该方法的执行主体可以是CPU或者交换芯片主频的调整装置,该方法的流程如图1所示,执行步骤如下:
S10:获取在位业务卡的配置信息。
该步骤可以是在所有CPU初始化后触发的,也可以是在位业务卡发生变化后触发的,例如业务卡拔出或者插入等等情况都是在位业务卡发生变化的情况。
在位业务卡的配置信息可以是在位业务卡的名称或型号等等,在位业务卡可以是一张,也可以是多张。
S11:根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值。
可以预先设置配置信息与交换芯片主频值的对应关系,获取在位业务卡的配置信息后,就可以根据预设的配置信息与交换芯片主频值的对应关系得到获取的配置信息对应的交换芯片主频值。
S12:按照确定出的交换芯片主频值更新交换芯片主频。
一旦确定出交换芯片主频值,就可以调整交换芯片主频了。
该方案中,由于保存了配置信息与交换芯片主频值的对应关系,获取在位业务卡的配置信息后,根据预设的配置信息与交换芯片主频值的对应关系,就可以得到获取的配置信息对应的交换芯片主频值,避免了现有技术中需要实时采样交换芯片输入/输出端口的负载信息,从而减少了CPU需要承担的工作量,节省CPU资源且提高CPU处理效率。
具体的,上述S10中的获取在位业务卡的配置信息,具体包括:
读取复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)在位寄存器的值,确定在位业务卡;
获取确定出的在位业务卡的配置信息。
可以通过CPLD中在位寄存器的值来确定在位业务卡,然后进一步就可以确定出在位业务卡的配置信息。
业务卡可以分为固定卡和扩展卡,固定卡是固定设置在网络设备上的,扩展卡是设置在网络设备上可以拔出或插入的。可以通过在位扩展卡的电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)获取在位扩展卡的配置信息,可以通过网络设备的EEPROM获取在位固定卡的配置信息。
具体的,预设的配置信息与交换芯片主频值的对应关系包括配置信息与偏移地址的对应关系、以及偏移地址与交换芯片主频值的对应关系。
上述S11中的根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值,具体包括:
根据配置信息与偏移地址的对应关系,确定获取的配置信息对应的偏移地址;
根据偏移地址与交换芯片主频值的对应关系,得到确定出的偏移地址对应的交换芯片主频值。
配置信息与偏移地址的对应关系如表1所示,偏移地址可以是网络设备的EEPROM的空间中的I2C的偏移地址:
配置信息 |
偏移地址 |
24XS |
0x02 |
24XS+08XT |
0x12 |
24XS+12XS |
0x22 |
24XS+2*08XT |
0x32 |
24XS+12XS+08XT |
0x42 |
24XS+2*12XS |
0x52 |
表1
偏移地址与交换芯片主频值的对应关系如表2所示:
偏移地址 |
EEPROM的内容 |
0x01 |
标识位(烧写固定值) |
0x02 |
240Gbps线速的主频值 |
0x12 |
320Gbps线速的主频值 |
0x22 |
360Gbps线速的主频值 |
0x32 |
400Gbps线速的主频值 |
0x42 |
440Gbps线速的主频值 |
0x52 |
480Gbps线速的主频值 |
表2
通过上述两张表就可以确定出获取的配置信息对应的交换芯片主频值,表1是配置信息与偏移地址的对应关系的一个示例,表2是偏移地址与交换芯片主频值的对应关系的一个示例,配置信息与偏移地址的对应关系、偏移地址与交换芯片主频值的对应关系可以根据实际需要进行设定为表格的形式,也可以采用其它形式来表示。
具体的,上述判定在位业务卡拔出或有新的业务卡插入,具体包括:
接收到CPLD发送的中断后,读取CPLD在位寄存器的值;
若读取到的CPLD在位寄存器的值显示在位业务卡已不在,则判定在位业务卡拔出;
若读取到的CPLD在位寄存器的值显示有新的在位业务卡,确定有新的业务卡插入。
在位业务卡发生变化时,会触发在位信号发生跳变,CPLD会送出中断,CPU接收到CPLD发出的中断后,读取CPLD在位寄存器的值,从而可以判断在位业务卡发生的变化。
基于同一发明构思,本发明实施例提供一种交换芯片主频的调整装置,该装置可以设置在网络设备中,网络设备可以为交换设备、路由设备等等,该装置的结构如图2所示,包括:
获取单元20,用于获取在位业务卡的配置信息。
查找单元21,用于根据预设的配置信息与交换芯片主频值的对应关系,得到获取的配置信息对应的交换芯片主频值。
调整单元22,用于按照确定出的交换芯片主频值更新交换芯片主频。
具体的,上述获取单20,具体用于:
读取CPLD在位寄存器的值,确定在位业务卡;
获取确定出的在位业务卡的配置信息。
具体的,预设的配置信息与交换芯片主频值的对应关系包括配置信息与偏移地址的对应关系、以及偏移地址与交换芯片主频值的对应关系,上述查找单元21,具体用于:
根据配置信息与偏移地址的对应关系,确定获取的配置信息对应的偏移地址;
根据偏移地址与交换芯片主频值的对应关系,得到确定出的偏移地址对应的交换芯片主频值。
可选的,如图3所示,上述交换芯片的调整装置还包括判定单元23,用于:
若判定在位业务卡拔出或有新的业务卡插入,则转向获取单元20。
具体的,上述判定单元23,具体用于:
接收到CPLD发送的中断后,读取CPLD在位寄存器的值;
若读取到的CPLD在位寄存器的值显示在位业务卡已不在,则判定在位业务卡拔出;
若读取到的CPLD在位寄存器的值显示有新的在位业务卡,确定有新的业务卡插入。
下面以一个可选实施例来说明本发明中的交换芯片主频的调整方法,该方法可以应用在如图4所示的网络设备中,固定卡是一张含有24个10G端口的卡,端口带宽为240G,名称为24XS,网络设备拥有2个扩展槽位,记为slot1和slot2,slot1和slot2均支持以下2种类型的扩展卡插入:含有12个10G端口的卡,带宽为120G,名称为12XS;含有8个RJ45端口的卡,带宽为80G,名称为08XT。
首先介绍一下CPLD、CPU、EEPROM和交换芯片(MAC)这四部分的功能,其中,CPU对应于上述交换芯片主频的调整装置,执行上述交换芯片主频的调整装置包括的各个单元的操作。
CPLD,当任一扩展槽位的扩展卡插入或拔出时,触发相应的扩展卡在位信号发生跳变(在位信号在CPLD上拉到电源,在各扩展卡上接地),CPLD发送中断信号给CPU,CPU读取CPLD的在位寄存器的值,得知各扩展槽位的扩展卡的在位状态。
CPU,响应CPLD发出的中断信号,通过总线(Local bus)与CPLD交互扩展卡的在位信息后,通过I2C获取在位扩展卡的配置信息,固定卡的配置信息是固定的,所以获取扩展卡的配置信息后,就可以获取整个网络设备中在位业务卡的配置信息。CPU内部维护一个表,如表1所示。CPU通过I2C访问网络设备的EEPROM获取固定卡的配置信息,访问各扩展卡的EEPROM获取对应扩展卡的配置信息。
EEPROM,扩展卡的EEPROM仅保存相应扩展卡的配置信息;网络设备的EEPROM用于保存固定卡的配置信息,EEPROM内部维护一张表格,如表2所示,表2列举了适应各种扩展卡插入的情形,可以通过烧写配置该表格。
MAC,用于转发报文。
交换芯片主频的调整方法的具体工作流程为:
网络设备上电复位完成,CPU完成初始化,通过Local bus读取CPLD在位寄存器的值,获知此时slot1有扩展卡插入,slot2为空。
CPU读取slot1中插入的扩展卡的EEPROM,获知在位扩展卡的配置信息,得知slot1中插入的扩展卡的配置信息为12XS,CPU通过网络设备的EEPROM得到固定卡的配置信息为24XS,所以在位业务卡的配置信息为(24XS+12XS)。
CPU根据表1获取(24XS+12XS)对应的偏移地址为0x22后,通过I2C访问网络设备的EEPROM,读取表2中偏移地址为0x22的空间,获取此时的MAC主频值,然后通过PCIE接口对MAC寄存器进行配置,对MAC进行降频,保证360G线速的同时,达到节约MAC功耗的目的。
当slot1中插入的扩展卡拔出后,触发CPLD送出中断给CPU,CPU读取CPLD的在位寄存器的值,得知slot1中的扩展卡不在位,CPU通过网络设备的EEPROM得到固定卡的配置信息为24XS,根据表1重新获取24XS对应的偏移地址为0x02,然后通过I2C访问网络设备的EEPROM,读取表2中偏移地址为0x02的空间,获取此时的MAC主频值,最后通过PCIE接口对MAC寄存器进行配置,对MAC进行降频,保证240G线速的同时,降低MAC的功耗。
当slot2有扩展卡插入后,触发CPLD送出中断给CPU,CPU读取CPLD的在位寄存器的值,得知slot2有卡插入,读取slot2中插入的扩展卡的EEPROM,得知slot2中插入的扩展卡的配置信息为8XS,CPU通过网络设备的EEPROM得到固定卡的配置信息为24XS,所以在位业务卡的配置信息为(08XT+12XS);CPU根据表1重新获取(08XT+12XS)对应的偏移地址为0x42,然后通过I2C访问网络设备上的EEPROM,读取表2中偏移地址为0x42的空间,获取此时的MAC主频值,最后通过外设互联标准(Peripheral Component Interconnect,PCI)接口对MAC寄存器进行配置,对MAC进行升频,确保所有端口的线速能力。
上述交换芯片主频的调整方法,主要基于硬件实现,响应快,没有复杂多余的软件算法,硬件配置只需要网络设备上原有的CPU、CPLD即可,无需另加任何硬件配置;应用广泛,能够响应网络设备的硬件配置变化,在业务卡拔出或插入后,都能根据当前的硬件配置,正确调整交换芯片主频;硬件可移植性强,只需要维护CPU的表项和重新对EEPROM进行烧写就可在其它设备中应用,不需要修改硬件电路;使用中断的方式,节省CPU资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。