-dnl Checks for the in-box ib_core
-AC_DEFUN([RDMA_CONFIG_COMPAT],
-[
- AC_MSG_CHECKING([if ib_verbs has ib_dma_map_single])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #include <linux/gfp.h>
- #include <rdma/ib_verbs.h>
- ],[
- ib_dma_map_single(NULL, NULL, 0, 0);
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_IB_DMA_MAP, 1,
- [ib_dma_map_single defined])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if ib_create_cq wants comp_vector])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #include <linux/gfp.h>
- #include <rdma/ib_verbs.h>
- ],[
- ib_create_cq(NULL, NULL, NULL, NULL, 0, 0);
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_IB_COMP_VECTOR, 1,
- [has completion vector])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if rdma_cm has RDMA_CM_EVENT_ADDR_CHANGE])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #include <linux/gfp.h>
- #include <rdma/rdma_cm.h>
- ],[
- return (RDMA_CM_EVENT_ADDR_CHANGE == 0);
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_RDMA_CMEV_ADDRCHANGE, 1,
- [has completion vector])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if rdma_cm has RDMA_CM_EVENT_TIMEWAIT_EXIT])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #include <linux/gfp.h>
- #include <rdma/rdma_cm.h>
- ],[
- return (RDMA_CM_EVENT_TIMEWAIT_EXIT == 0);
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_RDMA_CMEV_TIMEWAIT_EXIT, 1,
- [has completion vector])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if rdma_cm has rdma_set_reuseaddr])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #include <linux/gfp.h>
- #include <rdma/rdma_cm.h>
- ],[
- rdma_set_reuseaddr(NULL, 1);
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_RDMA_SET_REUSEADDR, 1,
- [rdma_set_reuse defined])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if struct ib_wc has member named ts])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <rdma/ib_verbs.h>
- ],[
- struct ib_wc wc;
- wc->ts.timestamp = 0;
-
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_IB_WC_TS, 1,
- [ib_wc has member named ts])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if struct ib_ah_attr has member named dmac])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <rdma/ib_verbs.h>
- ],[
- struct ib_ah_attr *ah_attr;
- memset(ah_attr->dmac, 0, 6);
-
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_IB_AH_ATTR_DMAC, 1,
- [ah_attr has member named dmac])
- ],[
- AC_MSG_RESULT(no)
- ])
-
- AC_MSG_CHECKING([if struct ib_ah_attr has member named vlan_id])
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <rdma/ib_verbs.h>
- ],[
- struct ib_ah_attr *ah_attr;
- ah_attr->vlan_id = 0;
-
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_INBOX_IB_AH_ATTR_VLAN_ID, 1,
- [ah_attr has member named vlan_id])
- ],[
- AC_MSG_RESULT(no)
- ])
-])
-
dnl Examine kernel functionality
AC_DEFUN([LINUX_CONFIG_COMPAT],
[