[netperf-talk] Netperf for data integrity
Andrew Gallatin
gallatin at cs.duke.edu
Tue May 15 09:27:59 PDT 2012
On 05/15/12 10:59, Powers, Joshua wrote:
> Hi,
>
> I have a question regarding using Netperf to validate network data
> integrity. For example, let's say I get a new network driver during
> development and I want to make sure it is passing data and no
> corruption is occurring. Could I run Netperf and simply check various
> network statistics?
>
> In a short conversation with some co-workers, what we started
> thinking about was something that transfers various files back and
> forth between two systems and checking the MD5 sum of each of these
> files after each transfer, but if I could do this with a tool that
> already exists or using Netperf and checking statistics that would be
> preferable.
I do not believe that netperf verifies the end-to-end checksum, though
Rick may have added something, or somebody may have local patches.
Using the the network stack counters will not be enough. Consider
a driver or chip bug which caused a packet with a bad checksum
to be flagged as good. Or consider some transmit bug where the
driver gives the NIC an incorrect buffer to send so it sends
the start of a TCP packet, but with random garbage in the payload.
If transmit checksum offload is enabled, then the bug will go
undetected because the NIC will think that garbage buffer is
part of the real packet.
I personally use netcat (nc) to transfer files & check for corruption
via md5 for new drivers & regression tests. Later, I use NFS
over TCP and UDP, again with md5 hash verification.
Also, the ssh utilities have fairly strong data integrity.
So scp / sftp will generally stall if there is a NIC / driver
bug which causes corruption.
Drew
More information about the netperf-talk
mailing list