Lines Matching refs:cm_id
285 struct rdma_cm_id *cm_id; member
308 struct rdma_cm_id *cm_id; member
642 if (rs->cm_id->recv_cq_channel) in rs_set_nonblocking()
643 ret = fcntl(rs->cm_id->recv_cq_channel->fd, F_SETFL, arg); in rs_set_nonblocking()
646 ret = fcntl(rs->cm_id->channel->fd, F_SETFL, arg); in rs_set_nonblocking()
652 ret = fcntl(qp->cm_id->recv_cq_channel->fd, in rs_set_nonblocking()
666 max_size = min(ucma_max_qpsize(rs->cm_id), RS_QP_MAX_SIZE); in rs_set_qp_size()
717 rs->smr = rdma_reg_msgs(rs->cm_id, rs->sbuf, total_sbuf_size); in rs_init_bufs()
727 rs->target_mr = rdma_reg_write(rs->cm_id, rs->target_buffer_list, len); in rs_init_bufs()
743 rs->rmr = rdma_reg_write(rs->cm_id, rs->rbuf, total_rbuf_size); in rs_init_bufs()
764 qp->smr = rdma_reg_msgs(qp->cm_id, qp->rs->sbuf, qp->rs->sbuf_size); in ds_init_bufs()
768 qp->rmr = rdma_reg_msgs(qp->cm_id, qp->rbuf, qp->rs->rbuf_size + in ds_init_bufs()
781 static int rs_create_cq(struct rsocket *rs, struct rdma_cm_id *cm_id) in rs_create_cq() argument
783 cm_id->recv_cq_channel = ibv_create_comp_channel(cm_id->verbs); in rs_create_cq()
784 if (!cm_id->recv_cq_channel) in rs_create_cq()
787 cm_id->recv_cq = ibv_create_cq(cm_id->verbs, rs->sq_size + rs->rq_size, in rs_create_cq()
788 cm_id, cm_id->recv_cq_channel, 0); in rs_create_cq()
789 if (!cm_id->recv_cq) in rs_create_cq()
793 if (fcntl(cm_id->recv_cq_channel->fd, F_SETFL, O_NONBLOCK)) in rs_create_cq()
797 ibv_req_notify_cq(cm_id->recv_cq, 0); in rs_create_cq()
798 cm_id->send_cq_channel = cm_id->recv_cq_channel; in rs_create_cq()
799 cm_id->send_cq = cm_id->recv_cq; in rs_create_cq()
803 ibv_destroy_cq(cm_id->recv_cq); in rs_create_cq()
804 cm_id->recv_cq = NULL; in rs_create_cq()
806 ibv_destroy_comp_channel(cm_id->recv_cq_channel); in rs_create_cq()
807 cm_id->recv_cq_channel = NULL; in rs_create_cq()
834 return rdma_seterrno(ibv_post_recv(rs->cm_id->qp, &wr, &bad)); in rs_post_recv()
854 return rdma_seterrno(ibv_post_recv(qp->cm_id->qp, &wr, &bad)); in ds_post_recv()
863 if (rs->cm_id->verbs->device->transport_type == IBV_TRANSPORT_IWARP) in rs_create_ep()
865 ret = rs_create_cq(rs, rs->cm_id); in rs_create_ep()
871 qp_attr.send_cq = rs->cm_id->send_cq; in rs_create_ep()
872 qp_attr.recv_cq = rs->cm_id->recv_cq; in rs_create_ep()
881 ret = rdma_create_qp(rs->cm_id, NULL, &qp_attr); in rs_create_ep()
941 if (qp->cm_id) { in ds_free_qp()
942 if (qp->cm_id->qp) { in ds_free_qp()
945 qp->cm_id->recv_cq_channel->fd, NULL); in ds_free_qp()
946 rdma_destroy_qp(qp->cm_id); in ds_free_qp()
948 rdma_destroy_id(qp->cm_id); in ds_free_qp()
1015 if (rs->cm_id) { in rs_free()
1017 if (rs->cm_id->qp) { in rs_free()
1018 ibv_ack_cq_events(rs->cm_id->recv_cq, rs->unack_cqe); in rs_free()
1019 rdma_destroy_qp(rs->cm_id); in rs_free()
1021 rdma_destroy_id(rs->cm_id); in rs_free()
1037 return (rs->cm_id->route.addr.src_addr.sa_family == AF_IB) ? in rs_conn_data_offset()
1147 ret = rdma_create_id(NULL, &rs->cm_id, rs, RDMA_PS_TCP); in rsocket()
1151 rs->cm_id->route.addr.src_addr.sa_family = domain; in rsocket()
1152 index = rs->cm_id->channel->fd; in rsocket()
1181 ret = rdma_bind_addr(rs->cm_id, (struct sockaddr *) addr); in rbind()
1205 ret = rdma_listen(rs->cm_id, backlog); in rlisten()
1240 ret = rdma_get_request(rs->cm_id, &new_rs->cm_id); in raccept()
1244 ret = rs_insert(new_rs, new_rs->cm_id->channel->fd); in raccept()
1249 (new_rs->cm_id->event->param.conn.private_data + rs_conn_data_offset(rs)); in raccept()
1256 fcntl(new_rs->cm_id->channel->fd, F_SETFL, O_NONBLOCK); in raccept()
1263 param = new_rs->cm_id->event->param.conn; in raccept()
1267 ret = rdma_accept(new_rs->cm_id, ¶m); in raccept()
1296 ret = rdma_resolve_addr(rs->cm_id, NULL, in rs_do_connect()
1297 &rs->cm_id->route.addr.dst_addr, to); in rs_do_connect()
1304 ret = ucma_complete(rs->cm_id); in rs_do_connect()
1315 ret = rdma_set_option(rs->cm_id, RDMA_OPTION_IB, in rs_do_connect()
1325 ret = rdma_resolve_route(rs->cm_id, to); in rs_do_connect()
1334 ret = ucma_complete(rs->cm_id); in rs_do_connect()
1358 ret = rdma_connect(rs->cm_id, ¶m); in rs_do_connect()
1365 ret = ucma_complete(rs->cm_id); in rs_do_connect()
1369 cresp = (struct rs_conn_data *) rs->cm_id->event->param.conn.private_data; in rs_do_connect()
1380 fcntl(rs->cm_id->channel->fd, F_SETFL, 0); in rs_do_connect()
1382 ret = ucma_complete(rs->cm_id); in rs_do_connect()
1469 qp->dest.qpn = qp->cm_id->qp->qp_num; in ds_add_qp_dest()
1471 ret = ibv_query_port(qp->cm_id->verbs, qp->cm_id->port_num, &port_attr); in ds_add_qp_dest()
1477 attr.port_num = qp->cm_id->port_num; in ds_add_qp_dest()
1478 qp->dest.ah = ibv_create_ah(qp->cm_id->pd, &attr); in ds_add_qp_dest()
1499 ret = rdma_create_id(NULL, &qp->cm_id, qp, RDMA_PS_UDP); in ds_create_qp()
1504 ret = rdma_bind_addr(qp->cm_id, &src_addr->sa); in ds_create_qp()
1512 ret = rs_create_cq(rs, qp->cm_id); in ds_create_qp()
1518 qp_attr.send_cq = qp->cm_id->send_cq; in ds_create_qp()
1519 qp_attr.recv_cq = qp->cm_id->recv_cq; in ds_create_qp()
1527 ret = rdma_create_qp(qp->cm_id, NULL, &qp_attr); in ds_create_qp()
1539 qp->cm_id->recv_cq_channel->fd, &event); in ds_create_qp()
1563 if (!ds_compare_addr(rdma_get_local_addr((*qp)->cm_id), in ds_get_qp()
1625 memcpy(&rs->cm_id->route.addr.dst_addr, addr, addrlen); in rconnect()
1672 return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad)); in rs_post_msg()
1691 return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad)); in rs_post_write()
1714 return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad)); in rs_post_write_msg()
1728 ret = rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad)); in rs_post_write_msg()
1749 return rdma_seterrno(ibv_post_send(rs->conn_dest->qp->cm_id->qp, &wr, &bad)); in ds_post_send()
1906 while ((ret = ibv_poll_cq(rs->cm_id->recv_cq, 1, &wc)) > 0) { in rs_poll_cq()
1997 ret = ibv_get_cq_event(rs->cm_id->recv_cq_channel, &cq, &context); in rs_get_cq_event()
2000 ibv_ack_cq_events(rs->cm_id->recv_cq, rs->unack_cqe); in rs_get_cq_event()
2041 ibv_req_notify_cq(rs->cm_id->recv_cq, 0); in rs_process_cq()
2113 ret = ibv_poll_cq(qp->cm_id->recv_cq, 1, &wc); in ds_poll_cqs()
2158 ibv_req_notify_cq(qp->cm_id->recv_cq, 0); in ds_req_notify_cqs()
2181 ret = ibv_get_cq_event(qp->cm_id->recv_cq_channel, &cq, &context); in ds_get_cq_event()
2183 ibv_ack_cq_events(qp->cm_id->recv_cq, 1); in ds_get_cq_event()
2614 hdr.qpn = htobe32(rs->conn_dest->qp->cm_id->qp->qp_num & 0xFFFFFF); in ds_sendv_udp()
2981 fds.fd = rs->cm_id->channel->fd; in rs_poll_rs()
3042 rfds[i].fd = rs->cm_id->recv_cq_channel->fd; in rs_poll_arm()
3044 rfds[i].fd = rs->cm_id->channel->fd; in rs_poll_arm()
3273 ibv_req_notify_cq(rs->cm_id->recv_cq, 0); in rshutdown()
3274 ucma_shutdown(rs->cm_id); in rshutdown()
3337 rs_copy_addr(addr, rdma_get_peer_addr(rs->cm_id), addrlen); in rgetpeername()
3352 rs_copy_addr(addr, rdma_get_local_addr(rs->cm_id), addrlen); in rgetsockname()
3409 ret = rdma_set_option(rs->cm_id, RDMA_OPTION_ID, in rsetsockopt()
3413 rs->cm_id->context && in rsetsockopt()
3414 (rs->cm_id->verbs->device->transport_type == IBV_TRANSPORT_IB)))) in rsetsockopt()
3481 ret = rdma_set_option(rs->cm_id, RDMA_OPTION_ID, in rsetsockopt()
3630 *((int *) optval) = (rs->cm_id && rs->cm_id->route.num_paths) ? in rgetsockopt()
3631 1 << (7 + rs->cm_id->route.path_rec->mtu) : in rgetsockopt()
3683 path_rec = rs->cm_id->route.path_rec; in rgetsockopt()
3686 num_paths < rs->cm_id->route.num_paths) { in rgetsockopt()
3776 if (!rs->cm_id->pd || (prot & ~(PROT_WRITE | PROT_NONE))) in riomap()
3792 iomr->mr = ibv_reg_mr(rs->cm_id->pd, buf, len, access); in riomap()
4047 ibv_query_gid(dest->qp->cm_id->verbs, dest->qp->cm_id->port_num, in udp_svc_sgid_index()
4059 if (!ibv_query_port(dest->qp->cm_id->verbs, dest->qp->cm_id->port_num, &attr)) in udp_svc_path_bits()
4078 ret = rdma_create_id(NULL, &id, NULL, dest->qp->cm_id->ps); in udp_svc_create_ah()
4082 memcpy(&saddr, rdma_get_local_addr(dest->qp->cm_id), in udp_svc_create_ah()
4083 ucma_addrlen(rdma_get_local_addr(dest->qp->cm_id))); in udp_svc_create_ah()
4113 dest->ah = ibv_create_ah(dest->qp->cm_id->pd, &attr); in udp_svc_create_ah()