About Network direct QueuePair Flush API

when there is not finished send/receive request in a queue pair, Flush API is called to cancel unfinished send/receive request; but if I continue to use the queue pair to send data, then the send request will also be cancelled, is it normal?

After call Flush, pending request is cancelled, I can understand this. I call Sleep for a very long time to make sure all pending requests are cancelled. Then I call send request, but it is still cancelled, I think it is abnormal, is it right?

Hi ,

It’s general question.

Please provide the below to better understand the issue

  • Which Network adapter are you using ?
  • Topology ? 2 servers and switch ?
  • Which Switch type ?
  • are you asking about customized application ? is it based on Infiniband or Ethernet stack ?

NVIDIA Enterprise Support

Information I can find:
Mellanox ConnectX-5 Adapter card, 25Gbps is used;
I run it with two win10 workplace PC;
It is based on Ethernet stack.

Please open a support ticket to enterprisesupport@nvidia.com

Yes, after using the Flush API to cancel incomplete send or receive requests, it is normal for any new send requests made afterward to also be cancelled.

Thanks for your kind reply! If I want to reuse the QP, do you know what operations should we do?