[go: up one dir, main page]

CN107547304A - 网卡测试方法、装置及机器可读存储介质 - Google Patents

网卡测试方法、装置及机器可读存储介质 Download PDF

Info

Publication number
CN107547304A
CN107547304A CN201710569543.9A CN201710569543A CN107547304A CN 107547304 A CN107547304 A CN 107547304A CN 201710569543 A CN201710569543 A CN 201710569543A CN 107547304 A CN107547304 A CN 107547304A
Authority
CN
China
Prior art keywords
network interface
interface card
test data
test
data bag
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.)
Pending
Application number
CN201710569543.9A
Other languages
English (en)
Inventor
沈刚
邝金山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Unis Huashan Information Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unis Huashan Information Technologies Co Ltd filed Critical Unis Huashan Information Technologies Co Ltd
Priority to CN201710569543.9A priority Critical patent/CN107547304A/zh
Publication of CN107547304A publication Critical patent/CN107547304A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种网卡测试方法、装置及机器可读存储介质,其中,该方法应用于服务器,服务器中设置有网卡,网卡上的第一网口与第二网口直连,该方法包括:启用内核线程根据获取到的测试参数构建测试数据包,其中,测试参数中指定测试数据包的发送网口为第一网口;将内核线程构建的测试数据包,通过内核态中与第一网口对应的网络接口层通用接口发送给网卡,以使网卡从第一网口发送测试数据包,并从第二网口接收环回的测试数据包;在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,根据网卡统计数据确定网卡的状态,其中,网卡统计数据是网卡统计出的环回的测试数据包的统计数据。

Description

网卡测试方法、装置及机器可读存储介质
技术领域
本申请涉及网络通信技术领域,特别涉及一种网卡测试方法、装置及机器可读存储介质。
背景技术
网卡又称为网络接口板、或通信适配器、或网络适配器(Network Adapter)、或网络接口卡(NIC)。
在服务器中,网卡承担着业务输入输出窗口的角色。目前,服务器厂商通常会将采购的网卡作为部件组装到服务器中,并对网卡进行测试,以确保网卡的可用性和稳定性。
一种常用的网卡测试方法是配备一台环境交换机,服务器上的待测试网卡与交换机上的网口连接。服务器OS(Operating System,操作系统)在启动后ping(PacketInternet Groper,因特网包探索器)交换机网口所在的网关,即,通过被测网卡向交换机网口所在网关发送探测报文,根据ping的结果来确定网卡是否正常工作。但是,该方法需要配备环境交换机,测试成本较高。
发明内容
有鉴于此,本申请提供一种网卡测试方法、装置及机器可读存储介质。
具体地,本申请是通过如下技术方案实现的:
一方面,提供了一种网卡测试方法,该方法应用于服务器,服务器中设置有网卡,网卡上的第一网口与第二网口直连,该方法包括:
启用内核线程根据获取到的测试参数构建测试数据包,其中,测试参数中指定测试数据包的发送网口为第一网口;
将内核线程构建的测试数据包,通过内核态中与第一网口对应的网络接口层通用接口发送给网卡,以使网卡从第一网口发送测试数据包,并从第二网口接收环回的测试数据包;
在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,根据网卡统计数据确定网卡的状态,其中,网卡统计数据是网卡统计出的环回的测试数据包的统计数据。
另一方面,还提供了一种网卡测试装置,该装置应用于服务器,服务器中设置有网卡,网卡上的第一网口与第二网口直连,该装置包括:
构建单元,用于启用内核线程根据获取到的测试参数构建测试数据包,其中,测试参数中指定测试数据包的发送网口为第一网口;
发送单元,用于将内核线程构建的测试数据包,通过内核态中与第一网口对应的网络接口层通用接口发送给网卡,以使网卡从第一网口发送测试数据包,并从第二网口接收环回的测试数据包;
获取单元,用于在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,其中,网卡统计数据是网卡统计出的环回的测试数据包的统计数据;
状态确定单元,用于根据获取单元获取到的网卡统计数据确定网卡的状态。
又一方面,还提供了一种网卡测试装置,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述网卡测试方法。
又一方面,还提供了一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器:实现上述网卡测试方法。
通过本申请的以上技术方案,将待测网卡上的第一网口与第二网口直连,在发送测试数据包时,利用内核态中与第一网口对应的网络接口层通用接口将测试数据包发送给网卡,网卡会从第一网口上发出该测试数据包,并从第二网口上接收环回的测试数据包,在所有测试数据包均发送完成后,直接从网卡中获取网卡对接收到的环回测试数据包进行统计得到的网卡统计数据,根据该网卡统计数据即可确定网卡的状态,即网卡是否正常工作。使用上述方法对网卡进行测试,无需配备额外的设备,降低了测试成本,并且,由于利用了现有的网卡对接收数据包进行统计的数据来确定待测网卡的状态,测试方法更加简便和易用,而且很容易进行错误定位。
附图说明
图1是本申请实施例示出的待测网卡上的网口采用自环方式连接的示意图;
图2是本申请实施例示出的待测网卡上的网口采用对接方式连接的示意图;
图3是本申请实施例示出的网卡测试方法的流程图;
图4是本申请实施例示出的Linux中的网络架构模型图;
图5是本申请实施例示出的测试数据包发送流程图;
图6是本申请实施例示出的网卡测试装置的硬件结构示意图;
图7是本申请实施例示出的网卡测试装置的功能划分结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
现有技术的网卡测试方法需要配备环境交换机,测试成本较高。为了解决现有技术中存在的上述问题,本申请实施例中提供了一种网卡测试方法,该方法无需额外配备任何设备,从而降低了测试成本,应用范围较大,并且对任意网卡均使用。
在本申请实施例的方法中,待测网卡安装在运行了操作系统的服务器中,该网卡上的第一网口与第二网口直连,其中,第一网口与第二网口可以是同一网口,也可以是不同网口。
如图1所示,当第一网口和第二网口是同一网口时,该网口的TX(发送)线与RX(接收)线直连,此种连接方式可以称为自环。此时,网口上需要安装自环头,来实现同一网口的TX线和RX线直连,数据包从该网口的TX线发出后,从该网口的RX线环回。
如图2所示,当第一网口和第二网口不是同一网口时,第一网口的TX线与第二网口的RX线直连,第一网口的RX线与第二网口的TX线直连,此种连接方式可以称为对接。此时,数据包从第一网口的TX线发出后,从第二网口的RX线环回;数据包从第二网口的TX线发出后,从第一网口的RX线环回。
可见,无论是采用自环的连接方式,还是采用对接的连接方式,服务器从待测网卡发出的数据包还会从该网卡环回到服务器中。
基于此,如图3所示,本申请实施例的网卡测试方法包括以下步骤:
步骤S301,启用内核线程根据获取到的测试参数构建测试数据包,其中,测试参数中指定测试数据包的发送网口为第一网口;
其中,可以向用户态获取上述测试参数,或者,也可以采用手动静态配置的方式获取上述测试参数。
步骤S302,将内核线程构建的测试数据包,通过内核态中与第一网口对应的网络接口层通用接口发送给网卡,以使网卡从第一网口发送测试数据包,并从第二网口接收环回的测试数据包;
其中,测试参数中指定了测试数据包的发送网口为第一网口,在执行步骤S302时,由于物理网口与内核态中的网络接口层通用接口存在一一对应关系,因此,可以确定出与测试参数中指定的第一网口对应的网络接口层通用接口,从而,将测试数据包通过确定出的网络接口层通用接口发送给网卡,由网卡从与该确定出的网络接口层通用接口对应的第一网口发出该测试数据包。
步骤S303,在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,根据网卡统计数据确定网卡的状态,其中,网卡统计数据是网卡统计出的环回的测试数据包的统计数据。
另外,在所有测试数据包均发送完成后,还可以从网卡的错误寄存器或CPU的错误寄存器中,获取网卡与CPU之间的传输总线的错误统计数据,根据传输总线的错误统计数据确定网卡的状态,其中,传输总线的错误统计数据是环回的测试数据包通过传输总线传送给CPU时的错误数据。
在实际实施过程中,网卡与CPU之间的传输总线具体可以是PCIE(PeripheralComponent Interconnect Express,快速外设部件互连标准)总线。服务器上运行的操作系统具体可以是Linux、Unix、Windows等操作系统。
本申请上述实施例中,将待测网卡上的第一网口与第二网口直连,在发送测试数据包时,利用内核态中与第一网口对应的网络接口层通用接口将测试数据包发送给网卡,网卡会从第一网口上发出该测试数据包,并从第二网口上接收环回的测试数据包,在所有测试数据包均发送完成后,直接从网卡中获取网卡对接收到的环回测试数据包进行统计得到的网卡统计数据,和/或直接从网卡的错误寄存器或CPU的错误寄存器中获取网卡与CPU之间的传输总线的错误统计数据,根据这些统计数据即可确定网卡的状态,即网卡是否正常工作。使用上述方法对网卡进行测试,无需配备额外的设备,降低了测试成本,并且,由于利用了现有的网卡对接收数据包进行统计的数据、以及现有的传输总线的错误统计数据,来确定待测网卡的状态,测试方法更加简便和易用,而且很容易进行错误定位。
下面以服务器中运行Linux操作系统为例,详细说明上述实施例的网卡测试方法。如图4所示,Linux中网络架构模型为四层模型,包括:网络接口层、网际互联层、传输层、以及应用层,其中,网络接口层进一步包括标准七层模型中的物理层和数据链路层。
1、测试数据包的发送
在Linux操作系统中,考虑到存在数据包环回的情况,即,服务器发出的数据包环回到服务器,并且,为了减少环回过程中数据包在外部网络中的传输消耗(例如,传输时间消耗等),在网际互联层实现了一个虚拟的网络设备:Loopback(环回)设备,Loopback设备可以模拟数据包的环回过程,即,数据包不会真正的从网卡发出,而是由Loopback设备模拟数据包的封装发送和接收解封装过程。可见,通过网际互联层以上层级的接口发送的需要环回的数据包,都不会从网卡上发出。
但是,本申请实施例中对网卡进行测试时发送的测试数据包需要从网卡上发出,还需要进行环回,因此,本申请实施例中选择从网络接口层通用接口发送测试数据包。具体的,网络接口层通用接口可以是内核态(也称为内核)中的网络接口层结构体net_device中的ndo_start_xmit接口。其中,网络接口层结构体net_device与网口一一对应,从而,ndo_start_xmit接口与网口也就存在一一对应关系。
网络接口层结构体net_device中存储有与该结构体对应的网口的相关参数,并向驱动层(属于网络接口层中的数据链路层)提供定义好的通用接口,该通用接口即为ndo_start_xmit接口。
一种实施例中,测试人员采用手动静态配置的方式,将测试参数配置到内核态中,从而完成网卡测试。
另一种实施例中,可以由用户态将测试参数传送给内核态,从而完成网卡测试。此时,由于ndo_start_xmit接口在内核态中,因此,需要实现用户态到内核态的切换,以便接收用户态传送的测试参数,然后根据该测试参数构建测试数据包,最终将构建的测试数据包通过ndo_start_xmit接口发送到网卡。本申请实施例中,需要实现以下功能:
(1)定制网卡测试所需的测试参数
预先定制可接收识别的测试参数,其中,测试参数中包括:需要发送的测试数据包的包类型、发包时间间隔、发包数量N、以及需要启用的一个以上内核线程的标识,测试数据包的发送网口的标识等。其中,N为大于1的正整数。
上述包类型具体可以是UDP(User Datagram Protocol,用户数据报协议)、TCP(Transmission Control Protocol,传输控制协议)、HTTP(Hyper Text TransferProtocol,超文本传输协议)等。
(2)建立测试参数的传送通道
由于测试参数的实际赋值是由测试人员来配置的,测试人员在服务器中输入测试参数的赋值后,此时测试参数位于用户态中,则需要通过传送通道向用户态获取测试参数,以便后续根据该测试参数对网卡进行测试。具体的,可以采用以下两种方式中的任一种建立上述传送通道:
方式一:通过向内核态注册虚拟设备的方式,在用户态中生成与该虚拟设备对应的设备节点,该设备节点即为上述传送通道。
此时,可以使用ioctl(输入输出控制)方法通过该设备节点向用户态获取测试参数。
方式二:在用户态中设置proc虚拟文件,该proc虚拟文件即为上述传送通道。
此时,可以从proc虚拟文件中读取用户态写入的测试参数。
(3)创建内核线程
建立内核线程池,内核线程池中的内核线程数等于服务器中的CPU线程数,内核线程与CPU线程一一绑定。
其中,内核线程的功能主要包括:根据获取到的测试参数构建测试数据包,以便由与该内核线程绑定的CPU线程调用ndo_start_xmit接口将该测试数据包发送出去。
假设,待测网卡上的网口连接方式采用自环方式,由此,本申请实施例中发送测试数据包的流程如图5所示,包括以下步骤:
步骤S501,向用户态获取测试参数,其中,测试参数中包括:需要发送的测试数据包的包类型为UDP、发包时间间隔为1毫秒、发包数量N为10000、需要启用的2个内核线程的标识为process1_1和process1_2、以及测试数据包的发送网口的标识为PortA。
步骤S502,启用内核线程process1_1和process1_2中的每个内核线程,根据测试数据包的包类型UDP和发包数量N=10000,来构建10000个UDP数据包。
另外,在启用内核线程之前,还需要将需要启用的内核线程与测试数据包的发送网口PortA进行绑定,从而,与该内核线程绑定的CPU线程可以调用网口PortA对应的ndo_start_xmit接口发送测试数据包。
步骤S503,与内核线程process1_1绑定的CPU线程将内核线程process1_1构建的UDP数据包,按照1毫秒的发包时间间隔,通过网口PortA对应的ndo_start_xmit接口发送给待测网卡,以使待测网卡从网口PortA发送UDP数据包,并从网口PortA接收环回的UDP数据包;并且,与内核线程process1_2绑定的CPU线程也会执行该步骤。
在所有UDP数据包均发送完成后,会关闭内核线程process1_1和内核线程process1_2。
本申请实施例中,测试数据包是由内核线程构建的,而且,测试数据包从ndo_start_xmit接口上通过驱动层发给网卡,测试数据包并不经过协议栈,因此,可以发送任意类型的测试数据包。
2、测试数据包的接收、以及网卡测试结果分析
在实际实施过程中,网卡接收到数据包后,会对接收到的数据包进行统计,例如,存在数据丢失(drop)的数据包(即该数据包不完整)的数量、CRC(Cyclic RedundancyCheck,循环冗余校验)校验不通过的数据包的数量、接收到的单播数据包的数量、接收到的非单播数据包的数量等。通过分析上述统计数据即可获知网卡(包括数据包的发送网口和接收网口)和传输链路(即发送网口与接收网口之间的物理连线)组成的部分是否存在缺陷。
后续,网卡会将接收到的数据包,通过网卡与CPU之间的传输总线(例如,PCIE总线)传送给CPU,从而最终保存到内存中,在通过该传输总线进行传送的过程中,网卡和CPU会对该传输总线上传送的数据包进行错误统计,从而将错误统计数据保存到各自的寄存器中。例如,PCIE标准中规定了两种错误类别:致命错误和非致命错误,其中,非致命错误中又进一步包括:可恢复错误和不可恢复错误。通过分析上述的错误统计数据即可获知网卡和该传输总线组合的部分是否存在缺陷。在实际实施过程中,由于网卡和CPU均会对该传输总线上传送的数据包进行错误统计,两者统计得到的错误统计数据一致,因此,从网卡对应的寄存器或CPU对应的寄存器中获取上述错误统计数据均可。
基于此,本申请实施例的测试数据包接收统计和网卡状态分析流程如下:
在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,其中,网卡统计数据中包括:存在数据丢失的测试数据包数量、校验不通过的测试数据包数量、接收到的环回测试数据包数量。由于在实际实施过程中,发送的测试数据包通常为单播数据包,因此,接收到的环回测试数据包数量就是单播数据包的数量。若存在数据丢失的测试数据包数量不为0,说明有的测试数据包不完整,若校验不通过的测试数据包数量不为0,说明有的测试数据包出现了差错,若接收到的环回测试数据包数量与发送的测试数据包数量不一致,说明发出的部分测试数据包没有被接收,如果出现了上述现象,则判断出待测网卡、以及网口之间的物理连线组成的部分存在故障问题。即,可以定位出待测网卡和/或传输链路存在缺陷。
另外,在所有测试数据包均发送完成后,还可以从网卡的错误寄存器或CPU的错误寄存器中获取PCIE总线的错误统计数据,若根据获取到的传输总线的错误统计数据,确定出传输总线上传送的测试数据包存在错误,则判断出待测网卡和PCIE总线组成的部分存在故障问题。即,可以定位出待测网卡和/或PCIE总线存在缺陷。
通过上述方法,可以直接获取现有的网卡对接收数据包进行统计的数据、以及现有的PCIE总线的错误统计数据,利用这些统计数据确定待测网卡的状态,即确定待测网卡是否正常工作,测试方法更加简便和易用,而且很容易进行错误定位。
与前述网卡测试方法的实施例相对应,本申请还提供了网卡测试装置的实施例,该网卡测试装置可以应用在服务器上。图6为本申请实施例提供的网卡测试装置的硬件结构示意图。该网卡测试装置可包括处理器601、存储有机器可执行指令的机器可读存储介质602。处理器601与机器可读存储介质602可经由系统总线603通信。并且,通过读取并执行机器可读存储介质602中的机器可执行指令,处理器601可执行上文描述的网卡测试方法。
本文中提到的机器可读存储介质602可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图6中的机器可读存储介质602,所述机器可执行指令可由网卡测试装置中的处理器601执行以实现以上描述的网卡测试方法。如图7所示,从功能上划分,本申请实施例的网卡测试装置中包括:构建单元701、发送单元702、获取单元703和状态确定单元704,其中:
构建单元701,用于启用内核线程根据获取到的测试参数构建测试数据包,其中,测试参数中指定测试数据包的发送网口为网卡上的第一网口,第一网口与该网卡上的第二网口直连;
发送单元702,用于将内核线程构建的测试数据包,通过内核态中与第一网口对应的网络接口层通用接口发送给网卡,以使网卡从第一网口发送测试数据包,并从第二网口接收环回的测试数据包;
获取单元703,用于在所有测试数据包均发送完成后,从网卡中获取网卡统计数据,其中,网卡统计数据是网卡统计出的环回的测试数据包的统计数据;
状态确定单元704,用于根据获取单元703获取到的网卡统计数据确定网卡的状态。
其中,获取单元703,还用于在所有测试数据包均发送完成后,从网卡的错误寄存器或CPU的错误寄存器中,获取网卡与CPU之间的传输总线的错误统计数据,其中,传输总线的错误统计数据是环回的测试数据包通过传输总线传送给CPU时的错误数据;
状态确定单元704,还用于根据获取单元703获取到的传输总线的错误统计数据确定网卡的状态。
其中,测试参数中包括:需要发送的测试数据包的包类型、发包时间间隔、发包数量N、以及需要启用的一个以上内核线程的标识,N为大于1的正整数;
则,构建单元701具体用于通过以下方式启用内核线程根据获取到的测试参数构建测试数据包:启用一个以上内核线程中的每个内核线程来构建N个符合包类型的测试数据包;
发送单元702具体用于通过以下方式发送内核线程构建的测试数据包:针对每个被启用的内核线程,按照发包时间间隔发送该内核线程构建的测试数据包。
其中,网卡统计数据包括:存在数据丢失的测试数据包数量、校验不通过的测试数据包数量、接收到的环回测试数据包数量,则,
状态确定单元704具体用于通过以下方式根据网卡统计数据确定网卡的状态:若存在数据丢失的测试数据包数量不为0,或者,校验不通过的测试数据包数量不为0,或者,接收到的环回测试数据包数量与发送的测试数据包数量不一致,则确定网卡、以及第一网口与第二网口之间的物理连线组成的部分存在故障问题;
状态确定单元704具体用于通过以下方式根据传输总线的错误统计数据确定网卡的状态:若根据传输总线的错误统计数据,确定出传输总线上传送的测试数据包存在错误,则确定网卡和传输总线组成的部分存在故障问题。
其中,当第一网口和第二网口是同一网口时,该网口的发送TX线与接收RX线直连;当第一网口和第二网口不是同一网口时,第一网口的TX线与第二网口的RX线直连,第一网口的RX线与第二网口的TX线直连。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种网卡测试方法,其特征在于,应用于服务器,所述服务器中设置有网卡,所述网卡上的第一网口与第二网口直连,所述方法包括:
启用内核线程根据获取到的测试参数构建测试数据包,其中,所述测试参数中指定测试数据包的发送网口为所述第一网口;
将所述内核线程构建的测试数据包,通过内核态中与所述第一网口对应的网络接口层通用接口发送给所述网卡,以使所述网卡从所述第一网口发送测试数据包,并从所述第二网口接收环回的测试数据包;
在所有测试数据包均发送完成后,从所述网卡中获取网卡统计数据,根据所述网卡统计数据确定所述网卡的状态,其中,所述网卡统计数据是所述网卡统计出的所述环回的测试数据包的统计数据。
2.根据权利要求1所述的方法,其特征在于,在所有测试数据包均发送完成后,还包括:
从所述网卡的错误寄存器或CPU的错误寄存器中,获取所述网卡与所述CPU之间的传输总线的错误统计数据,根据所述传输总线的错误统计数据确定所述网卡的状态,其中,所述传输总线的错误统计数据是所述环回的测试数据包通过所述传输总线传送给所述CPU时的错误数据。
3.根据权利要求1所述的方法,其特征在于,所述测试参数中包括:需要发送的测试数据包的包类型、发包时间间隔、发包数量N、以及需要启用的一个以上内核线程的标识,N为大于1的正整数;
则,通过以下方式启用内核线程根据获取到的测试参数构建测试数据包:启用所述一个以上内核线程中的每个内核线程来构建N个符合所述包类型的测试数据包;
通过以下方式发送所述内核线程构建的测试数据包:针对每个被启用的内核线程,按照所述发包时间间隔发送该内核线程构建的测试数据包。
4.根据权利要求2所述的方法,其特征在于,所述网卡统计数据包括:存在数据丢失的测试数据包数量、校验不通过的测试数据包数量、接收到的环回测试数据包数量,则,
根据所述网卡统计数据确定所述网卡的状态,具体包括:若所述存在数据丢失的测试数据包数量不为0,或者,所述校验不通过的测试数据包数量不为0,或者,所述接收到的环回测试数据包数量与发送的测试数据包数量不一致,则确定所述网卡、以及所述第一网口与所述第二网口之间的物理连线组成的部分存在故障问题;
根据所述传输总线的错误统计数据确定所述网卡的状态,具体包括:若根据所述传输总线的错误统计数据,确定出所述传输总线上传送的测试数据包存在错误,则确定所述网卡和所述传输总线组成的部分存在故障问题。
5.根据权利要求1所述的方法,其特征在于,当所述第一网口和所述第二网口是同一网口时,该网口的发送TX线与接收RX线直连;
当所述第一网口和所述第二网口不是同一网口时,所述第一网口的TX线与所述第二网口的RX线直连,所述第一网口的RX线与所述第二网口的TX线直连。
6.一种网卡测试装置,其特征在于,应用于服务器,所述服务器中设置有网卡,所述网卡上的第一网口与第二网口直连,所述装置包括:
构建单元,用于启用内核线程根据获取到的测试参数构建测试数据包,其中,所述测试参数中指定测试数据包的发送网口为所述第一网口;
发送单元,用于将所述内核线程构建的测试数据包,通过内核态中与所述第一网口对应的网络接口层通用接口发送给所述网卡,以使所述网卡从所述第一网口发送测试数据包,并从所述第二网口接收环回的测试数据包;
获取单元,用于在所有测试数据包均发送完成后,从所述网卡中获取网卡统计数据,其中,所述网卡统计数据是所述网卡统计出的所述环回的测试数据包的统计数据;
状态确定单元,用于根据所述获取单元获取到的所述网卡统计数据确定所述网卡的状态。
7.根据权利要求6所述的装置,其特征在于,
所述获取单元,还用于在所有测试数据包均发送完成后,从所述网卡的错误寄存器或CPU的错误寄存器中,获取所述网卡与所述CPU之间的传输总线的错误统计数据,其中,所述传输总线的错误统计数据是所述环回的测试数据包通过所述传输总线传送给所述CPU时的错误数据;
所述状态确定单元,还用于根据所述获取单元获取到的所述传输总线的错误统计数据确定所述网卡的状态。
8.根据权利要求6所述的装置,其特征在于,所述测试参数中包括:需要发送的测试数据包的包类型、发包时间间隔、发包数量N、以及需要启用的一个以上内核线程的标识,N为大于1的正整数;
则,所述构建单元具体用于通过以下方式启用内核线程根据获取到的测试参数构建测试数据包:启用所述一个以上内核线程中的每个内核线程来构建N个符合所述包类型的测试数据包;
所述发送单元具体用于通过以下方式发送所述内核线程构建的测试数据包:针对每个被启用的内核线程,按照所述发包时间间隔发送该内核线程构建的测试数据包。
9.根据权利要求7所述的装置,其特征在于,所述网卡统计数据包括:存在数据丢失的测试数据包数量、校验不通过的测试数据包数量、接收到的环回测试数据包数量,则,
所述状态确定单元具体用于通过以下方式根据所述网卡统计数据确定所述网卡的状态:若所述存在数据丢失的测试数据包数量不为0,或者,所述校验不通过的测试数据包数量不为0,或者,所述接收到的环回测试数据包数量与发送的测试数据包数量不一致,则确定所述网卡、以及所述第一网口与所述第二网口之间的物理连线组成的部分存在故障问题;
所述状态确定单元具体用于通过以下方式根据所述传输总线的错误统计数据确定所述网卡的状态:若根据所述传输总线的错误统计数据,确定出所述传输总线上传送的测试数据包存在错误,则确定所述网卡和所述传输总线组成的部分存在故障问题。
10.根据权利要求6所述的装置,其特征在于,当所述第一网口和所述第二网口是同一网口时,该网口的发送TX线与接收RX线直连;
当所述第一网口和所述第二网口不是同一网口时,所述第一网口的TX线与所述第二网口的RX线直连,所述第一网口的RX线与所述第二网口的TX线直连。
11.一种网卡测试装置,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述权利要求1至5中任一项所述的网卡测试方法。
12.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述权利要求1至5中任一项所述的网卡测试方法。
CN201710569543.9A 2017-07-13 2017-07-13 网卡测试方法、装置及机器可读存储介质 Pending CN107547304A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710569543.9A CN107547304A (zh) 2017-07-13 2017-07-13 网卡测试方法、装置及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710569543.9A CN107547304A (zh) 2017-07-13 2017-07-13 网卡测试方法、装置及机器可读存储介质

