交换机错包修复方法、装置、交换机及存储介质制造方法及图纸

技术编号:19702619 阅读:26 留言:0更新日期:2018-12-08 14:16
本发明专利技术实施例公开了一种交换机错包修复方法、装置、交换机及存储介质,该方法包括:在交换机启动过程中,交换芯片初始化完成后,进行交换芯片端口配置,以使所述交换芯片与FPGA在交换机启动过程中能够通信;根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口;配置所述FPGA,使得所述FPGA在交换机启动完毕后向出现错包的端口发送报文时,在所述报文末尾添加预设字节的数据;在配置恢复阶段之前取消所述交换芯片端口配置。本发明专利技术实施例在交换机启动完毕后,FPGA向交换芯片发送报文时,能保证交换芯片接收完整报文,修复了交换芯片收包丢字节的错包情况,恢复交换机正常收发报文的能力,使交换机工作更加稳定。

【技术实现步骤摘要】
交换机错包修复方法、装置、交换机及存储介质
本专利技术实施例涉及通信技术,尤其涉及一种交换机错包修复方法、装置、交换机及存储介质。
技术介绍
交换机收发包端口的结构示意图如图1所示,在加入FPGA(FieldProgrammableGateArray,现场可编程门阵列)处理模块后,交换芯片(Switch)发送报文,该报文依次通过FPGA处理模块、PHY(PhysicalLayer,物理层)芯片和网口传输到相应的设备,完成报文发送(TX);其他设备发来的报文依次经过网口、PHY芯片和FPGA处理模块,传输到交换芯片,完成报文接收(RX)。其中,FPGA处理模块用于对收到的报文进行处理,例如增加一些字段以实现延时累加功能。如图2所示,交换芯片发送报文时,报文数据从交换芯片的MAC(MediaAccessControl,媒体访问控制)层出来后,会经过PCS层(PhysicalCodingSublayer,物理编码子层)和SGMII接口(SerialGigabitMediaIndependentInterface,串行千兆介质无关接口),进入PMA(PhysicalMediaAttachment,物理媒介适配)层进行数/模转换处理,PMA层会把四个SGMII接口的四个SGMII信号混合成一个QSGMII(QuadSGMII,四倍SGMII)数据信号,然后与FPGA的QSGMII接口进行通信,FPGA把QSGMII数据信号解析成四个SGMII信号,然后再传入自己的PCS层和MAC层。其中,PMA层集成了串并转换器Serdes,主要用于串行化和解串,PCS层主要包括线路编码和CRC校验编码。交换芯片接收报文时,处理过程与发送报文相反。报文数据从FPGA的MAC层出来后,经过PCS层和SGMII接口,进入PMA层进行数/模转换处理,PMA层会把四个SGMII接口的四个SGMII信号混合成一个QSGMII数据信号,然后交换芯片的QSGMII接口进行接收处理,交换芯片会把接收的QSGMII数据信号解析为四个SGMII信号,然后传递给自己的PCS层和MAC层进行处理。由于交换芯片和FPGA不是同一个厂家,QSGMII在适配后进行收发包通信时往往会出现一些问题,导致交换芯片和FPGA之间通信出现错包,例如,交换芯片接收的每个报文的最后一个或多个字节丢失,造成该端口所有收到的包都是错包。
技术实现思路
本专利技术提供一种交换机错包修复方法、装置、交换机及存储介质,以修复交换芯片与其相连的FPGA不属于同一厂家导致的交换芯片收包丢字节的错包情况,使得交换机工作更加稳定。第一方面,本专利技术实施例提供了一种交换机错包修复方法,包括:在交换机启动过程中,交换芯片初始化完成后,进行交换芯片端口配置,以使所述交换芯片与FPGA在交换机启动过程中能够通信;根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口;配置所述FPGA,使得所述FPGA在交换机启动完毕后向出现错包的端口发送报文时,在所述报文末尾添加预设字节的数据;在配置恢复阶段之前取消所述交换芯片端口配置。可选的,进行交换芯片端口配置,包括:将所述交换芯片的所有端口加入端口隔离组,以实现端口隔离;使能所述交换芯片上与所述FPGA相连的端口处于连接状态。可选的,根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口,包括:控制所述FPGA按照第一发包机制向所述交换芯片发送第一检测报文,根据所述交换芯片接收的所述第一检测报文确定所述交换芯片上出现错包的端口,其中,所述第一发包机制包括所述第一检测报文所包含的报文个数及相应的报文长度;或者,控制所述交换芯片按照第二发包机制向所述FPGA发送第二检测报文并接收所述FPGA返回的所述第二检测报文,根据所述交换芯片接收的所述第二检测报文确定所述交换芯片上出现错包的端口,其中,所述第二发包机制包括所述第二检测报文所包含的报文个数及相应的报文长度。可选的,根据所述交换芯片接收的第一检测报文或第二检测报文确定所述交换芯片上出现错包的端口,包括:根据所述交换芯片接收的第一检测报文或第二检测报文,获取所述交换芯片各端口的收包统计信息;根据所述各端口的收包统计信息确定所述交换芯片上各端口的错包率;将错包率达到预设阈值的端口,确定为出现错包的端口。可选的,配置所述FPGA,包括:配置所述FPGA的寄存器,并存储配置信息,其中,所述配置信息用于控制所述FPGA在交换机启动完毕后向出现错包的端口发送报文时,获取所述报文中的校验数据,并在所述报文末尾添加所述校验数据。可选的,在配置恢复阶段之前取消所述交换芯片端口配置,包括:在配置恢复阶段之前,取消所述交换芯片与所述FPGA相连端口的强制连接,并取消所述交换芯片上所有端口的端口隔离。第二方面,本专利技术实施例还提供了一种交换机错包修复装置,包括:端口配置模块,用于在交换机启动过程中,交换芯片初始化完成后,进行交换芯片端口配置,以使所述交换芯片与FPGA在交换机启动过程中能够通信;错包端口确定模块,用于根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口;FPGA配置模块,用于配置所述FPGA,使得所述FPGA在交换机启动完毕后的通信过程中向出现错包的端口发送报文时,在所述报文的最后添加预设字节的数据;端口配置取消模块,用于在配置恢复阶段之前取消所述交换芯片端口配置。可选的,所述端口配置模块包括:端口隔离单元,用于将所述交换芯片的所有端口加入端口隔离组,以实现端口隔离;端口使能连接单元,用于使能所述交换芯片上与所述FPGA相连的端口处于连接状态。第三方面,本专利技术实施例还提供了一种交换机,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所述的交换机错包修复方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所述的交换机错包修复方法。本专利技术实施例在交换芯片初始化完成后,进行交换芯片端口配置,以使交换芯片与FPGA在交换机启动过程中能够通信;利用FPGA发送的检测报文确定交换芯片上出现错包的端口;配置FPGA,使得FPGA在交换机启动完毕后向出现错包的端口发送报文时,在该报文末尾添加预设字节的数据;在配置恢复阶段之前取消交换芯片端口配置。由此,在交换机启动完毕后,FPGA向交换芯片发送报文时,能够保证交换芯片接收完整报文,修复了交换芯片收包丢字节的错包情况,恢复交换机正常收发报文的能力,使得交换机工作更加稳定。附图说明图1是现有技术的交换机收发包端口的结构示意图;图2是现有技术的交换芯片与FPGA的报文传输示意图;图3是本专利技术实施例一提供的交换机错包修复方法的流程图;图4是本专利技术实施例二提供的交换机错包修复方法的流程图;图5是本专利技术实施例三提供的交换机错包修复装置的结构示意图;图6是本专利技术实施例四提供的交换机的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而本文档来自技高网
...

