Lines Matching refs:cm_id

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