Lines Matching defs:cm_id

164 	} cm_id;
416 return (id_priv->id.device && id_priv->cm_id.ib);
650 if (!id_priv->cm_id.ib || cma_is_ud_ps(id_priv->id.ps))
653 ret = ib_cm_init_qp_attr(id_priv->cm_id.ib, qp_attr,
659 if (!id_priv->cm_id.iw) {
663 ret = iw_cm_init_qp_attr(id_priv->cm_id.iw, qp_attr,
907 if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib))
908 ib_destroy_cm_id(id_priv->cm_id.ib);
911 if (id_priv->cm_id.iw && !IS_ERR(id_priv->cm_id.iw))
912 iw_destroy_cm_id(id_priv->cm_id.iw);
947 ret = ib_send_cm_rtu(id_priv->cm_id.ib, NULL, 0);
954 ib_send_cm_rej(id_priv->cm_id.ib, IB_CM_REJ_CONSUMER_DEFINED,
983 static int cma_ib_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event)
985 struct rdma_id_private *id_priv = cm_id->context;
1049 id_priv->cm_id.ib = NULL;
1169 static int cma_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event)
1175 listen_id = cm_id->context;
1204 conn_id->cm_id.ib = cm_id;
1205 cm_id->context = conn_id;
1206 cm_id->cm_handler = cma_ib_handler;
1212 * while we're accessing the cm_id.
1217 ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0);
1224 conn_id->cm_id.ib = NULL;
1344 id_priv->cm_id.iw = NULL;
1355 static int iw_conn_req_handler(struct iw_cm_id *cm_id,
1366 listen_id = cm_id->context;
1405 conn_id->cm_id.iw = cm_id;
1406 cm_id->context = conn_id;
1407 cm_id->cm_handler = cma_iw_handler;
1430 conn_id->cm_id.iw = NULL;
1453 id_priv->cm_id.ib = ib_create_cm_id(id_priv->id.device, cma_req_handler,
1455 if (IS_ERR(id_priv->cm_id.ib))
1456 return PTR_ERR(id_priv->cm_id.ib);
1461 ret = ib_cm_listen(id_priv->cm_id.ib, svc_id, 0, NULL);
1464 ret = ib_cm_listen(id_priv->cm_id.ib, svc_id, 0, &compare_data);
1468 ib_destroy_cm_id(id_priv->cm_id.ib);
1469 id_priv->cm_id.ib = NULL;
1480 id_priv->cm_id.iw = iw_create_cm_id(id_priv->id.device,
1484 if (IS_ERR(id_priv->cm_id.iw))
1485 return PTR_ERR(id_priv->cm_id.iw);
1488 id_priv->cm_id.iw->local_addr = *sin;
1490 ret = iw_cm_listen(id_priv->cm_id.iw, backlog);
1493 iw_destroy_cm_id(id_priv->cm_id.iw);
1494 id_priv->cm_id.iw = NULL;
2440 static int cma_sidr_rep_handler(struct ib_cm_id *cm_id,
2443 struct rdma_id_private *id_priv = cm_id->context;
2493 id_priv->cm_id.ib = NULL;
2526 id_priv->cm_id.ib = ib_create_cm_id(id_priv->id.device,
2528 if (IS_ERR(id_priv->cm_id.ib)) {
2529 ret = PTR_ERR(id_priv->cm_id.ib);
2539 ret = ib_send_cm_sidr_req(id_priv->cm_id.ib, &req);
2541 ib_destroy_cm_id(id_priv->cm_id.ib);
2542 id_priv->cm_id.ib = NULL;
2568 id_priv->cm_id.ib = ib_create_cm_id(id_priv->id.device, cma_ib_handler,
2570 if (IS_ERR(id_priv->cm_id.ib)) {
2571 ret = PTR_ERR(id_priv->cm_id.ib);
2600 ret = ib_send_cm_req(id_priv->cm_id.ib, &req);
2602 if (ret && !IS_ERR(id_priv->cm_id.ib)) {
2603 ib_destroy_cm_id(id_priv->cm_id.ib);
2604 id_priv->cm_id.ib = NULL;
2614 struct iw_cm_id *cm_id;
2619 cm_id = iw_create_cm_id(id_priv->id.device, id_priv->sock,
2621 if (IS_ERR(cm_id)) {
2622 ret = PTR_ERR(cm_id);
2626 id_priv->cm_id.iw = cm_id;
2629 cm_id->local_addr = *sin;
2632 cm_id->remote_addr = *sin;
2646 ret = iw_cm_connect(cm_id, &iw_param);
2648 if (ret && !IS_ERR(cm_id)) {
2649 iw_destroy_cm_id(cm_id);
2650 id_priv->cm_id.iw = NULL;
2719 ret = ib_send_cm_rep(id_priv->cm_id.ib, &rep);
2743 return iw_cm_accept(id_priv->cm_id.iw, &iw_param);
2765 return ib_send_cm_sidr_rep(id_priv->cm_id.ib, &rep);
2823 ret = ib_cm_notify(id_priv->cm_id.ib, event);
2849 ret = ib_send_cm_rej(id_priv->cm_id.ib,
2854 ret = iw_cm_reject(id_priv->cm_id.iw,
2880 if (ib_send_cm_dreq(id_priv->cm_id.ib, NULL, 0))
2881 ib_send_cm_drep(id_priv->cm_id.ib, NULL, 0);
2884 ret = iw_cm_disconnect(id_priv->cm_id.iw, 0);