• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/rds/

Lines Matching defs:conn

44 static void rds_ib_set_protocol(struct rds_connection *conn, unsigned int version)
46 conn->c_version = version;
52 static void rds_ib_set_flow_control(struct rds_connection *conn, u32 credits)
54 struct rds_ib_connection *ic = conn->c_transport_data;
59 rds_ib_send_add_credits(conn, credits);
94 void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_event *event)
97 struct rds_ib_connection *ic = conn->c_transport_data;
102 if (event->param.conn.private_data_len >= sizeof(*dp)) {
103 dp = event->param.conn.private_data;
107 rds_ib_set_protocol(conn,
110 rds_ib_set_flow_control(conn, be32_to_cpu(dp->dp_credit));
115 &conn->c_faddr,
116 RDS_PROTOCOL_MAJOR(conn->c_version),
117 RDS_PROTOCOL_MINOR(conn->c_version),
128 rds_ib_recv_refill(conn, GFP_KERNEL, GFP_HIGHUSER, 1);
138 /* update ib_device with this local ipaddr & conn */
140 err = rds_ib_update_ipaddr(rds_ibdev, conn->c_laddr);
143 rds_ib_add_conn(rds_ibdev, conn);
148 rds_send_drop_acked(conn, be64_to_cpu(dp->dp_ack_seq), NULL);
150 rds_connect_complete(conn);
153 static void rds_ib_cm_fill_conn_param(struct rds_connection *conn,
165 struct rds_ib_connection *ic = conn->c_transport_data;
168 dp->dp_saddr = conn->c_laddr;
169 dp->dp_daddr = conn->c_faddr;
196 struct rds_connection *conn = data;
197 struct rds_ib_connection *ic = conn->c_transport_data;
199 rdsdebug("conn %p ic %p event %u\n", conn, ic, event->event);
208 event->event, &conn->c_laddr, &conn->c_faddr);
209 rds_conn_drop(conn);
218 static int rds_ib_setup_qp(struct rds_connection *conn)
220 struct rds_ib_connection *ic = conn->c_transport_data;
249 rds_ib_cq_event_handler, conn,
259 rds_ib_cq_event_handler, conn,
282 attr.qp_context = conn;
345 rdsdebug("conn %p pd %p mr %p cq %p %p\n", conn, ic->i_pd, ic->i_mr,
354 const struct rds_ib_connect_private *dp = event->param.conn.private_data;
369 if (!event->param.conn.private_data_len) {
376 if (event->param.conn.private_data_len < sizeof (*dp) ||
400 const struct rds_ib_connect_private *dp = event->param.conn.private_data;
402 struct rds_connection *conn = NULL;
419 conn = rds_conn_create(dp->dp_daddr, dp->dp_saddr, &rds_ib_transport,
421 if (IS_ERR(conn)) {
422 rdsdebug("rds_conn_create failed (%ld)\n", PTR_ERR(conn));
423 conn = NULL;
434 mutex_lock(&conn->c_cm_lock);
435 if (!rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_CONNECTING)) {
436 if (rds_conn_state(conn) == RDS_CONN_UP) {
438 rds_conn_drop(conn);
441 if (rds_conn_state(conn) == RDS_CONN_CONNECTING) {
445 mutex_unlock(&conn->c_cm_lock);
449 ic = conn->c_transport_data;
451 rds_ib_set_protocol(conn, version);
452 rds_ib_set_flow_control(conn, be32_to_cpu(dp->dp_credit));
457 rds_send_drop_acked(conn, be64_to_cpu(dp->dp_ack_seq), NULL);
463 cm_id->context = conn;
469 err = rds_ib_setup_qp(conn);
471 rds_ib_conn_error(conn, "rds_ib_setup_qp failed (%d)\n", err);
472 mutex_unlock(&conn->c_cm_lock);
476 rds_ib_cm_fill_conn_param(conn, &conn_param, &dp_rep, version);
480 mutex_unlock(&conn->c_cm_lock);
482 rds_ib_conn_error(conn, "rdma_accept failed (%d)\n", err);
496 struct rds_connection *conn = cm_id->context;
497 struct rds_ib_connection *ic = conn->c_transport_data;
504 rds_ib_set_protocol(conn, RDS_PROTOCOL_3_0);
507 ret = rds_ib_setup_qp(conn);
509 rds_ib_conn_error(conn, "rds_ib_setup_qp failed (%d)\n", ret);
513 rds_ib_cm_fill_conn_param(conn, &conn_param, &dp, RDS_PROTOCOL_VERSION);
517 rds_ib_conn_error(conn, "rdma_connect failed (%d)\n", ret);
530 int rds_ib_conn_connect(struct rds_connection *conn)
532 struct rds_ib_connection *ic = conn->c_transport_data;
537 ic->i_cm_id = rdma_create_id(rds_rdma_cm_event_handler, conn,
546 rdsdebug("created cm id %p for conn %p\n", ic->i_cm_id, conn);
549 src.sin_addr.s_addr = (__force u32)conn->c_laddr;
553 dest.sin_addr.s_addr = (__force u32)conn->c_faddr;
575 void rds_ib_conn_shutdown(struct rds_connection *conn)
577 struct rds_ib_connection *ic = conn->c_transport_data;
636 rds_ib_remove_conn(ic->rds_ibdev, conn);
682 int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp)
706 ic->conn = conn;
707 conn->c_transport_data = ic;
714 rdsdebug("conn %p conn ic %p\n", conn, conn->c_transport_data);
747 __rds_ib_conn_error(struct rds_connection *conn, const char *fmt, ...)
751 rds_conn_drop(conn);