Publications (1)

Publication Number Publication Date
CN107547304A true CN107547304A (zh) 2018-01-05

Family

ID=60970665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710569543.9A Pending CN107547304A (zh) 2017-07-13 2017-07-13 网卡测试方法、装置及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN107547304A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196798A (zh) * 2018-01-31 2018-06-22 紫光华山信息技术有限公司 一种raid控制卡配置方法及装置
CN110191380A (zh) * 2019-05-22 2019-08-30 苏州浪潮智能科技有限公司 一种基于Linux的蛇形流测试系统及方法
CN110505110A (zh) * 2018-05-18 2019-11-26 杭州海康威视数字技术股份有限公司 网络接口的测试方法、装置及多网口主机
CN111064553A (zh) * 2019-12-12 2020-04-24 苏州浪潮智能科技有限公司 交换机及其管理网口的环回诊断方法、装置及存储介质
CN111147330A (zh) * 2019-12-28 2020-05-12 国铁吉讯科技有限公司 络质量评估方法、装置、存储介质和处理器
CN111162966A (zh) * 2019-12-23 2020-05-15 广州视源电子科技股份有限公司 接收卡网口硬件的测试方法、装置、存储介质和处理器
CN111224847A (zh) * 2020-01-15 2020-06-02 广州视源电子科技股份有限公司 发送卡的网口测试方法及测试系统
CN111464378A (zh) * 2020-03-13 2020-07-28 苏州浪潮智能科技有限公司 一种服务器网卡双网速测试方法及系统
CN112235032A (zh) * 2020-09-17 2021-01-15 中国科学院西安光学精密机械研究所 基于时间服务的高光谱成像仪1553b总线通信方法
CN112260884A (zh) * 2020-09-25 2021-01-22 苏州浪潮智能科技有限公司 网卡自回路测试方法、系统、设备及可读存储介质
CN113489625A (zh) * 2021-07-21 2021-10-08 宁畅信息产业(北京)有限公司 网卡测试方法、装置、电子设备及计算机可读存储介质
CN113872826A (zh) * 2021-08-31 2021-12-31 苏州浪潮智能科技有限公司 网卡端口稳定性测试方法、系统、终端及存储介质
CN114236451A (zh) * 2021-11-29 2022-03-25 上海电气(集团)总公司智惠医疗装备分公司 一种基于磁共振谱仪的测试方法、装置及电子设备
CN114338474A (zh) * 2021-12-27 2022-04-12 南京创通微新通信有限公司 空口链路免仪表测试系统、方法及存储介质
CN114338457A (zh) * 2021-12-23 2022-04-12 绿盟科技集团股份有限公司 网卡切换有效性的测试系统、方法、装置、设备和介质
CN114363150A (zh) * 2021-12-28 2022-04-15 浪潮通信技术有限公司 服务器集群的网卡连通性监控方法及装置
CN117539704A (zh) * 2023-10-25 2024-02-09 中科驭数(北京)科技有限公司 板卡检测方法、装置、设备及介质
CN118694698A (zh) * 2024-08-23 2024-09-24 麒麟软件有限公司 一种国产操作系统检测网络设备状态并纠错的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163051A (zh) * 2006-10-13 2008-04-16 鸿富锦精密工业(深圳)有限公司 网卡传输速度测试系统及方法
US7519004B1 (en) * 2005-02-18 2009-04-14 Netowrk Appliance, Inc. Loopback testing of a network interface device from a user-space software layer
CN102571482A (zh) * 2011-11-28 2012-07-11 曙光信息产业(北京)有限公司 一种测试网卡稳定性的系统和方法
CN105207848A (zh) * 2015-09-25 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于嵌入式芯片的SerDes误码率检测方法及系统
CN105429895A (zh) * 2015-11-02 2016-03-23 汉柏科技有限公司 一种基于万兆网卡的报文传输方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519004B1 (en) * 2005-02-18 2009-04-14 Netowrk Appliance, Inc. Loopback testing of a network interface device from a user-space software layer
CN101163051A (zh) * 2006-10-13 2008-04-16 鸿富锦精密工业(深圳)有限公司 网卡传输速度测试系统及方法
CN102571482A (zh) * 2011-11-28 2012-07-11 曙光信息产业(北京)有限公司 一种测试网卡稳定性的系统和方法
CN105207848A (zh) * 2015-09-25 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于嵌入式芯片的SerDes误码率检测方法及系统
CN105429895A (zh) * 2015-11-02 2016-03-23 汉柏科技有限公司 一种基于万兆网卡的报文传输方法及系统

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196798B (zh) * 2018-01-31 2021-03-23 新华三信息技术有限公司 一种raid控制卡配置方法及装置
CN108196798A (zh) * 2018-01-31 2018-06-22 紫光华山信息技术有限公司 一种raid控制卡配置方法及装置
CN110505110A (zh) * 2018-05-18 2019-11-26 杭州海康威视数字技术股份有限公司 网络接口的测试方法、装置及多网口主机
CN110191380A (zh) * 2019-05-22 2019-08-30 苏州浪潮智能科技有限公司 一种基于Linux的蛇形流测试系统及方法
CN111064553A (zh) * 2019-12-12 2020-04-24 苏州浪潮智能科技有限公司 交换机及其管理网口的环回诊断方法、装置及存储介质
CN111162966A (zh) * 2019-12-23 2020-05-15 广州视源电子科技股份有限公司 接收卡网口硬件的测试方法、装置、存储介质和处理器
CN111147330A (zh) * 2019-12-28 2020-05-12 国铁吉讯科技有限公司 络质量评估方法、装置、存储介质和处理器
CN111224847B (zh) * 2020-01-15 2023-02-28 西安青松光电技术有限公司 发送卡的网口测试方法及测试系统
CN111224847A (zh) * 2020-01-15 2020-06-02 广州视源电子科技股份有限公司 发送卡的网口测试方法及测试系统
CN111464378A (zh) * 2020-03-13 2020-07-28 苏州浪潮智能科技有限公司 一种服务器网卡双网速测试方法及系统
CN112235032A (zh) * 2020-09-17 2021-01-15 中国科学院西安光学精密机械研究所 基于时间服务的高光谱成像仪1553b总线通信方法
CN112260884A (zh) * 2020-09-25 2021-01-22 苏州浪潮智能科技有限公司 网卡自回路测试方法、系统、设备及可读存储介质
CN113489625A (zh) * 2021-07-21 2021-10-08 宁畅信息产业(北京)有限公司 网卡测试方法、装置、电子设备及计算机可读存储介质
CN113872826B (zh) * 2021-08-31 2023-02-28 苏州浪潮智能科技有限公司 网卡端口稳定性测试方法、系统、终端及存储介质
CN113872826A (zh) * 2021-08-31 2021-12-31 苏州浪潮智能科技有限公司 网卡端口稳定性测试方法、系统、终端及存储介质
CN114236451A (zh) * 2021-11-29 2022-03-25 上海电气(集团)总公司智惠医疗装备分公司 一种基于磁共振谱仪的测试方法、装置及电子设备
CN114236451B (zh) * 2021-11-29 2023-09-12 上海电气(集团)总公司智惠医疗装备分公司 一种基于磁共振谱仪的测试方法、装置及电子设备
CN114338457B (zh) * 2021-12-23 2023-12-01 绿盟科技集团股份有限公司 网卡切换有效性的测试系统、方法、装置、设备和介质
CN114338457A (zh) * 2021-12-23 2022-04-12 绿盟科技集团股份有限公司 网卡切换有效性的测试系统、方法、装置、设备和介质
CN114338474A (zh) * 2021-12-27 2022-04-12 南京创通微新通信有限公司 空口链路免仪表测试系统、方法及存储介质
CN114363150A (zh) * 2021-12-28 2022-04-15 浪潮通信技术有限公司 服务器集群的网卡连通性监控方法及装置
CN114363150B (zh) * 2021-12-28 2024-05-14 浪潮通信技术有限公司 服务器集群的网卡连通性监控方法及装置
CN117539704A (zh) * 2023-10-25 2024-02-09 中科驭数(北京)科技有限公司 板卡检测方法、装置、设备及介质
CN118694698A (zh) * 2024-08-23 2024-09-24 麒麟软件有限公司 一种国产操作系统检测网络设备状态并纠错的方法

