linux-rdma/qperf

qperf XRC functionality fails to build

bsmith94 opened this issue · 0 comments

qperf is written against an old version of the ibverbs XRC API. The build fails to detect that ibverbs is XRC-capable. Also, if XRC detection is corrected, the current XRC code fails to build.

This patch corrects XRC detection:

--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@
 AM_INIT_AUTOMAKE(qperf, 0.4.10)
 AC_PROG_CC
 AC_CHECK_LIB(ibverbs, ibv_open_device, RDMA=1)
-AC_CHECK_LIB(ibverbs, ibv_open_xrc_domain, HAS_XRC=1)
+AC_CHECK_LIB(ibverbs, ibv_cmd_open_xrcd, HAS_XRC=1)
 AC_CHECK_LIB(rdmacm, rdma_create_id)
 AM_CONDITIONAL(RDMA, test -n "$RDMA")
 AM_CONDITIONAL(HAS_XRC, test -n "$HAS_XRC")

Once that change is made, the build fails due to:

  • Undeclared:
    • IBV_QPT_XRC
    • ibv_open_xrc_domain
    • ibv_close_xrc_domain
    • ibv_create_xrc_srq
  • Missing structure members:
    • qp_attr.xrc_domain
    • dev->srq->xrc_srq_num