mirror of
https://gitee.com/openharmony/kernel_linux
synced 2025-01-25 11:25:11 +00:00
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: Parav Pandit <parav@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
9327c7afdc
commit
fe75889f27
@ -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,
|
|||||||
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,
|
|||||||
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 @@
|
|||||||
#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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user