NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_sta_io_qp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES, ALL RIGHTS RESERVED.
3  *
4  * This software product is a proprietary product of NVIDIA CORPORATION &
5  * AFFILIATES (the "Company") and all right, title, and interest in and to the
6  * software product, including all associated intellectual property rights, are
7  * and shall remain exclusively with the Company.
8  *
9  * This software product is governed by the End User License Agreement
10  * provided with the software product.
11  *
12  */
13 
14 #ifndef DOCA_STA_IO_QP_H_
15 #define DOCA_STA_IO_QP_H_
16 
17 #include <stdint.h>
18 
19 #include <doca_compat.h>
20 #include <doca_error.h>
21 
22 #include <doca_sta_handle.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 struct rdma_cm_id;
29 struct doca_dev;
30 struct doca_sta_io;
31 
46 doca_error_t doca_sta_io_qp_alloc(struct doca_sta_io *sta_io,
47  const struct doca_dev *dev,
48  struct doca_sta_qp_handle **qp_handle);
49 
68 doca_error_t doca_sta_io_qp_accept(struct doca_sta_io *sta_io,
69  struct doca_sta_qp_handle *qp_handle,
70  const struct doca_dev *dev,
71  struct rdma_cm_id *cm_id,
72  const void *priv_data,
73  uint32_t priv_size,
74  struct doca_sta_subs_handle *subs_handle);
75 
93 doca_error_t doca_sta_io_qp_connect(struct doca_sta_io *sta_io,
94  const struct doca_dev *dev,
95  struct rdma_cm_id *cm_id,
96  const void *priv_data,
97  uint32_t priv_size,
98  struct doca_sta_subs_handle *subs_handle,
99  struct doca_sta_qp_handle **qp_handle);
100 
103  struct doca_sta_qp_handle *qp_handle,
104  uint16_t sq_size);
105 
107 doca_error_t doca_sta_io_qp_connect_established(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle);
108 
110 doca_error_t doca_sta_io_qp_destroy(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle);
111 
113 doca_error_t doca_sta_io_qp_add_subsystem(struct doca_sta_io *sta_io,
114  struct doca_sta_subs_handle *subs_handle,
115  struct doca_sta_qp_handle *qp_handle);
116 
118 doca_error_t doca_sta_io_qp_get_id(struct doca_sta_qp_handle *qp_handle, uint32_t *qp_id);
119 
121 doca_error_t doca_sta_io_qp_get_port_id(struct doca_sta_qp_handle *qp_handle, uint16_t *port_id);
122 
124 doca_error_t doca_sta_io_qp_get_group_id(struct doca_sta_qp_handle *qp_handle, uint16_t *group_id);
125 
127 doca_error_t doca_sta_io_qp_get_index_in_group(struct doca_sta_qp_handle *qp_handle, uint16_t *qp_idx);
128 
129 #ifdef __cplusplus
130 }
131 #endif
132 
133 #endif /* DOCA_STA_IO_QP_H_ */
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_get_port_id(struct doca_sta_qp_handle *qp_handle, uint16_t *port_id)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_get_group_id(struct doca_sta_qp_handle *qp_handle, uint16_t *group_id)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_get_index_in_group(struct doca_sta_qp_handle *qp_handle, uint16_t *qp_idx)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_alloc(struct doca_sta_io *sta_io, const struct doca_dev *dev, struct doca_sta_qp_handle **qp_handle)
Allocate an 'empty' STA QP The QP can be used later to accept a remote connection represented by cm_i...
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_connect_set_sq_size(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle, uint16_t sq_size)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_add_subsystem(struct doca_sta_io *sta_io, struct doca_sta_subs_handle *subs_handle, struct doca_sta_qp_handle *qp_handle)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_accept(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle, const struct doca_dev *dev, struct rdma_cm_id *cm_id, const void *priv_data, uint32_t priv_size, struct doca_sta_subs_handle *subs_handle)
Accept a new remote connection.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_connect(struct doca_sta_io *sta_io, const struct doca_dev *dev, struct rdma_cm_id *cm_id, const void *priv_data, uint32_t priv_size, struct doca_sta_subs_handle *subs_handle, struct doca_sta_qp_handle **qp_handle)
Create a newly connected STA QP.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_get_id(struct doca_sta_qp_handle *qp_handle, uint32_t *qp_id)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_connect_established(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_qp_destroy(struct doca_sta_io *sta_io, struct doca_sta_qp_handle *qp_handle)
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
Definition: doca_compat.h:103
enum doca_error doca_error_t
DOCA API return codes.