Lines Matching refs:id_priv
110 struct cma_id_private *id_priv; member
123 struct cma_id_private *id_priv; member
385 static int ucma_get_device(struct cma_id_private *id_priv, __be64 guid) in ucma_get_device() argument
410 id_priv->cma_dev = cma_dev; in ucma_get_device()
411 id_priv->id.verbs = cma_dev->verbs; in ucma_get_device()
412 id_priv->id.pd = cma_dev->pd; in ucma_get_device()
445 static void ucma_insert_id(struct cma_id_private *id_priv) in ucma_insert_id() argument
448 idm_set(&ucma_idm, id_priv->handle, id_priv); in ucma_insert_id()
452 static void ucma_remove_id(struct cma_id_private *id_priv) in ucma_remove_id() argument
454 if (id_priv->handle <= IDX_MAX_INDEX) in ucma_remove_id()
455 idm_clear(&ucma_idm, id_priv->handle); in ucma_remove_id()
463 static void ucma_free_id(struct cma_id_private *id_priv) in ucma_free_id() argument
465 ucma_remove_id(id_priv); in ucma_free_id()
466 if (id_priv->cma_dev) in ucma_free_id()
467 ucma_put_device(id_priv->cma_dev); in ucma_free_id()
468 pthread_cond_destroy(&id_priv->cond); in ucma_free_id()
469 pthread_mutex_destroy(&id_priv->mut); in ucma_free_id()
470 if (id_priv->id.route.path_rec) in ucma_free_id()
471 free(id_priv->id.route.path_rec); in ucma_free_id()
473 if (id_priv->sync) in ucma_free_id()
474 rdma_destroy_event_channel(id_priv->id.channel); in ucma_free_id()
475 if (id_priv->connect_len) in ucma_free_id()
476 free(id_priv->connect); in ucma_free_id()
477 free(id_priv); in ucma_free_id()
485 struct cma_id_private *id_priv; in ucma_alloc_id() local
487 id_priv = calloc(1, sizeof(*id_priv)); in ucma_alloc_id()
488 if (!id_priv) in ucma_alloc_id()
491 id_priv->id.context = context; in ucma_alloc_id()
492 id_priv->id.ps = ps; in ucma_alloc_id()
493 id_priv->id.qp_type = qp_type; in ucma_alloc_id()
494 id_priv->handle = 0xFFFFFFFF; in ucma_alloc_id()
497 id_priv->id.channel = rdma_create_event_channel(); in ucma_alloc_id()
498 if (!id_priv->id.channel) in ucma_alloc_id()
500 id_priv->sync = 1; in ucma_alloc_id()
502 id_priv->id.channel = channel; in ucma_alloc_id()
505 pthread_mutex_init(&id_priv->mut, NULL); in ucma_alloc_id()
506 if (pthread_cond_init(&id_priv->cond, NULL)) in ucma_alloc_id()
509 return id_priv; in ucma_alloc_id()
511 err: ucma_free_id(id_priv); in ucma_alloc_id()
521 struct cma_id_private *id_priv; in rdma_create_id2() local
528 id_priv = ucma_alloc_id(channel, context, ps, qp_type); in rdma_create_id2()
529 if (!id_priv) in rdma_create_id2()
533 cmd.uid = (uintptr_t) id_priv; in rdma_create_id2()
537 ret = write(id_priv->id.channel->fd, &cmd, sizeof cmd); in rdma_create_id2()
543 id_priv->handle = resp.id; in rdma_create_id2()
544 ucma_insert_id(id_priv); in rdma_create_id2()
545 *id = &id_priv->id; in rdma_create_id2()
548 err: ucma_free_id(id_priv); in rdma_create_id2()
583 struct cma_id_private *id_priv; in rdma_destroy_id() local
586 id_priv = container_of(id, struct cma_id_private, id); in rdma_destroy_id()
587 ret = ucma_destroy_kern_id(id->channel->fd, id_priv->handle); in rdma_destroy_id()
591 if (id_priv->id.event) in rdma_destroy_id()
592 rdma_ack_cm_event(id_priv->id.event); in rdma_destroy_id()
594 pthread_mutex_lock(&id_priv->mut); in rdma_destroy_id()
595 while (id_priv->events_completed < ret) in rdma_destroy_id()
596 pthread_cond_wait(&id_priv->cond, &id_priv->mut); in rdma_destroy_id()
597 pthread_mutex_unlock(&id_priv->mut); in rdma_destroy_id()
599 ucma_free_id(id_priv); in rdma_destroy_id()
624 struct cma_id_private *id_priv; in ucma_query_addr() local
628 id_priv = container_of(id, struct cma_id_private, id); in ucma_query_addr()
629 cmd.id = id_priv->handle; in ucma_query_addr()
641 if (!id_priv->cma_dev && resp.node_guid) { in ucma_query_addr()
642 ret = ucma_get_device(id_priv, resp.node_guid); in ucma_query_addr()
656 struct cma_id_private *id_priv; in ucma_query_gid() local
661 id_priv = container_of(id, struct cma_id_private, id); in ucma_query_gid()
662 cmd.id = id_priv->handle; in ucma_query_gid()
716 struct cma_id_private *id_priv; in ucma_query_path() local
722 id_priv = container_of(id, struct cma_id_private, id); in ucma_query_path()
723 cmd.id = id_priv->handle; in ucma_query_path()
750 struct cma_id_private *id_priv; in ucma_query_route() local
754 id_priv = container_of(id, struct cma_id_private, id); in ucma_query_route()
755 cmd.id = id_priv->handle; in ucma_query_route()
785 if (!id_priv->cma_dev && resp.node_guid) { in ucma_query_route()
786 ret = ucma_get_device(id_priv, resp.node_guid); in ucma_query_route()
789 id_priv->id.port_num = resp.port_num; in ucma_query_route()
799 struct cma_id_private *id_priv; in rdma_bind_addr2() local
803 id_priv = container_of(id, struct cma_id_private, id); in rdma_bind_addr2()
804 cmd.id = id_priv->handle; in rdma_bind_addr2()
821 struct cma_id_private *id_priv; in rdma_bind_addr() local
832 id_priv = container_of(id, struct cma_id_private, id); in rdma_bind_addr()
833 cmd.id = id_priv->handle; in rdma_bind_addr()
845 struct cma_id_private *id_priv; in ucma_complete() local
848 id_priv = container_of(id, struct cma_id_private, id); in ucma_complete()
849 if (!id_priv->sync) in ucma_complete()
852 if (id_priv->id.event) { in ucma_complete()
853 rdma_ack_cm_event(id_priv->id.event); in ucma_complete()
854 id_priv->id.event = NULL; in ucma_complete()
857 ret = rdma_get_cm_event(id_priv->id.channel, &id_priv->id.event); in ucma_complete()
861 if (id_priv->id.event->status) { in ucma_complete()
862 if (id_priv->id.event->event == RDMA_CM_EVENT_REJECTED) in ucma_complete()
864 else if (id_priv->id.event->status < 0) in ucma_complete()
865 ret = ERR(-id_priv->id.event->status); in ucma_complete()
867 ret = ERR(-id_priv->id.event->status); in ucma_complete()
877 struct cma_id_private *id_priv; in rdma_resolve_addr2() local
881 id_priv = container_of(id, struct cma_id_private, id); in rdma_resolve_addr2()
882 cmd.id = id_priv->handle; in rdma_resolve_addr2()
901 struct cma_id_private *id_priv; in rdma_resolve_addr() local
917 id_priv = container_of(id, struct cma_id_private, id); in rdma_resolve_addr()
918 cmd.id = id_priv->handle; in rdma_resolve_addr()
962 struct cma_id_private *id_priv; in rdma_resolve_route() local
965 id_priv = container_of(id, struct cma_id_private, id); in rdma_resolve_route()
973 cmd.id = id_priv->handle; in rdma_resolve_route()
994 struct cma_id_private *id_priv; in rdma_init_qp_attr() local
998 id_priv = container_of(id, struct cma_id_private, id); in rdma_init_qp_attr()
999 cmd.id = id_priv->handle; in rdma_init_qp_attr()
1015 struct cma_id_private *id_priv; in ucma_modify_qp_rtr() local
1042 id_priv = container_of(id, struct cma_id_private, id); in ucma_modify_qp_rtr()
1043 link_layer = id_priv->cma_dev->port[id->port_num - 1].link_layer; in ucma_modify_qp_rtr()
1106 static int ucma_init_conn_qp3(struct cma_id_private *id_priv, struct ibv_qp *qp) in ucma_init_conn_qp3() argument
1111 ret = ucma_find_pkey(id_priv->cma_dev, id_priv->id.port_num, in ucma_init_conn_qp3()
1112 id_priv->id.route.addr.addr.ibaddr.pkey, in ucma_init_conn_qp3()
1117 qp_attr.port_num = id_priv->id.port_num; in ucma_init_conn_qp3()
1126 static int ucma_init_conn_qp(struct cma_id_private *id_priv, struct ibv_qp *qp) in ucma_init_conn_qp() argument
1132 return ucma_init_conn_qp3(id_priv, qp); in ucma_init_conn_qp()
1135 ret = rdma_init_qp_attr(&id_priv->id, &qp_attr, &qp_attr_mask); in ucma_init_conn_qp()
1142 static int ucma_init_ud_qp3(struct cma_id_private *id_priv, struct ibv_qp *qp) in ucma_init_ud_qp3() argument
1147 ret = ucma_find_pkey(id_priv->cma_dev, id_priv->id.port_num, in ucma_init_ud_qp3()
1148 id_priv->id.route.addr.addr.ibaddr.pkey, in ucma_init_ud_qp3()
1153 qp_attr.port_num = id_priv->id.port_num; in ucma_init_ud_qp3()
1173 static int ucma_init_ud_qp(struct cma_id_private *id_priv, struct ibv_qp *qp) in ucma_init_ud_qp() argument
1179 return ucma_init_ud_qp3(id_priv, qp); in ucma_init_ud_qp()
1182 ret = rdma_init_qp_attr(&id_priv->id, &qp_attr, &qp_attr_mask); in ucma_init_ud_qp()
1257 struct cma_id_private *id_priv; in rdma_create_srq_ex() local
1261 id_priv = container_of(id, struct cma_id_private, id); in rdma_create_srq_ex()
1272 attr->xrcd = ucma_get_xrcd(id_priv->cma_dev); in rdma_create_srq_ex()
1329 struct cma_id_private *id_priv; in rdma_create_qp_ex() local
1336 id_priv = container_of(id, struct cma_id_private, id); in rdma_create_qp_ex()
1349 attr->xrcd = ucma_get_xrcd(id_priv->cma_dev); in rdma_create_qp_ex()
1374 ret = ucma_init_ud_qp(id_priv, qp); in rdma_create_qp_ex()
1376 ret = ucma_init_conn_qp(id_priv, qp); in rdma_create_qp_ex()
1411 static int ucma_valid_param(struct cma_id_private *id_priv, in ucma_valid_param() argument
1414 if (id_priv->id.ps != RDMA_PS_TCP) in ucma_valid_param()
1417 if (!id_priv->id.qp && !param) in ucma_valid_param()
1424 (param->responder_resources > id_priv->cma_dev->max_responder_resources)) in ucma_valid_param()
1428 (param->initiator_depth > id_priv->cma_dev->max_initiator_depth)) in ucma_valid_param()
1436 static void ucma_copy_conn_param_to_kern(struct cma_id_private *id_priv, in ucma_copy_conn_param_to_kern() argument
1443 dst->responder_resources = id_priv->responder_resources; in ucma_copy_conn_param_to_kern()
1444 dst->initiator_depth = id_priv->initiator_depth; in ucma_copy_conn_param_to_kern()
1447 if (id_priv->connect_len) { in ucma_copy_conn_param_to_kern()
1448 memcpy(dst->private_data, id_priv->connect, id_priv->connect_len); in ucma_copy_conn_param_to_kern()
1449 dst->private_data_len = id_priv->connect_len; in ucma_copy_conn_param_to_kern()
1471 struct cma_id_private *id_priv; in rdma_connect() local
1474 id_priv = container_of(id, struct cma_id_private, id); in rdma_connect()
1475 ret = ucma_valid_param(id_priv, conn_param); in rdma_connect()
1480 id_priv->initiator_depth = conn_param->initiator_depth; in rdma_connect()
1482 id_priv->initiator_depth = id_priv->cma_dev->max_initiator_depth; in rdma_connect()
1484 id_priv->responder_resources = conn_param->responder_resources; in rdma_connect()
1486 id_priv->responder_resources = id_priv->cma_dev->max_responder_resources; in rdma_connect()
1489 cmd.id = id_priv->handle; in rdma_connect()
1491 ucma_copy_conn_param_to_kern(id_priv, &cmd.conn_param, in rdma_connect()
1495 ucma_copy_conn_param_to_kern(id_priv, &cmd.conn_param, in rdma_connect()
1499 ucma_copy_conn_param_to_kern(id_priv, &cmd.conn_param, in rdma_connect()
1507 if (id_priv->connect_len) { in rdma_connect()
1508 free(id_priv->connect); in rdma_connect()
1509 id_priv->connect_len = 0; in rdma_connect()
1518 struct cma_id_private *id_priv; in rdma_listen() local
1522 id_priv = container_of(id, struct cma_id_private, id); in rdma_listen()
1523 cmd.id = id_priv->handle; in rdma_listen()
1538 struct cma_id_private *id_priv; in rdma_get_request() local
1542 id_priv = container_of(listen, struct cma_id_private, id); in rdma_get_request()
1543 if (!id_priv->sync) in rdma_get_request()
1565 if (id_priv->qp_init_attr) { in rdma_get_request()
1568 attr = *id_priv->qp_init_attr; in rdma_get_request()
1586 struct cma_id_private *id_priv; in rdma_accept() local
1589 id_priv = container_of(id, struct cma_id_private, id); in rdma_accept()
1590 ret = ucma_valid_param(id_priv, conn_param); in rdma_accept()
1595 id_priv->initiator_depth = min(id_priv->initiator_depth, in rdma_accept()
1596 id_priv->cma_dev->max_initiator_depth); in rdma_accept()
1598 id_priv->initiator_depth = conn_param->initiator_depth; in rdma_accept()
1601 id_priv->responder_resources = min(id_priv->responder_resources, in rdma_accept()
1602 id_priv->cma_dev->max_responder_resources); in rdma_accept()
1604 id_priv->responder_resources = conn_param->responder_resources; in rdma_accept()
1608 ret = ucma_modify_qp_rtr(id, id_priv->responder_resources); in rdma_accept()
1612 ret = ucma_modify_qp_rts(id, id_priv->initiator_depth); in rdma_accept()
1618 cmd.id = id_priv->handle; in rdma_accept()
1619 cmd.uid = (uintptr_t) id_priv; in rdma_accept()
1621 ucma_copy_conn_param_to_kern(id_priv, &cmd.conn_param, in rdma_accept()
1625 ucma_copy_conn_param_to_kern(id_priv, &cmd.conn_param, in rdma_accept()
1645 struct cma_id_private *id_priv; in rdma_reject() local
1650 id_priv = container_of(id, struct cma_id_private, id); in rdma_reject()
1651 cmd.id = id_priv->handle; in rdma_reject()
1667 struct cma_id_private *id_priv; in rdma_notify() local
1672 id_priv = container_of(id, struct cma_id_private, id); in rdma_notify()
1673 cmd.id = id_priv->handle; in rdma_notify()
1697 struct cma_id_private *id_priv; in rdma_disconnect() local
1705 id_priv = container_of(id, struct cma_id_private, id); in rdma_disconnect()
1706 cmd.id = id_priv->handle; in rdma_disconnect()
1719 struct cma_id_private *id_priv; in rdma_join_multicast2() local
1723 id_priv = container_of(id, struct cma_id_private, id); in rdma_join_multicast2()
1729 mc->id_priv = id_priv; in rdma_join_multicast2()
1736 pthread_mutex_lock(&id_priv->mut); in rdma_join_multicast2()
1737 mc->next = id_priv->mc_list; in rdma_join_multicast2()
1738 id_priv->mc_list = mc; in rdma_join_multicast2()
1739 pthread_mutex_unlock(&id_priv->mut); in rdma_join_multicast2()
1745 cmd.id = id_priv->handle; in rdma_join_multicast2()
1760 cmd.id = id_priv->handle; in rdma_join_multicast2()
1777 pthread_mutex_lock(&id_priv->mut); in rdma_join_multicast2()
1778 for (pos = &id_priv->mc_list; *pos != mc; pos = &(*pos)->next) in rdma_join_multicast2()
1781 pthread_mutex_unlock(&id_priv->mut); in rdma_join_multicast2()
1803 struct cma_id_private *id_priv; in rdma_leave_multicast() local
1811 id_priv = container_of(id, struct cma_id_private, id); in rdma_leave_multicast()
1812 pthread_mutex_lock(&id_priv->mut); in rdma_leave_multicast()
1813 for (pos = &id_priv->mc_list; *pos; pos = &(*pos)->next) in rdma_leave_multicast()
1820 pthread_mutex_unlock(&id_priv->mut); in rdma_leave_multicast()
1838 pthread_mutex_lock(&id_priv->mut); in rdma_leave_multicast()
1840 pthread_cond_wait(&mc->cond, &id_priv->mut); in rdma_leave_multicast()
1841 pthread_mutex_unlock(&id_priv->mut); in rdma_leave_multicast()
1849 static void ucma_complete_event(struct cma_id_private *id_priv) in ucma_complete_event() argument
1851 pthread_mutex_lock(&id_priv->mut); in ucma_complete_event()
1852 id_priv->events_completed++; in ucma_complete_event()
1853 pthread_cond_signal(&id_priv->cond); in ucma_complete_event()
1854 pthread_mutex_unlock(&id_priv->mut); in ucma_complete_event()
1859 pthread_mutex_lock(&mc->id_priv->mut); in ucma_complete_mc_event()
1862 mc->id_priv->events_completed++; in ucma_complete_mc_event()
1863 pthread_cond_signal(&mc->id_priv->cond); in ucma_complete_mc_event()
1864 pthread_mutex_unlock(&mc->id_priv->mut); in ucma_complete_mc_event()
1879 ucma_complete_event(evt->id_priv); in rdma_ack_cm_event()
1887 evt->event.status = ucma_query_addr(&evt->id_priv->id); in ucma_process_addr_resolved()
1889 evt->id_priv->id.verbs->device->transport_type == IBV_TRANSPORT_IB) in ucma_process_addr_resolved()
1890 evt->event.status = ucma_query_gid(&evt->id_priv->id); in ucma_process_addr_resolved()
1892 evt->event.status = ucma_query_route(&evt->id_priv->id); in ucma_process_addr_resolved()
1901 if (evt->id_priv->id.verbs->device->transport_type != IBV_TRANSPORT_IB) in ucma_process_route_resolved()
1905 evt->event.status = ucma_query_path(&evt->id_priv->id); in ucma_process_route_resolved()
1907 evt->event.status = ucma_query_route(&evt->id_priv->id); in ucma_process_route_resolved()
1938 struct cma_id_private *id_priv; in ucma_process_conn_req() local
1941 id_priv = ucma_alloc_id(evt->id_priv->id.channel, in ucma_process_conn_req()
1942 evt->id_priv->id.context, evt->id_priv->id.ps, in ucma_process_conn_req()
1943 evt->id_priv->id.qp_type); in ucma_process_conn_req()
1944 if (!id_priv) { in ucma_process_conn_req()
1945 ucma_destroy_kern_id(evt->id_priv->id.channel->fd, handle); in ucma_process_conn_req()
1950 evt->event.listen_id = &evt->id_priv->id; in ucma_process_conn_req()
1951 evt->event.id = &id_priv->id; in ucma_process_conn_req()
1952 id_priv->handle = handle; in ucma_process_conn_req()
1953 ucma_insert_id(id_priv); in ucma_process_conn_req()
1954 id_priv->initiator_depth = evt->event.param.conn.initiator_depth; in ucma_process_conn_req()
1955 id_priv->responder_resources = evt->event.param.conn.responder_resources; in ucma_process_conn_req()
1957 if (evt->id_priv->sync) { in ucma_process_conn_req()
1958 ret = rdma_migrate_id(&id_priv->id, NULL); in ucma_process_conn_req()
1963 ret = ucma_query_req_info(&id_priv->id); in ucma_process_conn_req()
1970 rdma_destroy_id(&id_priv->id); in ucma_process_conn_req()
1972 ucma_complete_event(evt->id_priv); in ucma_process_conn_req()
1976 static int ucma_process_conn_resp(struct cma_id_private *id_priv) in ucma_process_conn_resp() argument
1981 ret = ucma_modify_qp_rtr(&id_priv->id, RDMA_MAX_RESP_RES); in ucma_process_conn_resp()
1985 ret = ucma_modify_qp_rts(&id_priv->id, RDMA_MAX_INIT_DEPTH); in ucma_process_conn_resp()
1990 cmd.id = id_priv->handle; in ucma_process_conn_resp()
1992 ret = write(id_priv->id.channel->fd, &cmd, sizeof cmd); in ucma_process_conn_resp()
2000 ucma_modify_qp_err(&id_priv->id); in ucma_process_conn_resp()
2009 if (!evt->id_priv->id.qp) in ucma_process_join()
2012 return rdma_seterrno(ibv_attach_mcast(evt->id_priv->id.qp, in ucma_process_join()
2094 evt->id_priv = (void *) (uintptr_t) resp.uid; in rdma_get_cm_event()
2096 evt->id_priv = ucma_lookup_id(resp.id); in rdma_get_cm_event()
2097 if (!evt->id_priv) { in rdma_get_cm_event()
2103 ucma_complete_event(evt->id_priv); in rdma_get_cm_event()
2107 evt->event.id = &evt->id_priv->id; in rdma_get_cm_event()
2118 evt->id_priv = (void *) (uintptr_t) resp.uid; in rdma_get_cm_event()
2119 if (ucma_is_ud_qp(evt->id_priv->id.qp_type)) in rdma_get_cm_event()
2130 evt->event.status = ucma_process_conn_resp(evt->id_priv); in rdma_get_cm_event()
2135 evt->id_priv->connect_error = 1; in rdma_get_cm_event()
2139 if (ucma_is_ud_qp(evt->id_priv->id.qp_type)) { in rdma_get_cm_event()
2147 if (evt->id_priv->connect_error) { in rdma_get_cm_event()
2148 ucma_complete_event(evt->id_priv); in rdma_get_cm_event()
2155 if (evt->id_priv->connect_error) { in rdma_get_cm_event()
2156 ucma_complete_event(evt->id_priv); in rdma_get_cm_event()
2163 evt->id_priv = evt->mc->id_priv; in rdma_get_cm_event()
2164 evt->event.id = &evt->id_priv->id; in rdma_get_cm_event()
2173 evt->id_priv = evt->mc->id_priv; in rdma_get_cm_event()
2174 evt->event.id = &evt->id_priv->id; in rdma_get_cm_event()
2178 evt->id_priv = (void *) (uintptr_t) resp.uid; in rdma_get_cm_event()
2179 evt->event.id = &evt->id_priv->id; in rdma_get_cm_event()
2181 if (ucma_is_ud_qp(evt->id_priv->id.qp_type)) in rdma_get_cm_event()
2236 struct cma_id_private *id_priv; in rdma_set_option() local
2240 id_priv = container_of(id, struct cma_id_private, id); in rdma_set_option()
2241 cmd.id = id_priv->handle; in rdma_set_option()
2258 struct cma_id_private *id_priv; in rdma_migrate_id() local
2261 id_priv = container_of(id, struct cma_id_private, id); in rdma_migrate_id()
2262 if (id_priv->sync && !channel) in rdma_migrate_id()
2272 cmd.id = id_priv->handle; in rdma_migrate_id()
2284 if (id_priv->sync) { in rdma_migrate_id()
2299 pthread_mutex_lock(&id_priv->mut); in rdma_migrate_id()
2300 id_priv->sync = sync; in rdma_migrate_id()
2302 while (id_priv->events_completed < resp.events_reported) in rdma_migrate_id()
2303 pthread_cond_wait(&id_priv->cond, &id_priv->mut); in rdma_migrate_id()
2304 pthread_mutex_unlock(&id_priv->mut); in rdma_migrate_id()
2312 struct cma_id_private *id_priv; in ucma_passive_ep() local
2322 id_priv = container_of(id, struct cma_id_private, id); in ucma_passive_ep()
2327 id_priv->qp_init_attr = malloc(sizeof(*qp_init_attr)); in ucma_passive_ep()
2328 if (!id_priv->qp_init_attr) in ucma_passive_ep()
2331 *id_priv->qp_init_attr = *qp_init_attr; in ucma_passive_ep()
2332 id_priv->qp_init_attr->qp_type = res->ai_qp_type; in ucma_passive_ep()
2342 struct cma_id_private *id_priv; in rdma_create_ep() local
2383 id_priv = container_of(cm_id, struct cma_id_private, id); in rdma_create_ep()
2384 id_priv->connect = malloc(res->ai_connect_len); in rdma_create_ep()
2385 if (!id_priv->connect) { in rdma_create_ep()
2389 memcpy(id_priv->connect, res->ai_connect, res->ai_connect_len); in rdma_create_ep()
2390 id_priv->connect_len = res->ai_connect_len; in rdma_create_ep()
2404 struct cma_id_private *id_priv; in rdma_destroy_ep() local
2412 id_priv = container_of(id, struct cma_id_private, id); in rdma_destroy_ep()
2413 if (id_priv->qp_init_attr) in rdma_destroy_ep()
2414 free(id_priv->qp_init_attr); in rdma_destroy_ep()
2421 struct cma_id_private *id_priv; in ucma_max_qpsize() local
2424 id_priv = container_of(id, struct cma_id_private, id); in ucma_max_qpsize()
2425 if (id && id_priv->cma_dev) { in ucma_max_qpsize()
2426 max_size = id_priv->cma_dev->max_qpsize; in ucma_max_qpsize()