Lines Matching defs:evt

1160 	struct cma_event *evt;
1165 evt = container_of(event, struct cma_event, event);
1167 if (evt->mc)
1168 ucma_complete_mc_event(evt->mc);
1170 ucma_complete_event(evt->id_priv);
1171 free(evt);
1175 static int ucma_process_conn_req(struct cma_event *evt,
1181 id_priv = ucma_alloc_id(evt->id_priv->id.channel,
1182 evt->id_priv->id.context, evt->id_priv->id.ps);
1184 ucma_destroy_kern_id(evt->id_priv->id.channel->fd, handle);
1189 evt->event.listen_id = &evt->id_priv->id;
1190 evt->event.id = &id_priv->id;
1201 ucma_complete_event(evt->id_priv);
1245 static int ucma_process_join(struct cma_event *evt)
1247 evt->mc->mgid = evt->event.param.ud.ah_attr.grh.dgid;
1248 evt->mc->mlid = evt->event.param.ud.ah_attr.dlid;
1250 if (!evt->id_priv->id.qp)
1253 return ibv_attach_mcast(evt->id_priv->id.qp, &evt->mc->mgid,
1254 evt->mc->mlid);
1300 struct cma_event *evt;
1311 evt = malloc(sizeof *evt);
1312 if (!evt)
1316 memset(evt, 0, sizeof *evt);
1320 free(evt);
1326 evt->event.event = resp->event;
1327 evt->id_priv = (void *) (uintptr_t) resp->uid;
1328 evt->event.id = &evt->id_priv->id;
1329 evt->event.status = resp->status;
1333 evt->event.status = ucma_query_route(&evt->id_priv->id);
1334 if (evt->event.status)
1335 evt->event.event = RDMA_CM_EVENT_ADDR_ERROR;
1338 evt->event.status = ucma_query_route(&evt->id_priv->id);
1339 if (evt->event.status)
1340 evt->event.event = RDMA_CM_EVENT_ROUTE_ERROR;
1343 evt->id_priv = (void *) (uintptr_t) resp->uid;
1344 if (ucma_is_ud_ps(evt->id_priv->id.ps))
1345 ucma_copy_ud_event(evt, &resp->param.ud);
1347 ucma_copy_conn_event(evt, &resp->param.conn);
1349 ret = ucma_process_conn_req(evt, resp->id);
1354 ucma_copy_conn_event(evt, &resp->param.conn);
1355 evt->event.status = ucma_process_conn_resp(evt->id_priv);
1356 if (!evt->event.status)
1357 evt->event.event = RDMA_CM_EVENT_ESTABLISHED;
1359 evt->event.event = RDMA_CM_EVENT_CONNECT_ERROR;
1360 evt->id_priv->connect_error = 1;
1364 if (ucma_is_ud_ps(evt->id_priv->id.ps)) {
1365 ucma_copy_ud_event(evt, &resp->param.ud);
1369 ucma_copy_conn_event(evt, &resp->param.conn);
1370 evt->event.status = ucma_process_establish(&evt->id_priv->id);
1371 if (evt->event.status) {
1372 evt->event.event = RDMA_CM_EVENT_CONNECT_ERROR;
1373 evt->id_priv->connect_error = 1;
1377 if (evt->id_priv->connect_error) {
1378 ucma_complete_event(evt->id_priv);
1381 ucma_copy_conn_event(evt, &resp->param.conn);
1382 ucma_modify_qp_err(evt->event.id);
1385 if (evt->id_priv->connect_error) {
1386 ucma_complete_event(evt->id_priv);
1389 ucma_copy_conn_event(evt, &resp->param.conn);
1392 evt->mc = (void *) (uintptr_t) resp->uid;
1393 evt->id_priv = evt->mc->id_priv;
1394 evt->event.id = &evt->id_priv->id;
1395 ucma_copy_ud_event(evt, &resp->param.ud);
1396 evt->event.param.ud.private_data = evt->mc->context;
1397 evt->event.status = ucma_process_join(evt);
1398 if (evt->event.status)
1399 evt->event.event = RDMA_CM_EVENT_MULTICAST_ERROR;
1402 evt->mc = (void *) (uintptr_t) resp->uid;
1403 evt->id_priv = evt->mc->id_priv;
1404 evt->event.id = &evt->id_priv->id;
1405 evt->event.param.ud.private_data = evt->mc->context;
1408 evt->id_priv = (void *) (uintptr_t) resp->uid;
1409 evt->event.id = &evt->id_priv->id;
1410 evt->event.status = resp->status;
1411 if (ucma_is_ud_ps(evt->id_priv->id.ps))
1412 ucma_copy_ud_event(evt, &resp->param.ud);
1414 ucma_copy_conn_event(evt, &resp->param.conn);
1418 *event = &evt->event;