【技术保护点】
1.一种交换机错包修复方法,其特征在于,包括:在交换机启动过程中,交换芯片初始化完成后,进行交换芯片端口配置,以使所述交换芯片与FPGA在交换机启动过程中能够通信;根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口;配置所述FPGA,使得所述FPGA在交换机启动完毕后向出现错包的端口发送报文时,在所述报文末尾添加预设字节的数据;在配置恢复阶段之前取消所述交换芯片端口配置。

【技术特征摘要】
1.一种交换机错包修复方法,其特征在于,包括:在交换机启动过程中,交换芯片初始化完成后,进行交换芯片端口配置,以使所述交换芯片与FPGA在交换机启动过程中能够通信;根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口;配置所述FPGA,使得所述FPGA在交换机启动完毕后向出现错包的端口发送报文时,在所述报文末尾添加预设字节的数据;在配置恢复阶段之前取消所述交换芯片端口配置。2.根据权利要求1所述的方法,其特征在于,进行交换芯片端口配置,包括:将所述交换芯片的所有端口加入端口隔离组,以实现端口隔离;使能所述交换芯片上与所述FPGA相连的端口处于连接状态。3.根据权利要求1所述的方法,其特征在于,根据所述FPGA发送的检测报文,确定所述交换芯片上出现错包的端口,包括:控制所述FPGA按照第一发包机制向所述交换芯片发送第一检测报文,根据所述交换芯片接收的所述第一检测报文确定所述交换芯片上出现错包的端口,其中,所述第一发包机制包括所述第一检测报文所包含的报文个数及相应的报文长度;或者,控制所述交换芯片按照第二发包机制向所述FPGA发送第二检测报文并接收所述FPGA返回的所述第二检测报文,根据所述交换芯片接收的所述第二检测报文确定所述交换芯片上出现错包的端口,其中,所述第二发包机制包括所述第二检测报文所包含的报文个数及相应的报文长度。4.根据权利要求3所述的方法,其特征在于,根据所述交换芯片接收的第一检测报文或第二检测报文确定所述交换芯片上出现错包的端口,包括:根据所述交换芯片接收的第一检测报文或第二检测报文,获取所述交换芯片各端口的收包统计信息;根据所述各端口的收包统计信息确定所述交换芯片上各端口的错包率;将错包率达到预设阈值的端口,确定为出现错包的端口。5.根据...

【专利技术属性】
技术研发人员:袁志亚朱严峰
申请(专利权)人:北京东土科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1