On 2/24/2020 12:54 PM, Umang Patel wrote:
Hello! As you said, I have already read the mlx5dv_wr_post() manual but I am still having trouble even after following the instructions given in it. I have created a normal client-server code for transferring some data from client to server using rdma. I am using the the rdma-core repo for the code. For posting the send request with the UMR feature, i use the function "mlx5dv_wr_mr_list" and to post the send request without UMR feature, i use the function "ibv_wr_send". The two functions that I mentioned are similar as mentioned in the manual. I have written my code in such a way that it asks whether or not to use the UMR feature and I have put an if else in the code which runs the function according to the user's answer whether or not to use the function and rest of the code is the does not change for with UMR and without UMR. However, I am unable to receive the data with mlx5dv_wr_mr_list function. Whereas, using ibv_wr_send, I am able to receive the correct data. Can you please look into it? Am I missing something in the code that i have to add for the UMR feature or the server side requires something else? what is the problem? I have attached the client-server code with this email. Thank You!
The mlx5dv_wr_mr_list() is not a replacement for ibv_wr_send() to send data to the server, it just refers to the mkey layout (i.e. registers a memory layout based on list of ibv_sge. etc., see its manual).
Yishai