Lines Matching refs:cm_id
1028 static void cm_destroy_id(struct ib_cm_id *cm_id, int err) in cm_destroy_id() argument
1033 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in cm_destroy_id()
1036 switch (cm_id->state) { in cm_destroy_id()
1047 cm_id->state = IB_CM_IDLE; in cm_destroy_id()
1053 cm_id->state = IB_CM_IDLE; in cm_destroy_id()
1061 cm_id->state = IB_CM_IDLE; in cm_destroy_id()
1095 cm_id->state = IB_CM_IDLE; in cm_destroy_id()
1106 WARN_ON(cm_id->state != IB_CM_TIMEWAIT); in cm_destroy_id()
1114 cm_id->state = IB_CM_IDLE; in cm_destroy_id()
1119 WARN_ON(cm_id->state != IB_CM_IDLE); in cm_destroy_id()
1136 xa_erase(&cm.local_id_table, cm_local_id(cm_id->local_id)); in cm_destroy_id()
1148 void ib_destroy_cm_id(struct ib_cm_id *cm_id) in ib_destroy_cm_id() argument
1150 cm_destroy_id(cm_id, 0); in ib_destroy_cm_id()
1177 int ib_cm_listen(struct ib_cm_id *cm_id, __be64 service_id) in ib_cm_listen() argument
1180 container_of(cm_id, struct cm_id_private, id); in ib_cm_listen()
1473 int ib_send_cm_req(struct ib_cm_id *cm_id, in ib_send_cm_req() argument
1488 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_send_cm_req()
1490 if (cm_id->state != IB_CM_IDLE || WARN_ON(cm_id_priv->timewait_info)) { in ib_send_cm_req()
1516 cm_id->service_id = param->service_id; in ib_send_cm_req()
1558 BUG_ON(cm_id->state != IB_CM_IDLE); in ib_send_cm_req()
1559 cm_id->state = IB_CM_REQ_SENT; in ib_send_cm_req()
2254 int ib_send_cm_rep(struct ib_cm_id *cm_id, in ib_send_cm_rep() argument
2267 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_send_cm_rep()
2269 if (cm_id->state != IB_CM_REQ_RCVD && in ib_send_cm_rep()
2270 cm_id->state != IB_CM_MRA_REQ_SENT) { in ib_send_cm_rep()
2271 trace_icm_send_rep_err(cm_id_priv->id.local_id, cm_id->state); in ib_send_cm_rep()
2287 trace_icm_send_rep(cm_id); in ib_send_cm_rep()
2292 cm_id->state = IB_CM_REP_SENT; in ib_send_cm_rep()
2327 int ib_send_cm_rtu(struct ib_cm_id *cm_id, in ib_send_cm_rtu() argument
2344 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_send_cm_rtu()
2346 if (cm_id->state != IB_CM_REP_RCVD && in ib_send_cm_rtu()
2347 cm_id->state != IB_CM_MRA_REP_SENT) { in ib_send_cm_rtu()
2348 trace_icm_send_cm_rtu_err(cm_id); in ib_send_cm_rtu()
2362 trace_icm_send_rtu(cm_id); in ib_send_cm_rtu()
2371 cm_id->state = IB_CM_ESTABLISHED; in ib_send_cm_rtu()
2678 int ib_send_cm_dreq(struct ib_cm_id *cm_id, const void *private_data, in ib_send_cm_dreq() argument
2682 container_of(cm_id, struct cm_id_private, id); in ib_send_cm_dreq()
2745 int ib_send_cm_drep(struct ib_cm_id *cm_id, const void *private_data, in ib_send_cm_drep() argument
2749 container_of(cm_id, struct cm_id_private, id); in ib_send_cm_drep()
2956 int ib_send_cm_rej(struct ib_cm_id *cm_id, enum ib_cm_rej_reason reason, in ib_send_cm_rej() argument
2961 container_of(cm_id, struct cm_id_private, id); in ib_send_cm_rej()
3067 int ib_send_cm_mra(struct ib_cm_id *cm_id, in ib_send_cm_mra() argument
3088 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_send_cm_mra()
3094 lap_state = cm_id->lap_state; in ib_send_cm_mra()
3099 lap_state = cm_id->lap_state; in ib_send_cm_mra()
3103 if (cm_id->lap_state == IB_CM_LAP_RCVD) { in ib_send_cm_mra()
3104 cm_state = cm_id->state; in ib_send_cm_mra()
3126 trace_icm_send_mra(cm_id); in ib_send_cm_mra()
3132 cm_id->state = cm_state; in ib_send_cm_mra()
3133 cm_id->lap_state = lap_state; in ib_send_cm_mra()
3467 int ib_send_cm_sidr_req(struct ib_cm_id *cm_id, in ib_send_cm_sidr_req() argument
3480 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_send_cm_sidr_req()
3487 cm_id->service_id = param->service_id; in ib_send_cm_sidr_req()
3490 if (cm_id->state != IB_CM_IDLE) { in ib_send_cm_sidr_req()
3510 cm_id->state = IB_CM_SIDR_REQ_SENT; in ib_send_cm_sidr_req()
3683 int ib_send_cm_sidr_rep(struct ib_cm_id *cm_id, in ib_send_cm_sidr_rep() argument
3687 container_of(cm_id, struct cm_id_private, id); in ib_send_cm_sidr_rep()
3892 static int cm_establish(struct ib_cm_id *cm_id) in cm_establish() argument
3900 cm_dev = ib_get_client_data(cm_id->device, &cm_client); in cm_establish()
3908 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in cm_establish()
3910 switch (cm_id->state) { in cm_establish()
3913 cm_id->state = IB_CM_ESTABLISHED; in cm_establish()
3919 trace_icm_establish_err(cm_id); in cm_establish()
3937 work->local_id = cm_id->local_id; in cm_establish()
3938 work->remote_id = cm_id->remote_id; in cm_establish()
3956 static int cm_migrate(struct ib_cm_id *cm_id) in cm_migrate() argument
3962 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in cm_migrate()
3964 if (cm_id->state == IB_CM_ESTABLISHED && in cm_migrate()
3965 (cm_id->lap_state == IB_CM_LAP_UNINIT || in cm_migrate()
3966 cm_id->lap_state == IB_CM_LAP_IDLE)) { in cm_migrate()
3967 cm_id->lap_state = IB_CM_LAP_IDLE; in cm_migrate()
3976 int ib_cm_notify(struct ib_cm_id *cm_id, enum ib_event_type event) in ib_cm_notify() argument
3982 ret = cm_establish(cm_id); in ib_cm_notify()
3985 ret = cm_migrate(cm_id); in ib_cm_notify()
4239 int ib_cm_init_qp_attr(struct ib_cm_id *cm_id, in ib_cm_init_qp_attr() argument
4246 cm_id_priv = container_of(cm_id, struct cm_id_private, id); in ib_cm_init_qp_attr()