热插拔的检测和处理方法

文档序号:7561470阅读:1030来源:国知局
专利名称:热插拔的检测和处理方法
技术领域
本发明属于计算机网络通信领域,具体涉及一种面向高端交换机的热插拔检测和处理方法。
背景技术
在交换机工作的时候,可能由于模块故障等原因,用户希望在交换机不宕机的情况下,进行模块的热插或热拔。一方面,热插拔的检测和处理不影响其他模块,不影响到业务流的正常转发;另一方面,用户拔出模块的配置信息被删除后,在再次插入的时候,可恢复拔出时该模块的配置信息。即模块的拔出不影响系统其他模块的运行,且系统要确实反映出该模块已经不存在;在用户再次插入该模块的时候,该模块的配置信息能够恢复,插入之后,用户无需干预,模块就可以象没拔出一样正常工作(转发)。
目前,有的交换机不支持热插拔,或者在进行热插拔后,整个系统必须重新启动,即需要宕机,不能够让系统无间断的工作;还有的热插拔机制不能够做到配置信息的完全恢复。

发明内容
本发明克服上述热插拔的处理方法的不足,提供一种在交换机不宕机的情况下,可随意替换或移动模块的热插拔检测和处理方法。
本发明的技术内容一种热拔的检测和处理方法,包括(1)当主控板检测到中断,通过设备状态机发现有模块被拔掉时,或当设备状态机正常运行时,超时没有收到模块的状态报告报文时,进行热拔的处理。
(2)从全局配置信息中,提取与该模块相关的配置信息,保存全局配置信息中和模块的相关命令;(3)数据链路层、IP路由层、QoS各个处理模块删除与该模块相关的配置信息,并进行相应的备份;(4)清除该模块的状态信息。
一种热插的检测和处理方法,包括
(1)当设备状态机正常运行时,收到新的模块的注册请求报文,进行热插的处理;(2)数据链路层、IP路由层、QOS各个处理模块下发与该模块相关的配置;(3)执行全局配置信息的保存命令,恢复该模块相关的配置信息。
将主控板上的当前NETDEV数据结构同步到该模块,在该模块上根据NETDEV数据表恢复硬件设置;热拔处理的步骤(3)中数据链路层的处理包括a、在模块拔出后,首先模块上的每个端口都产生一个NETDEV_DOWN事件,通过这个事件清除动态信息;b、执行与保存信息命令作用相反的命令,清除相关的配置信息,并在执行命令过程中产生相应的设备通知事件;c、删除NETDEV表中和模块中各端口对应的表项内容,并产生NETDEV_UNREGISTER事件。
热拔处理的步骤(3)中IP路由层的处理包括模块的端口NETDEV_DOWN事件通过通知链函数通知路由模块,路由模块重新路由计算,删除相应的路由表项。
热拔处理的步骤(3)中QoS各个处理模块的处理包括通过注册热插拔处理的回调函数删除模块接口上所有相关的QOS和ACL配置软件信息。
热插处理的步骤(2)中数据链路层的处理包括将主控板上的当前NETDEV数据结构下发到该模块,模块根据NETDEV数据表恢复硬件设置。
热插处理的步骤(2)中IP路由层的处理包括将FIB表全部下发到该模块。
热插处理的步骤(2)中QoS各个处理模块的处理包括通过CALLBACK函数恢复相关的配置。
本发明的技术效果本发明在交换机不宕机的情况下通过中断和设备状态机的状态报告报文检测触发热插拔,热拔模块的时候,不影响业务流的正常转发的状态下,数据链路层、IP路由层和QOS各个处理模块分别删除该模块的配置信息并进行备份;热插模块时候,该模块恢复相关的配置信息。模块经过热插拔处理后依然可正常工作,在不关闭交换机的情况下,用户可随意替换或移动模块,便于安装、调试和故障检测,使得交换机产品更具竞争力,实现了交换机的“即插即用”。且对于热拔的检测,使用两种机制中断(硬检测)和状态报告报文(软检测),当主控板一段时间没有收到模块的报文后,既可以认为该模块已经拔出,也可以认为该模块发生了故障,故热拔的检测还具有一个故障检测的功能。


图1是本发明热拔的处理流程图;图2是本发明热插的处理流程图。
具体实施例方式
对于热拔的检测,使用两种机制中断(硬检测)和状态报告报文(软检测);热插的处理仅仅是由业务模块的注册触发,中断不触发热插处理过程。所有的热插拔处理都是在一个新的任务空间进行的,这个新的任务的优先级等同于设备状态机任务的优先级;当热插拔处理完成,这个任务自动退出。
热拔的检测和处理,主要是配置信息的删除、以及配置信息的提取备份。当有用户物理的拔出一个模块时,主控板检测到中断、通过设备状态机(主控板一段时间没有收到对方的心跳报文)发现有模块被拔掉时,在这个中断里面检测出那个模块被拔出,根据模块的槽位号,检查模块的运行状态,如果该模块的当前运行状态小于MODULE_MOD_READY,则不进行热插拔的处理;反之,则进行热插拔的处理;当ACTIVE MASTER(中断)长时间没有收到某业务模块的状态报告报文时,如果该模块的的当前运行状态不小于MODULE_MOD_READY,则进行热拔的处理。
参考图1,热拔的处理包括(1)从全局配置信息(SHOW RUN)中,提取出与该模块相关的配置信息,首先形成与被拔出板相关联的命令块,对每一个命令块构造特征关键字,搜索出包含相应命令块的配置信息,并保存全局配置信息中和模块的相关命令。(2)在模块拔出后,首先为模块上的每个端口都产生一个NETDEV_DOWN事件,通过DOWN事件清除动态信息,其次,保存的命令是用于在接口板插入后恢复接口板的配置,那么在接口板拔出以后,只要执行和这些命令作用相反的命令,就可以清除和拔出单板相关的配置信息,并在执行命令过程中产生相应的设备通知事件;在完成相关配置清除后,删除NETDEV表中和接口板中各端口对应的表项内容,并产生NETDEV_UNREGISTER事件。热拔时L3层模块最核心的任务是处理路由表和ARP表的变化。业务版拔出后,接口板的端口DOWN事件通过通知链函数通知路由模块,路由模块会重新路由计算,删除相应的路由表项。这个过程会通过路由模块所注册的通知链函数与L2的热拔处理可以比较好的衔接,因此流程上不需要特殊处理。对于ARP表,板子拔出后,从该板上学习到的ARP表已经没有保留必要,应该立即从系统中老化删除。通过注册热插拔处理的回调函数删除所有相关的QOS和ACL配置软件信息。
(3)清除该模块的状态描述信息。
(4)为了防止被拔模块死掉,可以对该模块执行一次重启。
热插的检测和处理,主要是通过重新下发软件表项来实现配置信息的恢复。当有新的业务板插进来时,它要向主控板发送注册请求报文,ACTIVE MASTER(中断)向该业务模块发送应答,并置标记位为热插。接口板收到注册响应报文之后开始与主控板进行同步,在一块单板插入后,需要将主控板上的当前NETDEV数据结构(不包括已经保存的和拔出单板相关的配置)同步到此接口板,并且根据这些软件表项在硬件中进行相应的配置。参考图2,顺序做如下处理(1)创建端口和缺省VLAN,和系统启动时执行的操作基本一样;(2)主控板同步NETDEV数据表到插入的接口板,发送完数据后,主控板等待接口板完成硬件配置;(3)接口板在NETDEV数据表后,根据此数据表进行相应的硬件设置,接口板完成硬件设置后,发送消息通知主控板;(4)主控板比较单板类型,判断是否需要进行配置恢复;(5)主控板提取并执行保存的配置命令块,对插入的接口板进行配置。
(6)主控板完成接口板的配置后,打开接口板的各端口,使插入的接口板能够进行业务转发;热插时L3模块最核心的任务是处理路由表和ARP表的变化。
对于新插入的业务版,需要将FIB表全部下发到该模块,另外插入后接口UP增加的路由也要一并下发。QOS和ACL模块可以通过注册热插的CALL_BACK函数来实现恢复。
当有多个模块同时插入系统时,热插处理是串行的;对于每一个模块的处理过程同上。
权利要求
1.一种热拔的检测和处理方法,包括(1)当主控板检测到中断,或当设备状态机正常运行时,超时没有收到模块的状态报告报文时,通过设备状态机发现有模块被拔掉,进行热拔的处理;(2)从全局配置信息中,提取与该模块相关的配置信息,保存全局配置信息中的与模块相关的命令;(3)数据链路层、IP路由层、QoS各个处理模块删除与该模块相关的配置信息,并进行相应的备份;(4)清除该模块的状态信息。
2.一种热插的检测和处理方法,包括(1)当设备状态机正常运行时,收到新的模块的注册请求报文,进行热插的处理;(2)数据链路层、IP路由层、QOS各个处理模块下发与该模块相关的配置;(3)执行全局配置信息的保存命令,恢复该模块的相关配置信息。
3.如权利要求1所述的热拔的检测和处理方法,其特征在于步骤(3)中数据链路层的处理包括a、在模块拔出后,首先模块上的每个端口都产生一个NETDEV_DOWN事件,通过这个事件清除动态信息;b、执行与保存配置信息命令作用相反的命令,清除相关的配置信息,并在执行命令过程中产生相应的设备通知事件;c、删除NETDEV表中和模块中各端口对应的表项内容,并产生NETDEV_UNREGISTER事件。
4.如权利要求1所述的热拔的检测和处理方法,其特征在于步骤(3)中IP路由层的处理包括模块的端口NETDEV_DOWN事件通过通知链函数通知路由模块,路由模块重新路由计算,删除相应的路由表项。
5.如权利要求1所述的热拔的检测和处理方法,其特征在于步骤(3)中QoS各个处理模块的处理包括通过注册热插拔处理的回调函数保存模块接口上所有相关的QOS和ACL配置软件信息。
6.如权利要求2所述的热插的检测和处理方法,其特征在于步骤(2)中数据链路层的处理包括将主控板上的当前NETDEV数据结构下发到该模块,模块根据NETDEV数据表恢复硬件设置。
7.如权利要求2所述的热插的检测和处理方法,其特征在于步骤(2)中IP路由层的处理包括将FIB表全部下发到该模块。
8.如权利要求2所述的热插的检测和处理方法,其特征在于步骤(2)中QoS各个处理模块的处理包括通过CALLBACK函数恢复相关的配置。
全文摘要
本发明提供了一种面向高端交换机的热插拔检测和处理方法,属于计算机网络通信领域。该方法在交换机不宕机的情况下通过中断和设备状态机的状态报告报文来检测热插拔,热拔模块时候,不影响业务流的正常转发的状态下,从全局配置信息中分析提取出来与该模块相关的配置信息,数据链路层、IP路由层和QOS各个处理模块分别删除该配置信息并进行备份,清除该模块的状态信息;热插模块时候,将主控板上的当前NETDEV数据结构同步到该模块,在该模块上根据NETDEV数据表恢复硬件设置,执行全局配置信息的保存命令,恢复该模块相关的配置信息。模块经过热插拔处理后依然可正常工作,在不关闭交换机的情况下,用户可随意替换或移动模块,便于安装、调试和故障检测。
文档编号H04L12/24GK1529465SQ0313472
公开日2004年9月15日 申请日期2003年9月29日 优先权日2003年9月29日
发明者石勇, 石 勇 申请人:港湾网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1