CN113556249A - 一种基于单芯片交换机的热插拔方法、装置、设备及介质 - Google Patents
一种基于单芯片交换机的热插拔方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113556249A CN113556249A CN202110817387.XA CN202110817387A CN113556249A CN 113556249 A CN113556249 A CN 113556249A CN 202110817387 A CN202110817387 A CN 202110817387A CN 113556249 A CN113556249 A CN 113556249A
- Authority
- CN
- China
- Prior art keywords
- line card
- switch
- state
- port
- type
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003287 optical effect Effects 0.000 claims abstract description 36
- 238000001514 detection method Methods 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000003745 diagnosis Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 64
- 238000013507 mapping Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 19
- 238000003780 insertion Methods 0.000 claims description 18
- 230000037431 insertion Effects 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 2
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013154 diagnostic monitoring Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
- H04L41/0809—Plug-and-play configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本说明书实施例公开了一种基于单芯片交换机的热插拔方法、装置、设备及介质,方法包括:线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,若判断出交换机存在插入或移除线卡的操作,端口更新模块根据交换机的线卡插入或移除操作,更新对应端口信息;根据当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成交换机的热插拔操作,提供了一种针对单芯片框式交换机的热插拔方法,在一个进程中实现多个线卡的管理。
Description
技术领域
本说明书涉及数字通信技术领域,尤其涉及一种基于单芯片交换机的热插拔方法、装置、设备及介质。
背景技术
现有的框式交换机主要是采用一个管理板和多个线卡的设计结构,在每个线卡上都有一块交换芯片,每块线卡上的芯片在不同的进程中工作,这种设计方式对交换机的复杂程度和成本要求较高,而单芯片交换机由于结构简单、成本较低等优势,应用越来越广泛。由于单芯片框式交换机采用一个进程管理所有线卡,在热插拔技术方面存在着技术瓶颈,缺乏一种单芯片框式交换机的热插拔方法。
发明内容
本说明书一个或多个实施例提供了一种基于单芯片框式交换机的热插拔方法、装置、设备及介质,用于解决如下技术问题:缺乏一种单芯片框式交换机的热插拔方法。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种基于单芯片交换机的热插拔方法,所述方法包括:线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;根据所述当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
进一步地,所述线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,具体包括:所述线卡检测模块构建第一任务函数,其中所述第一任务函数为周期执行函数,用于检测线卡的状态;通过所述第一任务函数获取所述交换机线卡的第一状态和第二状态。
进一步地,所述线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态之前,所述方法还包括:获取所述交换机上的全部线卡的线卡类型,其中,所述交换机可以同时插入多个线卡;根据所述线卡类型建立对应的表格,其中,所述对应的表格为线卡内部的芯片逻辑端口与交换机面板口的映射关系。
进一步地,所述端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息,具体包括:当判定所述交换机存在插入线卡的操作时,所述端口更新模块对所述线卡的端口进行初始化,并建立所述端口与所述交换机面板口之间的映射关系,并将所述映射关系在所述对应的表格中进行更新;当判定所述交换机存在移除线卡的操作时,所述端口更新模块将所述线卡的端口设置为无效端口,并删除对应的端口索引号。
进一步地,若其他线卡存在插入或移除的情况,所述方法还包括:构建第二任务函数,通过所述第二任务函数分别获取在第一时刻和第二时刻,所述交换机的线卡类型和线卡的在位状态,其中,所述第二任务函数为周期执行函数,用于检测线卡移除操作,所述第一时刻为所述第二时刻的上一时刻;根据第一时刻和第二时刻的所述交换机的线卡的线卡类型和线卡的在位状态,判断是否存在移除线卡操作;若判断存在移除线卡操作,则记录所述移除线卡的操作,并设置对应的标志位,所述对应的标志位用于判断所述交换机在完成线卡热插拔的过程中,是否存在其他线卡的移除操作。
进一步地,当所述交换机完成一次热插拔动作之后,所述方法还包括:判断所述对应的标志位是否存在;若判定所述对应的标志位存在,则根据所述对应的标志位,执行移除其他线卡的操作,并清除所述对应的标志位。
进一步地,若交换机当前插入的第一线卡的类型与上一时刻插入的第二线卡的类型相同,所述方法还包括:在所述第二线卡移除时,配置恢复模块新建临时文件,并将所述第二线卡的配置信息写入所述临时文件;在所述第一线卡插入后,所述端口更新模块根据所述第一线卡插入操作,更新对应端口信息;在确定所述第一线卡的类型与所述第二线卡的类型相同时,所述配置恢复模块读取所述临时文件中的配置信息,并重新加载所述配置信息,以便完成所述交换机的热插拔操作。
本说明书一个或多个实施例提供一种基于单芯片交换机的热插拔装置,所述装置包括:获取单元,以用于线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态;判断单元,以用于根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;更新单元,以用于判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;配置单元,以用于根据所述当前线卡的类型和在位状态进行配置;检测单元,以用于光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
本说明书一个或多个实施例提供一种基于单芯片交换机的热插拔设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;根据所述当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
本说明书一个或多个实施例提供的一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;根据所述当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过线卡检测模块获取线卡在当前时刻和上一时刻的在位状况,判断框式交换机上是否存在线卡插入或移除的操作,并根据线卡插入或移除的操作更新对应的端口信息,提供了一种针对单芯片框式交换机的热插拔方法,在一个进程中实现多个线卡的管理,在满足用户需要的同时,有效的降低了研发成本。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的一种基于单芯片交换机的热插拔方法流程示意图;
图2为本说明书实施例提供的另一种基于单芯片交换机的热插拔方法的流程示意图;
图3为本说明书实施例提供的一种基于单芯片交换机的热插拔装置的结构示意图;
图4为本说明书实施例提供的一种基于单芯片交换机的热插拔设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
交换机是一种在通信系统中完成信息交换功能的设备。根据不同的分类标准,可以有不同的交换机类别,例如,根据网络覆盖范围分,交换机包括局域网交换机和广域网交换机;根据传输介质和传输速度划分,交换机可以划分为以太网交换机、快速以太网交换机、千兆以太网交换机等;根据交换机应用网络层次划分,还可以分为企业级交换机、校园网交换机、部门级交换机和工作组交换机;从外观上可以分为盒式交换机、机架式交换机和框式交换机。
框式交换机以其优良的扩展性和高可靠性的优点,在园区汇聚和核心层网络设备中有着重要的应用,是网络部署中不可或缺的一部分。现有的框式设备主要是采用一个管理板和多个线卡的设计结构,且每块线卡上面有一块交换芯片,每块线卡上面的mac芯片都是在不同的进程中工作,这种设计方式提高了交换机的复杂程度,价格昂贵。因此,在一些对交换机性能要求不高,端口数量要求较高的应用场景中,单芯片框式交换机因为其结构简单、不需要mac芯片同步以及价格较低等特点有着广泛的应用。
另外,热插拔是指交换机在带电工作的过程中,可以更换或者增加新的线卡,并自动保存配置,不需要重新配置交换机,从而提高了系统抗风险的能力、冗余性及可扩展性。目前,热插拔技术在多个mac芯片的框式交换机上面有着较为成熟的应用,由于单芯片框式交换机采用一个进程管理所有的线卡,在热插拔技术方面存在着技术瓶颈,在单芯片交换机领域缺乏一种热插拔方法满足用户的需求。
本说明书实施例提供一种基于单芯片交换机的热插拔方法,需要说明的是,在本申请实施例中,线卡也可以表达为板卡,也可以是与业务模块相关的其他表述,本说明书实施例对此不做具体限定。在本说明书的一个实施例中,单芯片框式交换机包括线卡检测模块、端口更新模块、光模块轮询模块、拔卡检测模块以及配置恢复模块。其中,线卡检测模块用于检测交换机是否有线卡插入或者拔出动作,插入或者拔出线卡的类型,并执行插卡或拔卡的动作;端口更新模块用于更新面板口与芯片的逻辑端口之间的映射关系,并把映射关系存在软表中,创建或者删除端口的端口索引号;光模块轮询模块用于检测新插入线卡上面的光模块在位、发光器使能以及数字诊断监视功能信息的读取等;拔卡检测模块用于保存拔卡动作,避免进程在执行一块线卡在热插拔期间,其他线卡拔掉并插入导致热插拔机制无法识别;恢复配置模块用于在拔掉线卡时,记录现有的交换机配置,当插入相同类型的线卡后重新下载配置。
如图1所示,图1为本说明书实施例提供的一种基于单芯片交换机的热插拔方法流程示意图,方法主要包括:
步骤S101,线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据线卡的第一状态和第二状态判断交换机是否存在插入或移除线卡的操作。
在步骤S101之前,方法还包括:获取交换机上的全部线卡的线卡类型,其中,交换机可以同时插入多个线卡;根据线卡类型建立对应的表格,其中,对应的表格为线卡内部的芯片逻辑端口与交换机面板口的映射关系。
在本说明书的一个实施例中,首先对交换机进行初始化,在对交换机进行初始化时,通过_lcm_get_subcard_type函数,获取线卡的在位情况和线卡的类型,需要说明的是,交换机可以接入四个线卡,i(i=1~4)line_card_type用于表示第一个线卡、第二个线卡、第三个线卡以及第四个线卡的线卡类型,line_card_present用于表示线卡是否在位。并对交换机上现有的线卡的在位情况和线卡的类型进行保存,建立线卡内部的芯片逻辑端口与交换机面板口的映射关系,将映射关系保存在对应的第一表格中,将第一表格保存在软表中。交换芯片SDK初始化后,根据线卡的在位情况和线卡的类型,通过调用mac_init函数初始化线卡上面的serdes。并通知内核创建交换机面板口的端口索引号,建立端口索引号和交换机面板接口的映射关系,并保存在对应的第二表格中,将第二表格保存在软表中。
在本说明书的一个实施例中,在交换机初始化的过程中,默认所有线卡插满,总端口的数量为交换机所能支持的最大端接口数量,也就是说,默认四个线卡全部插满,且每个线卡的端口数量均默认为34个,总端口的数量为136个。对于没有插入线卡的设备,默认端口存在,并设置芯片对应的逻辑端口为无效值。
具体地,步骤S101包括:线卡检测模块构建第一任务函数,其中第一任务函数为周期执行函数,用于检测线卡的状态;通过第一任务函数获取交换机线卡的第一状态和第二状态;第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况。
在本说明书的一个实施例中,交换机的线卡检测模块创建第一任务函数,其中,第一任务函数为周期性执行函数,每隔一段时间检测一次线卡的状态。通过第一任务函数检测线卡的状态,获取当前时刻下的线卡状态和线卡类型,以及上一时刻的线卡状态和线卡类型,根据两个相邻时刻下的线卡的在位状况和线卡的类型判断是否有线卡的插入或移除操作。例如,A线卡的上一时刻为在位状态,在当前时刻为不在位状态,则A线卡存在移除操作。
步骤S102,若判断出交换机存在插入或移除线卡的操作,端口更新模块根据交换机的线卡插入或移除操作,更新对应端口信息。
具体地,步骤S102包括:当判定交换机存在插入线卡的操作时,端口更新模块对线卡的端口进行初始化,并建立端口与交换机面板口之间的映射关系,并将映射关系在对应的表格中进行更新;当判定交换机存在移除线卡的操作时,端口更新模块将线卡的端口设置为无效端口,并删除对应的端口索引号。
在本说明书的一个实施例中,通过交换机的线卡检测模块判断出交换机存在线卡插入或移除的操作之后,根据线卡的插入或移除操作,对相应的线卡端口进行处理,也就是说,当设备检测到有线卡的插入和拔出的时候,更新面板口与芯片的逻辑端口(logicalport)的映射关系,并把映射关系保存在软表中。当交换机存在线卡插入的操作时,在软表里面更新面板口对应的logical port;拔掉线卡,在软表里面将面板口对应的logicalport设置为无效值。更新软表后,通知内核增加或者删除面板口的端口索引号(ifindex),当插入新的线卡,要考虑新创建的ifindex的溢出问题,提高设备可靠性。需要说明的是,理论上要考虑新创建的ifindex的溢出问题,但在实际的操作中,需要插入上万次才会出现溢出问题。
步骤S103,根据所述当前线卡的类型和在位状态进行配置。
具体地,步骤S103包括:若交换机当前插入的第一线卡的类型与上一时刻插入的第二线卡的类型相同,方法还包括:在第二线卡移除时,配置恢复模块新建临时文件,并将第二线卡的配置信息写入临时文件;在第一线卡插入后,端口更新模块根据所述第一线卡插入操作,更新对应端口信息;在确定第一线卡的类型与第二线卡的类型相同时,配置恢复模块读取临时文件中的配置信息,并重新加载配置信息,以便完成交换机的热插拔操作。
在本说明书的一个实施例中,判断当前线卡的线卡类型和线卡的在位状态,并根据线卡类型和在位状态进行配置。由于线卡类型一般情况下包括两种,一种线卡包括34个端口,另一种线卡包括32个端口。
在本说明书的一个实施例中,新插入的线卡A与上一时刻在位的线卡B存在两种情况,一种是线卡A与线卡B为不同类型的线卡,此时,在插入新的线卡A时,端口更新模块对线卡A的端口进行初始化,并建立线卡A的端口与交换机面板口之间的映射关系,并将映射关系在对应的表格中进行更新,重新初始化线卡上面驱动程序,上层软表同步后会产生标志位。另一种是线卡A与线卡B为同一类型的线卡,此时,在拔掉线卡B时,新建临时文件,将拔卡前对应的配置信息存入临时文件中,当插入线卡A时,更新端口与面板口映射,重新初始化线卡上面驱动程序,驱动程序完成初始化后,配置恢复模块读取临时文件的配置,并重新加载相应的配置。通过配置恢复模块,在线卡插入或拔出的过程中可以实现自动保存和恢复配置,满足较多的应用场景。
在本说明书的一个实施例中,配置恢复模块的恢复配置方法主要通过写文件的方式,线卡拔出后保存当前线卡对应的配置,创建临时文件"/tmp/cmd",当槽位上面插入的线卡和上次拔出的线卡是相同类型线卡的时候,就会读取文件"/tmp/cmd",重新下发配置。
步骤S104,光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成交换机的热插拔操作。
在本说明书的一个实施例中,当交换机存在线卡插入操作时,通过光模块轮询模块检测新插入的线卡上的光模块的在位、使能发光器和数字诊断监视功能信息的读取。需要说明的是,交换机的线卡上有多个端口,每个端口上都有光模块,通过光模块轮询模块可以检测新插入的线卡的端口是否可以正常工作。
在本说明书的一个实施例中,在读取光模块相关信息之前要先确定线卡是否插入并上电完成,判断端口是否是无效端口,如果线卡没有上电完成或者端口为无效端口时,当前周期下就会跳过该端口。判断端口为无效端口时,通过判断线卡的在位情况,若显示线卡不在位,则跳过该线卡的端口,不进行检测。当端口上面插入光模块,通过线卡i(i=1~4)的line_card_type判断线卡面板口与i2c通道的映射关系,读取光模块的数字诊断监视功能信息。
在单芯片框式交换机的热插拔过程中,是由一个进程控制多个线卡,在其中一个线卡进行插入拔出的操作时,可能会存在第二个线卡快速拔出并插入新线卡的动作,此时,程在执行一块线卡在热插拔期间,其他线卡拔掉并插入会导致热插拔机制无法识别。
具体地,若其他线卡存在插入或移除的情况,方法还包括:构建第二任务函数,通过第二任务函数分别获取在第一时刻和第二时刻,交换机的线卡类型和线卡的在位状态,其中,第二任务函数为周期执行函数,用于检测线卡移除操作,第一时刻为所述第二时刻的上一时刻;根据第一时刻和第二时刻的交换机的线卡的线卡类型和线卡的在位状态,判断是否存在移除线卡操作;若判断存在移除线卡操作,则记录移除线卡的操作,并设置对应的标志位,对应的标志位用于判断交换机在完成线卡热插拔的过程中,是否存在其他线卡的移除操作。当交换机完成一次热插拔动作之后,方法还包括:判断对应的标志位是否存在;若判对应的标志位存在,则根据所应的标志位,执行移除其他线卡的操作,并清除对应的标志位。
在本说明书的一个实施例中,在交换机初始化时创建第二任务函数,其中,第二任务函数为周期性执行函数,以用于周期检测是否有拔卡的动作。通过对比线卡在位状态判断有线卡拔出后,会记录线卡拔出的动作,设置标志位。当完成线卡热插拔动作后,下一个线卡检测周期会检查是否有拔卡的标志位,如果有,就会进行拔卡的操作,并将标志位清除,下个周期再进行插卡操作,从而避免了进程在执行其中一块线卡的热插拔程序的时候,无法判断其他线卡是否有插拔的问题。
本说明实施例通过上述技术方案,能够在一个进程中实现多款线卡的管理,在单芯片框式交换机上实现热插拔功能,交换机正常工作的时候,可以插入和拔出线卡,并自动保存和恢复配置,提高系统的扩展性,方案设计简单,代码移植简单。
本说明书实施例还提供一种基于单芯片交换机的热插拔方法,如图2所示,为本说明书实施例提供的另一种基于单芯片交换机的热插拔方法的流程示意图。
在本说明书的一个实施例中,通过_lcm_get_subcard_type函数获取线卡的线卡类型和线卡的在位状态,i(i=1~4)line_card_type和line_card_present分别表示四个线卡的线卡类型和线卡的在位状态,根据线卡的类型line_card_type建立mac芯片的logical port和面板口的映射关系table1,并保存软表中。对交换芯片初始化后,根据线卡i(i=1~4)line_card_type和line_card_present情况,通过调用mac_init函数初始化线卡上面的serdes。需要说明的是,线卡芯片的初始化会有一个默认的状态,也就是默认四种线卡均为34个端口的线卡类型,但是在实际情况下,可能四种线卡是其他的类型,需要对端口进行初始化。通知内核创建面板口的端口索引号,建立端口索引号和交换机的面板口之间的映射关系table2,保存在软表中。由于在交换机的不同的模块里采用不同的索引号,设置两种端口与面板口的映射关系可以适应不同的需求,根据交换机的特征选择合适的调用关系。
其次,发起任务以用于监控线卡的插拔动作和拔卡操作,具体地,启动任务函数funcA和funcB,每间隔t秒执行一次,分别处理检测线卡的在位状态和拔卡检测。
为了避免线卡i在处理热插拔事件的过程中,快速拔掉并插入线卡j(j!=i),导致系统误判线卡j没有发生变化。funcB函数通过获取当前线卡i(i=1~4)line_card_type_new和line_card_present_new情况,对比上次线卡类型和在位情况,计算是否有拔卡动作,如果有线卡i拔卡操作,使能标志位flag(i),当线卡i(i=1~4)的类型或者在位情况发生变化时,更新mac芯片的逻辑端口和面板口的映射关系table1,创建或者删除端口的端口索引号,恢复线卡的配置,并初始化线卡上面的外设模块。
通过funcA函数检测flag(i)是否使能,如果是则执行拔卡动作,否则,获取当前线卡i(i=1~4)line_card_type_new和line_card_present_new情况,对比上一时刻线卡的类型和线卡的在位状态,得出线卡的当前动作是插卡还是拔卡操作。
若判定交换机当前存在拔卡操作,将线卡上面的端口设置为无效端口,并保存配置,通知内核删除对应的端口索引号;若判定交换机当前存在插入线卡的操作,则通过调用mac_init函数初始化新插入的线卡上面的serdes,获取面板口对应的逻辑端口,并在table1中进行更新,并通知内核创建与新插入的线卡有关的端口索引号,初始化线卡上面的外设,例如:phy芯片、fiber、led等,并flag(i)设置为0。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过线卡检测模块获取线卡在当前时刻和上一时刻的在位状况,判断框式交换机上是否存在线卡插入或移除的操作,并根据线卡插入或移除的操作更新对应的端口信息,提供了一种针对单芯片框式交换机的热插拔方法,在一个进程中实现多个线卡的管理,在满足用户需要的同时,有效的降低了研发成本。
本说明书实施例还提供一种基于单芯片交换机的热插拔装置,装置包括:获取单元31,以用于线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态;判断单元32,以用于根据线卡的第一状态和第二状态判断交换机是否存在插入或移除线卡的操作,其中,其中第一状态包括当前时刻线卡的类型和在位状况,第二状态包括上一时刻线卡的类型和在位状况;更新单元33,以用于判断出交换机存在插入或移除线卡的操作,端口更新模块根据交换机的线卡插入或移除操作,更新对应端口信息;配置单元34,以用于根据当前线卡的类型和在位状态进行配置;检测单元35,以用于光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成交换机的热插拔操作。
在本说明书的一个实施例中,一种基于单芯片交换机的热插拔装置还包括:构建单元,以用于线卡检测模块构建第一任务函数,其中第一任务函数为周期执行函数,用于检测线卡的状态;通过第一任务函数获取交换机线卡的第一状态和第二状态。获取单元31还用于获取交换机上的全部线卡的线卡类型,其中,交换机可以同时插入多个线卡;根据线卡类型建立对应的表格,其中,对应的表格为线卡内部的芯片逻辑端口与交换机面板口的映射关系。
在本说明书的一个实施例中,一种基于单芯片交换机的热插拔装置的更新单元32还用于:当判定交换机存在插入线卡的操作时,端口更新模块对线卡的端口进行初始化,并建立端口与交换机面板口之间的映射关系,并将映射关系在对应的表格中进行更新;当判定交换机存在移除线卡的操作时,端口更新模块将线卡的端口设置为无效端口,并删除对应的端口索引号。构建单元还用于构建第二任务函数,通过第二任务函数分别获取在第一时刻和第二时刻,交换机的线卡类型和线卡的在位状态,其中,第二任务函数为周期执行函数,用于检测线卡移除操作,第一时刻为所述第二时刻的上一时刻;判断单元32还用于根据第一时刻和第二时刻的所述交换机的线卡的线卡类型和线卡的在位状态,判断是否存在移除线卡操作;若判断存在移除线卡操作,则记录移除线卡的操作,并设置对应的标志位,对应的标志位用于判断交换机在完成线卡热插拔的过程中,是否存在其他线卡的移除操作。
在本说明书的一个实施例中,装置还包括存储单元,用于在第二线卡移除时,配置恢复模块新建临时文件,并将第二线卡的配置信息写入临时文件;在第一线卡插入后,端口更新模块根据第一线卡插入操作,更新对应端口信息;在确定第一线卡的类型与第二线卡的类型相同时,配置恢复模块读取临时文件中的配置信息,并重新加配置信息,以便完成所述换机的热插拔操作。
本说明书实施例还提供一种基于单芯片交换机的热插拔设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使至少一个处理器能够:线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据线卡的第一状态和第二状态判断交换机是否存在插入或移除线卡的操作,其中,其中第一状态包括当前时刻线卡的类型和在位状况,第二状态包括上一时刻线卡的类型和在位状况;若判断出交换机存在插入或移除线卡的操作,端口更新模块根据交换机的线卡插入或移除操作,更新对应端口信息;根据所述当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成交换机的热插拔操作。
本说明书实施例还提供一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据线卡的第一状态和第二状态判断交换机是否存在插入或移除线卡的操作,其中,其中第一状态包括当前时刻线卡的类型和在位状况,第二状态包括上一时刻线卡的类型和在位状况;若判断出交换机存在插入或移除线卡的操作,端口更新模块根据交换机的线卡插入或移除操作,更新对应端口信息;根据所述当前线卡的类型和在位状态进行配置;光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成交换机的热插拔操作。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种基于单芯片交换机的热插拔方法,其特征在于,所述方法包括:
线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;
若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;
根据所述当前线卡的类型和在位状态进行配置;
光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
2.根据权利要求1所述的一种基于单芯片交换机的热插拔方法,其特征在于,所述线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,具体包括:
所述线卡检测模块构建第一任务函数,其中所述第一任务函数为周期执行函数,用于检测线卡的状态;
通过所述第一任务函数获取所述交换机线卡的第一状态和第二状态。
3.根据权利要求1所述的一种基于单芯片交换机的热插拔方法,其特征在于,所述线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态之前,所述方法还包括:
获取所述交换机上的全部线卡的线卡类型,其中,所述交换机可以同时插入多个线卡;
根据所述线卡类型建立对应的表格,其中,所述对应的表格为线卡内部的芯片逻辑端口与交换机面板口的映射关系。
4.根据权利要求3所述的一种基于单芯片交换机的热插拔方法,其特征在于,所述端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息,具体包括:
当判定所述交换机存在插入线卡的操作时,所述端口更新模块对所述线卡的端口进行初始化,并建立所述端口与所述交换机面板口之间的映射关系,并将所述映射关系在所述对应的表格中进行更新;
当判定所述交换机存在移除线卡的操作时,所述端口更新模块将所述线卡的端口设置为无效端口,并删除对应的端口索引号。
5.根据权利要求3所述的一种基于单芯片交换机的热插拔方法,其特征在于,若其他线卡存在插入或移除的情况,所述方法还包括:
构建第二任务函数,通过所述第二任务函数分别获取在第一时刻和第二时刻,所述交换机的线卡类型和线卡的在位状态,其中,所述第二任务函数为周期执行函数,用于检测线卡移除操作,所述第一时刻为所述第二时刻的上一时刻;
根据第一时刻和第二时刻的所述交换机的线卡的线卡类型和线卡的在位状态,判断是否存在移除线卡操作;
若判断存在移除线卡操作,则记录所述移除线卡的操作,并设置对应的标志位,所述对应的标志位用于判断所述交换机在完成线卡热插拔的过程中,是否存在其他线卡的移除操作。
6.根据权利要求5所述的一种基于单芯片交换机的热插拔方法,其特征在于,当所述交换机完成一次热插拔动作之后,所述方法还包括:
判断所述对应的标志位是否存在;
若判定所述对应的标志位存在,则根据所述对应的标志位,执行移除其他线卡的操作,并清除所述对应的标志位。
7.根据权利要求1所述的一种基于单芯片交换机的热插拔方法,其特征在于,若交换机当前插入的第一线卡的类型与上一时刻插入的第二线卡的类型相同,所述方法还包括:
在所述第二线卡移除时,配置恢复模块新建临时文件,并将所述第二线卡的配置信息写入所述临时文件;
在所述第一线卡插入后,所述端口更新模块根据所述第一线卡插入操作,更新对应端口信息;
在确定所述第一线卡的类型与所述第二线卡的类型相同时,所述配置恢复模块读取所述临时文件中的配置信息,并重新加载所述配置信息,以便完成所述交换机的热插拔操作。
8.一种基于单芯片交换机的热插拔装置,其特征在于,所述装置包括:
获取单元,以用于线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态;
判断单元,以用于根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;
更新单元,以用于判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;
配置单元,以用于根据所述当前线卡的类型和在位状态进行配置;
检测单元,以用于光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
9.一种基于单芯片交换机的热插拔设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;
若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;
根据所述当前线卡的类型和在位状态进行配置;
光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
10.一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
线卡检测模块获取单芯片交换机上的线卡的第一状态和第二状态,并根据所述线卡的第一状态和第二状态判断所述交换机是否存在插入或移除线卡的操作,其中,其中所述第一状态包括当前时刻线卡的类型和在位状况,所述第二状态包括上一时刻线卡的类型和在位状况;
若判断出所述交换机存在插入或移除线卡的操作,端口更新模块根据所述交换机的线卡插入或移除操作,更新对应端口信息;
根据所述当前线卡的类型和在位状态进行配置;
光模块轮询模块根据当前线卡的配置情况,检测新插入线卡的光模块的在位信息、数字诊断监视功能信息,以便完成所述交换机的热插拔操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817387.XA CN113556249A (zh) | 2021-07-20 | 2021-07-20 | 一种基于单芯片交换机的热插拔方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817387.XA CN113556249A (zh) | 2021-07-20 | 2021-07-20 | 一种基于单芯片交换机的热插拔方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113556249A true CN113556249A (zh) | 2021-10-26 |
Family
ID=78132192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110817387.XA Pending CN113556249A (zh) | 2021-07-20 | 2021-07-20 | 一种基于单芯片交换机的热插拔方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113556249A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050073955A (ko) * | 2004-01-12 | 2005-07-18 | 삼성전자주식회사 | 라우터 시스템의 가입자 라인카드 및 그 교체 방법 |
CN101459521A (zh) * | 2008-11-28 | 2009-06-17 | 福建星网锐捷网络有限公司 | 一种路由器线卡热插拔实现方法及装置 |
CN103346898A (zh) * | 2013-05-30 | 2013-10-09 | 迈普通信技术股份有限公司 | 热拔插板卡配置信息处理的方法和网络通信设备 |
CN105187497A (zh) * | 2015-08-07 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 一种基于分布式系统olt设备的线卡管理方法 |
US20170346766A1 (en) * | 2016-05-24 | 2017-11-30 | Brocade Communications Systems, Inc. | Facilitating hot-swappable switch fabric cards |
CN109284245A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种基于srio的热插拔方法、装置、设备及存储介质 |
CN110908947A (zh) * | 2019-11-26 | 2020-03-24 | 杭州迪普科技股份有限公司 | 框式设备线卡的热插拔方法、装置、主控板及框式设备 |
CN111417034A (zh) * | 2020-03-13 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 一种交换机及其交换板卡热插拔方法、装置和系统 |
CN112118155A (zh) * | 2020-09-18 | 2020-12-22 | 苏州浪潮智能科技有限公司 | 一种交换机端口状态监控的方法和设备 |
CN112152848A (zh) * | 2020-09-18 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 框式交换机混插线卡时端口热插拔初始化的方法、装置 |
-
2021
- 2021-07-20 CN CN202110817387.XA patent/CN113556249A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050073955A (ko) * | 2004-01-12 | 2005-07-18 | 삼성전자주식회사 | 라우터 시스템의 가입자 라인카드 및 그 교체 방법 |
CN101459521A (zh) * | 2008-11-28 | 2009-06-17 | 福建星网锐捷网络有限公司 | 一种路由器线卡热插拔实现方法及装置 |
CN103346898A (zh) * | 2013-05-30 | 2013-10-09 | 迈普通信技术股份有限公司 | 热拔插板卡配置信息处理的方法和网络通信设备 |
CN105187497A (zh) * | 2015-08-07 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 一种基于分布式系统olt设备的线卡管理方法 |
US20170346766A1 (en) * | 2016-05-24 | 2017-11-30 | Brocade Communications Systems, Inc. | Facilitating hot-swappable switch fabric cards |
CN109284245A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种基于srio的热插拔方法、装置、设备及存储介质 |
CN110908947A (zh) * | 2019-11-26 | 2020-03-24 | 杭州迪普科技股份有限公司 | 框式设备线卡的热插拔方法、装置、主控板及框式设备 |
CN111417034A (zh) * | 2020-03-13 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 一种交换机及其交换板卡热插拔方法、装置和系统 |
CN112118155A (zh) * | 2020-09-18 | 2020-12-22 | 苏州浪潮智能科技有限公司 | 一种交换机端口状态监控的方法和设备 |
CN112152848A (zh) * | 2020-09-18 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 框式交换机混插线卡时端口热插拔初始化的方法、装置 |
Non-Patent Citations (1)
Title |
---|
范逵;董会宁;陈虎;: "一种基于热插拔的SD卡在交换机上的设计与实现", 通信技术, no. 07, 10 July 2009 (2009-07-10) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568211C (zh) | 用可编程器件实现访问多个i2c从器件的方法及装置 | |
CN100414542C (zh) | 在群集计算环境中管理存储资源的方法 | |
CN101110846B (zh) | 一种mac地址表项的管理方法和设备 | |
CN111880751B (zh) | 一种硬盘迁移方法、分布式存储集群系统和存储介质 | |
CN103257941B (zh) | 多协议存储控制器和系统 | |
TW200809521A (en) | Fault-isolating SAS expander | |
JPS60500195A (ja) | デイジタル通信リンクに円滑に割込む方法と装置 | |
CN101583054A (zh) | 利用光模块实现光接口支持多种速率模式的方法及装置 | |
CN108540225B (zh) | 板卡工作模式切换方法、通信设备、控制板卡及存储介质 | |
CN107273258A (zh) | 一种刀片服务器内置交换机的自动化重启测试方法及系统 | |
CN112000535A (zh) | 一种基于SAS Expander卡的硬盘异常识别方法及处理方法 | |
CN101764696B (zh) | 分布式路由交换设备及其实现方法 | |
JP2006048162A (ja) | ループ状態監視装置 | |
CN104158709A (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN109787688B (zh) | 通信设备、可插拔光模块、通信系统、方法及存储介质 | |
CN113556249A (zh) | 一种基于单芯片交换机的热插拔方法、装置、设备及介质 | |
CN103761202B (zh) | 一种数据存储节点硬盘盘位识别方法及系统 | |
WO2013013540A1 (zh) | Atca机框系统、构建方法及后插单板 | |
CN111988169A (zh) | 一种云平台异常磁盘清理修复的方法、系统、设备及介质 | |
WO2007028727A1 (en) | Facilitating detection of hardware service actions | |
CN113612671B (zh) | 总线适配器与通道绑定配置方法、映射管理器及连接系统 | |
CN109815169A (zh) | 一种存储设备及其存储链路自适应的方法 | |
WO2009097768A1 (zh) | 一种配置迁移方法及装置 | |
CN109769155B (zh) | 一种光纤端口的控制实现方法 | |
CN109189339B (zh) | 一种存储系统下自动配置缓存加速方法 |
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 |