Single Machine NDISTest Scripts

Hello everyone,

I’ve discovered NDISTest a little late into my driver’s development, and now I’m somewhat worriedly running these scripts against my driver being dogfooded and seeing failures. I’m trying to port a Linux driver to Windows, so a lot of this is excitingly new to me. I have an NDIS miniport driver running on a virtual machine, and it’s currently failing at 1c_Mini6PerfSend after running this command in my test environment:

ndtest.exe /auto /client /dvi /u /target:Miniport /tc:{virtual_driver_mac} /script:{1c_Mini6PerfSend.wsf}

The failure seems to be an uncaught assert in ndprot630.sys, which from the logs is probably happening because of:

CNDTPerformanceCommManager::WaitForSendsToComplete: Miniport is probably not send completing pending sends

This test runs a bunch of iterations, and in most of the iterations NBLs sent == NBLs send completed == NBL sends successful. Before I dive into my driver and see if there’s any way I could not be calling NdisMSendNetBufferListsComplete (feels unlikely), has anyone seen this before where it’s just been a timing issue? Where the test possibly isn’t waiting quite long enough for a slow virtual device to complete the send? If so are there any command line flags allowing me to extend the wait per iteration, and reduce the number of iterations?

Thanks!
David