Hi Steve, Are you the maintainer of krping? I've tried to build krping from https://github.com/larrystevenwise/krping.git. But I get multiple errors. I guess I'm missing something simple. i.e. - 0. RHEL 7.2 with INBOX OFED (tried also newer kernels) 1. git clone https://github.com/larrystevenwise/krping.git 2. vim Makefile and have 'KSRC=/usr/src/kernels/3.10.0-327.el7.x86_64/' 3. Make And I get all the errors below. Any clue? Thanks, Ram [root@lbtlvb-pcie120 krping]# ll /usr/src/kernels/ total 4 drwxr-xr-x. 22 root root 4096 Jan 10 08:27 3.10.0-327.el7.x86_64 [root@lbtlvb-pcie120 krping]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 (Maipo) [root@lbtlvb-pcie120 krping]# ofed_info -s -bash: ofed_info: command not found [root@lbtlvb-pcie120 krping]# make make -C /usr/src/kernels/3.10.0-327.el7.x86_64/ M=`pwd` modules make[1]: Entering directory `/usr/src/kernels/3.10.0-327.el7.x86_64' CC [M] /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/getopt.o CC [M] /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.o /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:182:19: error: field 'reg_mr_wr' has incomplete type struct ib_reg_wr reg_mr_wr; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:201:20: error: field 'rdma_sq_wr' has incomplete type struct ib_rdma_wr rdma_sq_wr; /* rdma work request record */ ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_setup_wr': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:479:28: error: 'struct ib_pd' has no member named 'local_dma_lkey' cb->recv_sgl.lkey = cb->pd->local_dma_lkey; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:485:28: error: 'struct ib_pd' has no member named 'local_dma_lkey' cb->send_sgl.lkey = cb->pd->local_dma_lkey; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:504:28: error: 'IB_WR_REG_MR' undeclared (first use in this function) cb->reg_mr_wr.wr.opcode = IB_WR_REG_MR; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:504:28: note: each undeclared identifier is reported only once for each function it appears in /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_setup_buffers': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:539:2: error: implicit declaration of function 'ib_alloc_mr' [-Werror=implicit-function-declaration] cb->reg_mr = ib_alloc_mr(cb->pd, IB_MR_TYPE_MEM_REG, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:539:36: error: 'IB_MR_TYPE_MEM_REG' undeclared (first use in this function) cb->reg_mr = ib_alloc_mr(cb->pd, IB_MR_TYPE_MEM_REG, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_setup_qp': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:657:2: error: too many arguments to function 'ib_alloc_pd' cb->pd = ib_alloc_pd(cm_id->device, 0); ^ In file included from /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:55:0: include/rdma/ib_verbs.h:2146:15: note: declared here struct ib_pd *ib_alloc_pd(struct ib_device *device); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_rdma_rkey': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:727:2: error: implicit declaration of function 'ib_map_mr_sg' [-Werror=implicit-function-declaration] ret = ib_map_mr_sg(cb->reg_mr, &sg, 1, NULL, PAGE_SIZE); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:734:13: error: 'struct ib_mr' has no member named 'page_size' cb->reg_mr->page_size, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:735:13: error: 'struct ib_mr' has no member named 'length' cb->reg_mr->length, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:736:13: error: 'struct ib_mr' has no member named 'iova' cb->reg_mr->iova); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_test_server': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:863:30: error: 'struct ib_pd' has no member named 'local_dma_lkey' cb->rdma_sgl.lkey = cb->pd->local_dma_lkey; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'reg_supported': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1361:10: error: 'struct ib_device' has no member named 'attrs' if ((dev->attrs.device_cap_flags & needed_flags) != needed_flags) { ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1364:12: error: 'struct ib_device' has no member named 'attrs' (u64)dev->attrs.device_cap_flags); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1368:11: error: 'struct ib_device' has no member named 'attrs' (u64)dev->attrs.device_cap_flags); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_fr_test': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1766:19: error: storage size of 'fr' isn't known struct ib_reg_wr fr; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1778:27: error: 'IB_MR_TYPE_MEM_REG' undeclared (first use in this function) mr = ib_alloc_mr(cb->pd, IB_MR_TYPE_MEM_REG, plen); ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1793:17: error: 'IB_WR_REG_MR' undeclared (first use in this function) fr.wr.opcode = IB_WR_REG_MR; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:1766:19: warning: unused variable 'fr' [-Wunused-variable] struct ib_reg_wr fr; ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c: In function 'krping_doit': /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:2107:2: warning: passing argument 1 of 'rdma_create_id' from incompatible pointer type [enabled by default] cb->cm_id = rdma_create_id(&init_net, krping_cma_event_handler, cb, RDMA_PS_TCP, IB_QPT_RC); ^ In file included from /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:56:0: include/rdma/rdma_cm.h:169:20: note: expected 'rdma_cm_event_handler' but argument is of type 'struct net *' struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:2107:2: error: incompatible type for argument 3 of 'rdma_create_id' cb->cm_id = rdma_create_id(&init_net, krping_cma_event_handler, cb, RDMA_PS_TCP, IB_QPT_RC); ^ In file included from /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:56:0: include/rdma/rdma_cm.h:169:20: note: expected 'enum rdma_port_space' but argument is of type 'struct krping_cb *' struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler, ^ /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:2107:2: error: too many arguments to function 'rdma_create_id' cb->cm_id = rdma_create_id(&init_net, krping_cma_event_handler, cb, RDMA_PS_TCP, IB_QPT_RC); ^ In file included from /usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.c:56:0: include/rdma/rdma_cm.h:169:20: note: declared here struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler, ^ cc1: some warnings being treated as errors make[2]: *** [/usr/qlc/il_proj/ctl_sw/ramrani/git/krping/krping.o] Error 1 make[1]: *** [_module_/usr/qlc/il_proj/ctl_sw/ramrani/git/krping] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-327.el7.x86_64' make: *** [default] Error 2 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html