E2EPerf WHQL Failure

I am facing a failure in the E2EPerf test of NDISTest while validating a virtual network interface driver on Windows Server 2022.

Initially, packets are sent successfully and ACKs are received. However, when the buffer size reaches 2056 bytes, the client sends the packet but does not receive an ACK from the server. Packet captures using Wireshark show that the server does receive the 2056-byte packet, but it does not immediately send an ACK. On retry, the ACK may be sent, but the retries continue repeatedly and eventually the test fails.

This issue is observed across multiple Windows OS versions, not just Windows Server 2022. Smaller packet sizes work correctly.

Has anyone encountered similar issues with E2EPerf packet size handling or ACK behavior in virtual NIC drivers?

  • UDP packet started flowing on IPV6, following buffer size transfer and ack received

    • buffer size=48, send data size=28, datasize+backfill=48

      buffer size=120, send data size=100, datasize+backfill=120

      buffer size=136, send data size=116, datasize+backfill=136

      buffer size=312, send data size=292, datasize+backfill=312

      buffer size=336, send data size=316, datasize+backfill=336

      buffer size=384, send data size=364, datasize+backfill=384

      buffer size=904, send data size=884, datasize+backfill=904

  • Failure seen for buffer size 2056, however server recieved data but not ack, but subsequent retries i see acks but test case failed.

    • buffer size=2056, send data size=2036, datasize+backfill=2056

| NDISTest.NDISTestCore.TestServices.NDISTestExceptionMessageFailed to send command to remote DCB Traffic Generator. Status 0x5b4SourceNDISTest.DCBStack Traceat NDISTest.Components.Dcb.RemoteDcbTrafficGenerator.Start(_TRAFFIC_STREAM_CONFIG* pConfigArray, UInt32 ConfigCount, UInt32 StartupTimeoutMs, UInt32 TrafficDurationMs)
at PerfVariation.Run(PerfModuleCollection PerfModules, PerfResultCollection& ResultCollection)
at E2EPerf.DoVariations(IEnumerable`1 Variations, IAdapter Sender, IAdapter Receiver)
at E2EPerf.Start()

at NDISTest.NDISTestCore.TestServices.TestBase.StartTest()

Server:

Client:

Leave it this issue IPV6 routing issue.. disabled IPV6 test passed.. keeping question like this it may be helpful for somebody