Commit fe75889f authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe

RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths

Since 2006 there has been no user of rdmacm based application to make use
of setting multiple path records using rdma_set_ib_paths API.

Therefore code is simplified to allow setting one path record entry.
Now that it sets only single path, it is renamed to reflect the same.
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Reviewed-by: default avatarMark Bloch <markb@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 9327c7af
...@@ -2517,8 +2517,8 @@ cma_iboe_set_path_rec_l2_fields(struct rdma_id_private *id_priv) ...@@ -2517,8 +2517,8 @@ cma_iboe_set_path_rec_l2_fields(struct rdma_id_private *id_priv)
return ndev; return ndev;
} }
int rdma_set_ib_paths(struct rdma_cm_id *id, int rdma_set_ib_path(struct rdma_cm_id *id,
struct sa_path_rec *path_rec, int num_paths) struct sa_path_rec *path_rec)
{ {
struct rdma_id_private *id_priv; struct rdma_id_private *id_priv;
int ret; int ret;
...@@ -2528,20 +2528,20 @@ int rdma_set_ib_paths(struct rdma_cm_id *id, ...@@ -2528,20 +2528,20 @@ int rdma_set_ib_paths(struct rdma_cm_id *id,
RDMA_CM_ROUTE_RESOLVED)) RDMA_CM_ROUTE_RESOLVED))
return -EINVAL; return -EINVAL;
id->route.path_rec = kmemdup(path_rec, sizeof *path_rec * num_paths, id->route.path_rec = kmemdup(path_rec, sizeof(*path_rec),
GFP_KERNEL); GFP_KERNEL);
if (!id->route.path_rec) { if (!id->route.path_rec) {
ret = -ENOMEM; ret = -ENOMEM;
goto err; goto err;
} }
id->route.num_paths = num_paths; id->route.num_paths = 1;
return 0; return 0;
err: err:
cma_comp_exch(id_priv, RDMA_CM_ROUTE_RESOLVED, RDMA_CM_ADDR_RESOLVED); cma_comp_exch(id_priv, RDMA_CM_ROUTE_RESOLVED, RDMA_CM_ADDR_RESOLVED);
return ret; return ret;
} }
EXPORT_SYMBOL(rdma_set_ib_paths); EXPORT_SYMBOL(rdma_set_ib_path);
static int cma_resolve_iw_route(struct rdma_id_private *id_priv, int timeout_ms) static int cma_resolve_iw_route(struct rdma_id_private *id_priv, int timeout_ms)
{ {
......
...@@ -1231,9 +1231,9 @@ static int ucma_set_ib_path(struct ucma_context *ctx, ...@@ -1231,9 +1231,9 @@ static int ucma_set_ib_path(struct ucma_context *ctx,
struct sa_path_rec opa; struct sa_path_rec opa;
sa_convert_path_ib_to_opa(&opa, &sa_path); sa_convert_path_ib_to_opa(&opa, &sa_path);
ret = rdma_set_ib_paths(ctx->cm_id, &opa, 1); ret = rdma_set_ib_path(ctx->cm_id, &opa);
} else { } else {
ret = rdma_set_ib_paths(ctx->cm_id, &sa_path, 1); ret = rdma_set_ib_path(ctx->cm_id, &sa_path);
} }
if (ret) if (ret)
return ret; return ret;
......
...@@ -36,17 +36,17 @@ ...@@ -36,17 +36,17 @@
#include <rdma/rdma_cm.h> #include <rdma/rdma_cm.h>
/** /**
* rdma_set_ib_paths - Manually sets the path records used to establish a * rdma_set_ib_path - Manually sets the path record used to establish a
* connection. * connection.
* @id: Connection identifier associated with the request. * @id: Connection identifier associated with the request.
* @path_rec: Reference to the path record * @path_rec: Reference to the path record
* *
* This call permits a user to specify routing information for rdma_cm_id's * This call permits a user to specify routing information for rdma_cm_id's
* bound to Infiniband devices. It is called on the client side of a * bound to InfiniBand devices. It is called on the client side of a
* connection and replaces the call to rdma_resolve_route. * connection and replaces the call to rdma_resolve_route.
*/ */
int rdma_set_ib_paths(struct rdma_cm_id *id, int rdma_set_ib_path(struct rdma_cm_id *id,
struct sa_path_rec *path_rec, int num_paths); struct sa_path_rec *path_rec);
/* Global qkey for UDP QPs and multicast groups. */ /* Global qkey for UDP QPs and multicast groups. */
#define RDMA_UDP_QKEY 0x01234567 #define RDMA_UDP_QKEY 0x01234567
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment