CN106453154A - 基于多播复制报文的实时调试方法及调试系统 - Google Patents
基于多播复制报文的实时调试方法及调试系统 Download PDFInfo
- Publication number
- CN106453154A CN106453154A CN201610825136.5A CN201610825136A CN106453154A CN 106453154 A CN106453154 A CN 106453154A CN 201610825136 A CN201610825136 A CN 201610825136A CN 106453154 A CN106453154 A CN 106453154A
- Authority
- CN
- China
- Prior art keywords
- copy
- forwarding
- debugging
- mark
- package
- 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.)
- Granted
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 91
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 82
- 238000003860 storage Methods 0.000 claims description 21
- 230000001808 coupling Effects 0.000 claims description 20
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 230000023298 conjugation with cellular fusion Effects 0.000 claims description 3
- 230000013011 mating Effects 0.000 claims description 3
- 230000021037 unidirectional conjugation Effects 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000737 periodic Effects 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services or operations
- H04L49/201—Multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing packet switching networks
- H04L43/08—Monitoring based on specific metrics
- H04L43/0805—Availability
- H04L43/0817—Availability functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding through a switch fabric
- H04L49/252—Store and forward routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明提供的一种基于多播复制报文的实时调试方法及调试系统,所述方法包括:在交换芯片的各个处理子模块中分别预置一个debug寄存器;解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding标识;根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;根据获取的所述复制类型标识确定是否触发处理调试信息存储动作。本发明仅用一组调试寄存器即可以实现对多播报文复杂复制后的报文进行灵活且实时调试的目的,大大减少了交换芯片能耗,提升交换芯片对多播报文的在线调试能力。
Description
技术领域
[0001] 本发明涉及网络通信技术领域,尤其涉及一种基于多播复制报文的实时调试方法及调试系统。
背景技术
[0002]随着网络功能需求的增多,设备厂商渐渐开始关注网络设备上数据处理的过程和细节,从而包装和提供出更为高级的功能特性,以与竞争厂商产品形成差异化;另外,系统厂商本身需要基于商用芯片做二次开发,在开发过程会因为对芯片理解不够的问题,从而导致一些系统软件的bug,但是芯片本身又是近似黑盒的,以往芯片所能提供出的debug功能和手段非常有限,往往一个问题需要调试定位很久,极为不便利和友好;如此,针对指定的数据报文,如何能提供其在芯片中的整个处理细节过程,成为一个研究热点。
[0003] 传统的交换芯片报文处理的调试手段很局限,通过大量物理memory来保存包在芯片处理过程中产生的一些关键信息,供用户来定位问题,类似于软件中GDB调试工具达到的效果;该种实现方式因为存储的处理调试信息数据较大,需要耗费大量的物理memory,这对于ASIC设计而言需要付出的额外代价非常大,直接影响芯片的成本和价格,最终影响芯片在市场上的竞争力。
发明内容
[0004] 为解决上述技术问题,本发明的目的在于提供一种基于多播复制报文的实时调试方法及调试系统。
[0005] 为实现上述发明目的,本发明提出一种基于多播复制报文的实时调试方法所述方法包括:在交换芯片的各个处理子模块中分别预置一个debug寄存器,用于存储多播报文转发过程中对应各个子模块的处理调试信息;
解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种;
预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding 标识;
根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;
根据获取的所述复制类型标识确定是否触发处理调试信息存储动作。
[0006]作为本发明一实施方式的进一步改进,“根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;”具体包括:
若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同,
则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
[0007]作为本发明一实施方式的进一步改进,“解析多播报文,查找转发表”后,所述方法还包括:
若获取到的待调试的多播报文的复制类型包的编码包括Forwarding复制包;
则同时匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引。
[0008] 作为本发明一实施方式的进一步改进,预配置Forwarding寄存器,其用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引;
若匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引全部匹配;
则匹配过滤所述Forwarding复制包的同时,将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识设置为非使能标识O
[0009]作为本发明一实施方式的进一步改进,若一次多播报文解析过程中,获得多个复制类型包的编码,则在生成相应的复制类型包后,依次对每一个复制类型包进行调试;
并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。
[0010] 为了实现上述发明目的之一,本发明一实施方式提供一种基于多播复制报文的实时调试系统,所述系统包括:存储模块,包括多个分别预置于交换芯片的各个处理子模块中的debug寄存器,所述debug寄存器用于存储多播报文转发过程中对应各个处理子模块的处理调试信息;
解析模块,用于解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;
所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种;
配置模块,用于预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding标识;
调试控制模块,用于根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;
根据获取的所述复制类型标识确定是否触发处理调试信息存储动作。
[0011]作为本发明一实施方式的进一步改进,所述调试控制模块还用于:
若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同,
则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
[0012]作为本发明一实施方式的进一步改进,所述调试控制模块还用于:
若获取到的待调试的多播报文的复制类型包的编码包括Forwarding复制包;
则同时匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引。
[0013] 作为本发明一实施方式的进一步改进,所述配置模块还用于:预配置Forwarding寄存器,其用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引;
所述调试控制模块还用于:若匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引全部匹配;
则匹配过滤所述Forwarding复制包的同时,将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识设置为非使能标识O
[0014]作为本发明一实施方式的进一步改进,所述调试控制模块还用于:
若一次多播报文解析过程中,获得多个复制类型包的编码,则在生成相应的复制类型包后,依次对每一个复制类型包进行调试;
并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。
[0015]与现有技术相比,本发明的基于多播复制报文的实时调试方法及调试系统,仅用一组调试寄存器即可以实现对多播报文复杂复制后的报文进行灵活且实时调试的目的,大大减少了交换芯片能耗,提升交换芯片对多播报文的在线调试能力,为调试定位芯片带来极大的便利。
附图说明
[0016]图1是本发明一实施方式提供的基于多播复制报文的实时调试方法的流程示意图;
图2是本发明一具体实施方式中多播复制报文在线复制、匹配过滤的流程示意图;
图3是本发明一实施方式中提供的基于多播复制报文的实时调试系统的模块示意图; 图4是本发明一具体示例中,多播报文基于本发明所示方法或系统的传播路径示意图。
具体实施方式
[0017]以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0018] 本发明提出的基于多播复制报文的实时调试方法和调试系统,在交换芯片的各个子处理模块中分别预置一个debug寄存器的前提下,从交换机处理报文产生各种原因复制的现状出发,提出一套有效的、灵活的实时调试多播报文的芯片处理过程的方法,该方法有效的解决系统用户对芯片黑盒处理以及定位问题手段不足的困扰。
[0019]如图1所示,本发明一实施方式提供的基于多播复制报文的实时调试方法,所述方法包括:
S1、在交换芯片的各个处理子模块中分别预置一个debug寄存器,所述debug寄存器用于存储多播报文转发过程中对应各个处理子模块的处理调试信息。
[0020]多播报文在所述交换芯片中转发过程中,在交换芯片的各个处理子模块中会产生相应的处理调试信息,相应的处理调试信息固定存储于对应的处理子模块中,本发明在每一个处理子模块中分别预置一个debug寄存器,用于存储相应的处理调试信息,且在当前调试轮次调试结束后,将存储在各个debug寄存器中的处理调试信息进行保存,以用于后续的调用,优选的,在当前轮次调试结束后,将debug寄存器中存储的数据保存后,清空当前的debug寄存器,以再次存储其它报文携带的信息,如此,仅需要较少的一组debug寄存器,SP可以满足用户需求,节省功耗、制造及使用成本。
[0021] 进一步的,所述方法还包括:
S2、解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种;
所述copyToCPU复制包,报文在交换芯片中转发的同时,复制一份给本地CPU,供系统软件的协议栈处理,所述copyToCPU复制包中主要为一些协议报文。
[0022] 所述Log复制包,报文在交换芯片中转发的同时,网络中有一些特征需要根据网管的配置,对某种特征的报文或者在交换芯片的某个接口上,定期采样或者镜像input/output包到一个特定的目的端口上,该目的端口连接一台专用侦听设备,同步分析被镜像或采样过来的Log复制包,以使网管根据分析的数据对整个网络当前的状态有所了解。
[0023] 所述Forwarding复制包,组播报文正常转发复制到各成员,成员的加入和退出由组播协议维护;例如:一个二层组播报文会在该VLAN中广播,当前设备上所有加入该VLAN的端口都会收到一个复制报文。
[0024]多播报文在所述交换芯片中转发过程中,芯片根据不同的需求,在芯片的处理逻辑中对所述多播报文进行解析,查找转发表,其获得的复制类型包的编码类型以及相应的配置也会随之变换,在此不做详细赘述。
[0025] 结合图4所示,交换芯片的入口处,设置的其中一个处理子模块为IngressPipeLine,该处理子模块用于解析多播报文,并查找转发表,以获取待调试的多播报文的复制类型包的编码;
解析报文过程中,会获得报文转发过程中所需的全部信息,其中,若获取到的待调试的多播报文的复制类型包的编码中包括Forwarding复制包的编码时,还需要同时解析所述Forwarding复制包对应的目的地和下一跳编辑的索引,以供后续匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引以下将会详细说明。
[0026] 进一步的,所述方法还包括:
S 3、预配置复制类型标识,所述复制类型标识包括:c ο P y T ο C P U标识、L ο g标识以及Forwarding 标识;
根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;
可以理解的是,所述预置的复制类型标识,其可以根据调试的需要,自行配置和更改,其为报文转发过程中所涉及到的复制类型包对应的标识信息,其为一种过滤条件,用于过滤所需求的复制类型包。
[0027] 接续图4所示,交换芯片中的其中一个处理子模块为Traf f i cManager,根据获取的复制类型包的编码,在该处理子模块下,复制生成相应的复制类型包,并匹配过滤相应的复制类型包的配置,同时,对相应的复制类型标识进行修改。
[0028] 所述Traffic Manager为交换芯片中的QoS模块,包括packet buffer管理,队列的调度和管理,多播复制,丢包策略等。
[0029] 报文在所述Ingress PipeLine处理子模块和TrafficManager处理子模块之间的其它处理子模块中转发时,由于其为一个整体的报文数据,因此,其携带的相应临时和关键的处理调试信息依次保留至相应的处理子模块中的debug寄存器即可以满足调试需求。[°03°] 进一步的,报文到达TrafficManager处理子模块时,会产生多种类型的复制类型包,相应的,报文在该处理子模块一直到交换芯片的出端口之间转发时,也会涉及到多种类型的复制类型包中携带的处理调试信息的存储问题,如此,本发明结合复制类型包对应的复制类型标识,解决该调试存储问题。
[0031] 接续图4所示,获得的复制类型包的编码可能有3种,其各自的编码以二进制代码表示,分别为“b’ 00” “b’ 01” “b’ 10”表示,其中,二进制代码“b’ 00”表示获得的复制类型包为Forwarding复制包,二进制代码“b’ 01”表示获得的复制类型包为copyToCPU复制包,二进制代码“b’ 10”表示获得的复制类型包为Log复制包;另外,该图示中,PktO表示进入交换芯片的多播报文,Pktl/ Pkt2/ Pkt3表示Forwarding复制包,Pkt4表示Log复制包,Pkt5表示copyToCPU复制包。
[0032] 报文根据相应的复制类型包的编码进行复制后,其同时携带所有复制类型标识;相应的,根据过滤出的待调试的多播报文的复制类型包的编码修改其对应的复制类型标识,即标示该复制出的报文是需要debug的。
[0033] 通常情况下,可能对一个报文做多种类型的复制,因此,本发明一优选实施方式中,若一次多播报文解析过程中,获得多个复制类型包的编码,则在生成相应的复制类型包后,依次对每一个复制类型包进行调试;并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。如此,以节省交换芯片的空间,节约制造及使用成本,当然,在本发明的其他实施方式中,还可以设置多组Debug寄存器,如此,可以同时处理多个复制类型包,其弊端仅在于,牺牲交换芯片的空间,在此不做详细赘述。
[0034] 本发明下述实施方式中,以本发明的优选实施方式为例做进一步的详细说明。
[0035] 本发明一实施方式中,所述步骤S3具体包括:
若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同,则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
[0036] 本发明一具体示例中,当需要对哪一种复制类型包进行在线调试时,交换芯片会通过代码配置控制寄存器;例如:通过代码“REGISTE.debugReplicatedPktType [1:0] {.} ”指定,其中U ”为当前需要调试的复制类型包的编码,以指定当前要debug哪种类型的复制报文。
[0037] 本发明一实施方式中,分别以“O” T表示所述复制类型标识,其中“O”表示非使能标识,“I”表示使能标识,所述复制类型标识以代码“debugFlag”表示。
[0038] 为了便于理解,下述内容中,以应用本发明所示方法的具体示例进行详细说明。
[0039] 该示例中,结合图2所示,所述方法具体包括:
Pl、预配置Forwarding寄存器,其用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引;
P2、获取复制类型包的编码;
P31、若获取的所述编码对应为copyToCPU复制包,则复制形成copyToCPU复制包,同时,将copyToCPU复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为O。
[0040] P32、若获取的所述编码对应为Log复制包,则复制形成Log复制包,同时,将Log复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为O。
[0041] P33、若获取的所述编码对应为Forwarding复制包,则复制形成Forwarding复制包,同时,将匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引进行匹配;
将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识以及其他复制类型标识均设置为非使能标识。
[0042] P4、判断哪一个debugFlag为I,若为I,则触发存储操作。
[0043] 其具体实现过程如下:
假设,指定代码为“REGISTE.debugReplicatedPktType [1:0] =2’ b01”,表示当前需要调试的复制类型包为copyToCPU复制包,相应的,在Traffic Manager子模块下,对报文进行复制以形成copyToCPU复制包,同时,将copyToCPU复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为0;修改后的所有复制类型标识全部跟随当前复制的copyToCPU复制包传递;进一步的,在Traff ic Manager子模块之后的各子模块所对应的debug寄存器,根据相应的debugFlag是否为I来触发存储操作,如此,保证后续所有子模块存储相同的复制报文的处理信息,同时也是用户期望debug的那个复制报文的处理信息。
[0044] 所述Log复制包的处理过程与copyToCPU复制包的处理过程相同,在此不再继续赘述。
[0045] 所述Forwarding复制包的处理过程中,
由于复制生成的所述Forwarding复制包有多个,而在报文转发过程中,一次仅对一个复制类型包进行在线调试,如此,需要对多个Forwarding复制包做进一步的过滤,得到最终需求的某个复制类型包;本实施方式中,通过配置目的地和下一跳编辑索引的信息,芯片逻辑中会进一步匹配各Forwarding复制包的转发目的地和下一跳编辑索引是否和预设的配置信息相匹配,如果匹配则将匹配到的相应Forwarding复制包的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识,如此,进一步过滤匹配相应的Forwarding复制包,触发后续的处理调试信息存储动作。
[0046]该具体不例中,假设,指定代码为“REGISTE.debugReplicatedPktType [1:0] =2’b0”,表示当前需要调试的复制类型包为Forwarding复制包,该示例中,Forwarding复制包的数量为3个,分别为:Pktl、Pkt2、Pkt3;
相应的,在Traff ic Manager子模块下,对报文进行复制以形成Forwarding复制包,同时,将Forwarding复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为0;然而,由于Forwarding复制包的数量为多个,故,需要进一步获取每个Forwarding复制包对应的目的地(称为destMap)和下一跳编辑的索引,以示区分各个Forwarding复制包;该示例中,所述目的地以代码“destMap”表示,所述下一跳索引以代码“nextHop”表示,相应的,通过代码配置 “REGISTE.debugRepI i catedPktType [1:0] =2,b00,case2,b00: //debugforwarding type (destMap,nextHop) ” 具体配置每个Forwarding复制包对应的debugFlag;同时,将获取到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引进行匹配;将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的debugFlag设置为I,其余的Forwarding复制包的debugFlag以及copyToCPU复制包和Log复制包的debugFlag设置为O;进一步的,修改后的所有复制类型标识全部跟随当前复制的Forwarding复制包传递;在Traffic Manager子模块之后的各子模块所对应的debug寄存器,根据相应的debugFlag是否为I来触发存储操作,如此,保证后续所有子模块存储相同的复制报文的处理信息,同时也是用户期望debug的那个复制报文的处理信息。
[0047]结合图3所示,本发明一实施方式提供的基于多播复制报文的实时调试系统,所述系统包括:存储模块100、解析模块200、配置模块300、调试控制模块400。
[0048] 存储模块100,包括多个分别预置于交换芯片的各个处理子模块中的debug寄存器,所述debug寄存器用于存储多播报文转发过程中对应各个处理子模块的处理调试信息;
多播报文在所述交换芯片中转发过程中,在交换芯片的各个处理子模块中会产生对应的处理调试信息,相应的处理调试信息固定存储于相应的处理子模块中,本发明在每一个处理子模块中分别预置一个debug寄存器,用于存储相应的处理调试信息,且在当前调试轮次调试结束后,将存储在各个debug寄存器中的处理调试信息进行保存,以用于后续的调用,优选的,在当前轮次调试结束后,将debug寄存器中存储的数据保存后,清空当前的debug寄存器,以再次存储其它报文携带的信息,如此,仅需要较少的一组debug寄存器,SP可以满足用户需求,节省功耗、制造及使用成本。
[0049] 解析模块200用于:解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;
所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种;
所述copyToCPU复制包,报文在交换芯片中转发的同时,复制一份给本地CPU,供系统软件的协议栈处理,所述copyToCPU复制包中主要为一些协议报文。
[0050] 所述Log复制包,报文在交换芯片中转发的同时,网络中有一些特征需要根据网管的配置,对某种特征的报文或者在交换芯片的某个接口上,定期采样或者镜像input/output包到一个特定的目的端口上,该目的端口连接一台专用侦听设备,同步分析被镜像或采样过来的Log复制包,以使网管根据分析的数据对整个网络当前的状态有所了解。
[0051] 所述Forwarding复制包,组播报文正常转发复制到各成员,成员的加入和退出由组播协议维护;例如:一个二层组播报文会在该VLAN中广播,当前设备上所有加入该VLAN的端口都会收到一个复制报文。
[0052]多播报文在所述交换芯片中转发过程中,芯片根据不同的需求,在芯片的处理逻辑中对所述多播报文进行解析,查找转发表,其获得的复制类型包的编码类型以及相应的配置也会随之变换,在此不做详细赘述。
[0053] 结合图4所示,交换芯片的入口处,设置的其中一个处理子模块为IngressPipeLine,该具体示例中,Ingress PipeLine即为上述的解析模块200;该处理子模块用于解析多播报文,并查找转发表,以获取待调试的多播报文的复制类型包的编码;
解析模块200解析报文过程中,会获得报文转发过程中所需的全部信息,其中,若获取到的待调试的多播报文的复制类型包的编码中包括Forwarding复制包的编码时,还需要同时解析所述Forwarding复制包对应的目的地和下一跳编辑的索引,以供后续匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引以下将会详细说明。
[0054] 配置模块300用于:预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding标识;
调试控制模块400用于根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;
可以理解的是,所述预置的复制类型标识,其可以根据调试的需要,自行配置和更改,其为报文转发过程中所涉及到的复制类型包对应的标识信息,其为一种过滤条件,用于过滤所需求的复制类型包。
[0055] 接续图4所示,交换芯片中的其中一个处理子模块为Traffic Manager,该具体示例中,Traffic ManagerS卩为上述的调试控制模块400;其根据获取的复制类型包的编码,在该处理子模块下,复制生成相应的复制类型包,并匹配过滤相应的复制类型包的配置,同时,对相应的复制类型标识进行修改。
[0056] 所述Traffic Manager为交换芯片中的QoS模块,包括packet buffer管理,队列的调度和管理,多播复制,丢包策略等。
[0057] 报文在所述Ingress PipeLine处理子模块和TrafficManager处理子模块之间的其它处理子模块中转发时,由于其为一个整体的报文数据,因此,其携带的相应临时和关键的处理调试信息依次保留至相应的处理子模块中的debug寄存器即可以满足调试需求。[°°58] 进一步的,报文到达TrafficManager处理子模块时,会产生多种类型的复制类型包,相应的,报文在该处理子模块一直到交换芯片的出端口之间转发时,也会涉及到多种类型的复制类型包中携带的处理调试信息的存储问题,如此,本发明结合复制类型包对应的复制类型标识,解决该调试存储问题。
[0059] 接续图4所示,获得的复制类型包的编码可能有3种,其各自的编码以二进制代码表示,分别为“b’ 00” “b’ 01” “b’ 10”表示,其中,二进制代码“b’ 00”表示获得的复制类型包为Forwarding复制包,二进制代码“b’ 01”表示获得的复制类型包为copyToCPU复制包,二进制代码“b’ 10”表示获得的复制类型包为Log复制包;另外,该图示中,PktO表示进入交换芯片的多播报文,Pktl/ Pkt2/ Pkt3表示Forwarding复制包,Pkt4表示Log复制包,Pkt5表示copyToCPU复制包。
[0060] 报文根据相应的复制类型包的编码进行复制后,其同时携带所有复制类型标识;相应的,调试控制模块400根据过滤出的待调试的多播报文的复制类型包的编码修改其对应的复制类型标识,即标示该复制出的报文是需要debug的。
[0061] 通常情况下,可能对一个报文做多种类型的复制,因此,本发明一优选实施方式中,若一次多播报文解析过程中,获得多个复制类型包的编码,则调试控制模块400在生成相应的复制类型包后,依次对每一个复制类型包进行调试;并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。如此,以节省交换芯片的空间,节约制造及使用成本,当然,在本发明的其他实施方式中,还可以设置多组Debug寄存器,如此,可以同时处理多个复制类型包,其弊端仅在于,增加交换芯片尺寸(dieSize),导致增加芯片的成本,在此不做详细赘述。
[0062] 本发明下述实施方式中,以本发明的优选实施方式为例做进一步的详细说明。
[0063] 本发明一实施方式中,调试控制模块400具体用于:若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同,则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
[0064] 本发明一具体示例中,当需要对哪一种复制类型包进行在线调试时,配置模块300通过代码配置控制寄存器;例如:通过代码“REGI STE.debugRepli catedPktType [1:0] {.} ”指定,其中U ”为当前需要调试的复制类型包的编码,以指定当前要debug哪种类型的复制报文。
[0065] 本发明一实施方式中,分别以“O” T表示所述复制类型标识,其中“O”表示非使能标识,“I”表示使能标识,所述复制类型标识以代码“debugFlag”表示。
[0066] 为了便于理解,下述内容中,以应用本发明所示方法的具体示例进行详细说明。
[0067] 进一步的,配置模块300还用于预配置Forwarding寄存器,所述Forwarding寄存器用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引;
调试控制模块400用于获取复制类型包的编码;
若获取的所述编码对应为copyToCPU复制包,则复制形成copyToCPU复制包,同时,将copyToCPU复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为O。
[0068] 若获取的所述编码对应为Log复制包,则复制形成Log复制包,同时,将Log复制包的对应的debugFlag修改为I,将其它类型的debugFlag全部置为O。
[0069] 若获取的所述编码对应为Forwarding复制包,则复制形成Forwarding复制包,同时,将匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引进行匹配;
将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识以及其他复制类型标识均设置为非使能标识。
[0070] 判断哪一个debugFlag为I,若为I,则触发存储操作。
[0071] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和模块的具体工作过程,可参考前述方法实施方式中的对应过程,在此不再赘述。
[0072]综上所述,本发明的基于多播复制报文的实时调试方法及调试系统,普遍适用于各类型的以太网络,例如:企业网、城域网、数据中心等的各层次,例如:接入层、汇聚层、核心层的交换设备上的数据分析和问题定位。本发明仅用一组调试寄存器即可以实现对多播报文复杂复制后的报文进行灵活且实时调试的目的,大大减少了交换芯片能耗,提升交换芯片对多播报文的在线调试能力,为调试定位芯片带来极大的便利。
[0073] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0074]以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0075] 应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0076]上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于多播复制报文的实时调试方法,其特征在于,所述方法包括: 在交换芯片的各个处理子模块中分别预置一个debug寄存器,用于存储多播报文转发过程中对应各个子模块的处理调试信息; 解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置;所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种; 预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding 标识; 根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识; 根据获取的所述复制类型标识确定是否触发处理调试信息存储动作。
2.根据权利要求1所述的基于多播复制报文的实时调试方法,其特征在于,“根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识;”具体包括: 若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同, 则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
3.根据权利要求2所述的基于多播复制报文的实时调试方法,其特征在于,“解析多播报文,查找转发表”后,所述方法还包括: 若获取到的待调试的多播报文的复制类型包的编码包括Forwarding复制包; 则同时匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引。
4.根据权利要求3所述的基于多播复制报文的实时调试方法,其特征在于, 预配置Forwarding寄存器,其用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引; 若匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引全部匹配; 则匹配过滤所述Forwarding复制包的同时,将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识设置为非使能标识O
5.根据权利要求1所述的基于多播复制报文的实时调试方法,其特征在于,若一次多播报文解析过程中,获得多个复制类型包的编码,则在生成相应的复制类型包后,依次对每一个复制类型包进行调试; 并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。
6.—种基于多播复制报文的实时调试系统,其特征在于,所述系统包括: 存储模块,包括多个分别预置于交换芯片的各个处理子模块中的debug寄存器,所述debug寄存器用于存储多播报文转发过程中对应各个处理子模块的处理调试信息; 解析模块,用于解析多播报文,查找转发表,获取待调试的多播报文的复制类型包的编码和配置; 所述复制类型包包括:copyToCPU复制包,Log复制包,以及Forwarding复制包中的至少一种; 配置模块,用于预配置复制类型标识,所述复制类型标识包括:copyToCPU标识、Log标识以及Forwarding标识; 调试控制模块,用于根据获取待调试的多播报文的复制类型包的编码,匹配过滤复制类型包的配置,并对过滤出的复制类型包修改其对应的复制类型标识; 根据获取的所述复制类型标识确定是否触发处理调试信息存储动作。
7.根据权利要求6所述的基于多播复制报文的实时调试系统,其特征在于, 所述调试控制模块还用于: 若获取到的复制类型包的编码与所述交换芯片当前调试的复制类型包的编码相同, 则匹配过滤相应的复制类型包的配置,同时,将所述复制类型包对应的复制类型标识设置为使能标识,将其它的复制类型标识设置为非使能标识。
8.根据权利要求7所述的基于多播复制报文的实时调试系统,其特征在于, 所述调试控制模块还用于: 若获取到的待调试的多播报文的复制类型包的编码包括Forwarding复制包; 则同时匹配过滤所述Forwarding复制包对应的目的地和下一跳编辑的索引。
9.根据权利要求8所述的基于多播复制报文的实时调试系统,其特征在于, 所述配置模块还用于:预配置Forwarding寄存器,其用于存储当前状态下、交换芯片处理的Forwarding复制包的目的地和下一跳编辑的索引; 所述调试控制模块还用于:若匹配过滤到的所述Forwarding复制包对应的目的地和下一跳编辑的索引与所述预配置Forwarding寄存器中的目的地和下一跳编辑的索引全部匹配; 则匹配过滤所述Forwarding复制包的同时,将匹配到的所述Forwarding复制包的复制类型标识设置为使能标识,将未能匹配的Forwarding复制包的复制类型标识设置为非使能标识O
10.根据权利要求6所述的基于多播复制报文的实时调试系统,其特征在于,所述调试控制模块还用于: 若一次多播报文解析过程中,获得多个复制类型包的编码,则在生成相应的复制类型包后,依次对每一个复制类型包进行调试; 并在当前复制类型包调试结束后,将其对应的复制类型标识设置为非使能标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825136.5A CN106453154B (zh) | 2016-09-14 | 2016-09-14 | 基于多播复制报文的实时调试方法及调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825136.5A CN106453154B (zh) | 2016-09-14 | 2016-09-14 | 基于多播复制报文的实时调试方法及调试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453154A true CN106453154A (zh) | 2017-02-22 |
CN106453154B CN106453154B (zh) | 2019-08-09 |
Family
ID=58168219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610825136.5A Active CN106453154B (zh) | 2016-09-14 | 2016-09-14 | 基于多播复制报文的实时调试方法及调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453154B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289066A (zh) * | 2018-01-31 | 2018-07-17 | 盛科网络(苏州)有限公司 | 灵活调试交换芯片中数据业务的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667585A (zh) * | 2004-03-09 | 2005-09-14 | 华为技术有限公司 | 一种数字信号处理器软件调试信息输出方法 |
CN104506463A (zh) * | 2015-01-04 | 2015-04-08 | 盛科网络(苏州)有限公司 | 提供交换机报文芯片在线流程调试信息的方法及装置 |
CN104539561A (zh) * | 2014-12-29 | 2015-04-22 | 盛科网络(苏州)有限公司 | 基于报文处理信息的芯片调试方法及装置 |
US20160139201A1 (en) * | 2014-11-14 | 2016-05-19 | Cavium, Inc. | Debug interface for multiple cpu cores |
-
2016
- 2016-09-14 CN CN201610825136.5A patent/CN106453154B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667585A (zh) * | 2004-03-09 | 2005-09-14 | 华为技术有限公司 | 一种数字信号处理器软件调试信息输出方法 |
US20160139201A1 (en) * | 2014-11-14 | 2016-05-19 | Cavium, Inc. | Debug interface for multiple cpu cores |
CN104539561A (zh) * | 2014-12-29 | 2015-04-22 | 盛科网络(苏州)有限公司 | 基于报文处理信息的芯片调试方法及装置 |
CN104506463A (zh) * | 2015-01-04 | 2015-04-08 | 盛科网络(苏州)有限公司 | 提供交换机报文芯片在线流程调试信息的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289066A (zh) * | 2018-01-31 | 2018-07-17 | 盛科网络(苏州)有限公司 | 灵活调试交换芯片中数据业务的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106453154B (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107733855B (zh) | 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法 | |
EP2685676B1 (en) | Multicast data forwarding method and device supporting virtual terminal | |
CN106416132A (zh) | 使用控制器处的交换机建模接口控制网络交换机的系统和方法 | |
CN103856361A (zh) | 实现远程调试的方法及系统 | |
CN106375384A (zh) | 一种虚拟网络环境中镜像网络流量的管理系统和控制方法 | |
CN106254281A (zh) | 一种基于802.1br的报文处理方法和装置 | |
CN103516961B (zh) | 图像处理机及其制备方法及母卡 | |
CN103595712B (zh) | 一种Web认证方法、装置及系统 | |
CN107277652A (zh) | Pon接入系统的跨盘lacp链路聚合方法及装置 | |
DE102020122301A1 (de) | Konfigurationsschema für link-herstellung | |
EP3534577B1 (en) | Forwarding multicast packets through an extended bridge | |
CN106453154A (zh) | 基于多播复制报文的实时调试方法及调试系统 | |
CN101986282B (zh) | 拓扑适配方法及装置 | |
CN105743687A (zh) | 节点故障的判断方法及装置 | |
CN110198254A (zh) | 一种通信协议在线诊断方法及诊断系统 | |
CN103222230A (zh) | 组播复制方法、装置及系统 | |
CN105763457A (zh) | 组播报文处理方法和网络设备 | |
CN110249593A (zh) | 根据变电站拓扑规范配置ied过程总线网络交换机的系统和方法 | |
US20200244579A1 (en) | Flexible Ethernet Frame Forwarding Method and Apparatus | |
US20140086244A1 (en) | Method and Apparatus For Performing Multicast Backbone Media Access Channel (BMAC) Header Transformations | |
WO2020199422A1 (zh) | 一种灵活以太网链路管理方法及系统 | |
CN106713010A (zh) | 一种航电网络系统的通信方法及系统 | |
EP2472785B1 (en) | Service linkage control system and method | |
CN106817240A (zh) | 一种电力专用交换机及其业务配置方法 | |
CN101646108A (zh) | 确定路由的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C06 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |