Je suis novice en programmation rdma et je suis en train de mettre en place un simple client/serveur en utilisant les verbes ib et rdma cma, mais j'ai frappé un mur. Mon serveur s'exécute et attend la connexion, mais mon client ne se connecte jamais car il échoue à rdma_create_qp(). Je ne suis pas sûr de ce que les informations peuvent être nécessaires pour aider à résoudre cela, mais je vais modifier dans les informations nécessaires à la demande. (Snipets actuellement des informations relatives tels qu'ils apparaissent dans mon code)Erreur rdma_create_qp(): argument invalide
qp_init_attr.send_cq = cq;
qp_init_attr.recv_cq = cq;
qp_init_attr.qp_type = IBV_QPT_RC;
qp_init_attr.cap.max_send_wr = 16;
qp_init_attr.cap.max_recv_wr = 16;
qp_init_attr.cap.max_send_sge = 8;
qp_init_attr.cap.max_recv_sge = 8;
if(rdma_create_qp(cm_id, pd, &qp_init_attr)){
fprintf(stderr, "Error, rdma_create_qp() failed: %s\n", strerror(errno));
return -1;
}
Vous devriez vérifier la valeur de errno. Cela peut vous donner des indices sur ce qui se passe. – JC1