Commit bf9a9928 authored by Mark Zhang's avatar Mark Zhang Committed by Leon Romanovsky

RDMA/core: Rename rdma_route.num_paths field to num_pri_alt_paths

This fields means the total number of primary and alternative paths,
i.e.,:
  0 - No primary nor alternate path is available;
  1 - Only primary path is available;
  2 - Both primary and alternate path are available.
Rename it to avoid confusion as with follow patches primary path will
support multiple path records.
Signed-off-by: default avatarMark Zhang <markzhang@nvidia.com>
Reviewed-by: default avatarMark Bloch <mbloch@nvidia.com>
Link: https://lore.kernel.org/r/cbe424de63a56207870d70c5edce7c68e45f429e.1662631201.git.leonro@nvidia.comSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 9bdb9350
...@@ -2241,14 +2241,14 @@ cma_ib_new_conn_id(const struct rdma_cm_id *listen_id, ...@@ -2241,14 +2241,14 @@ cma_ib_new_conn_id(const struct rdma_cm_id *listen_id,
goto err; goto err;
rt = &id->route; rt = &id->route;
rt->num_paths = ib_event->param.req_rcvd.alternate_path ? 2 : 1; rt->num_pri_alt_paths = ib_event->param.req_rcvd.alternate_path ? 2 : 1;
rt->path_rec = kmalloc_array(rt->num_paths, sizeof(*rt->path_rec), rt->path_rec = kmalloc_array(rt->num_pri_alt_paths,
GFP_KERNEL); sizeof(*rt->path_rec), GFP_KERNEL);
if (!rt->path_rec) if (!rt->path_rec)
goto err; goto err;
rt->path_rec[0] = *path; rt->path_rec[0] = *path;
if (rt->num_paths == 2) if (rt->num_pri_alt_paths == 2)
rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path; rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
if (net_dev) { if (net_dev) {
...@@ -2826,7 +2826,7 @@ static void cma_query_handler(int status, struct sa_path_rec *path_rec, ...@@ -2826,7 +2826,7 @@ static void cma_query_handler(int status, struct sa_path_rec *path_rec,
route = &work->id->id.route; route = &work->id->id.route;
if (!status) { if (!status) {
route->num_paths = 1; route->num_pri_alt_paths = 1;
*route->path_rec = *path_rec; *route->path_rec = *path_rec;
} else { } else {
work->old_state = RDMA_CM_ROUTE_QUERY; work->old_state = RDMA_CM_ROUTE_QUERY;
...@@ -3081,7 +3081,7 @@ int rdma_set_ib_path(struct rdma_cm_id *id, ...@@ -3081,7 +3081,7 @@ int rdma_set_ib_path(struct rdma_cm_id *id,
dev_put(ndev); dev_put(ndev);
} }
id->route.num_paths = 1; id->route.num_pri_alt_paths = 1;
return 0; return 0;
err_free: err_free:
...@@ -3214,7 +3214,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv) ...@@ -3214,7 +3214,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
goto err1; goto err1;
} }
route->num_paths = 1; route->num_pri_alt_paths = 1;
ndev = cma_iboe_set_path_rec_l2_fields(id_priv); ndev = cma_iboe_set_path_rec_l2_fields(id_priv);
if (!ndev) { if (!ndev) {
...@@ -3274,7 +3274,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv) ...@@ -3274,7 +3274,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
err2: err2:
kfree(route->path_rec); kfree(route->path_rec);
route->path_rec = NULL; route->path_rec = NULL;
route->num_paths = 0; route->num_pri_alt_paths = 0;
err1: err1:
kfree(work); kfree(work);
return ret; return ret;
...@@ -4265,7 +4265,7 @@ static int cma_connect_ib(struct rdma_id_private *id_priv, ...@@ -4265,7 +4265,7 @@ static int cma_connect_ib(struct rdma_id_private *id_priv,
} }
req.primary_path = &route->path_rec[0]; req.primary_path = &route->path_rec[0];
if (route->num_paths == 2) if (route->num_pri_alt_paths == 2)
req.alternate_path = &route->path_rec[1]; req.alternate_path = &route->path_rec[1];
req.ppath_sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr; req.ppath_sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr;
......
...@@ -754,8 +754,8 @@ static void ucma_copy_ib_route(struct rdma_ucm_query_route_resp *resp, ...@@ -754,8 +754,8 @@ static void ucma_copy_ib_route(struct rdma_ucm_query_route_resp *resp,
{ {
struct rdma_dev_addr *dev_addr; struct rdma_dev_addr *dev_addr;
resp->num_paths = route->num_paths; resp->num_paths = route->num_pri_alt_paths;
switch (route->num_paths) { switch (route->num_pri_alt_paths) {
case 0: case 0:
dev_addr = &route->addr.dev_addr; dev_addr = &route->addr.dev_addr;
rdma_addr_get_dgid(dev_addr, rdma_addr_get_dgid(dev_addr,
...@@ -781,8 +781,8 @@ static void ucma_copy_iboe_route(struct rdma_ucm_query_route_resp *resp, ...@@ -781,8 +781,8 @@ static void ucma_copy_iboe_route(struct rdma_ucm_query_route_resp *resp,
struct rdma_route *route) struct rdma_route *route)
{ {
resp->num_paths = route->num_paths; resp->num_paths = route->num_pri_alt_paths;
switch (route->num_paths) { switch (route->num_pri_alt_paths) {
case 0: case 0:
rdma_ip2gid((struct sockaddr *)&route->addr.dst_addr, rdma_ip2gid((struct sockaddr *)&route->addr.dst_addr,
(union ib_gid *)&resp->ib_route[0].dgid); (union ib_gid *)&resp->ib_route[0].dgid);
...@@ -921,7 +921,7 @@ static ssize_t ucma_query_path(struct ucma_context *ctx, ...@@ -921,7 +921,7 @@ static ssize_t ucma_query_path(struct ucma_context *ctx,
if (!resp) if (!resp)
return -ENOMEM; return -ENOMEM;
resp->num_paths = ctx->cm_id->route.num_paths; resp->num_paths = ctx->cm_id->route.num_pri_alt_paths;
for (i = 0, out_len -= sizeof(*resp); for (i = 0, out_len -= sizeof(*resp);
i < resp->num_paths && out_len > sizeof(struct ib_path_rec_data); i < resp->num_paths && out_len > sizeof(struct ib_path_rec_data);
i++, out_len -= sizeof(struct ib_path_rec_data)) { i++, out_len -= sizeof(struct ib_path_rec_data)) {
......
...@@ -52,7 +52,12 @@ struct rdma_addr { ...@@ -52,7 +52,12 @@ struct rdma_addr {
struct rdma_route { struct rdma_route {
struct rdma_addr addr; struct rdma_addr addr;
struct sa_path_rec *path_rec; struct sa_path_rec *path_rec;
int num_paths; /*
* 0 - No primary nor alternate path is available
* 1 - Only primary path is available
* 2 - Both primary and alternate path are available
*/
int num_pri_alt_paths;
}; };
struct rdma_conn_param { struct rdma_conn_param {
......
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