Lines Matching refs:cm_id
1513 rdma_disconnect(con->c.cm_id); in rtrs_srv_close_work()
1530 rdma_destroy_id(con->c.cm_id); in rtrs_srv_close_work()
1546 struct rdma_cm_id *cm_id) in rtrs_rdma_do_accept() argument
1570 err = rdma_accept(cm_id, ¶m); in rtrs_rdma_do_accept()
1577 static int rtrs_rdma_do_reject(struct rdma_cm_id *cm_id, int errno) in rtrs_rdma_do_reject() argument
1588 err = rdma_reject(cm_id, &msg, sizeof(msg), IB_CM_REJ_CONSUMER_DEFINED); in rtrs_rdma_do_reject()
1610 struct rdma_cm_id *cm_id, in create_con() argument
1628 con->c.cm_id = cm_id; in create_con()
1691 cm_id->context = &con->c; in create_con()
1705 struct rdma_cm_id *cm_id, in __alloc_sess() argument
1717 if (__is_path_w_addr_exists(srv, &cm_id->route.addr)) { in __alloc_sess()
1744 sess->s.dst_addr = cm_id->route.addr.dst_addr; in __alloc_sess()
1745 sess->s.src_addr = cm_id->route.addr.src_addr; in __alloc_sess()
1753 sess->s.dev = rtrs_ib_dev_find_or_add(cm_id->device, &dev_pd); in __alloc_sess()
1786 static int rtrs_rdma_connect(struct rdma_cm_id *cm_id, in rtrs_rdma_connect() argument
1790 struct rtrs_srv_ctx *ctx = cm_id->context; in rtrs_rdma_connect()
1860 sess = __alloc_sess(srv, cm_id, con_num, recon_cnt, in rtrs_rdma_connect()
1869 err = create_con(sess, cm_id, cid); in rtrs_rdma_connect()
1871 (void)rtrs_rdma_do_reject(cm_id, err); in rtrs_rdma_connect()
1879 err = rtrs_rdma_do_accept(sess, cm_id); in rtrs_rdma_connect()
1881 (void)rtrs_rdma_do_reject(cm_id, err); in rtrs_rdma_connect()
1896 return rtrs_rdma_do_reject(cm_id, err); in rtrs_rdma_connect()
1899 return rtrs_rdma_do_reject(cm_id, -ECONNRESET); in rtrs_rdma_connect()
1908 static int rtrs_srv_rdma_cm_handler(struct rdma_cm_id *cm_id, in rtrs_srv_rdma_cm_handler() argument
1915 struct rtrs_con *c = cm_id->context; in rtrs_srv_rdma_cm_handler()
1927 return rtrs_rdma_connect(cm_id, ev->param.conn.private_data, in rtrs_srv_rdma_cm_handler()
1960 struct rdma_cm_id *cm_id; in rtrs_srv_cm_init() local
1963 cm_id = rdma_create_id(&init_net, rtrs_srv_rdma_cm_handler, in rtrs_srv_cm_init()
1965 if (IS_ERR(cm_id)) { in rtrs_srv_cm_init()
1966 ret = PTR_ERR(cm_id); in rtrs_srv_cm_init()
1971 ret = rdma_bind_addr(cm_id, addr); in rtrs_srv_cm_init()
1976 ret = rdma_listen(cm_id, 64); in rtrs_srv_cm_init()
1983 return cm_id; in rtrs_srv_cm_init()
1986 rdma_destroy_id(cm_id); in rtrs_srv_cm_init()