Lines Matching refs:cm_id
142 return id_priv->cm_id.iw; in rdma_iw_cm_id()
1273 if (!id_priv->cm_id.ib || (id_priv->id.qp_type == IB_QPT_UD)) in rdma_init_qp_attr()
1276 ret = ib_cm_init_qp_attr(id_priv->cm_id.ib, qp_attr, in rdma_init_qp_attr()
1282 if (!id_priv->cm_id.iw) { in rdma_init_qp_attr()
1286 ret = iw_cm_init_qp_attr(id_priv->cm_id.iw, qp_attr, in rdma_init_qp_attr()
1787 const struct ib_cm_id *cm_id, in cma_find_listener() argument
1801 if (id_priv->id.device == cm_id->device && in cma_find_listener()
1807 if (id_priv_dev->id.device == cm_id->device && in cma_find_listener()
1819 cma_ib_id_from_event(struct ib_cm_id *cm_id, in cma_ib_id_from_event() argument
1881 id_priv = cma_find_listener(bind_list, cm_id, ib_event, req, *net_dev); in cma_ib_id_from_event()
2038 if (id_priv->cm_id.ib) in _destroy_id()
2039 ib_destroy_cm_id(id_priv->cm_id.ib); in _destroy_id()
2041 if (id_priv->cm_id.iw) in _destroy_id()
2042 iw_destroy_cm_id(id_priv->cm_id.iw); in _destroy_id()
2113 ret = ib_send_cm_rtu(id_priv->cm_id.ib, NULL, 0); in cma_rep_recv()
2122 ib_send_cm_rej(id_priv->cm_id.ib, IB_CM_REJ_CONSUMER_DEFINED, in cma_rep_recv()
2157 static int cma_ib_handler(struct ib_cm_id *cm_id, in cma_ib_handler() argument
2160 struct rdma_id_private *id_priv = cm_id->context; in cma_ib_handler()
2183 ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0); in cma_ib_handler()
2233 id_priv->cm_id.ib = NULL; in cma_ib_handler()
2379 static int cma_ib_req_handler(struct ib_cm_id *cm_id, in cma_ib_req_handler() argument
2389 listen_id = cma_ib_id_from_event(cm_id, ib_event, &req, &net_dev); in cma_ib_req_handler()
2429 conn_id->cm_id.ib = cm_id; in cma_ib_req_handler()
2430 cm_id->context = conn_id; in cma_ib_req_handler()
2431 cm_id->cm_handler = cma_ib_handler; in cma_ib_req_handler()
2436 conn_id->cm_id.ib = NULL; in cma_ib_req_handler()
2444 trace_cm_send_mra(cm_id->context); in cma_ib_req_handler()
2445 ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0); in cma_ib_req_handler()
2467 void rdma_read_gids(struct rdma_cm_id *cm_id, union ib_gid *sgid, in rdma_read_gids() argument
2470 struct rdma_addr *addr = &cm_id->route.addr; in rdma_read_gids()
2472 if (!cm_id->device) { in rdma_read_gids()
2480 if (rdma_protocol_roce(cm_id->device, cm_id->port_num)) { in rdma_read_gids()
2548 id_priv->cm_id.iw = NULL; in cma_iw_handler()
2558 static int iw_conn_req_handler(struct iw_cm_id *cm_id, in iw_conn_req_handler() argument
2573 listen_id = cm_id->context; in iw_conn_req_handler()
2605 conn_id->cm_id.iw = cm_id; in iw_conn_req_handler()
2606 cm_id->context = conn_id; in iw_conn_req_handler()
2607 cm_id->cm_handler = cma_iw_handler; in iw_conn_req_handler()
2615 conn_id->cm_id.iw = NULL; in iw_conn_req_handler()
2640 id_priv->cm_id.ib = id; in cma_ib_listen()
2661 id_priv->cm_id.iw = id; in cma_iw_listen()
2663 memcpy(&id_priv->cm_id.iw->local_addr, cma_src_addr(id_priv), in cma_iw_listen()
2666 ret = iw_cm_listen(id_priv->cm_id.iw, backlog); in cma_iw_listen()
2669 iw_destroy_cm_id(id_priv->cm_id.iw); in cma_iw_listen()
2670 id_priv->cm_id.iw = NULL; in cma_iw_listen()
4189 static int cma_sidr_rep_handler(struct ib_cm_id *cm_id, in cma_sidr_rep_handler() argument
4192 struct rdma_id_private *id_priv = cm_id->context; in cma_sidr_rep_handler()
4245 id_priv->cm_id.ib = NULL; in cma_sidr_rep_handler()
4293 id_priv->cm_id.ib = id; in cma_resolve_ib_udp()
4302 ret = ib_send_cm_sidr_req(id_priv->cm_id.ib, &req); in cma_resolve_ib_udp()
4304 ib_destroy_cm_id(id_priv->cm_id.ib); in cma_resolve_ib_udp()
4305 id_priv->cm_id.ib = NULL; in cma_resolve_ib_udp()
4344 id_priv->cm_id.ib = id; in cma_connect_ib()
4379 ret = ib_send_cm_req(id_priv->cm_id.ib, &req); in cma_connect_ib()
4383 id_priv->cm_id.ib = NULL; in cma_connect_ib()
4393 struct iw_cm_id *cm_id; in cma_connect_iw() local
4397 cm_id = iw_create_cm_id(id_priv->id.device, cma_iw_handler, id_priv); in cma_connect_iw()
4398 if (IS_ERR(cm_id)) in cma_connect_iw()
4399 return PTR_ERR(cm_id); in cma_connect_iw()
4402 cm_id->tos = id_priv->tos; in cma_connect_iw()
4403 cm_id->tos_set = id_priv->tos_set; in cma_connect_iw()
4406 id_priv->cm_id.iw = cm_id; in cma_connect_iw()
4408 memcpy(&cm_id->local_addr, cma_src_addr(id_priv), in cma_connect_iw()
4410 memcpy(&cm_id->remote_addr, cma_dst_addr(id_priv), in cma_connect_iw()
4427 ret = iw_cm_connect(cm_id, &iw_param); in cma_connect_iw()
4430 iw_destroy_cm_id(cm_id); in cma_connect_iw()
4431 id_priv->cm_id.iw = NULL; in cma_connect_iw()
4553 ret = ib_send_cm_rep(id_priv->cm_id.ib, &rep); in cma_accept_ib()
4580 return iw_cm_accept(id_priv->cm_id.iw, &iw_param); in cma_accept_iw()
4610 return ib_send_cm_sidr_rep(id_priv->cm_id.ib, &rep); in cma_send_sidr_rep()
4716 if (!id_priv->cm_id.ib) in rdma_notify()
4721 ret = ib_cm_notify(id_priv->cm_id.ib, event); in rdma_notify()
4738 if (!id_priv->cm_id.ib) in rdma_reject()
4747 ret = ib_send_cm_rej(id_priv->cm_id.ib, reason, NULL, 0, in rdma_reject()
4751 ret = iw_cm_reject(id_priv->cm_id.iw, in rdma_reject()
4767 if (!id_priv->cm_id.ib) in rdma_disconnect()
4776 if (ib_send_cm_dreq(id_priv->cm_id.ib, NULL, 0)) { in rdma_disconnect()
4777 if (!ib_send_cm_drep(id_priv->cm_id.ib, NULL, 0)) in rdma_disconnect()
4783 ret = iw_cm_disconnect(id_priv->cm_id.iw, 0); in rdma_disconnect()
5165 id_priv->cm_id.ib = NULL; in cma_netevent_work_handler()