Commit 581d53c9 authored by Santosh Shilimkar's avatar Santosh Shilimkar

RDS: IB: track and log active side endpoint in connection

Useful to know the active and passive end points in a
RDS IB connection.
Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
parent c536a068
...@@ -181,6 +181,9 @@ struct rds_ib_connection { ...@@ -181,6 +181,9 @@ struct rds_ib_connection {
/* Batched completions */ /* Batched completions */
unsigned int i_unsignaled_wrs; unsigned int i_unsignaled_wrs;
/* Endpoint role in connection */
bool i_active_side;
}; };
/* This assumes that atomic_t is at least 32 bits */ /* This assumes that atomic_t is at least 32 bits */
......
...@@ -120,16 +120,17 @@ void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_even ...@@ -120,16 +120,17 @@ void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_even
rds_conn_destroy(conn); rds_conn_destroy(conn);
return; return;
} else { } else {
pr_notice("RDS/IB: connected <%pI4,%pI4> version %u.%u%s\n", pr_notice("RDS/IB: %s conn connected <%pI4,%pI4> version %u.%u%s\n",
ic->i_active_side ? "Active" : "Passive",
&conn->c_laddr, &conn->c_faddr, &conn->c_laddr, &conn->c_faddr,
RDS_PROTOCOL_MAJOR(conn->c_version), RDS_PROTOCOL_MAJOR(conn->c_version),
RDS_PROTOCOL_MINOR(conn->c_version), RDS_PROTOCOL_MINOR(conn->c_version),
ic->i_flowctl ? ", flow control" : ""); ic->i_flowctl ? ", flow control" : "");
} }
/* /* Init rings and fill recv. this needs to wait until protocol
* Init rings and fill recv. this needs to wait until protocol negotiation * negotiation is complete, since ring layout is different
* is complete, since ring layout is different from 3.0 to 3.1. * from 3.1 to 4.1.
*/ */
rds_ib_send_init_ring(ic); rds_ib_send_init_ring(ic);
rds_ib_recv_init_ring(ic); rds_ib_recv_init_ring(ic);
...@@ -685,6 +686,7 @@ int rds_ib_cm_initiate_connect(struct rdma_cm_id *cm_id) ...@@ -685,6 +686,7 @@ int rds_ib_cm_initiate_connect(struct rdma_cm_id *cm_id)
if (ic->i_cm_id == cm_id) if (ic->i_cm_id == cm_id)
ret = 0; ret = 0;
} }
ic->i_active_side = true;
return ret; return ret;
} }
...@@ -859,6 +861,7 @@ void rds_ib_conn_path_shutdown(struct rds_conn_path *cp) ...@@ -859,6 +861,7 @@ void rds_ib_conn_path_shutdown(struct rds_conn_path *cp)
ic->i_sends = NULL; ic->i_sends = NULL;
vfree(ic->i_recvs); vfree(ic->i_recvs);
ic->i_recvs = NULL; ic->i_recvs = NULL;
ic->i_active_side = false;
} }
int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp) int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp)
......
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