Lines Matching refs:cm_id
220 } cm_id; member
845 if (!id_priv->cm_id.ib || (id_priv->id.qp_type == IB_QPT_UD)) in rdma_init_qp_attr()
848 ret = ib_cm_init_qp_attr(id_priv->cm_id.ib, qp_attr, in rdma_init_qp_attr()
854 if (!id_priv->cm_id.iw) { in rdma_init_qp_attr()
858 ret = iw_cm_init_qp_attr(id_priv->cm_id.iw, qp_attr, in rdma_init_qp_attr()
1287 const struct ib_cm_id *cm_id, in cma_find_listener() argument
1299 if (id_priv->id.device == cm_id->device && in cma_find_listener()
1305 if (id_priv_dev->id.device == cm_id->device && in cma_find_listener()
1315 static struct rdma_id_private *cma_id_from_event(struct ib_cm_id *cm_id, in cma_id_from_event() argument
1345 id_priv = cma_find_listener(bind_list, cm_id, ib_event, &req, *net_dev); in cma_id_from_event()
1463 if (id_priv->cm_id.ib) in rdma_destroy_id()
1464 ib_destroy_cm_id(id_priv->cm_id.ib); in rdma_destroy_id()
1466 if (id_priv->cm_id.iw) in rdma_destroy_id()
1467 iw_destroy_cm_id(id_priv->cm_id.iw); in rdma_destroy_id()
1498 ret = ib_send_cm_rtu(id_priv->cm_id.ib, NULL, 0); in cma_rep_recv()
1505 ib_send_cm_rej(id_priv->cm_id.ib, IB_CM_REJ_CONSUMER_DEFINED, in cma_rep_recv()
1524 static int cma_ib_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event) in cma_ib_handler() argument
1526 struct rdma_id_private *id_priv = cm_id->context; in cma_ib_handler()
1589 id_priv->cm_id.ib = NULL; in cma_ib_handler()
1727 static int cma_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event) in cma_req_handler() argument
1734 listen_id = cma_id_from_event(cm_id, ib_event, &net_dev); in cma_req_handler()
1771 conn_id->cm_id.ib = cm_id; in cma_req_handler()
1772 cm_id->context = conn_id; in cma_req_handler()
1773 cm_id->cm_handler = cma_ib_handler; in cma_req_handler()
1790 ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0); in cma_req_handler()
1802 conn_id->cm_id.ib = NULL; in cma_req_handler()
1881 id_priv->cm_id.iw = NULL; in cma_iw_handler()
1892 static int iw_conn_req_handler(struct iw_cm_id *cm_id, in iw_conn_req_handler() argument
1903 listen_id = cm_id->context; in iw_conn_req_handler()
1934 conn_id->cm_id.iw = cm_id; in iw_conn_req_handler()
1935 cm_id->context = conn_id; in iw_conn_req_handler()
1936 cm_id->cm_handler = cma_iw_handler; in iw_conn_req_handler()
1963 conn_id->cm_id.iw = NULL; in iw_conn_req_handler()
1990 id_priv->cm_id.ib = id; in cma_ib_listen()
2007 id_priv->cm_id.iw = id; in cma_iw_listen()
2009 memcpy(&id_priv->cm_id.iw->local_addr, cma_src_addr(id_priv), in cma_iw_listen()
2012 ret = iw_cm_listen(id_priv->cm_id.iw, backlog); in cma_iw_listen()
2015 iw_destroy_cm_id(id_priv->cm_id.iw); in cma_iw_listen()
2016 id_priv->cm_id.iw = NULL; in cma_iw_listen()
3053 static int cma_sidr_rep_handler(struct ib_cm_id *cm_id, in cma_sidr_rep_handler() argument
3056 struct rdma_id_private *id_priv = cm_id->context; in cma_sidr_rep_handler()
3101 id_priv->cm_id.ib = NULL; in cma_sidr_rep_handler()
3151 id_priv->cm_id.ib = id; in cma_resolve_ib_udp()
3158 ret = ib_send_cm_sidr_req(id_priv->cm_id.ib, &req); in cma_resolve_ib_udp()
3160 ib_destroy_cm_id(id_priv->cm_id.ib); in cma_resolve_ib_udp()
3161 id_priv->cm_id.ib = NULL; in cma_resolve_ib_udp()
3200 id_priv->cm_id.ib = id; in cma_connect_ib()
3228 ret = ib_send_cm_req(id_priv->cm_id.ib, &req); in cma_connect_ib()
3232 id_priv->cm_id.ib = NULL; in cma_connect_ib()
3242 struct iw_cm_id *cm_id; in cma_connect_iw() local
3246 cm_id = iw_create_cm_id(id_priv->id.device, cma_iw_handler, id_priv); in cma_connect_iw()
3247 if (IS_ERR(cm_id)) in cma_connect_iw()
3248 return PTR_ERR(cm_id); in cma_connect_iw()
3250 cm_id->tos = id_priv->tos; in cma_connect_iw()
3251 id_priv->cm_id.iw = cm_id; in cma_connect_iw()
3253 memcpy(&cm_id->local_addr, cma_src_addr(id_priv), in cma_connect_iw()
3255 memcpy(&cm_id->remote_addr, cma_dst_addr(id_priv), in cma_connect_iw()
3272 ret = iw_cm_connect(cm_id, &iw_param); in cma_connect_iw()
3275 iw_destroy_cm_id(cm_id); in cma_connect_iw()
3276 id_priv->cm_id.iw = NULL; in cma_connect_iw()
3340 ret = ib_send_cm_rep(id_priv->cm_id.ib, &rep); in cma_accept_ib()
3364 return iw_cm_accept(id_priv->cm_id.iw, &iw_param); in cma_accept_iw()
3386 return ib_send_cm_sidr_rep(id_priv->cm_id.ib, &rep); in cma_send_sidr_rep()
3444 if (!id_priv->cm_id.ib) in rdma_notify()
3449 ret = ib_cm_notify(id_priv->cm_id.ib, event); in rdma_notify()
3466 if (!id_priv->cm_id.ib) in rdma_reject()
3474 ret = ib_send_cm_rej(id_priv->cm_id.ib, in rdma_reject()
3478 ret = iw_cm_reject(id_priv->cm_id.iw, in rdma_reject()
3493 if (!id_priv->cm_id.ib) in rdma_disconnect()
3501 if (ib_send_cm_dreq(id_priv->cm_id.ib, NULL, 0)) in rdma_disconnect()
3502 ib_send_cm_drep(id_priv->cm_id.ib, NULL, 0); in rdma_disconnect()
3504 ret = iw_cm_disconnect(id_priv->cm_id.iw, 0); in rdma_disconnect()