Tom Chen wrote:
Hi,

I am testing my GLDv3 network driver on Solaris10. In the test01 of NICDrv test, my driver often fails with "netperf: data send error: Broken pipe" error which causes waiting for some sessions completion to timeout. But, the test report seems indicate that some netperf sessions (3 of the total 20 for server 4G memory in the following example) were not successfully started in the beginning thus they will never finish.
I am wondering why it happens? The broken pipe error does not cause driver hang 
thus the test can continue and other tests are not affected.

I would check netstat for things like IP and TCP checksum
errors.  Also, if your NIC supports multiple tx/rx queues,
it is possible one of them is hung.  I saw behavior like this
when I was tracking a bug that would randomly hang an RX queue.
Unless the default queue was hung, things would mostly work,
depending on how traffic mapped to the stuck queue.
Note that netperf uses 2 connections, one TCP connection
for data, and another for the actual test, so a TCP test
will generally result in a handful of packets on one queue,
and a zillion on another.

You might also try running 20 copies of something like netperf
by hand, and see if you can reproduce it outside of NICDRV.
Sometimes NICDRV is doing funky stuff (like plumbing/unplumbing)
that can cause problems.


Drew
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to