[openib-general] [PATCH 5/6] librdmacm source file changes.
Krishna Kumar
krkumar2 at in.ibm.com
Thu Jul 27 21:50:34 PDT 2006
Convert librdmacm source files to use the new libibverbs API.
Signed-off-by: Krishna Kumar <krkumar2 at in.ibm.com>
diff -ruNp ORG/librdmacm/configure.in NEW/librdmacm/configure.in
--- ORG/librdmacm/configure.in 2006-07-27 15:34:18.000000000 +0530
+++ NEW/librdmacm/configure.in 2006-07-27 15:34:44.000000000 +0530
@@ -25,8 +25,8 @@ AC_CHECK_SIZEOF(long)
dnl Checks for libraries
if test "$disable_libcheck" != "yes"
then
-AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
- AC_MSG_ERROR([ibv_get_device_list() not found. librdmacm requires libibverbs.]))
+AC_CHECK_LIB(ibverbs, rdma_get_device_list, [],
+ AC_MSG_ERROR([rdma_get_device_list() not found. librdmacm requires libibverbs.]))
fi
dnl Checks for header files.
diff -ruNp ORG/librdmacm/src/cma.c NEW/librdmacm/src/cma.c
--- ORG/librdmacm/src/cma.c 2006-07-27 15:34:18.000000000 +0530
+++ NEW/librdmacm/src/cma.c 2006-07-27 15:34:44.000000000 +0530
@@ -103,7 +103,7 @@ do {
} while (0)
struct cma_device {
- struct ibv_context *verbs;
+ struct rdma_context *verbs;
uint64_t guid;
int port_cnt;
};
@@ -130,7 +130,7 @@ static void ucma_cleanup(void)
{
if (cma_dev_cnt) {
while (cma_dev_cnt)
- ibv_close_device(cma_dev_array[--cma_dev_cnt].verbs);
+ rdma_close_device(cma_dev_array[--cma_dev_cnt].verbs);
free(cma_dev_array);
cma_dev_cnt = 0;
@@ -141,7 +141,7 @@ static int check_abi_version(void)
{
char value[8];
- if (ibv_read_sysfs_file(ibv_get_sysfs_path(),
+ if (rdma_read_sysfs_file(rdma_get_sysfs_path(),
"class/misc/rdma_cm/abi_version",
value, sizeof value) < 0) {
/*
@@ -167,9 +167,9 @@ static int check_abi_version(void)
static int ucma_init(void)
{
- struct ibv_device **dev_list = NULL;
+ struct rdma_device **dev_list = NULL;
struct cma_device *cma_dev;
- struct ibv_device_attr attr;
+ struct rdma_device_attr attr;
int i, ret;
pthread_mutex_lock(&mut);
@@ -180,7 +180,7 @@ static int ucma_init(void)
if (ret)
goto err;
- dev_list = ibv_get_device_list(&cma_dev_cnt);
+ dev_list = rdma_get_device_list(&cma_dev_cnt);
if (!dev_list) {
printf("CMA: unable to get RDMA device list\n");
ret = -ENODEV;
@@ -196,15 +196,15 @@ static int ucma_init(void)
for (i = 0; dev_list[i]; ++i) {
cma_dev = &cma_dev_array[i];
- cma_dev->guid = ibv_get_device_guid(dev_list[i]);
- cma_dev->verbs = ibv_open_device(dev_list[i]);
+ cma_dev->guid = rdma_get_device_guid(dev_list[i]);
+ cma_dev->verbs = rdma_open_device(dev_list[i]);
if (!cma_dev->verbs) {
printf("CMA: unable to open RDMA device\n");
ret = -ENODEV;
goto err;
}
- ret = ibv_query_device(cma_dev->verbs, &attr);
+ ret = rdma_query_device(cma_dev->verbs, &attr);
if (ret) {
printf("CMA: unable to query RDMA device\n");
goto err;
@@ -219,13 +219,13 @@ err:
ucma_cleanup();
pthread_mutex_unlock(&mut);
if (dev_list)
- ibv_free_device_list(dev_list);
+ rdma_free_device_list(dev_list);
return ret;
}
-struct ibv_context **rdma_get_devices(int *num_devices)
+struct rdma_context **rdma_get_devices(int *num_devices)
{
- struct ibv_context **devs = NULL;
+ struct rdma_context **devs = NULL;
int i;
if (!cma_dev_cnt && ucma_init())
@@ -244,7 +244,7 @@ out:
return devs;
}
-void rdma_free_devices(struct ibv_context **list)
+void rdma_free_devices(struct rdma_context **list)
{
free(list);
}
@@ -479,7 +479,7 @@ static int ucma_query_route(struct rdma_
id->route.num_paths = resp->num_paths;
for (i = 0; i < resp->num_paths; i++)
- ibv_copy_path_rec_from_kern(&id->route.path_rec[i],
+ rdma_copy_path_rec_from_kern(&id->route.path_rec[i],
&resp->ib_route[i]);
}
@@ -578,11 +578,11 @@ int rdma_resolve_route(struct rdma_cm_id
return 0;
}
-static int rdma_init_qp_attr(struct rdma_cm_id *id, struct ibv_qp_attr *qp_attr,
+static int rdma_init_qp_attr(struct rdma_cm_id *id, struct rdma_qp_attr *qp_attr,
int *qp_attr_mask)
{
struct ucma_abi_init_qp_attr *cmd;
- struct ibv_kern_qp_attr *resp;
+ struct rdma_kern_qp_attr *resp;
struct cma_id_private *id_priv;
void *msg;
int ret, size;
@@ -596,59 +596,59 @@ static int rdma_init_qp_attr(struct rdma
if (ret != size)
return (ret > 0) ? -ENODATA : ret;
- ibv_copy_qp_attr_from_kern(qp_attr, resp);
+ rdma_copy_qp_attr_from_kern(qp_attr, resp);
*qp_attr_mask = resp->qp_attr_mask;
return 0;
}
static int ucma_modify_qp_rtr(struct rdma_cm_id *id)
{
- struct ibv_qp_attr qp_attr;
+ struct rdma_qp_attr qp_attr;
int qp_attr_mask, ret;
if (!id->qp)
return -EINVAL;
/* Need to update QP attributes from default values. */
- qp_attr.qp_state = IBV_QPS_INIT;
+ qp_attr.qp_state = RDMA_QPS_INIT;
ret = rdma_init_qp_attr(id, &qp_attr, &qp_attr_mask);
if (ret)
return ret;
- ret = ibv_modify_qp(id->qp, &qp_attr, qp_attr_mask);
+ ret = rdma_modify_qp(id->qp, &qp_attr, qp_attr_mask);
if (ret)
return ret;
- qp_attr.qp_state = IBV_QPS_RTR;
+ qp_attr.qp_state = RDMA_QPS_RTR;
ret = rdma_init_qp_attr(id, &qp_attr, &qp_attr_mask);
if (ret)
return ret;
- return ibv_modify_qp(id->qp, &qp_attr, qp_attr_mask);
+ return rdma_modify_qp(id->qp, &qp_attr, qp_attr_mask);
}
static int ucma_modify_qp_rts(struct rdma_cm_id *id)
{
- struct ibv_qp_attr qp_attr;
+ struct rdma_qp_attr qp_attr;
int qp_attr_mask, ret;
- qp_attr.qp_state = IBV_QPS_RTS;
+ qp_attr.qp_state = RDMA_QPS_RTS;
ret = rdma_init_qp_attr(id, &qp_attr, &qp_attr_mask);
if (ret)
return ret;
- return ibv_modify_qp(id->qp, &qp_attr, qp_attr_mask);
+ return rdma_modify_qp(id->qp, &qp_attr, qp_attr_mask);
}
static int ucma_modify_qp_err(struct rdma_cm_id *id)
{
- struct ibv_qp_attr qp_attr;
+ struct rdma_qp_attr qp_attr;
if (!id->qp)
return 0;
- qp_attr.qp_state = IBV_QPS_ERR;
- return ibv_modify_qp(id->qp, &qp_attr, IBV_QP_STATE);
+ qp_attr.qp_state = RDMA_QPS_ERR;
+ return rdma_modify_qp(id->qp, &qp_attr, RDMA_QP_STATE);
}
static int ucma_find_pkey(struct cma_device *cma_dev, uint8_t port_num,
@@ -658,7 +658,7 @@ static int ucma_find_pkey(struct cma_dev
uint16_t chk_pkey;
for (i = 0, ret = 0; !ret; i++) {
- ret = ibv_query_pkey(cma_dev->verbs, port_num, i, &chk_pkey);
+ ret = rdma_query_pkey(cma_dev->verbs, port_num, i, &chk_pkey);
if (!ret && pkey == chk_pkey) {
*pkey_index = (uint16_t) i;
return 0;
@@ -668,9 +668,9 @@ static int ucma_find_pkey(struct cma_dev
return -EINVAL;
}
-static int ucma_init_ib_qp(struct cma_id_private *id_priv, struct ibv_qp *qp)
+static int ucma_init_ib_qp(struct cma_id_private *id_priv, struct rdma_qp *qp)
{
- struct ibv_qp_attr qp_attr;
+ struct rdma_qp_attr qp_attr;
struct ib_addr *ibaddr;
int ret;
@@ -681,15 +681,15 @@ static int ucma_init_ib_qp(struct cma_id
return ret;
qp_attr.port_num = id_priv->id.port_num;
- qp_attr.qp_state = IBV_QPS_INIT;
- qp_attr.qp_access_flags = IBV_ACCESS_LOCAL_WRITE;
- return ibv_modify_qp(qp, &qp_attr, IBV_QP_STATE | IBV_QP_ACCESS_FLAGS |
- IBV_QP_PKEY_INDEX | IBV_QP_PORT);
+ qp_attr.qp_state = RDMA_QPS_INIT;
+ qp_attr.qp_access_flags = RDMA_ACCESS_LOCAL_WRITE;
+ return rdma_modify_qp(qp, &qp_attr, RDMA_QP_STATE | RDMA_QP_ACCESS_FLAGS |
+ RDMA_QP_PKEY_INDEX | RDMA_QP_PORT);
}
-static int ucma_init_ud_qp(struct cma_id_private *id_priv, struct ibv_qp *qp)
+static int ucma_init_ud_qp(struct cma_id_private *id_priv, struct rdma_qp *qp)
{
- struct ibv_qp_attr qp_attr;
+ struct rdma_qp_attr qp_attr;
struct ib_addr *ibaddr;
int ret;
@@ -700,35 +700,35 @@ static int ucma_init_ud_qp(struct cma_id
return ret;
qp_attr.port_num = id_priv->id.port_num;
- qp_attr.qp_state = IBV_QPS_INIT;
+ qp_attr.qp_state = RDMA_QPS_INIT;
qp_attr.qkey = ntohs(rdma_get_src_port(&id_priv->id));
- ret = ibv_modify_qp(qp, &qp_attr, IBV_QP_STATE | IBV_QP_PKEY_INDEX |
- IBV_QP_PORT | IBV_QP_QKEY);
+ ret = rdma_modify_qp(qp, &qp_attr, RDMA_QP_STATE | RDMA_QP_PKEY_INDEX |
+ RDMA_QP_PORT | RDMA_QP_QKEY);
if (ret)
return ret;
- qp_attr.qp_state = IBV_QPS_RTR;
- ret = ibv_modify_qp(qp, &qp_attr, IBV_QP_STATE);
+ qp_attr.qp_state = RDMA_QPS_RTR;
+ ret = rdma_modify_qp(qp, &qp_attr, RDMA_QP_STATE);
if (ret)
return ret;
- qp_attr.qp_state = IBV_QPS_RTS;
+ qp_attr.qp_state = RDMA_QPS_RTS;
qp_attr.sq_psn = 0;
- return ibv_modify_qp(qp, &qp_attr, IBV_QP_STATE | IBV_QP_SQ_PSN);
+ return rdma_modify_qp(qp, &qp_attr, RDMA_QP_STATE | RDMA_QP_SQ_PSN);
}
-int rdma_create_qp(struct rdma_cm_id *id, struct ibv_pd *pd,
- struct ibv_qp_init_attr *qp_init_attr)
+int rdma_create_qp(struct rdma_cm_id *id, struct rdma_pd *pd,
+ struct rdma_qp_init_attr *qp_init_attr)
{
struct cma_id_private *id_priv;
- struct ibv_qp *qp;
+ struct rdma_qp *qp;
int ret;
id_priv = container_of(id, struct cma_id_private, id);
if (id->verbs != pd->context)
return -EINVAL;
- qp = ibv_create_qp(pd, qp_init_attr);
+ qp = rdmav_create_qp(pd, qp_init_attr);
if (!qp)
return -ENOMEM;
@@ -742,19 +742,19 @@ int rdma_create_qp(struct rdma_cm_id *id
id->qp = qp;
return 0;
err:
- ibv_destroy_qp(qp);
+ rdmav_destroy_qp(qp);
return ret;
}
void rdma_destroy_qp(struct rdma_cm_id *id)
{
- ibv_destroy_qp(id->qp);
+ rdmav_destroy_qp(id->qp);
}
static void ucma_copy_conn_param_to_kern(struct ucma_abi_conn_param *dst,
struct rdma_conn_param *src,
uint32_t qp_num,
- enum ibv_qp_type qp_type, uint8_t srq)
+ enum rdma_qp_type qp_type, uint8_t srq)
{
dst->qp_num = qp_num;
dst->qp_type = qp_type;
@@ -934,7 +934,7 @@ int rdma_leave_multicast(struct rdma_cm_
struct cma_id_private *id_priv;
void *msg;
int ret, size, addrlen;
- struct ibv_ah_attr ah_attr;
+ struct rdma_ah_attr ah_attr;
uint32_t qp_info;
addrlen = ucma_addrlen(addr);
@@ -951,7 +951,7 @@ int rdma_leave_multicast(struct rdma_cm_
if (ret)
goto out;
- ret = ibv_detach_mcast(id->qp, &ah_attr.grh.dgid, ah_attr.dlid);
+ ret = rdma_detach_mcast(id->qp, &ah_attr.grh.dgid, ah_attr.dlid);
if (ret)
goto out;
}
@@ -1075,7 +1075,7 @@ static void ucma_process_mcast(struct rd
{
struct ucma_abi_join_mcast kmc_data;
struct rdma_multicast_data *mc_data;
- struct ibv_ah_attr ah_attr;
+ struct rdma_ah_attr ah_attr;
uint32_t qp_info;
kmc_data = *(struct ucma_abi_join_mcast *) evt->private_data;
@@ -1093,7 +1093,7 @@ static void ucma_process_mcast(struct rd
if (evt->status)
goto err;
- evt->status = ibv_attach_mcast(id->qp, &ah_attr.grh.dgid, ah_attr.dlid);
+ evt->status = rdma_attach_mcast(id->qp, &ah_attr.grh.dgid, ah_attr.dlid);
if (evt->status)
goto err;
return;
@@ -1243,7 +1243,7 @@ int rdma_set_option(struct rdma_cm_id *i
}
int rdma_get_dst_attr(struct rdma_cm_id *id, struct sockaddr *addr,
- struct ibv_ah_attr *ah_attr, uint32_t *remote_qpn,
+ struct rdma_ah_attr *ah_attr, uint32_t *remote_qpn,
uint32_t *remote_qkey)
{
struct ucma_abi_dst_attr_resp *resp;
@@ -1265,7 +1265,7 @@ int rdma_get_dst_attr(struct rdma_cm_id
if (ret != size)
return (ret > 0) ? -ENODATA : ret;
- ibv_copy_ah_attr_from_kern(ah_attr, &resp->ah_attr);
+ rdma_copy_ah_attr_from_kern(ah_attr, &resp->ah_attr);
*remote_qpn = resp->remote_qpn;
*remote_qkey = resp->remote_qkey;
return 0;
More information about the general
mailing list