发明内容
针对现有技术中存在的仿真速度慢和不能自动同时验证收发双方的数据包的payload的一致性等问题,本发明提供一种支持SRIO与以太网的协议转换功能验证装置及方法,在发送端/接收端为ETH协议设备,接收端/发送端SRIO协议设备的情况下,可以自动对比payload的双端互联互通,以验证目的协议转换的正确性。
第一方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置,该装置包括:SRIO流量模型设备和以太网流量模型设备;
所述SRIO流量模型设备,用于校验第一以太网协议数据包和第一SRIO协议数据包的一致性,所述第一以太网协议数据包为以太网流量模型设备按照以太网协议生成的数据包,所述第一SRIO协议数据包为所述第一以太网协议数据包经目标协议转换芯片进行协议转换后生成的支持SRIO协议的数据包;
所述以太网流量模型设备,用于校验第二SRIO协议数据包和第二以太网协议数据包的一致性,所述第二SRIO协议数据包为SRIO流量模型设备按照SRIO协议生成的数据包,所述第二以太网协议数据包为所述第二SRIO协议数据包经目标协议转换芯片进行协议转换后生成的支持以太网协议的数据包。
进一步地,所述SRIO流量模型设备包括第一配置模块、第一CRC编解码模块、第一数据生成模块、第一整包封装模块、第一解析校验模块、第一上层模块和第一协议控制器;
所述以太网流量模型设备包括第二配置模块、第二CRC编解码模块、第二数据生成模块、第二整包封装模块、第二解析校验模块、第二上层模块和第二协议控制器。
进一步地,所述第一配置模块和所述第二配置模块通过配置寄存器对数据包进行配置。
第二方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
随机生成数据,其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
将所述payload备份给接收端流量模型,以使所述接收端流量模型根据所述payload和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
第三方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
按照预设方式生成数据,其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
将所述预设方式告知接收端流量模型,以使所述接收端流量模型根据所述预设方式和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
第四方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
生成数据作为payload,并根据所述payload进行多项式计算生成CRC校验码,其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
将所述CRC校验码插入到所述payload尾部后,按照发送端流量模型侧协议的包格式将所述CRC校验码和payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
将所述CRC校验码的解析方式告知接收端流量模型,以使所述接收端流量模型根据所述CRC校验码的解析方式和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
第五方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
接收发送端流量模型设备发送的payload备份,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对随机生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接随机生成的数据;
接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
对所述第二数据包进行解析得到分离后的payload;
将所述payload备份与分离后的payload进行对比以校验二者是否一致。
第六方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
接收预设方式,所述预设方式为发送端流量模型生成数据作为payload时的数据生成方式,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接生成的数据;
接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
对所述第二数据包进行解析得到分离后的payload;
将分离后的payload按照所述预设方式进行对比以校验二者是否一致。
第七方面,本发明提供一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
接收CRC校验码的解析方式,所述CRC校验码为发送端流量模型根据payload进行多项式计算生成,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接生成的数据;
接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型将所述CRC校验码插入到所述payload尾部后,按照发送端流量模型侧协议的包格式将所述CRC校验码和payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
对所述第二数据包进行解析得到分离后的payload及CRC校验码;
根据CRC校验码的解析方式对所述CRC校验码进行解析,将解析后的内容与分离后的payload进行对比以校验二者是否一致。
本发明的有益效果:
本发明提供的一种支持SRIO与以太网的协议转换功能验证装置及方法,通过对发送端流量模型的数据包payload的准备以及接收端流量模型对收到的payload进行对比校验来验证收发内容是否一致,并以此来自动验证协议转换芯片是否具备SRIO协议与ETH协议的互相转换功能,提高了验证效率和验证可信度。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各实施例中的ETH表示以太网。
本发明实施例提供的支持SRIO与以太网的协议转换功能验证装置包括:SRIO流量模型设备和以太网流量模型设备;
所述SRIO流量模型设备,用于校验第一以太网协议数据包和第一SRIO协议数据包的一致性,所述第一以太网协议数据包为以太网流量模型设备按照以太网协议生成的数据包,所述第一SRIO协议数据包为所述第一以太网协议数据包经目标协议转换芯片进行协议转换后生成的支持SRIO协议的数据包;
所述以太网流量模型设备,用于校验第二SRIO协议数据包和第二以太网协议数据包的一致性,所述第二SRIO协议数据包为SRIO流量模型设备按照SRIO协议生成的数据包,所述第二以太网协议数据包为所述第二SRIO协议数据包经目标协议转换芯片进行协议转换后生成的支持以太网协议的数据包。
具体地,所述SRIO流量模型设备包括第一配置模块、第一数据生成模块、第一整包封装模块、第一解析校验模块、第一上层模块和第一协议控制器;所述以太网流量模型设备包括第二配置模块、第二数据生成模块、第二整包封装模块、第二解析校验模块、第二上层模块和第二协议控制器。
结合图3所示,在SRIO流量模型设备中,按照信息流方向,第一配置模块、第一数据生成模块、第一整包封装模块、第一协议控制器、第一解析校验模块和第一上层模块依次连接。在太网流量模型设备中,按照信息流方向,第二配置模块、第二数据生成模块、第二整包封装模块、第二协议控制器、第二解析校验模块和第二上层模块依次连接。
其中,配置模块用于通过配置寄存器对数据包进行配置。数据生成模块用于生成payload,然后将生成的payload发送给整包封装模块进行包头封装组成数据包。协议控制器用于选择数据包所使用的协议类型。经过解析校验模块后的数据校验结果会存储在寄存器中。上层模块就是接收端将数据包解析之后发送给的端点设备,可以通过读取寄存器对数据包内容进行直观的观测,一般为PC端软件。
具体地,本发明实施例提供的支持SRIO与以太网的协议转换功能验证装置可以通过软件定义对数据包的payload内容精确处理,同时在接收端可以实现限速情况下的数据包解析,实时对数据包的payload内容进行对比校验。
两个流量模型设备的区别在于二者所支持的协议类型是不同的。第一配置模块和第二配置模块均可通过配置寄存器对数据包进行配置,而在对数据进行配置时,可从以下数据包属性方面,例如:包长、包间隔、包内容、生成数据包的协议类型以及包头关键字段等进行软件定义。
其中,第一配置模块和第二配置模块对包头进行配置的具体实现方法是将包头以字节byte为单位进行划分,然后通过寄存器指定关键字段所在字节的值。一个关键字段所在字节中可能包括不止一个字段:有需要配置为固定值的字段,也有需要配置为随机值的字段。为了对每一个关键字段所在字节进行更精细的控制,可为每一个关键字段所在字节分配一个对应的8bit的mask,关键字段所在字节中的bit位与mask中的bit位一一对应,与mask中为1的bit位相对应的字段的值配置为固定值,其它字段配置为随机值。
如图7所示,byte0用于指定包头第一个字节的值,与其对应的mask为mask0,byte2用于指定包头第二个字节的值,与其对应的mask为mask2。类似的,byte48用于指定包头第49个字节的值,与其对应的mask为mask48,byte49用于指定包头第50个字节的值,与其对应的mask为mask49。
图8为协议类型为srio协议的帧格式,如果要配置包头中的源ID和目的ID字段为固定值,其余字段为随机值,只需要通过软件将寄存器中的byte0到byte11配置为想要的值,然后将对应的mask0到mask11配置为8’HFF,其余mask字段配置为8’H0。
本发明实施例提供的验证装置可实现三个场景的协议转换测试。“SRIOTo以太网协议”单向转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图1所示。“以太网To SRIO协议”单向转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图2所示。“SRIO&以太网协议”多协议转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图3所示。
本发明实施例提出的验证装置通过两端的ETH流量模型设备及SRIO流量模型设备对验证数据进行了预处理,即在封包的过程中将包头信息Header及payload内容进行处理,使得所产生的数据包的payload内容可控以方便流量模型对数据包内容进行校验。
在上述实施例的基础上,本发明实施例提供又一种支持SRIO与以太网的协议转换功能验证装置,与上述实施例提供的装置的不同之处在于,本发明实施例中的SRIO流量模型设备和/或以太网流量模型设备还包括CRC编码模块和/或解码模块。本发明实施例提供的验证装置可实现三个场景的协议转换测试。“SRIO(SRIO)To以太网协议”单向转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图4所示。“以太网To SRIO协议”单向转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图5所示。“SRIO&以太网协议”多协议转换时,SRIO流量模型设备和以太网流量模型设备的配置结构如图6所示。
基于图1至图6所述的验证装置,本发明实施例还提供了多种校验协议转换结果正确性的payload检测方法。图9为不同检测方法下的数据包payload的生成格式。
如图10所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之一,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
S101、随机生成数据,其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
S102、按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
S103、将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S104、将所述payload备份给接收端流量模型,以使所述接收端流量模型根据所述payload和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
需要说明的是,在实际应用中,本发明实施例中的步骤S103和S104之间没有先后顺序,可以先执行步骤S103后执行步骤S104,也可以先执行步骤S104后执行步骤S103,或者两个步骤同时执行。
具体地,本发明实施例提供的验证方法可应用于以下三种场景:
场景一:SRIO协议To以太网协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为SRIO流量模型设备。对应的,接收端流量模型为以太网流量模型设备。SRIO流量模型设备随机生成大量数据作为payload,然后按照SRIO协议的包格式,封装包头信息Header组成数据包,并将该数据包发送至目标协议转换芯片,以及将随机生成的payload备份给ETH流量模型设备以校验协议转换结果。ETH流量模型设备在接收到来自目标协议转换芯片转换后的数据包以后,将数据包的Header及payload进行解析并进行payload校验:将备份的payload与分离后的payload进行对比以校验payload是否准确无误的转发。
场景二:以太网协议To SRIO协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为以太网流量模型设备。对应的,接收端流量模型为SRIO流量模型设备。ETH流量模型设备随机生成大量数据,将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload,然后按照ETH协议的包格式,封装包头信息Header组成数据包,并将该数据包发送至目标协议转换芯片,以及将随机生成的payload备份给SRIO流量模型设备以校验协议转换结果。SRIO流量模型设备在接收到来自目标协议转换芯片转换后的数据包以后,将数据包的Header及payload进行解析,将所有的子数据进行整合后进行payload校验:将备份的payload与整合后的payload进行对比以校验payload是否准确无误的转发。
场景三:以太网协议&SRIO多协议转换。
作为一种可实施方式,该场景中,SRIO流量模型设备既是发送端流量模型又是接收端流量模型。对应的,以太网流量模型设备既是接收端流量模型又是发送端流量模型。此场景可验证目标协议转换芯片多协议转换的功能。ETH及SRIO流量模型设备分别随机生成大量数据作为payload(是否需要对生成的数据进行切割后作为payload,可参照上述两个应用场景,此处不再赘述),然后按照各协议的包格式,将Header、payload等信息封装成数据包,从两个流量模型设备同时发送给目标协议转换芯片进行协议转换。两端流量模型设备在接收到来自目标协议转换芯片转换后的目的协议数据包以后,将数据包的Header及payload进行解析并进行payload校验:将备份的payload与分离后的payload进行对比以校验payload是否准确无误的转发。本发明实施例中,存在以下可能:有可能存在数据包并未经过目标协议转换芯片而直接被转发回源设备的情况,这种情况下将会导致收到的payload数据与发生数据一致,从而错误的认为转换成功,为了避免这种情况的发生导致验证不严谨,在处理两端设备的payload数据时,不要将两端发送的payload数据配置成相同的数值。
在上述实施例的基础上,如图11所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之二,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
S201、接收发送端流量模型设备发送的payload备份,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对随机生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接随机生成的数据;
S202、接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S203、对所述第二数据包进行解析得到分离后的payload;
S204、将所述payload备份与分离后的payload进行对比以校验二者是否一致。
具体地,本发明实施例提供的验证方法也可应用于以下三种场景:场景一:SRIO协议To以太网协议单向转换。场景二:以太网协议To SRIO协议单向转换。场景三:以太网协议&SRIO多协议转换。需要说明的是,本发明实施例提供的验证方法的工作流程与上述实施例(图10所示)近似,此处不再赘述。
如图12所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之三,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
S301、按照预设方式生成数据,其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
S302、按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
S303、将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S304、将所述预设方式告知接收端流量模型,以使所述接收端流量模型根据所述预设方式和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
需要说明的是,在实际应用中,本发明实施例中的步骤S303和S304之间没有先后顺序,可以先执行步骤S303后执行步骤S304,也可以先执行步骤S304后执行步骤S303,或者两个步骤同时执行。
具体地,本发明实施例提供的验证方法可应用于以下三种场景:
场景一:SRIO协议To以太网协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为SRIO流量模型设备。对应的,接收端流量模型为以太网流量模型设备。SRIO流量模型设备按照预设方式生成有规律的数据作为payload,有规律的数据可以为递增或者递减或者其他类型。然后按照SRIO协议的包格式,将payload封装包头固定的信息Header组成数据包,并将该数据包发送到目标协议转换芯片中进行协议转换。ETH流量模型设备在接收到来自目标协议转换芯片转换后的数据包以后,将数据包的Header及payload进行解析并进行payload校验:将分离后的payload按照已定义的规律进行对比以校验payload是否准确无误的转发。
场景二:以太网协议To SRIO协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为以太网流量模型设备。对应的,接收端流量模型为SRIO流量模型设备。ETH流量模型设备生成有规律的数据,将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload,有规律的数据可以为递增或者递减或者其他类型。然后按照ETH协议的包格式,将payload封装包头固定的信息Header组成数据包,发送到目标协议转换芯片中进行协议转换。SRIO流量模型设备在接收到来自目标协议转换芯片转换后的数据包以后,将数据包的Header及payload进行解析,将所有的子数据进行整合后,进行payload校验:将分离后的payload按照已定义的规律进行对比以校验payload是否准确无误的转发。
场景三:以太网协议&SRIO多协议转换。
作为一种可实施方式,该场景中,SRIO流量模型设备既是发送端流量模型又是接收端流量模型。对应的,以太网流量模型设备既是接收端流量模型又是发送端流量模型。此场景可验证目标协议转换芯片多协议转换的功能。两端流量模型设备生成有规律的数据作为payload(是否需要对生成的数据进行切割后作为payload,可参照上述两个应用场景,此处不再赘述),有规律的数据可以为递增或者递减或者其他类型,但两端的数据规律不一样。然后固定Header中关键字段,按照各协议的包格式,将payload、Header封装成数据包,发送到目标协议转换芯片中进行协议转换。两端流量模型设备在接收到来自目标协议转换芯片转换后的目的协议数据包以后,将数据包的Header及payload进行分离并进行payload校验:将分离后的payload按照已定义的规律进行对比以校验payload是否准确无误的转发。
在上述实施例的基础上,如图13所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之四,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
S401、接收预设方式,所述预设方式为发送端流量模型生成若干数据作为payload时的数据生成方式,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接生成的数据;
S402、接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型按照发送端流量模型侧协议的包格式将所述payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S403、对所述第二数据包进行解析得到分离后的payload;
S404、将分离后的payload按照所述预设方式进行对比以校验二者是否一致。
具体地,本发明实施例提供的验证方法也可应用于以下三种场景:场景一:SRIO协议To以太网协议单向转换。场景二:以太网协议To SRIO协议单向转换。场景三:以太网协议&SRIO多协议转换。需要说明的是,本发明实施例提供的验证方法的工作流程与上述实施例(图12所示)近似,此处不再赘述。
相比于图10至图11所示的验证方法,图12至图13所示的验证方法不需要将payload内容在各接收设备中进行备份,较为节省资源。
如图14所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之五,应用于发送端流量模型,所述发送端流量模型为以太网流量模型设备和/或SRIO流量模型设备;所述方法包括:
S501、生成数据作为payload,并根据所述payload进行多项式计算生成CRC校验码其中,若发送端流量模型为以太网流量模型设备,则将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload;若发送端流量模型为SRIO流量模型设备,则将生成的数据直接作为payload;
S502、将所述CRC校验码插入到所述payload尾部后,按照发送端流量模型侧协议的包格式将所述CRC校验码和payload封装包头信息Header组成第一数据包,所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;
S503、将所述第一数据包发送至目标协议转换芯片,以使所述目标协议转换芯片对所述第一数据包进行协议转换得到第二数据包,所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S504、将所述CRC校验码的解析方式告知接收端流量模型,以使所述接收端流量模型根据所述CRC校验码的解析方式和所述第二数据包校验所述目标芯片的协议转换结果,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备。
需要说明的是,在实际应用中,本发明实施例中的步骤S503和S504之间没有先后顺序,可以先执行步骤S503后执行步骤S504,也可以先执行步骤S504后执行步骤S503,或者两个步骤同时执行。
具体地,本发明实施例提供的验证方法可应用于以下三种场景:
场景一:SRIO协议To以太网协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为SRIO流量模型设备。对应的,接收端流量模型为以太网流量模型设备。SRIO流量模型设备生成有规律或者无规律的数据作为payload,然后根据payload内容进行多项式计算,计算成一个CRC校验码并插入到payload后面,按照SRIO协议的包格式,将CRC校验码、payload以及包头信息Header封装组成数据包,发送到目标协议转换芯片中进行协议转换。ETH流量模型设备将接收到的数据包的Header、payload及CRC校验码进行分离,并将CRC校验码解析,将解析后的内容与所收到的数据包的payload内容进行对比,校验payload内容在经过协议转换后是否正确。
场景二:以太网协议To SRIO协议单向转换。
作为一种可实施方式,在该场景中,发送端流量模型为以太网流量模型设备。对应的,接收端流量模型为SRIO流量模型设备。ETH流量模型设备生成有规律或者无规律的数据,将所述数据切割为若干个不大于256KB的子数据,将若干个所述子数据作为payload,然后根据payload内容进行多项式计算,计算成一个CRC校验码并插入到payload后面,按照ETH协议的包格式,将CRC校验码、payload以及包头信息Header封装组成数据包,发送到目标协议转换芯片中进行协议转换。SRIO流量模型设备将接收到的数据包的Header、payload及CRC校验码进行分离,并将CRC校验码解析,将解析后的内容与所收到的数据包的payload内容进行对比,校验payload内容在经过协议转换后是否正确。
场景三:以太网协议&SRIO多协议转换。
作为一种可实施方式,该场景中,SRIO流量模型设备既是发送端流量模型又是接收端流量模型。对应的,以太网流量模型设备既是接收端流量模型又是发送端流量模型。此场景可验证目标协议转换芯片多协议转换的功能。发送端流量模型生成有规律或者无规律的数据作为payload(是否需要对生成的数据进行切割后作为payload,可参照上述两个应用场景,此处不再赘述),然后根据payload内容进行多项式计算,算出一个CRC校验码插入到payload后面,按照源协议(即发送端流量模型侧协议)的包格式,将CRC校验码、payload、包头信息Header封装成数据包,发送到目标协议转换芯片中进行协议转换。接收端流量模型将接收到的数据包的Header、payload及CRC校验码进行分离,并将CRC校验码解析,将解析后的内容与所收到的数据包的payload内容进行对比,校验payload内容在经过协议转换后产生错误。
在上述实施例的基础上,如图15所示,本发明实施例提供的一种支持SRIO与以太网的协议转换功能验证装置的协议转换功能验证方法之六,应用于接收端流量模型,所述接收端流量模型为SRIO流量模型设备和/或以太网流量模型设备;所述方法包括:
S601、接收CRC校验码的解析方式,所述CRC校验码为发送端流量模型根据payload进行多项式计算生成,其中,若接收端流量模型为SRIO流量模型设备,则所述payload为以太网流量模型设备作为发送端流量模型设备时对生成的数据进行切割后的若干个不大于256KB的子数据,若接收端流量模型为以太网流量模型设备,则所述payload为所述SRIO流量模型设备作为发送端流量模型设备时直接生成的数据;
S602、接收目标协议转换芯片发送的第二数据包,所述第二数据包为目标协议转换芯片对第一数据包进行协议转换后得到,所述第一数据包为发送端流量模型将所述CRC校验码插入到所述payload尾部后,按照发送端流量模型侧协议的包格式将所述CRC校验码和payload封装包头信息Header后组成;所述第一数据包为第一以太网协议数据包和/或第二SRIO协议数据包;所述第二数据包为第一SRIO协议数据包和/或第二以太网协议数据包;
S603、对所述第二数据包进行解析得到分离后的payload及CRC校验码;
S604、根据CRC校验码的解析方式对所述CRC校验码进行解析,将解析后的内容与分离后的payload进行对比以校验二者是否一致。
具体地,本发明实施例提供的验证方法也可应用于以下三种场景:场景一:SRIO协议To以太网协议单向转换。场景二:以太网协议To SRIO协议单向转换。场景三:以太网协议&SRIO多协议转换。需要说明的是,本发明实施例提供的验证方法的工作流程与上述实施例(图14所示)近似,此处不再赘述。
图14至图15所示的验证方法不需要在接收设备中进行备份payload,甚至不需要知道payload的内容,接收端流量模型按照CRC的解码算法可实现对接收到的数据包进行Header及payload的自动对比。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。