14 #ifndef DOCA_STA_IO_NON_OFFLOAD_H_
15 #define DOCA_STA_IO_NON_OFFLOAD_H_
30 #define DOCA_STA_NVMEF_COMPLETION_SIZE (16)
57 const uint8_t *nvme_cmd,
127 struct doca_sta_qp_handle *qp_handle,
130 struct doca_sta_producer_task_send **task);
154 struct doca_sta_qp_handle *qp_handle,
157 struct doca_sta_producer_task_send **task);
181 struct doca_sta_qp_handle *qp_handle,
183 struct doca_sta_producer_task_send **task);
static void task_error_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
static void task_completion_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_non_offload_rdma_write_send_alloc_init(struct doca_sta_io *sta_io, union doca_data user_data, struct doca_sta_qp_handle *qp_handle, doca_sta_nvmef_completion_t completion, union doca_data non_offload_user_data, struct doca_sta_producer_task_send **task)
This method allocates and initializes a STA IO RDMA WRITE with RDMA SEND task.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_non_offload_register_cb(struct doca_sta_io *sta_io, doca_sta_io_non_offload_cb_t non_offload_cb, union doca_data user_data)
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_non_offload_set_rdma_write_send_conf(struct doca_sta_io *sta_io, doca_sta_task_completion_cb_t task_completion_cb, doca_sta_task_completion_cb_t task_error_cb)
This method sets the STA IO non offload RDMA WRITE tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_non_offload_rdma_read_alloc_init(struct doca_sta_io *sta_io, union doca_data user_data, struct doca_sta_qp_handle *qp_handle, union doca_data non_offload_user_data, struct doca_sta_producer_task_send **task)
This method allocates and initializes a STA IO RDMA READ task.
void(* doca_sta_io_non_offload_cb_t)(struct doca_sta_qp_handle *qp_handle, union doca_data user_data, const uint8_t *nvme_cmd, uint8_t *payload, uint32_t payload_len, bool payload_valid, union doca_data non_offload_user_data)
Function to execute on new STA IO non-offload command notification.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_non_offload_set_rdma_read_conf(struct doca_sta_io *sta_io, doca_sta_task_completion_cb_t task_completion_cb, doca_sta_task_completion_cb_t task_error_cb)
This method sets the STA IO non offload RDMA READ tasks configuration.
#define DOCA_STA_NVMEF_COMPLETION_SIZE
uint8_t doca_sta_nvmef_completion_t[DOCA_STA_NVMEF_COMPLETION_SIZE]
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_non_offload_rdma_send_alloc_init(struct doca_sta_io *sta_io, union doca_data user_data, struct doca_sta_qp_handle *qp_handle, doca_sta_nvmef_completion_t completion, union doca_data non_offload_user_data, struct doca_sta_producer_task_send **task)
This method allocates and initializes a STA IO RDMA SEND task.
void(* doca_sta_task_completion_cb_t)(struct doca_sta_producer_task_send *task, union doca_data task_user_data)
Function to execute on STA task completion.
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
enum doca_error doca_error_t
DOCA API return codes.
Convenience type for representing opaque data.