首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rdma_create_qp()错误:参数无效

rdma_create_qp()错误:参数无效
EN

Stack Overflow用户
提问于 2016-11-19 02:24:09
回答 2查看 789关注 0票数 0

我是rdma编程的新手,目前正在使用ib动词和rdma cma设置一个简单的客户机/服务器,但遇到了困难。我的服务器运行并等待连接,但是我的客户机永远不会连接,因为它在rdma_create_qp()失败。我不确定可能需要什么信息来帮助解决这个问题,但我会根据要求编辑所需的信息。(目前,相关信息片段出现在我的代码中)

代码语言:javascript
复制
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;
}
EN

回答 2

Stack Overflow用户

发布于 2017-02-24 00:55:40

不要和cm_id通话。假设您在event RDMA_CM_EVENT_ROUTE_RESOLVED上调用rdma_create_qp,您应该使用evt->id,它是您创建的客户端连接的rdma_id。

票数 1
EN

Stack Overflow用户

发布于 2017-02-21 21:07:24

在librdmacm (https://github.com/linux-rdma/rdma-core/blob/master/librdmacm/cma.c)的git页面上:

在以下情况下,您将获得EINVAL:

  1. id ->qp不是NULL (已分配)。
  2. id的上下文与可选给定的pd不同。
  3. send_cq或receive_cq被分配给id,并且与qp_init_attr中指定的不同。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40683724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档