NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_comch_consumer.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <doca_compat.h>
#include <doca_error.h>
#include <doca_types.h>
Include dependency graph for doca_comch_consumer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef uint64_t doca_dpa_dev_comch_consumer_completion_t
 DPA handle for DPA consumer completion context. More...
 
typedef uint64_t doca_dpa_dev_comch_consumer_t
 DPA handle for DPA consumer. More...
 
typedef void(* doca_comch_consumer_task_post_recv_completion_cb_t) (struct doca_comch_consumer_task_post_recv *task, union doca_data task_user_data, union doca_data ctx_user_data)
 

Functions

DOCA_STABLE doca_error_t doca_comch_consumer_create (struct doca_comch_connection *comch_connection, struct doca_mmap *buf_mmap, struct doca_comch_consumer **consumer)
 
DOCA_STABLE doca_error_t doca_comch_consumer_destroy (struct doca_comch_consumer *consumer)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_is_supported (const struct doca_devinfo *devinfo)
 
DOCA_STABLE doca_error_t doca_comch_consumer_get_id (const struct doca_comch_consumer *consumer, uint32_t *id)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_get_max_num_tasks (const struct doca_devinfo *devinfo, uint32_t *max_num_tasks)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_get_max_buf_size (const struct doca_devinfo *devinfo, uint32_t *max_buf_size)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_get_max_buf_list_len (const struct doca_devinfo *devinfo, uint32_t *max_buf_list_len)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_get_max_consumers (const struct doca_devinfo *devinfo, uint32_t *max_consumers)
 
DOCA_STABLE doca_error_t doca_comch_consumer_cap_get_max_imm_data_len (const struct doca_devinfo *devinfo, uint32_t *max_imm_data_len)
 
DOCA_STABLE doca_error_t doca_comch_consumer_get_imm_data_len (const struct doca_comch_consumer *consumer, uint32_t *imm_data_len)
 
DOCA_STABLE doca_error_t doca_comch_consumer_set_imm_data_len (struct doca_comch_consumer *consumer, uint32_t imm_data_len)
 
DOCA_STABLE struct doca_ctx * doca_comch_consumer_as_ctx (struct doca_comch_consumer *consumer)
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_create (struct doca_comch_consumer_completion **consumer_comp)
 Allocate DOCA Comch consumer completion context on DPA. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_set_dpa_thread (struct doca_comch_consumer_completion *consumer_comp, struct doca_dpa_thread *dpa_thread)
 Set the DOCA DPA thread of the completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_destroy (struct doca_comch_consumer_completion *consumer_comp)
 Destroy the DOCA Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_start (struct doca_comch_consumer_completion *consumer_comp)
 Start DOCA Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_stop (struct doca_comch_consumer_completion *consumer_comp)
 Stop DOCA Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_get_dpa_handle (struct doca_comch_consumer_completion *consumer_comp, doca_dpa_dev_comch_consumer_completion_t *consumer_comp_handle)
 Get the DPA handle for the DOCA Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_set_max_num_consumers (struct doca_comch_consumer_completion *consumer_comp, uint32_t max_num_consumers)
 Set the maximal number of consumers that can be associated with the completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_get_max_num_consumers (const struct doca_comch_consumer_completion *consumer_comp, uint32_t *max_num_consumers)
 Get the maximal number of consumers that can be associated with the completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_set_max_num_recv (struct doca_comch_consumer_completion *consumer_comp, uint32_t max_num_recv)
 Set the maximal number of receive operations across all consumers associated with the completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_get_max_num_recv (const struct doca_comch_consumer_completion *consumer_comp, uint32_t *max_num_recv)
 Get the maximal number of receive operations across all consumers associated with the completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_set_imm_data_len (struct doca_comch_consumer_completion *consumer_comp, uint32_t imm_data_len)
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_completion_get_imm_data_len (const struct doca_comch_consumer_completion *consumer_comp, uint32_t *imm_data_len)
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_set_dev_max_num_recv (struct doca_comch_consumer *consumer, uint32_t dev_num_recv)
 Set the maximal number of receive operations for a DPA consumer. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_set_completion (struct doca_comch_consumer *consumer, struct doca_comch_consumer_completion *consumer_comp, uint32_t user_data)
 Associate consumer with DPA completion context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_comch_consumer_get_dpa_handle (struct doca_comch_consumer *consumer, doca_dpa_dev_comch_consumer_t *dpa_consumer)
 Retrieve the handle in the dpa memory space of a doca_comch_consumer. More...
 
DOCA_STABLE doca_error_t doca_comch_consumer_task_post_recv_set_conf (struct doca_comch_consumer *consumer, doca_comch_consumer_task_post_recv_completion_cb_t task_completion_cb, doca_comch_consumer_task_post_recv_completion_cb_t task_error_cb, uint32_t num_post_recv_tasks)
 
DOCA_STABLE doca_error_t doca_comch_consumer_task_post_recv_alloc_init (struct doca_comch_consumer *consumer, struct doca_buf *buf, struct doca_comch_consumer_task_post_recv **task)
 Allocate and initialize a doca_consumer post receive task. More...
 
DOCA_STABLE struct doca_buf * doca_comch_consumer_task_post_recv_get_buf (const struct doca_comch_consumer_task_post_recv *task)
 
DOCA_STABLE void doca_comch_consumer_task_post_recv_set_buf (struct doca_comch_consumer_task_post_recv *task, struct doca_buf *buf)
 
DOCA_STABLE uint32_t doca_comch_consumer_task_post_recv_get_producer_id (const struct doca_comch_consumer_task_post_recv *task)
 
DOCA_STABLE const uint8_t * doca_comch_consumer_task_post_recv_get_imm_data (const struct doca_comch_consumer_task_post_recv *task)
 
DOCA_STABLE uint32_t doca_comch_consumer_task_post_recv_get_imm_data_len (const struct doca_comch_consumer_task_post_recv *task)
 
DOCA_STABLE struct doca_task * doca_comch_consumer_task_post_recv_as_task (struct doca_comch_consumer_task_post_recv *task)