Lines Matching refs:cma_id

475 	ret = rdma_create_qp(ib_conn->cma_id, device->pd, &init_attr);  in iser_create_ib_conn_res()
479 ib_conn->qp = ib_conn->cma_id->qp; in iser_create_ib_conn_res()
481 ib_conn, ib_conn->cma_id, in iser_create_ib_conn_res()
482 ib_conn->cma_id->qp); in iser_create_ib_conn_res()
499 struct iser_device *iser_device_find_by_ib_device(struct rdma_cm_id *cma_id) in iser_device_find_by_ib_device() argument
507 if (device->ib_device->node_guid == cma_id->device->node_guid) in iser_device_find_by_ib_device()
515 device->ib_device = cma_id->device; in iser_device_find_by_ib_device()
597 iser_conn, ib_conn->cma_id, ib_conn->qp); in iser_free_ib_conn_res()
603 rdma_destroy_qp(ib_conn->cma_id); in iser_free_ib_conn_res()
644 if (ib_conn->cma_id != NULL) { in iser_conn_release()
645 rdma_destroy_id(ib_conn->cma_id); in iser_conn_release()
646 ib_conn->cma_id = NULL; in iser_conn_release()
677 if (ib_conn->cma_id) { in iser_conn_terminate()
678 err = rdma_disconnect(ib_conn->cma_id); in iser_conn_terminate()
693 static void iser_connect_error(struct rdma_cm_id *cma_id) in iser_connect_error() argument
697 iser_conn = (struct iser_conn *)cma_id->context; in iser_connect_error()
739 static void iser_addr_handler(struct rdma_cm_id *cma_id) in iser_addr_handler() argument
746 iser_conn = (struct iser_conn *)cma_id->context; in iser_addr_handler()
752 device = iser_device_find_by_ib_device(cma_id); in iser_addr_handler()
755 iser_connect_error(cma_id); in iser_addr_handler()
776 ret = rdma_resolve_route(cma_id, 1000); in iser_addr_handler()
779 iser_connect_error(cma_id); in iser_addr_handler()
787 static void iser_route_handler(struct rdma_cm_id *cma_id) in iser_route_handler() argument
792 struct iser_conn *iser_conn = (struct iser_conn *)cma_id->context; in iser_route_handler()
817 ret = rdma_connect(cma_id, &conn_param); in iser_route_handler()
825 iser_connect_error(cma_id); in iser_route_handler()
828 static void iser_connected_handler(struct rdma_cm_id *cma_id, in iser_connected_handler() argument
835 iser_conn = (struct iser_conn *)cma_id->context; in iser_connected_handler()
840 (void)ib_query_qp(cma_id->qp, &attr, ~0, &init_attr); in iser_connected_handler()
841 iser_info("remote qpn:%x my qpn:%x\n", attr.dest_qp_num, cma_id->qp->qp_num); in iser_connected_handler()
856 static void iser_disconnected_handler(struct rdma_cm_id *cma_id) in iser_disconnected_handler() argument
858 struct iser_conn *iser_conn = (struct iser_conn *)cma_id->context; in iser_disconnected_handler()
869 static void iser_cleanup_handler(struct rdma_cm_id *cma_id, in iser_cleanup_handler() argument
872 struct iser_conn *iser_conn = (struct iser_conn *)cma_id->context; in iser_cleanup_handler()
879 iser_disconnected_handler(cma_id); in iser_cleanup_handler()
884 static int iser_cma_handler(struct rdma_cm_id *cma_id, struct rdma_cm_event *event) in iser_cma_handler() argument
889 iser_conn = (struct iser_conn *)cma_id->context; in iser_cma_handler()
892 event->status, cma_id->context, cma_id); in iser_cma_handler()
897 iser_addr_handler(cma_id); in iser_cma_handler()
900 iser_route_handler(cma_id); in iser_cma_handler()
903 iser_connected_handler(cma_id, event->param.conn.private_data); in iser_cma_handler()
907 rdma_reject_msg(cma_id, event->status)); in iser_cma_handler()
913 iser_connect_error(cma_id); in iser_cma_handler()
918 iser_cleanup_handler(cma_id, false); in iser_cma_handler()
927 iser_cleanup_handler(cma_id, true); in iser_cma_handler()
929 iser_conn->ib_conn.cma_id = NULL; in iser_cma_handler()
981 ib_conn->cma_id = rdma_create_id(&init_net, iser_cma_handler, in iser_connect()
984 if (IS_ERR(ib_conn->cma_id)) { in iser_connect()
985 err = PTR_ERR(ib_conn->cma_id); in iser_connect()
990 err = rdma_resolve_addr(ib_conn->cma_id, src_addr, dst_addr, 1000); in iser_connect()
1012 ib_conn->cma_id = NULL; in iser_connect()