CN114584411B - PCIe多播验证方法、装置、电子设备及存储介质 - Google Patents
PCIe多播验证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114584411B CN114584411B CN202210181550.2A CN202210181550A CN114584411B CN 114584411 B CN114584411 B CN 114584411B CN 202210181550 A CN202210181550 A CN 202210181550A CN 114584411 B CN114584411 B CN 114584411B
- Authority
- CN
- China
- Prior art keywords
- multicast
- data packet
- pcie
- verified
- target
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006870 function Effects 0.000 claims description 40
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- 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
- H04L49/201—Multicast operation; Broadcast operation
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种PCIe多播验证方法及相关装置,方法包括:获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;多播接收信息用于记录端口可处理的多播组,多播数据包中包含目标多播组信息;根据目标多播组信息及所有多播接收信息,确定PCIe交换器中可接收多播数据包的目标端口;控制源PCIe设备将多播数据包发送至PCIe交换器,并在目标端口接收待验证数据包;对待验证数据包与多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证;进行PCIe多播验证时,可直接在能够接收多播数据包的端口提取待验证数据包并进行比对,可有效减少验证工作时间并提升多播压力测试的测试效果。
Description
技术领域
本发明涉及PCIe设备领域,特别涉及一种PCIe多播验证方法、装置、电子设备及计算机可读存储介质。
背景技术
多播是PCIe交换器(PCIe Switch)中的一种数据传输模式,其允许应用同时向多个PCIe设备(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)或者组发送数据。相较于传统单播模式以一对一关系进行应用与PCIe设备间通信的方式,多播模式大幅提升了传输效率。
相关技术中,在对PCIe交换器进行多播功能验证时,通常会控制PCIe交换器以多播模式向目标设备写入数据,再以单播模式从各目标设备中读取数据,当确定写入数据与读出数据相同时,则判定PCIe交换器的多播功能正常。然而上述方式需要执行若干次单播读操作,容易影响多播压力测试时的极限值,同时也容易增长验证工作时间。
发明内容
本发明的目的是提供一种PCIe多播验证方法、装置、电子设备及计算机可读存储介质,可在进行多播验证时,直接在能够接收多播数据包的端口提取待验证数据包并进行比对,进而可有效减少验证工作时间并提升多播压力测试的效果。
为解决上述技术问题,本发明提供一种PCIe多播验证方法,包括:
获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;所述多播接收信息用于记录所述端口可处理的多播组,所述多播数据包中包含目标多播组信息;
根据所述目标多播组信息及所有所述多播接收信息,确定所述PCIe交换器中可接收所述多播数据包的目标端口;
控制所述源PCIe设备将所述多播数据包发送至所述PCIe交换器,并在所述目标端口接收待验证数据包;
对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
可选地,在获取PCIe交换器的各端口对应的多播接收信息之前,还包括:
为所述PCIe交换器随机配置多播组信息,并根据所述多播组信息为每一所述端口随机配置所述多播接收信息。
可选地,所述控制源PCIe设备生成多播数据包,包括:
在所述多播组信息中随机选取所述目标多播组信息,并控制所述源PCIe设备基于所述目标多播组信息生成所述多播数据包。
可选地,所述在所述目标端口接收待验证数据包,包括:
在与所述目标端口相连接的目标PCIe设备上接收所述待验证数据包。
可选地,所述多播数据包中包含事务ID,所述对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证,包括:
提取所述待验证数据包中的待验证事务ID,并判断所述待验证事务ID与所述事务ID是否相同;
若否,则判定所述PCIe交换器的多播功能异常;
若是,则判断所述待验证数据包与所述多播数据包是否相同;
若相同,则判定所述PCIe交换器的多播功能正常;
若不同,则判定所述PCIe交换器的多播功能异常。
可选地,在确定所述PCIe交换器中可接收所述多播数据包的目标端口之后,还包括:
生成与所述目标端口及所述事务ID对应的比对队列,并将所述多播数据包写入所述比对队列;
相应的,所述判断所述待验证事务ID与所述事务ID是否相同,包括:
判断接收所述待验证数据包的目标端口是否具有与所述待验证事务ID对应的比对队列;
若是,则从所述比对队列中弹出所述多播数据包,并进入所述待验证数据包与所述多播数据包是否完全相同的步骤;
若否,则判定所述PCIe交换器的多播功能异常。
可选地,在从所述比对队列中弹出所述多播数据包之后,还包括:
继续在所述目标端口接收所述待验证数据包,并在接收到所述待验证数据包时,判定所述PCIe交换器的多播功能异常。
本发明还提供一种PCIe多播验证装置,包括:
多播数据包生成模块,用于获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;所述多播接收信息用于记录所述端口可处理的多播组,所述多播数据包中包含目标多播组信息;
目标端口确定模块,用于根据所述目标多播组信息及所有所述多播接收信息,确定所述PCIe交换器中可接收所述多播数据包的目标端口;
控制模块,用于控制所述源PCIe设备将所述多播数据包发送至所述PCIe交换器,并在所述目标端口接收待验证数据包;
多播验证模块,用于对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的PCIe多播验证方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的PCIe多播验证方法。
本发明提供一种PCIe多播验证方法,包括:获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;所述多播接收信息用于记录所述端口可处理的多播组,所述多播数据包中包含目标多播组信息;根据所述目标多播组信息及所有所述多播接收信息,确定所述PCIe交换器中可接收所述多播数据包的目标端口;控制所述源PCIe设备将所述多播数据包发送至所述PCIe交换器,并在所述目标端口接收待验证数据包;对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
可见,本发明首先会获取PCIe交换器各端口的多播接收信息,以确定各端口能够处理的多播组;随后,本发明会控制源PCIe设备生成包含目标多播组信息的多播数据包,并根据之前获取的多播接收信息以及目标多播信息,预期各端口中能够接收该多播数据包的目标端口;进一步,本发明会控制源PCIe设备将多播数据包发送至PCIe交换器,以为该交换器提供外部激励,并到目标端口接收待验证数据包;最后,本发明会对待验证数据包及源PCIe设备生成的多播数据包进行直接比对,并根据比对结果对PCIe交换器进行多播验证,无需再从目标设备中读取数据,即能够有效避免PCIe交换器多播验证环节中的若干次单播读操作,能够有效减少验证工作时间,并能够有效提升多播压力测试的测试效果。本发明还提供一种PCIe多播验证装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种PCIe多播验证方法的流程图;
图2为本发明实施例所提供的一种PCIe多播验证装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在对PCIe交换器进行多播功能验证时,通常会控制PCIe交换器以多播模式向目标设备写入数据,再以单播模式从各目标设备中读取数据,当确定写入数据与读出数据相同时,则判定PCIe交换器的多播功能正常。然而上述方式需要执行若干次单播读操作,容易影响多播压力测试时的极限值,同时也容易增长验证工作时间。有鉴于此,本发明提供一种PCIe多播验证方法,可在进行多播验证时,直接在能够接收多播数据包的端口提取待验证数据包并进行比对,进而可有效减少验证工作时间并提升多播压力测试的效果。请参考图1,图1为本发明实施例所提供的一种PCIe多播验证方法的流程图,该方法可以包括:
S101、获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;多播接收信息用于记录端口可处理的多播组,多播数据包中包含目标多播组信息。
多播接收信息(MC_Receive)是PCIe交换器中的一种多播配置信息,用于记录各端口可处理的多播组。该信息为一个比特向量,其中每比特对应一个多播组,当某比特的值为1时,则该端口可处理该比特对应的多播组,反之则无法处理。简单来说,端口在接收到多播数据包时,将会提取多播数据包中的目标多播组信息,并根据其对应的多播接收信息,确定其是否能够接收处理这一多播数据包。应当指出的是,每一端口均设置有对应的多播接收信息,且每一端口对应的多播接收信息可以不同。需要说明的是,本发明实施例并不限定多播接收信息的具体形式及配置方式,可参考PCIe多播的相关技术。
进一步,为对各端口的多播功能进行有效验证,可对上述多播接收信息进行随机设置,以排除特定多播接收信息对验证效果的影响。可以理解的是,多播接收信息的配置应当基于已有的多播组信息,因此在配置多播接收信息之前,应当对PCIe交换器进行多播组信息配置。当然,为了避免特殊配置信息对验证过程的影响,多播组信息也可随机配置。
在一种可能的情况中,在获取PCIe交换器的各端口对应的多播接收信息之前,还包括:
步骤11:为PCIe交换器随机配置多播组信息,并根据多播组信息为每一端口随机配置多播接收信息。
需要说明的是,本发明实施例并不限定多播组信息的具体内容,例如可包含多播使能标志位(MC_ENABLE)、多播组数量(MC_Num_Group)、多播控制基地址(MC_Base_AddressRegister)、多播组地址空间大小(MC_Index_Position)等,其中多播使能标志位表示是否启用多播功能,多播控制基地址表示多播组的起始地址,多播组地址空间大小用于决定每个多播组的地址空间大小,具体可参考PCIe多播配置(Multicast Capability)的相关技术。多播接收信息由于与多播组数量有关,因此可依照PCIe交换器中实际配置的多播组数量进行随机配置。具体的,多播接收信息的随机区间为[0,2MC_Num_Group+1-1]。
进一步,源PCIe设备为本发明实施例中向PCIe交换器发送测试激励的PCIe设备,其与PCIe交换器中的某个端口连接。由于本发明需要控制源PCIe设备生成多播数据包,因此执行本方法的验证平台也应当与源PCIe设备连接。本发明实施例并不限定具体的源PCIe设备,也不限定该设备具体与PCIe交换器的哪一接口连接,例如源PCIe设备可以为PCIe根联合体VIP(PCIe Root Complex VIP),并与PCIe交换器的上行端口连接;也可以为PCIe端点VIP(PCIe Endpoint VIP),并与PCIe交换器的下行端口连接,可根据实际应用需求进行设定。本发明实施例也不限定源PCIe设备的数量,可以为单个,也可以为多个。由于本发明并不考虑是否需要将多播数据包中的数据写入目标设备的地址空间,因此源PCIe设备可以为多个,并可同时向PCIe交换器发送多播数据包。换句话说,本发明可对PCIe交换器的多播功能进行并行验证,可大大增加了多播压力及极限测试的完备性,同时也可提升仿真效率。
进一步,可以理解的是,源PCIe设备应当基于PCIe交换器中设定好的多播组信息来生成多播数据包,即目标多播组信息应当基于PCIe交换器中的多播组信息。为了对各种情况进行完整测试,在控制源PCIe设备生成多播数据包时,可在多播组信息中随机选取目标多播组信息,并控制源PCIe设备基于随机选取的目标多播组信息生成多播数据包。
在一种可能的情况中,控制源PCIe设备生成多播数据包,可以包括:
步骤21:在多播组信息中随机选取目标多播组信息,并控制源PCIe设备基于目标多播组信息生成多播数据包。
需要说明的是,本发明实施例并不限定目标多播组信息中的具体内容,例如可以包含目标多播组号及目标地址,其中目标多播组号可在PCIe交换器所规定的多播组数量中随机选取,即目标多播组号的随机区间为[0,MC_Num_Group];目标地址应当依照目标多播组号及PCIe交换器中设定的多播组地址空间大小(MC_Index_Position)进行随机设置,具体的,目标地址的值应当满足如下约束条件:
send_addr>=MC_Base_Address+(1<<MC_Index_Position)*send_group
send_addr<MC_Base_Address+(1<<MC_Index_Position)*(send_group+1)
其中,send_addr表示目标地址,send_group表示目标多播组号,“<<”表示左进位。
进一步,需要说明的是,本发明实施例并不限定具体的多播数据包,例如可以为TLP事务层数据包,其中TLP(Transaction Layer Packet)表示事务层。
S102、根据目标多播组信息及所有多播接收信息,确定PCIe交换器中可接收多播数据包的目标端口。
由于已提前获取了各端口对应的多播接收信息,因此本发明实施例可依照该信息以及多播数据包中的目标多播组信息,提前确定该数据包在PCIe交换器中的转发情况及能够接收多播数据包的目标端口,进而便可直接在目标端口进行多播验证。需要说明的是,本发明实施例并不限定如何根据多播接收信息及目标多播组信息确定多播数据包在PCIe交换器中的转发情况及对应的目标端口,可参考PCIe多播功能的相关技术。
S103、控制源PCIe设备将多播数据包发送至PCIe交换器,并在目标端口接收待验证数据包。
在确定目标端口后,执行本方法的验证平台便可控制源PCIe设备发送多播数据包,以向PCIe交换器提供外部激励。可以理解的是,在这一激励的作用下,PCIe交换器将产生一系列转发及处理动作,并在目标端口输出待验证数据包,而本发明的目的正是利用待验证数据包及原始的多播数据包来验证PCIe交换器的多播功能是否正常。需要说明的是,本发明实施例并不限定源PCIe设备如何将多播数据包发送至PCIe交换器,也不限定PCIe交换器的多播转发过程,可参考PCIe及PCIe多播的相关技术。
进一步,本发明实施例并不限定如何在目标端口接收待验证数据包,例如可对目标端口进行监听,当然也可从与目标端口连接的目标PCIe设备上接收待验证数据包。在本发明实施例中,为了完整验证PCIe交换器的多播功能,可选择从与目标端口连接的目标PCIe设备上接收待验证数据包。换句话说,执行本方法的验证平台也需与目标PCIe设备连接。
在一种可能的情况中,在目标端口接收待验证数据包,可以包括:
步骤31:在与目标端口相连接的目标PCIe设备上接收待验证数据包。
需要说明的是,本发明实施例对目标PCIe设备的限定描述,与对源PCIe设备的限定描述一致,可参考上述实施例。当然,为了确保与PCIe交换器连接的每一PCIe设备均能够接收到待验证数据包,这些PCIe设备也应当开启多播功能,并将多播接收信息的数值修改为可接收所有多播组数据包的数值。
S104、对待验证数据包与多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
在得到待验证数据包后,便可将其与多播数据包进行比对,以此来确定PCIe交换器的多播功能是否正常,即当待验证数据包与多播数据包相同时,则说明PCIe交换器的多播功能正常,反正则说明多播功能异常,需要对异常问题进行进一步定位及验证。
基于上述实施例,本发明首先会获取PCIe交换器各端口的多播接收信息,以确定各端口能够处理的多播组;随后,本发明会控制源PCIe设备生成包含目标多播组信息的多播数据包,并根据之前获取的多播接收信息以及目标多播信息,预期各端口中能够接收该多播数据包的目标端口;进一步,本发明会控制源PCIe设备将多播数据包发送至PCIe交换器,以为该交换器提供外部激励,并到目标端口接收待验证数据包;最后,本发明会对待验证数据包及源PCIe设备生成的多播数据包进行直接比对,并根据比对结果对PCIe交换器进行多播验证,无需再从目标设备中读取数据,即能够有效避免PCIe交换器多播验证环节中的若干次单播读操作,能够有效减少验证工作时间,并能够有效提升多播压力测试的测试效果。
基于上述实施例,在并行多播验证时,PCIe交换器中将会出现大量的多播数据包,进而也会产生大量的待验证数据包,此时如何确定多播数据包和待验证数据包的对应关系,将是并行多播验证过程中的重要问题。本发明实施例将采用TLP事务层数据包中的事务ID来解决上述问题。在一种可能的情况中,多播数据包中包含事务ID,对待验证数据包与多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证,包括:
S201、提取待验证数据包中的待验证事务ID,并判断待验证事务ID与事务ID是否相同;若是,则进入步骤S203;若否,则进入步骤S202。
在PCIe协议中,事务层数据包包头中的请求者ID和标签号共同构成了事务ID,用于标识未完成的事务层数据包,其作为一个全局标识符用于标识链路中尚未完成的事务层数据包,与事务层数据包的对应关系为一对一。换句话说,假若待验证数据包与多播数据包相对应,则待验证数据包中的待验证事务ID应当与多播数据包中的事务ID相同,此时便可确定待验证数据包与原始的多播数据包之间的对应关系。当然,在并行验证时,单个目标端口可能对应多个多播数据包,因此也可将待验证事务ID与这些多播数据包的事务ID进行比对,若原始的事务ID中存在与待验证事务ID对应的目标事务ID,则进入步骤S203;若原始的事务ID中不存在与待验证事务ID对应的目标事务ID,则说明PCIe交换器存在转发错误问题,此时则可进入步骤S202。
S202、判定PCIe交换器的多播功能异常;
S203、判断待验证数据包与多播数据包是否相同;若是,则进入步骤S204;若否,则进入步骤S205。
在确定待验证事务ID与原始的事务ID相同后,便可进入进行待验证数据包与多播数据包之间的完整比对,以确定PCIe交换器在进行数据包转发时,是否对数据包本身造成了破坏。
S204、判定PCIe交换器的多播功能正常;
S205、判定PCIe交换器的多播功能异常。
进一步,为对上述流程进一步优化,本发明实施例还提供基于比对队列的数据包比对过程。具体的,在确定PCIe交换器中可接收多播数据包的目标端口之后,可从多播数据包中提取原始的事务ID,并生成与该事务ID及目标端口相对应的比对队列,最后将多播数据包放入该对比队列。随后,在提取到待验证数据包时,可依照待验证事务ID及接收待验证数据包的目标端口查找对应的比对队列,并尝试从该队列中弹出多播数据包,若可弹出,则可继续进行数据包比对;若无法弹出,或是比对队列不存在,则说明PCIe交换器存在转发错误。经过上述设置后,可进一步缩短仿真验证时间,并进一步提升并行多播验证的效果。
在一种可能的情况中,在确定PCIe交换器中可接收多播数据包的目标端口之后,还可以包括:
步骤41:生成与目标端口及事务ID对应的比对队列,并将多播数据包写入比对队列;
相应的,判断待验证事务ID与事务ID是否相同,包括:
步骤51:判断接收待验证数据包的目标端口是否具有与待验证事务ID对应的比对队列;若是,则进入步骤52;若否,则进入步骤53;
步骤52:从比对队列中弹出多播数据包,并进入待验证数据包与多播数据包是否完全相同的步骤;
步骤53:判定PCIe交换器的多播功能异常。
应当指出的是,步骤52所对应的情况为比对队列不为空的情况。而在目标端口对应的比对队列均为空时,可继续对目标端口进行检测,此时,若仍从目标端口接收到了待验证数据包,则即便该数据包具有对应的比对队列,也无法从该队列中弹出多播数据包,即可确定PCIe交换器存在路由错误的问题。
在一种可能的情况中,在从比对队列中弹出多播数据包之后,还可以包括:
步骤61:继续在目标端口接收待验证数据包,并在接收到待验证数据包时,判定PCIe交换器的多播功能异常。
基于上述实施例,本发明实施例可采用TLP事务层数据包中的事务ID来确定原始多播数据包与待验证数据包之间的对应关系,以此来解决并行多播验证时,难以快速查找与待验证数据包对应的多播数据包的问题,进而可有效保障PCIe并行多播验证的正常进行,增加了多播压力和极限测试的完备性并可有效提升仿真效率。
下面对本发明实施例提供的PCIe多播验证装置、电子设备及计算机可读存储介质进行介绍,下文描述的PCIe多播验证装置、电子设备及计算机可读存储介质与上文描述的PCIe多播验证方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的一种PCIe多播验证装置的结构框图,该装置可以包括:
多播数据包生成模块201,用于获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;多播接收信息用于记录端口可处理的多播组,多播数据包中包含目标多播组信息;
目标端口确定模块202,用于根据目标多播组信息及所有多播接收信息,确定PCIe交换器中可接收多播数据包的目标端口;
控制模块203,用于控制源PCIe设备将多播数据包发送至PCIe交换器,并在目标端口接收待验证数据包;
多播验证模块204,用于对待验证数据包与多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
可选地,该装置还可以包括:
配置模块,用于为PCIe交换器随机配置多播组信息,并根据多播组信息为每一端口随机配置多播接收信息。
可选地,多播数据包生成模块201,可以包括:
多播数据包生成子模块,用于在多播组信息中随机选取目标多播组信息,并控制源PCIe设备基于目标多播组信息生成多播数据包。
可选地,控制模块203,可以包括:
第一接收子模块,用于在与目标端口相连接的目标PCIe设备上接收待验证数据包。
可选地,多播数据包中包含事务ID,多播验证模块204,可以包括:
第一判断子模块,用于提取待验证数据包中的待验证事务ID,并判断待验证事务ID与事务ID是否相同;
第一判定子模块,用于若否,则判定PCIe交换器的多播功能异常;
第二判断子模块,用于若是,则判断待验证数据包与多播数据包是否相同;
第二判定子模块,用于若相同,则判定PCIe交换器的多播功能正常;
第三判定子模块,用于若不同,则判定PCIe交换器的多播功能异常。
可选地,该装置还可以包括:
队列生成模块,用于生成与目标端口及事务ID对应的比对队列,并将多播数据包写入比对队列;
相应的,第一判断子模块,具体用于判断接收待验证数据包的目标端口是否具有与待验证事务ID对应的比对队列;
第二判断子模块,用于若接收待验证数据包的目标端口具有与待验证事务ID对应的比对队列时,则从比对队列中弹出多播数据包,并进入待验证数据包与多播数据包是否完全相同的步骤;
第一判定子模块,具体用于若接收待验证数据包的目标端口不具有与待验证事务ID对应的比对队列时,则判定PCIe交换器的多播功能异常。
可选地,多播验证模块204,还可以包括:
第二接收子模块,用于继续在目标端口接收待验证数据包,并在接收到待验证数据包时,判定PCIe交换器的多播功能异常。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的PCIe多播验证方法的步骤。
由于电子设备部分的实施例与PCIe多播验证方法部分的实施例相互对应,因此电子设备部分的实施例请参见PCIe多播验证方法部分的实施例的描述,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的PCIe多播验证方法的步骤。
由于计算机可读存储介质部分的实施例与PCIe多播验证方法部分的实施例相互对应,因此存储介质部分的实施例请参见PCIe多播验证方法部分的实施例的描述,这里不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种PCIe多播验证方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种PCIe多播验证方法,其特征在于,包括:
获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;所述多播接收信息用于记录所述端口可处理的多播组,所述多播数据包中包含目标多播组信息;
根据所述目标多播组信息及所有所述多播接收信息,确定所述PCIe交换器中可接收所述多播数据包的目标端口;
控制所述源PCIe设备将所述多播数据包发送至所述PCIe交换器,并在所述目标端口接收待验证数据包;
对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
2.根据权利要求1所述的PCIe多播验证方法,其特征在于,在获取PCIe交换器的各端口对应的多播接收信息之前,还包括:
为所述PCIe交换器随机配置多播组信息,并根据所述多播组信息为每一所述端口随机配置所述多播接收信息。
3.根据权利要求2所述的PCIe多播验证方法,其特征在于,所述控制源PCIe设备生成多播数据包,包括:
在所述多播组信息中随机选取所述目标多播组信息,并控制所述源PCIe设备基于所述目标多播组信息生成所述多播数据包。
4.根据权利要求1所述的PCIe多播验证方法,其特征在于,所述在所述目标端口接收待验证数据包,包括:
在与所述目标端口相连接的目标PCIe设备上接收所述待验证数据包。
5.根据权利要求1至4任一项所述的PCIe多播验证方法,其特征在于,所述多播数据包中包含事务ID,所述对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证,包括:
提取所述待验证数据包中的待验证事务ID,并判断所述待验证事务ID与所述事务ID是否相同;
若否,则判定所述PCIe交换器的多播功能异常;
若是,则判断所述待验证数据包与所述多播数据包是否相同;
若相同,则判定所述PCIe交换器的多播功能正常;
若不同,则判定所述PCIe交换器的多播功能异常。
6.根据权利要求5所述的PCIe多播验证方法,其特征在于,在确定所述PCIe交换器中可接收所述多播数据包的目标端口之后,还包括:
生成与所述目标端口及所述事务ID对应的比对队列,并将所述多播数据包写入所述比对队列;
所述判断所述待验证事务ID与所述事务ID是否相同,包括:
判断接收所述待验证数据包的目标端口是否具有与所述待验证事务ID对应的比对队列;
若是,则从所述比对队列中弹出所述多播数据包,并进入所述待验证数据包与所述多播数据包是否完全相同的步骤;
若否,则判定所述PCIe交换器的多播功能异常。
7.根据权利要求6所述的PCIe多播验证方法,其特征在于,在从所述比对队列中弹出所述多播数据包之后,还包括:
在目标端口对应的比对队列均为空时,继续在所述目标端口接收所述待验证数据包,并在接收到所述待验证数据包时,判定所述PCIe交换器的多播功能异常。
8.一种PCIe多播验证装置,其特征在于,包括:
多播数据包生成模块,用于获取PCIe交换器的各端口对应的多播接收信息,并控制源PCIe设备生成多播数据包;所述多播接收信息用于记录所述端口可处理的多播组,所述多播数据包中包含目标多播组信息;
目标端口确定模块,用于根据所述目标多播组信息及所有所述多播接收信息,确定所述PCIe交换器中可接收所述多播数据包的目标端口;
控制模块,用于控制所述源PCIe设备将所述多播数据包发送至所述PCIe交换器,并在所述目标端口接收待验证数据包;
多播验证模块,用于对所述待验证数据包与所述多播数据包进行比对,并根据比对结果对PCIe交换器进行多播验证。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的PCIe多播验证方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的PCIe多播验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181550.2A CN114584411B (zh) | 2022-02-25 | 2022-02-25 | PCIe多播验证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181550.2A CN114584411B (zh) | 2022-02-25 | 2022-02-25 | PCIe多播验证方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584411A CN114584411A (zh) | 2022-06-03 |
CN114584411B true CN114584411B (zh) | 2024-04-02 |
Family
ID=81770459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210181550.2A Active CN114584411B (zh) | 2022-02-25 | 2022-02-25 | PCIe多播验证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584411B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010046193A (ko) * | 1999-11-11 | 2001-06-05 | 윤종용 | 패킷 스위치 네트워크에서의 멀티캐스트 방법 |
CN101409672A (zh) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | 数据分发设备、数据分发方法及分发控制程序 |
CN102215157A (zh) * | 2010-04-07 | 2011-10-12 | 康联讯科技股份有限公司 | 数据封包的传送方法与应用该方法的网络装置 |
EP2595407A2 (en) * | 2011-11-21 | 2013-05-22 | Huawei Technologies Co., Ltd. | Service access method, device, and system |
JP2014182675A (ja) * | 2013-03-21 | 2014-09-29 | Nec Corp | 入出力処理装置、アドレス正当性検証方法およびアドレス正当性検証用プログラム |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
CN108494771A (zh) * | 2018-03-23 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、防火墙开通验证方法及存储介质 |
CN111045756A (zh) * | 2019-12-10 | 2020-04-21 | 中国工商银行股份有限公司 | 生成接口服务的方法、装置、计算设备和介质 |
CN112153481A (zh) * | 2020-08-24 | 2020-12-29 | 深圳市捷视飞通科技股份有限公司 | 视频数据处理方法、计算机设备和存储介质 |
CN112148789A (zh) * | 2020-09-03 | 2020-12-29 | 京东数字科技控股股份有限公司 | 一种对多媒体播放进行控制的处理方法及系统 |
CN112527705A (zh) * | 2020-11-05 | 2021-03-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种PCIe DMA数据通路的验证方法、装置及设备 |
CN112560377A (zh) * | 2020-12-11 | 2021-03-26 | 珠海全志科技股份有限公司 | 基于虚拟平台与fpga联合的仿真验证方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566962B (zh) * | 2008-04-22 | 2012-07-04 | 辉达公司 | 外围组件连接快速扩充系统一致性测试板与方法 |
JP5577953B2 (ja) * | 2010-08-25 | 2014-08-27 | 富士通株式会社 | 判定プログラム、検証装置及び検証方法 |
US9563591B2 (en) * | 2014-03-06 | 2017-02-07 | International Business Machines Corporation | Peripheral component interconnect express (PCIe) ping in a switch-based environment |
US11343317B2 (en) * | 2017-05-25 | 2022-05-24 | Siemens Aktiengesellschaft | Data transmission method and device |
US10866917B2 (en) * | 2018-12-03 | 2020-12-15 | Ati Technologies Ulc | Inter device data exchange via external bus by utilizing communication port |
-
2022
- 2022-02-25 CN CN202210181550.2A patent/CN114584411B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010046193A (ko) * | 1999-11-11 | 2001-06-05 | 윤종용 | 패킷 스위치 네트워크에서의 멀티캐스트 방법 |
CN101409672A (zh) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | 数据分发设备、数据分发方法及分发控制程序 |
CN102215157A (zh) * | 2010-04-07 | 2011-10-12 | 康联讯科技股份有限公司 | 数据封包的传送方法与应用该方法的网络装置 |
EP2595407A2 (en) * | 2011-11-21 | 2013-05-22 | Huawei Technologies Co., Ltd. | Service access method, device, and system |
JP2014182675A (ja) * | 2013-03-21 | 2014-09-29 | Nec Corp | 入出力処理装置、アドレス正当性検証方法およびアドレス正当性検証用プログラム |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
CN108494771A (zh) * | 2018-03-23 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、防火墙开通验证方法及存储介质 |
CN111045756A (zh) * | 2019-12-10 | 2020-04-21 | 中国工商银行股份有限公司 | 生成接口服务的方法、装置、计算设备和介质 |
CN112153481A (zh) * | 2020-08-24 | 2020-12-29 | 深圳市捷视飞通科技股份有限公司 | 视频数据处理方法、计算机设备和存储介质 |
CN112148789A (zh) * | 2020-09-03 | 2020-12-29 | 京东数字科技控股股份有限公司 | 一种对多媒体播放进行控制的处理方法及系统 |
CN112527705A (zh) * | 2020-11-05 | 2021-03-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种PCIe DMA数据通路的验证方法、装置及设备 |
CN112560377A (zh) * | 2020-12-11 | 2021-03-26 | 珠海全志科技股份有限公司 | 基于虚拟平台与fpga联合的仿真验证方法及系统 |
Non-Patent Citations (2)
Title |
---|
PCIE交换芯片的交换核心设计;赵姣;;中国集成电路;20200405(第Z2期);全文 * |
复杂分组交换模块功能仿真验证的方法研究;陈小平;何春;廖恬瑜;;中国测试技术;20070530(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114584411A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116056126A (zh) | 仿真测试方法、装置、计算机设备和计算机可读存储介质 | |
CN104639390A (zh) | 系统的测试方法和装置 | |
US10496592B2 (en) | System and method to effectively overlap computation and reduction operation of nonblocking collective communication | |
CN114584411B (zh) | PCIe多播验证方法、装置、电子设备及存储介质 | |
US20070283041A1 (en) | System and method for recognizing offloaded packets | |
CN116132186B (zh) | 一种安全算法模块的验证方法、装置、电子设备以及存储介质 | |
CN113821898A (zh) | 芯片子系统的随机验证方法、装置、设备和存储介质 | |
CN108089987B (zh) | 功能验证方法和装置 | |
CN113872826B (zh) | 网卡端口稳定性测试方法、系统、终端及存储介质 | |
CN115357513A (zh) | 程序模糊测试方法、装置、设备及存储介质 | |
CN115048255A (zh) | 一种自动化测试方法、装置,主机及存储介质 | |
WO2021128936A1 (zh) | 报文的处理方法及装置 | |
US20130142063A1 (en) | Verifying the functionality of an integrated circuit | |
US9543043B2 (en) | Method for testing array fuse of semiconductor apparatus | |
CN113626295A (zh) | 压测数据的处理方法、系统及计算机可读存储介质 | |
CN111371799A (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
US8165025B2 (en) | Method and apparatus for generating a unique packet identifier | |
CN115622929B (zh) | 远程直接数据存取rdma的测试方法及相关装置 | |
CN111314198B (zh) | 一种白盒交换机设置端口ip的方法和设备 | |
CN117294783B (zh) | 芯片验证方法、装置和设备 | |
CN114490202B (zh) | 一种密码设备测试方法、装置、电子设备及存储介质 | |
US20230110499A1 (en) | Address solving for instruction sequence generation | |
CN112286468B (zh) | 一种存储器件的访问控制方法、装置及电子设备 | |
CN116893978B (zh) | 一种基于ptcrb认证的测试计划生成方法、系统和存储介质 | |
CN115988105B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |