Lines Matching defs:conn

60 rdsv3_ib_set_protocol(struct rdsv3_connection *conn, unsigned int version)
62 RDSV3_DPRINTF4("rdsv3_ib_set_protocol", "conn: %p version: %d",
63 conn, version);
64 conn->c_version = version;
71 rdsv3_ib_set_flow_control(struct rdsv3_connection *conn, uint32_t credits)
73 struct rdsv3_ib_connection *ic = conn->c_transport_data;
76 "Enter: conn: %p credits: %d", conn, credits);
81 rdsv3_ib_send_add_credits(conn, credits);
87 "Return: conn: %p credits: %d",
88 conn, credits);
125 rdsv3_ib_cm_connect_complete(struct rdsv3_connection *conn,
129 struct rdsv3_ib_connection *ic = conn->c_transport_data;
136 "Enter conn: %p event: %p", conn, event);
138 if (event->param.conn.private_data_len >= sizeof (*dp)) {
139 dp = event->param.conn.private_data;
143 rdsv3_ib_set_protocol(conn,
146 rdsv3_ib_set_flow_control(conn,
151 if (conn->c_version < RDS_PROTOCOL(3, 1)) {
154 NIPQUAD(conn->c_faddr),
155 RDS_PROTOCOL_MAJOR(conn->c_version),
156 RDS_PROTOCOL_MINOR(conn->c_version));
157 rdsv3_conn_destroy(conn);
162 NIPQUAD(conn->c_faddr),
163 RDS_PROTOCOL_MAJOR(conn->c_version),
164 RDS_PROTOCOL_MINOR(conn->c_version),
180 ic->i_refill_rq = rdsv3_af_thr_create(rdsv3_ib_refill_fn, (void *)conn,
200 (void) rdsv3_ib_recv_refill(conn, 1);
211 /* update ib_device with this local ipaddr & conn */
212 err = rdsv3_ib_update_ipaddr(rds_ibdev, conn->c_laddr);
216 rdsv3_ib_add_conn(rds_ibdev, conn);
223 rdsv3_send_drop_acked(conn, ntohll(dp->dp_ack_seq), NULL);
225 rdsv3_connect_complete(conn);
228 "Return conn: %p event: %p",
229 conn, event);
233 rdsv3_ib_cm_fill_conn_param(struct rdsv3_connection *conn,
240 struct rdsv3_ib_connection *ic = conn->c_transport_data;
244 "Enter conn: %p conn_param: %p private: %p version: %d",
245 conn, conn_param, dp, protocol_version);
260 dp->dp_saddr = conn->c_laddr;
261 dp->dp_daddr = conn->c_faddr;
284 "Return conn: %p conn_param: %p private: %p version: %d",
285 conn, conn_param, dp, protocol_version);
298 struct rdsv3_connection *conn = context;
299 struct rdsv3_ib_connection *ic = conn->c_transport_data;
302 "Enter(conn: %p ic: %p cq: %p)", conn, ic, cq);
311 struct rdsv3_connection *conn = ic->conn;
317 "Enter(conn: %p ic: %p)", conn, ic);
349 struct rdsv3_connection *conn = context;
350 struct rdsv3_ib_connection *ic = conn->c_transport_data;
353 "Enter(conn: %p cq: %p)", conn, cq);
363 struct rdsv3_connection *conn = (struct rdsv3_connection *)data;
365 (void) rdsv3_ib_recv_refill(conn, 0);
372 struct rdsv3_connection *conn = ic->conn;
379 "Enter(conn: %p ic: %p)", conn, ic);
430 rdsv3_send_drop_acked(conn, ack_state.ack_recv, NULL);
433 if (rdsv3_conn_up(conn)) {
434 if (!test_bit(RDSV3_LL_SEND_FULL, &conn->c_flags))
435 (void) rdsv3_send_xmit(ic->conn);
443 struct rdsv3_connection *conn = data;
444 struct rdsv3_ib_connection *ic = conn->c_transport_data;
446 RDSV3_DPRINTF2("rdsv3_ib_qp_event_handler", "conn %p ic %p event %u",
447 conn, ic, event->event);
454 if (conn) {
459 event->event, NIPQUAD(conn->c_laddr),
460 NIPQUAD(conn->c_faddr));
461 rdsv3_conn_drop(conn);
470 RDSV3_DPRINTF2("rdsv3_ib_qp_event_handler", "Return conn: %p event: %p",
471 conn, event);
484 rdsv3_ib_setup_qp(struct rdsv3_connection *conn)
486 struct rdsv3_ib_connection *ic = conn->c_transport_data;
494 RDSV3_DPRINTF2("rdsv3_ib_setup_qp", "Enter conn: %p", conn);
524 rdsv3_ib_cq_event_handler, conn,
536 rdsv3_ib_cq_event_handler, conn, ic->i_send_ring.w_nr + 1,
552 attr.qp_context = conn;
636 RDSV3_DPRINTF2("rdsv3_ib_setup_qp", "conn %p pd %p mr %p cq %p",
637 conn, ic->i_pd, ic->i_mr, ic->i_cq);
647 event->param.conn.private_data;
668 if (!event->param.conn.private_data_len) {
675 if (event->param.conn.private_data_len < sizeof (*dp) ||
707 event->param.conn.private_data;
709 struct rdsv3_connection *conn = NULL;
734 conn = rdsv3_conn_create(dp->dp_daddr, dp->dp_saddr,
736 if (IS_ERR(conn)) {
738 "rdsv3_conn_create failed (%ld)", PTR_ERR(conn));
739 conn = NULL;
750 mutex_enter(&conn->c_cm_lock);
751 if (!rdsv3_conn_transition(conn, RDSV3_CONN_DOWN,
753 if (rdsv3_conn_state(conn) == RDSV3_CONN_UP) {
756 conn);
757 rdsv3_conn_drop(conn);
759 mutex_exit(&conn->c_cm_lock);
761 } else if (rdsv3_conn_state(conn) == RDSV3_CONN_CONNECTING) {
766 conn, lguid, fguid);
769 mutex_exit(&conn->c_cm_lock);
773 ic = conn->c_transport_data;
775 rdsv3_ib_set_protocol(conn, version);
776 rdsv3_ib_set_flow_control(conn, ntohl(dp->dp_credit));
783 rdsv3_send_drop_acked(conn, ntohll(dp->dp_ack_seq), NULL);
792 cm_id->context = conn;
800 err = rdsv3_ib_setup_qp(conn);
804 mutex_exit(&conn->c_cm_lock);
805 rdsv3_conn_drop(conn);
809 rdsv3_ib_cm_fill_conn_param(conn, &conn_param, &dp_rep, version,
810 event->param.conn.responder_resources,
811 event->param.conn.initiator_depth);
815 mutex_exit(&conn->c_cm_lock);
819 rdsv3_conn_drop(conn);
837 struct rdsv3_connection *conn = cm_id->context;
838 struct rdsv3_ib_connection *ic = conn->c_transport_data;
850 rdsv3_ib_set_protocol(conn, RDS_PROTOCOL_3_0);
854 ret = rdsv3_ib_setup_qp(conn);
858 rdsv3_conn_drop(conn);
862 rdsv3_ib_cm_fill_conn_param(conn, &conn_param, &dp,
869 rdsv3_conn_drop(conn);
889 rdsv3_ib_conn_connect(struct rdsv3_connection *conn)
891 struct rdsv3_ib_connection *ic = conn->c_transport_data;
896 RDSV3_DPRINTF2("rdsv3_ib_conn_connect", "Enter: conn: %p", conn);
902 ic->i_cm_id = rdma_create_id(rdsv3_rdma_cm_event_handler, conn,
913 "created cm id %p for conn %p", ic->i_cm_id, conn);
916 laddr = conn->c_laddr;
917 faddr = conn->c_faddr;
942 RDSV3_DPRINTF2("rdsv3_ib_conn_connect", "Return: conn: %p", conn);
954 rdsv3_ib_conn_shutdown(struct rdsv3_connection *conn)
956 struct rdsv3_ib_connection *ic = conn->c_transport_data;
1029 rdsv3_ib_remove_conn(ic->rds_ibdev, conn);
1087 RDSV3_DPRINTF2("rdsv3_ib_conn_shutdown", "Return conn: %p", conn);
1092 rdsv3_ib_conn_alloc(struct rdsv3_connection *conn, int gfp)
1096 RDSV3_DPRINTF2("rdsv3_ib_conn_alloc", "conn: %p", conn);
1115 ic->conn = conn;
1116 conn->c_transport_data = ic;
1122 RDSV3_DPRINTF2("rdsv3_ib_conn_alloc", "conn %p conn ic %p",
1123 conn, conn->c_transport_data);
1158 __rdsv3_ib_conn_error(struct rdsv3_connection *conn)
1160 rdsv3_conn_drop(conn);