Lines Matching full:resp
119 struct rdma_ucm_event_resp resp; member
275 uevent->resp.uid = uevent->mc->uid; in ucma_create_uevent()
276 uevent->resp.id = uevent->mc->id; in ucma_create_uevent()
279 uevent->resp.uid = ctx->uid; in ucma_create_uevent()
280 uevent->resp.id = ctx->id; in ucma_create_uevent()
283 uevent->resp.event = event->event; in ucma_create_uevent()
284 uevent->resp.status = event->status; in ucma_create_uevent()
286 ucma_copy_ud_event(ctx->cm_id->device, &uevent->resp.param.ud, in ucma_create_uevent()
289 ucma_copy_conn_event(&uevent->resp.param.conn, in ucma_create_uevent()
292 uevent->resp.ece.vendor_id = event->ece.vendor_id; in ucma_create_uevent()
293 uevent->resp.ece.attr_mod = event->ece.attr_mod; in ucma_create_uevent()
315 uevent->resp.id = ctx->id; in ucma_connect_event_handler()
380 if (out_len < sizeof(uevent->resp) - sizeof(uevent->resp.reserved) - in ucma_get_event()
381 sizeof(uevent->resp.ece)) in ucma_get_event()
404 &uevent->resp, in ucma_get_event()
405 min_t(size_t, out_len, sizeof(uevent->resp)))) { in ucma_get_event()
414 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) in ucma_get_event()
444 struct rdma_ucm_create_id_resp resp; in ucma_create_id() local
450 if (out_len < sizeof(resp)) in ucma_create_id()
472 resp.id = ctx->id; in ucma_create_id()
474 &resp, sizeof(resp))) { in ucma_create_id()
535 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST && in ucma_cleanup_ctx_events()
596 struct rdma_ucm_destroy_id_resp resp; in ucma_destroy_id() local
600 if (out_len < sizeof(resp)) in ucma_destroy_id()
618 resp.events_reported = ucma_destroy_private_ctx(ctx); in ucma_destroy_id()
620 &resp, sizeof(resp))) in ucma_destroy_id()
753 static void ucma_copy_ib_route(struct rdma_ucm_query_route_resp *resp, in ucma_copy_ib_route() argument
758 resp->num_paths = route->num_pri_alt_paths; in ucma_copy_ib_route()
763 (union ib_gid *) &resp->ib_route[0].dgid); in ucma_copy_ib_route()
765 (union ib_gid *) &resp->ib_route[0].sgid); in ucma_copy_ib_route()
766 resp->ib_route[0].pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in ucma_copy_ib_route()
769 ib_copy_path_rec_to_user(&resp->ib_route[1], in ucma_copy_ib_route()
773 ib_copy_path_rec_to_user(&resp->ib_route[0], in ucma_copy_ib_route()
781 static void ucma_copy_iboe_route(struct rdma_ucm_query_route_resp *resp, in ucma_copy_iboe_route() argument
785 resp->num_paths = route->num_pri_alt_paths; in ucma_copy_iboe_route()
789 (union ib_gid *)&resp->ib_route[0].dgid); in ucma_copy_iboe_route()
791 (union ib_gid *)&resp->ib_route[0].sgid); in ucma_copy_iboe_route()
792 resp->ib_route[0].pkey = cpu_to_be16(0xffff); in ucma_copy_iboe_route()
795 ib_copy_path_rec_to_user(&resp->ib_route[1], in ucma_copy_iboe_route()
799 ib_copy_path_rec_to_user(&resp->ib_route[0], in ucma_copy_iboe_route()
807 static void ucma_copy_iw_route(struct rdma_ucm_query_route_resp *resp, in ucma_copy_iw_route() argument
813 rdma_addr_get_dgid(dev_addr, (union ib_gid *) &resp->ib_route[0].dgid); in ucma_copy_iw_route()
814 rdma_addr_get_sgid(dev_addr, (union ib_gid *) &resp->ib_route[0].sgid); in ucma_copy_iw_route()
822 struct rdma_ucm_query_route_resp resp; in ucma_query_route() local
838 memset(&resp, 0, sizeof resp); in ucma_query_route()
840 memcpy(&resp.src_addr, addr, addr->sa_family == AF_INET ? in ucma_query_route()
844 memcpy(&resp.dst_addr, addr, addr->sa_family == AF_INET ? in ucma_query_route()
850 resp.node_guid = (__force __u64) ctx->cm_id->device->node_guid; in ucma_query_route()
851 resp.ibdev_index = ctx->cm_id->device->index; in ucma_query_route()
852 resp.port_num = ctx->cm_id->port_num; in ucma_query_route()
855 ucma_copy_ib_route(&resp, &ctx->cm_id->route); in ucma_query_route()
857 ucma_copy_iboe_route(&resp, &ctx->cm_id->route); in ucma_query_route()
859 ucma_copy_iw_route(&resp, &ctx->cm_id->route); in ucma_query_route()
863 if (copy_to_user(u64_to_user_ptr(cmd.response), &resp, in ucma_query_route()
864 min_t(size_t, out_len, sizeof(resp)))) in ucma_query_route()
872 struct rdma_ucm_query_addr_resp *resp) in ucma_query_device_addr() argument
877 resp->node_guid = (__force __u64) cm_id->device->node_guid; in ucma_query_device_addr()
878 resp->ibdev_index = cm_id->device->index; in ucma_query_device_addr()
879 resp->port_num = cm_id->port_num; in ucma_query_device_addr()
880 resp->pkey = (__force __u16) cpu_to_be16( in ucma_query_device_addr()
887 struct rdma_ucm_query_addr_resp resp; in ucma_query_addr() local
894 memset(&resp, 0, sizeof resp); in ucma_query_addr()
897 resp.src_size = rdma_addr_size(addr); in ucma_query_addr()
898 memcpy(&resp.src_addr, addr, resp.src_size); in ucma_query_addr()
901 resp.dst_size = rdma_addr_size(addr); in ucma_query_addr()
902 memcpy(&resp.dst_addr, addr, resp.dst_size); in ucma_query_addr()
904 ucma_query_device_addr(ctx->cm_id, &resp); in ucma_query_addr()
906 if (copy_to_user(response, &resp, min_t(size_t, out_len, sizeof(resp)))) in ucma_query_addr()
915 struct rdma_ucm_query_path_resp *resp; in ucma_query_path() local
918 if (out_len < sizeof(*resp)) in ucma_query_path()
921 resp = kzalloc(out_len, GFP_KERNEL); in ucma_query_path()
922 if (!resp) in ucma_query_path()
925 resp->num_paths = ctx->cm_id->route.num_pri_alt_paths; in ucma_query_path()
926 for (i = 0, out_len -= sizeof(*resp); in ucma_query_path()
927 i < resp->num_paths && out_len > sizeof(struct ib_path_rec_data); in ucma_query_path()
931 resp->path_data[i].flags = IB_PATH_GMP | IB_PATH_PRIMARY | in ucma_query_path()
937 ib_sa_pack_path(&ib, &resp->path_data[i].path_rec); in ucma_query_path()
940 ib_sa_pack_path(rec, &resp->path_data[i].path_rec); in ucma_query_path()
944 if (copy_to_user(response, resp, struct_size(resp, path_data, i))) in ucma_query_path()
947 kfree(resp); in ucma_query_path()
954 struct rdma_ucm_query_addr_resp resp; in ucma_query_gid() local
961 memset(&resp, 0, sizeof resp); in ucma_query_gid()
963 ucma_query_device_addr(ctx->cm_id, &resp); in ucma_query_gid()
965 addr = (struct sockaddr_ib *) &resp.src_addr; in ucma_query_gid()
966 resp.src_size = sizeof(*addr); in ucma_query_gid()
968 memcpy(addr, &ctx->cm_id->route.addr.src_addr, resp.src_size); in ucma_query_gid()
971 addr->sib_pkey = (__force __be16) resp.pkey; in ucma_query_gid()
978 addr = (struct sockaddr_ib *) &resp.dst_addr; in ucma_query_gid()
979 resp.dst_size = sizeof(*addr); in ucma_query_gid()
981 memcpy(addr, &ctx->cm_id->route.addr.dst_addr, resp.dst_size); in ucma_query_gid()
984 addr->sib_pkey = (__force __be16) resp.pkey; in ucma_query_gid()
991 if (copy_to_user(response, &resp, min_t(size_t, out_len, sizeof(resp)))) in ucma_query_gid()
1218 struct ib_uverbs_qp_attr resp; in ucma_init_qp_attr() local
1223 if (out_len < sizeof(resp)) in ucma_init_qp_attr()
1236 resp.qp_attr_mask = 0; in ucma_init_qp_attr()
1240 ret = rdma_init_qp_attr(ctx->cm_id, &qp_attr, &resp.qp_attr_mask); in ucma_init_qp_attr()
1245 ib_copy_qp_attr_to_user(ctx->cm_id->device, &resp, &qp_attr); in ucma_init_qp_attr()
1247 &resp, sizeof(resp))) in ucma_init_qp_attr()
1440 struct rdma_ucm_create_id_resp resp; in ucma_process_join() local
1447 if (out_len < sizeof(resp)) in ucma_process_join()
1493 resp.id = mc->id; in ucma_process_join()
1495 &resp, sizeof(resp))) { in ucma_process_join()
1565 struct rdma_ucm_destroy_id_resp resp; in ucma_leave_multicast() local
1569 if (out_len < sizeof(resp)) in ucma_leave_multicast()
1601 resp.events_reported = mc->events_reported; in ucma_leave_multicast()
1605 &resp, sizeof(resp))) in ucma_leave_multicast()
1616 struct rdma_ucm_migrate_resp resp; in ucma_migrate_id() local
1663 resp.events_reported = ctx->events_reported; in ucma_migrate_id()
1672 &resp, sizeof(resp))) in ucma_migrate_id()