Ich bin neu in der Programmierung von Rdma und bin gerade dabei, einen einfachen Client/Server mit ib Verben und Rdma Cma einzurichten, aber habe eine Wand getroffen. Mein Server läuft und wartet auf die Verbindung, aber mein Client verbindet sich nie, weil er bei rdma_create_qp() fehlschlägt. Ich bin mir nicht sicher, welche Informationen benötigt wird, kann dies zu helfen, löst aber ich werde in den benötigten Informationen bearbeiten, wie verlangt. (Derzeit snipets die betreffenden Informationen, wie sie in meinem Code erscheinen)rdma_create_qp() Fehler: ungültiges Argument
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;
}
Sie sollten den Wert von errno überprüfen. Das könnte Ihnen Hinweise geben, was gerade passiert. – JC1