CN115361327B - 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 - Google Patents
一种自动化测试网卡ncsi命令的方法、装置、终端及介质 Download PDFInfo
- Publication number
- CN115361327B CN115361327B CN202211201062.XA CN202211201062A CN115361327B CN 115361327 B CN115361327 B CN 115361327B CN 202211201062 A CN202211201062 A CN 202211201062A CN 115361327 B CN115361327 B CN 115361327B
- Authority
- CN
- China
- Prior art keywords
- ncsi
- command
- tested
- network card
- configuration file
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 30
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 9
- CQIZBIFTOGBKDB-UHFFFAOYSA-N 4-cyclohexyl-1-methyl-3,6-dihydro-2h-pyridine Chemical compound C1N(C)CCC(C2CCCCC2)=C1 CQIZBIFTOGBKDB-UHFFFAOYSA-N 0.000 description 9
- 101100076239 Drosophila melanogaster Mctp gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网卡测试领域,具体公开一种自动化测试网卡NCSI命令的方法、装置、终端及介质,编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令;将配置文件输入给测试脚本,执行测试脚本触发测试,包括:调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块;内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡;待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。本发明实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
Description
技术领域
本发明涉及网卡测试领域,具体涉及一种自动化测试网卡NCSI命令的方法、装置、终端及介质。
背景技术
服务器上会配备一个或多个网卡,大部分网卡支持NCSI功能,该技术可以使管理系统(BMC)与主机系统(CPU)共用网卡上的物理网口,通过一个网口就可以同时做管理操作和业务处理,简化组网,节省交换机端口。
图1所示为当前支持NCSI功能的网卡应用示意图,目前带有NCSI功能的网卡在服务器上的应用已经非常成熟普遍,BMC可以利用NCSI功能,轻松访问到外部管理网络。
然而,当前BMC与网卡之间NCSI协议的通信,是已经固化在BMC系统代码里面,并不能抽象出来作为一个单独的模块来使用。 NCSI功能的实现完全依赖于网卡本身的固件,当服务器厂商打算引入一款新的网卡时,BMC并没有一个快速有效的办法对网卡的NCSI功能进行验证。当前的办法是每引入一款网卡,bmc开发工程师就需要针对该网卡所支持的NCSI命令,开发对应的验证版本。 目前主流网卡包括OCP3.0规格以及PCIE规格,其NCSI的底层通信技术也不一样,有的支持NCSI over RBT,有的支持NCSI over MCTP,有的两者都支持,每次针对不同网卡,开发对应的BMC验证版本,要耗费大量人力和时间,会严重影响主线版本的开发进度。
发明内容
为解决上述问题,本发明提供一种自动化测试网卡NCSI命令的方法、装置、终端及介质,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
第一方面,本发明的技术方案提供一种自动化测试网卡NCSI命令的方法,其包括以下步骤:
编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令;
将配置文件输入给测试脚本,执行测试脚本触发测试,包括:
调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块;
内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡;
待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
进一步地,该方法具体包括:
命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块;
待测网卡处理完命令后,将处理结果返回给内核模块,内核模块将处理结果发送给驱动节点,测试脚本从驱动节点获取获取结果生成报告。
进一步地,驱动节点包括命令下发节点和数据读取节点,其中命令下发节点将待测NCSI命令下发至内核模块,数据读取节点接收处理结果。
进一步地,该方法具体包括:
命令行工具遍历配置文件中的待测NCSI命令,将待测NCSI命令下发至驱动节点;
驱动节点根据配置文件中的底层NCSI通信协议选择相应的内核模块进行待测NCSI命令的下发。
进一步地,内核模块包括支持RMII以太网报文通信的内核模块和支持SMBUS通信的内核模块。
进一步地,触发测试后,调取命令行工具之前还包括以下步骤:
检测待测网卡是否存在;
若不存在,则测试失败并退出测试流程;
若存在,则检测待测网卡的底层NCSI通信协议与配置文件中的底层NCSI通信协议是否匹配;
若匹配,则继续执行测试;
若不匹配,则测试失败并退出测试流程。
进一步地,配置文件中还包括待测网卡类型。
第二方面,本发明的技术方案提供一种自动化测试网卡NCSI命令的装置,包括,
配置文件编辑单元:编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令;
测试脚本执行单元:将配置文件输入给测试脚本,执行测试脚本触发测试;
其中,测试脚本执行单元包括,
命令下发子单元:调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块;
命令封装子单元:内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡;
结果获取子单元:待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
第三方面,本发明的技术方案提供一种终端,包括:
存储器,用于存储自动化测试网卡NCSI命令的程序;
处理器,用于执行所述自动化测试网卡NCSI命令的程序时实现如上述任一项所述自动化测试网卡NCSI命令的方法的步骤。
第四方面,本发明的技术方案提供一种计算机可读存储介质,所述可读存储介质上存储有自动化测试网卡NCSI命令的程序,所述自动化测试网卡NCSI命令的程序被处理器执行时实现如上述任一项所述自动化测试网卡NCSI命令的方法的步骤。
本发明提供的一种自动化测试网卡NCSI命令的方法、装置、终端及介质,相对于现有技术,具有以下有益效果:将通讯协议单独为内核模块,并结合测试脚本、命令行工具等,将NCSI命令下发至待测网卡进行测试,内核模块根据通讯以下配置,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是为当前支持NCSI功能的网卡应用示意图。
图2是本发明实施例提供的一种自动化测试网卡NCSI命令的方法流程示意图。
图3是本发明实施例提供的一种自动化测试网卡NCSI命令的方法的一具体实施例的总体架构示意图。
图4是本发明实施例提供的一种自动化测试网卡NCSI命令的方法的一具体实施例的流程示意图。
图5是本发明实施例提供的一种自动化测试网卡NCSI命令的装置结构示意框图。
图6是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2是本发明实施例提供的一种自动化测试网卡NCSI命令的方法流程示意图,如图2所示,该方法包括以下步骤。
S1,编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令。
配置文件由测试人员根据测试需求进行编辑,根据待测网卡的属性配置底层NCSI通信协议,后续根据底层NCSI通信协议选择内核模块。同时根据要测试的内容配置待测NCSI命令,待测网卡执行这些命令,返回执行结果,从而验证待测网卡的NCSI功能。
S2,将配置文件输入给测试脚本,执行测试脚本触发测试。
将配置文件编辑完后,将配置文件输入给测试脚本,由测试脚本触发并控制测试流程,配置文件中的数据作为测试参数供测试使用,具体测试流程包括以下几个步骤。
S201,调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块。
需要说明的是,本实施例会配置多个内核模块,每个内核模块对应一类通信协议。当前,主流支持NCSI功能的网卡包括OCP网卡和PCIE网卡,OCP网卡底层是通过RMII以太网报文的形式传输数据,PCIE网卡底层最终走的是SMBUS通信,不同网卡有不同的通信协议,因此设置与各个通信协议适配的内核模块,进行测试时,根据待测网卡的通信协议选择相应的内核模块。相应的,内核模块可包括支持RMII以太网报文通信的内核模块和支持SMBUS通信的内核模块。当然可以理解的是,如果有其他通信协议的网卡,相应再增加适配其通信协议的内核模块。
本实施例配置命令行工具来将待测NCSI命令下发至内核模块,该命令行工具可以是二进制程序,可以下发各种NCSI命令。
S202,内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡。
内核模块接收到待测NCSI命令,然后会调取处理函数将命令封包,再将封包的命令以配置文件中的底层NCSI通信协议,传输给待测网卡。可以理解的是,内核模块与待测网卡之间,以待测网卡支持的通信协议进行通信,可实现数据的正常传输。
S203,待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
待测网卡接收到封包命令,执行命令,获得处理结果,之后测试脚本会获取处理结果并生成报告发送给远端服务器,供测试人员查看保存等。
本发明实施例提供的一种自动化测试网卡NCSI命令的方法,将通讯协议单独为内核模块,并结合测试脚本、命令行工具等,将NCSI命令下发至待测网卡进行测试,内核模块根据通讯以下配置,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
在上述实施例基础上,作为优选的实施方式,命令行工具与内核模块之间通过驱动节点进行数据的传输。
具体地,命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块。同时,待测网卡处理完命令后,将处理结果返回给内核模块,内核模块再将处理结果发送给驱动节点,测试脚本从驱动节点获取获取结果生成报告。
为实现驱动节点的数据收发,驱动节点设置命令下发节点和数据读取节点,其中命令下发节点将待测NCSI命令下发至内核模块,数据读取节点接收处理结果。
具体实施时,配置文件中的待测NCSI命令一般有多个,命令行工具遍历配置文件中的待测NCSI命令,依次下发。当然,可以等前一个待测NCSI命令执行完之后,再下发下一个待测NCSI命令,也可同时下发多个待测NCSI命令。具体下发规则可根据需求设定,不影响本实施例的实施。
在上述优选实施例基础上,命令行工具遍历配置文件中的待测NCSI命令,将待测NCSI命令下发至驱动节点,再由驱动节点根据配置文件中的底层NCSI通信协议选择相应的内核模块进行待测NCSI命令的下发。
在上述实施例基础上,作为优选的实施方式,再触发测试后,先检测测试是否可正常执行,包括以下步骤:
检测待测网卡是否存在;
若不存在,则测试失败并退出测试流程;
若存在,则检测待测网卡的底层NCSI通信协议与配置文件中的底层NCSI通信协议是否匹配;
若匹配,则继续执行测试;
若不匹配,则测试失败并退出测试流程。
即首先检测待测网卡是否存在,若不存在则无法进行测试,直接退出即可,若存在再判断待测网卡的底层NCSI通信协议是否与配置文件中的一致,避免待测需求与接入的网卡不匹配,在两者一致的情况下,再继续执行测试,两者不一致则直接退出测试流程。
在上述实施例基础上,作为优选的实施方式,在配置文件中还编辑待测网卡类型,可辅助测试信息的判断,以确定是否可正常执行测试。
为进一步理解本发明,以下提供一具体实施例对本发明进一下详细说明,图3是该具体实施例的总体架构示意图,该具体实施例通过修改BMC内核层、应用层代码,将各个命令抽象成驱动节点抛出到用户空间,再配合命令行工具(ncsiCmdTest工具)及测试脚本,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在将来引入新网卡时,对齐NCSI功能进行全面快速的测试验证。后续也仅需非常少的人力对这套方案进行维护,可以节省大量人力和时间成本。
该具体实施例的总体架构分为5个部分。
1、硬件上,目前主流网卡可分为OCP3.0网卡以及PCIE网卡。
OCP 3.0网卡:该类型网卡的NCSI实现方式,主要以NCSI over RBT为主,即BMC与OCP网卡之间的NCSI控制信息的通信,底层是通过RMII以太网报文的形式传输,极少数OCP网卡也支持NCSI over MCTP的方式。
PCIE网卡:该类型网卡的NCSI实现方式,为NCSI over MCTP,即BMC与网卡之间的NCSI控制信息的通信,是封装在MCTP通信协议的报文里,MCTP报文的物理层传输也可以有多种形式(SMBUS、PCIE),对于服务器PCIE网卡的NCSI消息来说,使用的是MCTP overSMBUS,即bmc与PCIE网卡之间的NCSI控制报文,底层最终走的是SMBUS通信。
2、内核层:需要能够支持两种类型网卡的NCSI通信协议内核模块。
NCSI over RBT模块:支持OCP3.0网卡的通信协议。
NCSI over MCTP模块:支持PCIE网卡的通信协议,封装底层SMBUS包、以及MCTP包,具备SMBUS总线发送、接收接口等。
3、/proc/sys 驱动节点:内核模块准备完毕后,要根据需求决定将来待测试的NCSI命令都有哪些。NCSI命令也包含两部分:标准协议命令以及厂商自定义的OEM命令。当前具体支持哪些命令也是由厂商提供的网卡固件决定的。在测试时,并不需要将全部的NCSI命令都覆盖到,要根据具体需求进行适配,每个命令开发对应的驱动程序,并向上层用户空间的/proc/sys 文件系统中抛出两个驱动节点:Req和Res。上层应用(ncsiCmdTest程序)通过Req节点下发NCSI命令,通过Res节点读取NCSI命令返回值。
4、应用层,ncsiCmdTest二进制程序,可以直接通过该命令行工具下发各种NCSI命令,包括一些标准协议命令,如get fwVersion、get linkStatus、aen enable等等,也可以通过raw命令形式直接发送厂家oem命令,如:
raw 0x50 0x0 0x0 0x1 0x57 0x4b
类似这样直接发送原始命令的十六进制字节序。该程序可以根据需求灵活改进,非常方便后期维护。
5、自动化测试脚本,使用shell编写自动化测试脚本,输入一个配置文件,包括待测网卡类型、底层NCSI通信协议、待测NCSI命令等相关内容,脚本执行完毕后会输出一个测试报告,并自动推送到远端服务器,供测试人员查询结果。
图4是该具体实施例的流程示意图,基于该具体实施例的总体架构执行以下步骤实现网卡NCSI命令测试。
(1)首先提供完整的配置文件:AutoTestCfg.ini,包括待测网卡类型、底层NCSI通信协议、待测NCSI命令、远程服务器IP地址等相关内容。
(2)执行自动化测试脚本AutoTest.sh,解析配置文件内容。
(3)根据配置内容,首先判断待测网卡是否在位;其次判断待测网卡的NCSI底层协议支持(over RBT或over MCTP)与配置是否一致。条件不成立则中断测试流程,条件成立则继续后面的流程。
(4)根据配置,遍历所有所有待测的NCSI命令,通过ncsiCmdTest逐条下发到Req驱动节点。
(5)内核收到上层应用传来的NCSI命令信息,根据当前网卡支持的NCSI协议类型,调用对应内核模块的处理函数,将NCSI封装成对应协议的报文,发送至网卡端。
(6)网卡收到命令,处理完毕后,将response报文发回BMC端,内核模块接收后将结果通过Res驱动节点抛出到用户空间。
(7)自动化脚本从Res节点拿到结果,整理最终测试结果形成报告,并推送到远端服务器。
上文中对于一种自动化测试网卡NCSI命令的方法的实施例进行了详细描述,基于上述实施例描述的自动化测试网卡NCSI命令的方法,本发明实施例还提供了一种与该方法对应的自动化测试网卡NCSI命令的装置。
图5是本发明实施例提供的一种自动化测试网卡NCSI命令的装置结构示意框图,如图5所示,该装置包括:配置文件编辑单元和测试脚本执行单元。
配置文件编辑单元:编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令。
测试脚本执行单元:将配置文件输入给测试脚本,执行测试脚本触发测试。
其中,测试脚本执行单元包括:命令下发子单元、命令封装子单元和结果获取子单元。
命令下发子单元:调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块。
命令封装子单元:内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡。
结果获取子单元:待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
本实施例的自动化测试网卡NCSI命令的装置用于实现前述的自动化测试网卡NCSI命令的方法,因此该装置中的具体实施方式可见前文中的自动化测试网卡NCSI命令的方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的自动化测试网卡NCSI命令的装置用于实现前述的自动化测试网卡NCSI命令的方法,因此其作用与上述方法的作用相对应,这里不再赘述。
图6为本发明实施例提供的一种终端装置600的结构示意图,包括:处理器610、存储器620及通信单元630。所述处理器610用于实现存储器620中保存的自动化测试网卡NCSI命令的程序时实现以下步骤:
S1,编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令。
S2,将配置文件输入给测试脚本,执行测试脚本触发测试。
S201,调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块。
S202,内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡。
S203,待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
本发明将通讯协议单独为内核模块,并结合测试脚本、命令行工具等,将NCSI命令下发至待测网卡进行测试,内核模块根据通讯以下配置,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
该终端装置600包括处理器610、存储器620及通信单元630。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器620可以用于存储处理器610的执行指令,存储器620可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器620中的执行指令由处理器610执行时,使得终端600能够执行以下上述方法实施例中的部分或全部步骤。
处理器610为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器610可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元630,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,这里所说的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
计算机存储介质存储有自动化测试网卡NCSI命令的程序,所述自动化测试网卡NCSI命令的程序被处理器执行时实现以下步骤:
S1,编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令。
S2,将配置文件输入给测试脚本,执行测试脚本触发测试。
S201,调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块。
S202,内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡。
S203,待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器。
本发明将通讯协议单独为内核模块,并结合测试脚本、命令行工具等,将NCSI命令下发至待测网卡进行测试,内核模块根据通讯以下配置,实现灵活可配置的NCSI自动化测试流程,仅需一次性投入,即可在引入新网卡时,对其NCSI功能进行全面快速的测试验证,节省人力,提高测试效率,提高主线版本开发进度。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (7)
1.一种自动化测试网卡NCSI命令的方法,其特征在于,包括以下步骤:
编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令;
将配置文件输入给测试脚本,执行测试脚本触发测试,包括:
调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块;
内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡;
待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器;
该方法具体包括:
命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块;
待测网卡处理完命令后,将处理结果返回给内核模块,内核模块将处理结果发送给驱动节点,测试脚本从驱动节点获取获取结果生成报告;
其中,驱动节点包括命令下发节点和数据读取节点,其中命令下发节点将待测NCSI命令下发至内核模块,数据读取节点接收处理结果;
所述命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块,具体包括:
命令行工具遍历配置文件中的待测NCSI命令,将待测NCSI命令下发至驱动节点;
驱动节点根据配置文件中的底层NCSI通信协议选择相应的内核模块进行待测NCSI命令的下发。
2.根据权利要求1所述的自动化测试网卡NCSI命令的方法,其特征在于,内核模块包括支持RMII以太网报文通信的内核模块和支持SMBUS通信的内核模块。
3.根据权利要求2所述的自动化测试网卡NCSI命令的方法,其特征在于,触发测试后,调取命令行工具之前还包括以下步骤:
检测待测网卡是否存在;
若不存在,则测试失败并退出测试流程;
若存在,则检测待测网卡的底层NCSI通信协议与配置文件中的底层NCSI通信协议是否匹配;
若匹配,则继续执行测试;
若不匹配,则测试失败并退出测试流程。
4.根据权利要求3所述的自动化测试网卡NCSI命令的方法,其特征在于,配置文件中还包括待测网卡类型。
5.一种自动化测试网卡NCSI命令的装置,其特征在于,包括,
配置文件编辑单元:编辑配置文件,配置文件中包括底层NCSI通信协议和待测NCSI命令;
测试脚本执行单元:将配置文件输入给测试脚本,执行测试脚本触发测试;
其中,测试脚本执行单元包括,
命令下发子单元:调取命令行工具,基于配置文件中的底层NCSI通讯协议选择内核模块,并将配置文件中的待测NCSI命令下发至选中的内核模块;
命令封装子单元:内核模块调用处理函数将待测NCSI命令封包,并传输至待测网卡;
结果获取子单元:待测网卡处理完命令后,获取处理结果生成报告,推送至远端服务器;
其中,命令下发子单元具体用于:命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块;
结果获取子单元具体用于:待测网卡处理完命令后,将处理结果返回给内核模块,内核模块将处理结果发送给驱动节点,测试脚本从驱动节点获取获取结果生成报告;
所述驱动节点包括命令下发节点和数据读取节点,其中命令下发节点将待测NCSI命令下发至内核模块,数据读取节点接收处理结果;
所述命令行工具遍历配置文件中的待测NCSI命令,通过驱动节点将待测NCSI命令下发至内核模块,具体包括:
命令行工具遍历配置文件中的待测NCSI命令,将待测NCSI命令下发至驱动节点;
驱动节点根据配置文件中的底层NCSI通信协议选择相应的内核模块进行待测NCSI命令的下发。
6.一种执行自动化测试网卡NCSI命令的终端,其特征在于,包括:
存储器,用于存储自动化测试网卡NCSI命令的程序;
处理器,用于执行所述自动化测试网卡NCSI命令的程序时实现如权利要求1-4任一项所述自动化测试网卡NCSI命令的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有自动化测试网卡NCSI命令的程序,所述自动化测试网卡NCSI命令的程序被处理器执行时实现如权利要求1-4任一项所述自动化测试网卡NCSI命令的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201062.XA CN115361327B (zh) | 2022-09-29 | 2022-09-29 | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201062.XA CN115361327B (zh) | 2022-09-29 | 2022-09-29 | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115361327A CN115361327A (zh) | 2022-11-18 |
CN115361327B true CN115361327B (zh) | 2023-08-08 |
Family
ID=84008333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211201062.XA Active CN115361327B (zh) | 2022-09-29 | 2022-09-29 | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115361327B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117614866A (zh) * | 2023-12-06 | 2024-02-27 | 深圳市联瑞电子有限公司 | 网卡功能测试装置及网卡功能测试方法 |
CN118694681A (zh) * | 2024-08-22 | 2024-09-24 | 北京集智达智能科技有限责任公司 | 网卡测试方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009076827A1 (zh) * | 2007-11-28 | 2009-06-25 | Huawei Technologies Co., Ltd. | 一种自动化测试方法、系统及一种测试设备 |
CN104598353A (zh) * | 2015-02-02 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种在线测试ncsi转接卡功能完整性的方法 |
CN104899150A (zh) * | 2015-06-30 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 基于面向对象的自动化测试方法及系统、和自动化平台 |
CN108365998A (zh) * | 2018-01-03 | 2018-08-03 | 郑州云海信息技术有限公司 | 一种验证ncsi稳定性的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060036907A1 (en) * | 2004-08-11 | 2006-02-16 | Emc Corporation | Area-and product-independent test automation system and method for automatically synchronizing tests of multiple devices |
US11095875B2 (en) * | 2017-12-16 | 2021-08-17 | Caavo Inc | Automatic testing of home entertainment automation systems for controlling connected devices |
-
2022
- 2022-09-29 CN CN202211201062.XA patent/CN115361327B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009076827A1 (zh) * | 2007-11-28 | 2009-06-25 | Huawei Technologies Co., Ltd. | 一种自动化测试方法、系统及一种测试设备 |
CN104598353A (zh) * | 2015-02-02 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种在线测试ncsi转接卡功能完整性的方法 |
CN104899150A (zh) * | 2015-06-30 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 基于面向对象的自动化测试方法及系统、和自动化平台 |
CN108365998A (zh) * | 2018-01-03 | 2018-08-03 | 郑州云海信息技术有限公司 | 一种验证ncsi稳定性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115361327A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115361327B (zh) | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 | |
US7287190B2 (en) | Simultaneous execution of test suites on different platforms | |
CN105868149B (zh) | 一种串口信息的传输方法和装置 | |
US7296190B2 (en) | Parallel text execution on low-end emulators and devices | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
US10261880B1 (en) | Error generation using a computer add-in card | |
CN110162435B (zh) | 一种服务器pxe启动测试方法、系统、终端及存储介质 | |
CN106970810A (zh) | 固件烧录方法和系统 | |
CN110405759B (zh) | 一种芯片控制系统 | |
CN112653600A (zh) | 基于usb网卡的网卡性能测试方法、装置及电子设备 | |
CN115277348B (zh) | 一种服务器管理方法、服务器及服务器管理系统 | |
US20220358270A1 (en) | Chip verification system and verification method therefor | |
CN113886153B (zh) | 一种基于容器的网卡压力测试方法及装置 | |
CN114338493A (zh) | 基于网络协议栈的ncsi测试方法、系统、装置及存储介质 | |
CN115712559A (zh) | 测试硬件管理软件的方法、装置及电子设备 | |
CN116056126A (zh) | 仿真测试方法、装置、计算机设备和计算机可读存储介质 | |
CN113691415B (zh) | 网络测试仪的调用方法、装置、设备以及存储介质 | |
CN109660386B (zh) | 一种半导体存储器老化测试系统软件升级方法 | |
JPH11143730A (ja) | コンピュータシステム装置の試験方法 | |
CN112162879A (zh) | 一种实时多核dsp软件的日志系统 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
US7016800B1 (en) | Centralized console API testing architecture | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 | |
CN113709270A (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 |