Similar Documents

Publication Publication Date Title
CN107547304A (zh) 网卡测试方法、装置及机器可读存储介质
CN110351156B (zh) 一种测试方法和装置
US6408335B1 (en) Methods, systems and computer program products for endpoint pair based communications network performance testing
US5881237A (en) Methods, systems and computer program products for test scenario based communications network performance testing
US6061725A (en) Endpoint node systems computer program products for application traffic based communications network performance testing
US8233399B2 (en) Generic packet generator and method
US8042004B2 (en) Diagnosing communications between computer systems
US20110282642A1 (en) Network emulation in manual and automated testing tools
CN102882746B (zh) Openflow交换机系统中流表添加速率的测试方法及系统
US9641419B2 (en) Methods and systems for providing background pretesting of communications or storage network equipment
CN109194551B (zh) 一种实时以太网设备性能测试方法、装置及系统
CN102118230A (zh) 一种基于ttcn的网络协议性能测试方法
CN102291274B (zh) 一种实现网络测试仪表自动适配的系统及方法
CN101800672B (zh) 设备检测方法和设备
CN107294814A (zh) 一种片上网络的测试方法及装置
CN108111367A (zh) 性能测试方法及装置
CN109246159A (zh) 一种验证安全策略的方法和装置
US9985864B2 (en) High precision packet generation in software using a hardware time stamp counter
US8966321B2 (en) Logical port and layer protocol test configuration resource manager
CN108562805A (zh) 一种交互式通断电测试装置、系统及方法
CN108595320A (zh) 一种测试方法及装置
CN109299195A (zh) 数据处理方法、装置及存储介质
Amer et al. Estelle formal specification of ISO virtual terminal
CN110519116B (zh) 循环冗余校验码存储比较模块及交换设备性能测试系统
CN119011406B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Xinhua Sanxin Information Technology Co., Ltd.

Address before: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Huashan Information Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180105