about the function of verbs API ibv_exp_peer_commit_qp and ibv_exp_peer_peek_cq

I ran into this two API recently when I browsed code from github but I never used before.

I have found some explanation of these API in source code of libibverbs, but still feeled confused about the “descriptors” which was mentioned in code comments.

So, what’s the action of these API? And what’s the “descriptors” exactly is?

Thank you very much.

addition, why can ibv_exp_post_send send a wr without ringing the doorbell? I find nothing special member in the ibv_exp_send_wr structure.

Any one knows it?

Good starting point to get familiar with the feature and it’s API is

man peer_direct

man ibv_exp_peer_commit_qp