| NVIDIA DOCA SDK | Data Center on a Chip Framework Documentation |

Macros | |
| #define | doca_eth_txq_task_batch_metadata_array_get_metadata(metadata_array, metadata_num, packet_index, metadata_index) metadata_array[packet_index * metadata_num + metadata_index] |
| This MACRO is used to get/set a specific metadata of a specific packet (in a task batch) from metadata_array. More... | |
Typedefs | |
| typedef void(* | doca_eth_txq_task_send_completion_cb_t) (struct doca_eth_txq_task_send *task_send, union doca_data task_user_data, union doca_data ctx_user_data) |
| Function to execute on task completion. More... | |
| typedef void(* | doca_eth_txq_task_lso_send_completion_cb_t) (struct doca_eth_txq_task_lso_send *task_lso_send, union doca_data task_user_data, union doca_data ctx_user_data) |
| Function to execute on task completion. More... | |
| typedef void(* | doca_eth_txq_task_batch_send_completion_cb_t) (struct doca_task_batch *task_batch, uint16_t tasks_num, union doca_data ctx_user_data, union doca_data task_batch_user_data, union doca_data *task_user_data_array, struct doca_buf **pkt_array, doca_error_t *status_array) |
| Function to execute on task_batch completion. More... | |
| typedef void(* | doca_eth_txq_task_batch_lso_send_completion_cb_t) (struct doca_task_batch *task_batch, uint16_t tasks_num, union doca_data ctx_user_data, union doca_data task_batch_user_data, union doca_data *task_user_data_array, struct doca_buf **pkt_payload_array, struct doca_gather_list **headers_array, doca_error_t *status_array) |
| Function to execute on task_batch completion. More... | |
Enumerations | |
| enum | doca_eth_txq_ol_flags { DOCA_ETH_TXQ_OL_FLAGS_L3_CSUM = (1 << 0) , DOCA_ETH_TXQ_OL_FLAGS_L4_CSUM = (1 << 1) } |
Functions | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_send_set_conf (struct doca_eth_txq *eth_txq, doca_eth_txq_task_send_completion_cb_t task_completion_cb, doca_eth_txq_task_send_completion_cb_t task_error_cb, uint32_t task_send_num) |
| This method sets the doca_eth_txq_task_send tasks configuration. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_set_conf (struct doca_eth_txq *eth_txq, doca_eth_txq_task_lso_send_completion_cb_t task_completion_cb, doca_eth_txq_task_lso_send_completion_cb_t task_error_cb, uint32_t task_lso_send_num) |
| This method sets the doca_eth_txq_task_lso_send tasks configuration. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_send_set_conf (struct doca_eth_txq *eth_txq, enum doca_task_batch_max_tasks_number max_tasks_number, uint16_t num_task_batches, doca_eth_txq_task_batch_send_completion_cb_t success_completion_cb, doca_eth_txq_task_batch_send_completion_cb_t error_completion_cb) |
| This method sets the task_batch of send tasks configuration. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_set_conf (struct doca_eth_txq *eth_txq, enum doca_task_batch_max_tasks_number max_tasks_number, uint16_t num_task_batches, doca_eth_txq_task_batch_lso_send_completion_cb_t success_completion_cb, doca_eth_txq_task_batch_lso_send_completion_cb_t error_completion_cb) |
| This method sets the task_batch of LSO send tasks configuration. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_send_num_expand (struct doca_eth_txq *eth_txq, uint32_t task_send_num) |
| This method expands the number of doca_eth_txq_task_send tasks. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_num_expand (struct doca_eth_txq *eth_txq, uint32_t task_lso_send_num) |
| This method expands the number of doca_eth_txq_task_lso_send tasks. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_send_num_expand (struct doca_eth_txq *eth_txq, uint16_t task_batches_num) |
| This method expands the number of doca_eth_txq_task_batch_send tasks. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_num_expand (struct doca_eth_txq *eth_txq, uint16_t task_batches_num) |
| This method expands the number of doca_eth_txq_task_batch_lso_send tasks. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_send_allocate_init (struct doca_eth_txq *eth_txq, struct doca_buf *pkt, union doca_data user_data, struct doca_eth_txq_task_send **task_send) |
| This method allocates and initializes a doca_eth_txq_task_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_allocate_init (struct doca_eth_txq *eth_txq, struct doca_buf *pkt_payload, struct doca_gather_list *headers, union doca_data user_data, struct doca_eth_txq_task_lso_send **task_lso_send) |
| This method allocates and initializes a doca_eth_txq_task_lso_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_send_allocate (struct doca_eth_txq *eth_txq, uint16_t tasks_num, union doca_data task_batch_user_data, struct doca_buf ***pkt_array, union doca_data **task_user_data_array, struct doca_task_batch **task_batch) |
| This method allocates a doca_taskbtach of doca_eth_txq_task_send tasks. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_allocate (struct doca_eth_txq *eth_txq, uint16_t tasks_num, union doca_data task_batch_user_data, struct doca_buf ***pkt_payload_array, struct doca_gather_list ***headers_array, union doca_data **task_user_data_array, struct doca_task_batch **task_batch) |
| This method allocates a doca_taskbtach of doca_eth_txq_task_lso_send tasks. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_send_set_pkt (struct doca_eth_txq_task_send *task_send, struct doca_buf *pkt) |
| This method sets packet buffer to doca_eth_txq_task_send task. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_lso_send_set_pkt_payload (struct doca_eth_txq_task_lso_send *task_lso_send, struct doca_buf *pkt_payload) |
| This method sets packet payload buffer to doca_eth_txq_task_lso_send task. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_lso_send_set_headers (struct doca_eth_txq_task_lso_send *task_lso_send, struct doca_gather_list *headers) |
| This method sets headers to doca_eth_txq_task_lso_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_send_get_pkt (const struct doca_eth_txq_task_send *task_send, struct doca_buf **pkt) |
| This method gets packet buffer from doca_eth_txq_task_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_get_pkt_payload (const struct doca_eth_txq_task_lso_send *task_lso_send, struct doca_buf **pkt_payload) |
| This method gets payload buffer from doca_eth_txq_task_lso_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_get_headers (const struct doca_eth_txq_task_lso_send *task_lso_send, struct doca_gather_list **headers) |
| This method gets headers from doca_eth_txq_task_lso_send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_send_get_metadata_array (struct doca_eth_txq_task_send *task_send, uint32_t **metadata_array) |
| This method gets a pointer to internal metadata array from send task. This pointer can be used to read/modify the metadata array content. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_lso_send_get_metadata_array (struct doca_eth_txq_task_lso_send *task_lso_send, uint32_t **metadata_array) |
| This method gets a pointer to internal metadata array from LSO send task. This pointer can be used to read/modify the metadata array content. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_send_get_metadata_array (struct doca_task_batch *task_batch_send, uint32_t **metadata_array) |
| This method gets a pointer to internal metadata array from send task batch. This pointer can be used to read/modify the metadata array content. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_get_metadata_array (struct doca_task_batch *task_batch_lso_send, uint32_t **metadata_array) |
| This method gets a pointer to internal metadata array from LSO send task batch. This pointer can be used to read/modify the metadata array content. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_lso_send_set_mss (struct doca_eth_txq_task_lso_send *task_lso_send, uint16_t mss) |
| This method sets overrides the default MSS value set by "doca_eth_txq_set_mss()" to a specific LSO send task. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_get_mss_array (struct doca_task_batch *task_batch_lso_send, uint16_t **mss_array) |
| This method gets a pointer to internal MSS array from LSO send task batch. This pointer can be used to read/modify the MSS array content. This can be used to override the default MSS value set by "doca_eth_txq_set_mss()" to a specific LSO packet in task batch. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_send_set_ol_flags (struct doca_eth_txq_task_send *task_send, uint16_t ol_flags) |
| This method sets overrides the default ol_flags value set by the enabled offloads of the context. More... | |
| DOCA_EXPERIMENTAL void | doca_eth_txq_task_lso_send_set_ol_flags (struct doca_eth_txq_task_lso_send *task_lso_send, uint16_t ol_flags) |
| This method sets overrides the default ol_flags value set by the enabled offloads of the context. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_send_get_ol_flags_array (struct doca_task_batch *task_batch_send, uint16_t **ol_flags_array) |
| This method gets a pointer to internal ol_flags array from send task batch. This pointer can be used to read/modify the ol_flags array content. This can be used to override the default ol_flags value set by the enabled offloads of the context. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_eth_txq_task_batch_lso_send_get_ol_flags_array (struct doca_task_batch *task_batch_lso_send, uint16_t **ol_flags_array) |
| This method gets a pointer to internal ol_flags array from LSO send task batch. This pointer can be used to read/modify the ol_flags array content. This can be used to override the default ol_flags value set by the enabled offloads of the context. More... | |
| DOCA_EXPERIMENTAL struct doca_task * | doca_eth_txq_task_send_as_doca_task (struct doca_eth_txq_task_send *task_send) |
| This method converts a doca_eth_txq_task_send task to doca_task. More... | |
| DOCA_EXPERIMENTAL struct doca_task * | doca_eth_txq_task_lso_send_as_doca_task (struct doca_eth_txq_task_lso_send *task_lso_send) |
| This method converts a doca_eth_txq_task_lso_send task to doca_task. More... | |
DOCA ETH TXQ library.
| #define doca_eth_txq_task_batch_metadata_array_get_metadata | ( | metadata_array, | |
| metadata_num, | |||
| packet_index, | |||
| metadata_index | |||
| ) | metadata_array[packet_index * metadata_num + metadata_index] |
This MACRO is used to get/set a specific metadata of a specific packet (in a task batch) from metadata_array.
| [in] | metadata_array | Metadata array of a task batch. |
| [in] | metadata_num | Metadata number that was set by "doca_eth_txq_set_metadata_num()". |
| [in] | packet_index | Index of the packet to get metadata associated with. |
| [in] | metadata_index | Index of metadata to get. |
Definition at line 824 of file doca_eth_txq_cpu_data_path.h.
| typedef void(* doca_eth_txq_task_batch_lso_send_completion_cb_t) (struct doca_task_batch *task_batch, uint16_t tasks_num, union doca_data ctx_user_data, union doca_data task_batch_user_data, union doca_data *task_user_data_array, struct doca_buf **pkt_payload_array, struct doca_gather_list **headers_array, doca_error_t *status_array) |
Function to execute on task_batch completion.
Any failure/error inside this function should be handled internally or differed; due to the mode of nested in doca_pe_progress() execution this callback doesn't return error.
NOTE: this callback type utilized successful & failed task completions.
| [in] | task_batch | The completed task_batch. The implementation can assume this value is not NULL. |
| [in] | tasks_num | The number of tasks in task_batch. |
| [in] | ctx_user_data | user_data attached to the ctx. |
| [in] | task_batch_user_data | user_data attached to the task_batch. |
| [in] | task_user_data_array | Array of user_data attached to the tasks. |
| [in] | pkt_payload_array | Array of packets payload of LSO send tasks. |
| [in] | headers_array | Array of headers of LSO send tasks. |
| [in] | status_array | Array of status of LSO send tasks. |
Definition at line 163 of file doca_eth_txq_cpu_data_path.h.
| typedef void(* doca_eth_txq_task_batch_send_completion_cb_t) (struct doca_task_batch *task_batch, uint16_t tasks_num, union doca_data ctx_user_data, union doca_data task_batch_user_data, union doca_data *task_user_data_array, struct doca_buf **pkt_array, doca_error_t *status_array) |
Function to execute on task_batch completion.
Any failure/error inside this function should be handled internally or differed; due to the mode of nested in doca_pe_progress() execution this callback doesn't return error.
NOTE: this callback type utilized successful & failed task completions.
| [in] | task_batch | The completed task_batch. The implementation can assume this value is not NULL. |
| [in] | tasks_num | The number of tasks in task_batch. |
| [in] | ctx_user_data | user_data attached to the ctx. |
| [in] | task_batch_user_data | user_data attached to the task_batch. |
| [in] | task_user_data_array | Array of user_data attached to the tasks. |
| [in] | pkt_array | Array of packets of send tasks. |
| [in] | status_array | Array of status of send tasks. |
Definition at line 129 of file doca_eth_txq_cpu_data_path.h.
| typedef void(* doca_eth_txq_task_lso_send_completion_cb_t) (struct doca_eth_txq_task_lso_send *task_lso_send, union doca_data task_user_data, union doca_data ctx_user_data) |
Function to execute on task completion.
| [in] | task_lso_send | The successfully completed task. The implementation can assume this value is not NULL. |
| [in] | task_user_data | user_data attached to the task. |
| [in] | ctx_user_data | user_data attached to the ctx. |
Definition at line 101 of file doca_eth_txq_cpu_data_path.h.
| typedef void(* doca_eth_txq_task_send_completion_cb_t) (struct doca_eth_txq_task_send *task_send, union doca_data task_user_data, union doca_data ctx_user_data) |
Function to execute on task completion.
This function is called by doca_pe_progress() when related task identified as completed successfully. When this function called the ownership of the task object passed from DOCA back to user. Inside this callback user may decide on the task object:
Any failure/error inside this function should be handled internally or differed; due to the mode of nested in doca_pe_progress() execution this callback doesn't return error.
NOTE: this callback type utilized successful & failed task completions.
| [in] | task_send | The successfully completed task. The implementation can assume this value is not NULL. |
| [in] | task_user_data | user_data attached to the task. |
| [in] | ctx_user_data | user_data attached to the ctx. |
Definition at line 86 of file doca_eth_txq_cpu_data_path.h.
DOCA ETH TXQ task for transmitting an LSO packet TX offload flags (relevant only to CPU data-path).
| Enumerator | |
|---|---|
| DOCA_ETH_TXQ_OL_FLAGS_L3_CSUM | L3 checksum enabled |
| DOCA_ETH_TXQ_OL_FLAGS_L4_CSUM | L4 checksum enabled |
Definition at line 56 of file doca_eth_txq_cpu_data_path.h.
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_allocate | ( | struct doca_eth_txq * | eth_txq, |
| uint16_t | tasks_num, | ||
| union doca_data | task_batch_user_data, | ||
| struct doca_buf *** | pkt_payload_array, | ||
| struct doca_gather_list *** | headers_array, | ||
| union doca_data ** | task_user_data_array, | ||
| struct doca_task_batch ** | task_batch | ||
| ) |
This method allocates a doca_taskbtach of doca_eth_txq_task_lso_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | tasks_num | Number of tasks in task_batch. |
| [in] | task_batch_user_data | User data associated with task_batch. |
| [out] | pkt_payload_array | Pointer on array of packet payload buffers associated with doca_eth_txq_task_lso_send tasks for user to fill. |
| [out] | headers_array | Pointer on array of headers associated with doca_eth_txq_task_lso_send task for user to fills. |
| [out] | task_user_data_array | Pointer on array of user data associated with doca_eth_txq_task_lso_send tasks for user to fill. |
| [out] | task_batch | doca_task_batch that was allocated. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_get_metadata_array | ( | struct doca_task_batch * | task_batch_lso_send, |
| uint32_t ** | metadata_array | ||
| ) |
This method gets a pointer to internal metadata array from LSO send task batch. This pointer can be used to read/modify the metadata array content.
| [in] | task_batch_lso_send | The task batch to get from. |
| [out] | metadata_array | metadata array to get. Its length is metadata_num (set by "doca_eth_txq_set_metadata_num()") * number of packets in task batch. See "doca_eth_txq_task_batch_metadata_array_get_metadata()". |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_get_mss_array | ( | struct doca_task_batch * | task_batch_lso_send, |
| uint16_t ** | mss_array | ||
| ) |
This method gets a pointer to internal MSS array from LSO send task batch. This pointer can be used to read/modify the MSS array content. This can be used to override the default MSS value set by "doca_eth_txq_set_mss()" to a specific LSO packet in task batch.
| [in] | task_batch_lso_send | The task batch to get from. |
| [out] | mss_array | MSS array to get. Its length is number of packets in task batch. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_get_ol_flags_array | ( | struct doca_task_batch * | task_batch_lso_send, |
| uint16_t ** | ol_flags_array | ||
| ) |
This method gets a pointer to internal ol_flags array from LSO send task batch. This pointer can be used to read/modify the ol_flags array content. This can be used to override the default ol_flags value set by the enabled offloads of the context.
| [in] | task_batch_lso_send | The task batch to get from. |
| [out] | ol_flags_array | ol_flags array to get. Its length is number of packets in task batch. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_num_expand | ( | struct doca_eth_txq * | eth_txq, |
| uint16_t | task_batches_num | ||
| ) |
This method expands the number of doca_eth_txq_task_batch_lso_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_batches_num | Number of task batches to expand. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_lso_send_set_conf | ( | struct doca_eth_txq * | eth_txq, |
| enum doca_task_batch_max_tasks_number | max_tasks_number, | ||
| uint16_t | num_task_batches, | ||
| doca_eth_txq_task_batch_lso_send_completion_cb_t | success_completion_cb, | ||
| doca_eth_txq_task_batch_lso_send_completion_cb_t | error_completion_cb | ||
| ) |
This method sets the task_batch of LSO send tasks configuration.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | max_tasks_number | Maximum number of tasks in each task_batch. |
| [in] | num_task_batches | Number of task_batch for LSO send tasks. |
| [in] | success_completion_cb | Task batch successful completion callback. |
| [in] | error_completion_cb | Task batch error completion callback. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_send_allocate | ( | struct doca_eth_txq * | eth_txq, |
| uint16_t | tasks_num, | ||
| union doca_data | task_batch_user_data, | ||
| struct doca_buf *** | pkt_array, | ||
| union doca_data ** | task_user_data_array, | ||
| struct doca_task_batch ** | task_batch | ||
| ) |
This method allocates a doca_taskbtach of doca_eth_txq_task_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | tasks_num | Number of tasks in task_batch. |
| [in] | task_batch_user_data | User data associated with task_batch. |
| [out] | pkt_array | Pointer on array of packet buffers associated with doca_eth_txq_task_send tasks for user to fill. |
| [out] | task_user_data_array | Pointer on array of user data associated with doca_eth_txq_task_send tasks for user to fill. |
| [out] | task_batch | doca_task_batch that was allocated. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_send_get_metadata_array | ( | struct doca_task_batch * | task_batch_send, |
| uint32_t ** | metadata_array | ||
| ) |
This method gets a pointer to internal metadata array from send task batch. This pointer can be used to read/modify the metadata array content.
| [in] | task_batch_send | The task batch to get from. |
| [out] | metadata_array | metadata array to get. Its length is metadata_num (set by "doca_eth_txq_set_metadata_num()") * number of packets in task batch. See "doca_eth_txq_task_batch_metadata_array_get_metadata()". |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_send_get_ol_flags_array | ( | struct doca_task_batch * | task_batch_send, |
| uint16_t ** | ol_flags_array | ||
| ) |
This method gets a pointer to internal ol_flags array from send task batch. This pointer can be used to read/modify the ol_flags array content. This can be used to override the default ol_flags value set by the enabled offloads of the context.
| [in] | task_batch_send | The task batch to get from. |
| [out] | ol_flags_array | ol_flags array to get. Its length is number of packets in task batch. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_send_num_expand | ( | struct doca_eth_txq * | eth_txq, |
| uint16_t | task_batches_num | ||
| ) |
This method expands the number of doca_eth_txq_task_batch_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_batches_num | Number of task batches to expand. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_batch_send_set_conf | ( | struct doca_eth_txq * | eth_txq, |
| enum doca_task_batch_max_tasks_number | max_tasks_number, | ||
| uint16_t | num_task_batches, | ||
| doca_eth_txq_task_batch_send_completion_cb_t | success_completion_cb, | ||
| doca_eth_txq_task_batch_send_completion_cb_t | error_completion_cb | ||
| ) |
This method sets the task_batch of send tasks configuration.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | max_tasks_number | Maximum number of tasks in each task_batch. |
| [in] | num_task_batches | Number of task_batch for send tasks. |
| [in] | success_completion_cb | Task batch successful completion callback. |
| [in] | error_completion_cb | Task batch error completion callback. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_allocate_init | ( | struct doca_eth_txq * | eth_txq, |
| struct doca_buf * | pkt_payload, | ||
| struct doca_gather_list * | headers, | ||
| union doca_data | user_data, | ||
| struct doca_eth_txq_task_lso_send ** | task_lso_send | ||
| ) |
This method allocates and initializes a doca_eth_txq_task_lso_send task.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | pkt_payload | Buffer that contains the payload of the packet to send. |
| [in] | headers | A gather list of the headers of the packet to send. |
| [in] | user_data | doca_data to attach to the task |
| [out] | task_lso_send | doca_eth_txq_task_lso_send task that was allocated. |
| DOCA_EXPERIMENTAL struct doca_task* doca_eth_txq_task_lso_send_as_doca_task | ( | struct doca_eth_txq_task_lso_send * | task_lso_send | ) |
This method converts a doca_eth_txq_task_lso_send task to doca_task.
| [in] | task_lso_send | doca_eth_txq_task_lso_send task. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_get_headers | ( | const struct doca_eth_txq_task_lso_send * | task_lso_send, |
| struct doca_gather_list ** | headers | ||
| ) |
This method gets headers from doca_eth_txq_task_lso_send task.
| [in] | task_lso_send | The task to get from. |
| [out] | headers | A gather list of the headers of the packet to get. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_get_metadata_array | ( | struct doca_eth_txq_task_lso_send * | task_lso_send, |
| uint32_t ** | metadata_array | ||
| ) |
This method gets a pointer to internal metadata array from LSO send task. This pointer can be used to read/modify the metadata array content.
| [in] | task_lso_send | The task to get from. |
| [out] | metadata_array | metadata array to get. Its length is metadata_num (set by "doca_eth_txq_set_metadata_num()"). |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_get_pkt_payload | ( | const struct doca_eth_txq_task_lso_send * | task_lso_send, |
| struct doca_buf ** | pkt_payload | ||
| ) |
This method gets payload buffer from doca_eth_txq_task_lso_send task.
| [in] | task_lso_send | The task to get from. |
| [out] | pkt_payload | Packet payload buffer to get. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_num_expand | ( | struct doca_eth_txq * | eth_txq, |
| uint32_t | task_lso_send_num | ||
| ) |
This method expands the number of doca_eth_txq_task_lso_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_lso_send_num | Number of doca_eth_txq_task_lso_send tasks to expand. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_lso_send_set_conf | ( | struct doca_eth_txq * | eth_txq, |
| doca_eth_txq_task_lso_send_completion_cb_t | task_completion_cb, | ||
| doca_eth_txq_task_lso_send_completion_cb_t | task_error_cb, | ||
| uint32_t | task_lso_send_num | ||
| ) |
This method sets the doca_eth_txq_task_lso_send tasks configuration.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_completion_cb | Task completion callback. |
| [in] | task_error_cb | Task error callback. |
| [in] | task_lso_send_num | Number of doca_eth_txq_task_lso_send tasks. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_lso_send_set_headers | ( | struct doca_eth_txq_task_lso_send * | task_lso_send, |
| struct doca_gather_list * | headers | ||
| ) |
This method sets headers to doca_eth_txq_task_lso_send task.
| [in] | task_lso_send | The task to set to. |
| [in] | headers | A gather list of the headers of the packet to set. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_lso_send_set_mss | ( | struct doca_eth_txq_task_lso_send * | task_lso_send, |
| uint16_t | mss | ||
| ) |
This method sets overrides the default MSS value set by "doca_eth_txq_set_mss()" to a specific LSO send task.
| [in] | task_lso_send | The task to get from. |
| [out] | mss | New MSS value to set for task. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_lso_send_set_ol_flags | ( | struct doca_eth_txq_task_lso_send * | task_lso_send, |
| uint16_t | ol_flags | ||
| ) |
This method sets overrides the default ol_flags value set by the enabled offloads of the context.
| [in] | task_lso_send | The task to set for. |
| [out] | ol_flags | New ol_flags value to set for task. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_lso_send_set_pkt_payload | ( | struct doca_eth_txq_task_lso_send * | task_lso_send, |
| struct doca_buf * | pkt_payload | ||
| ) |
This method sets packet payload buffer to doca_eth_txq_task_lso_send task.
| [in] | task_lso_send | The task to set to. |
| [in] | pkt_payload | Packet payload buffer to set. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_send_allocate_init | ( | struct doca_eth_txq * | eth_txq, |
| struct doca_buf * | pkt, | ||
| union doca_data | user_data, | ||
| struct doca_eth_txq_task_send ** | task_send | ||
| ) |
This method allocates and initializes a doca_eth_txq_task_send task.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | pkt | Buffer that contains the packet to send. |
| [in] | user_data | doca_data to attach to the task |
| [out] | task_send | doca_eth_txq_task_send task that was allocated. |
| DOCA_EXPERIMENTAL struct doca_task* doca_eth_txq_task_send_as_doca_task | ( | struct doca_eth_txq_task_send * | task_send | ) |
This method converts a doca_eth_txq_task_send task to doca_task.
| [in] | task_send | doca_eth_txq_task_send task. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_send_get_metadata_array | ( | struct doca_eth_txq_task_send * | task_send, |
| uint32_t ** | metadata_array | ||
| ) |
This method gets a pointer to internal metadata array from send task. This pointer can be used to read/modify the metadata array content.
| [in] | task_send | The task to get from. |
| [out] | metadata_array | metadata array to get. Its length is metadata_num (set by "doca_eth_txq_set_metadata_num()"). |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_send_get_pkt | ( | const struct doca_eth_txq_task_send * | task_send, |
| struct doca_buf ** | pkt | ||
| ) |
This method gets packet buffer from doca_eth_txq_task_send task.
| [in] | task_send | The task to get from. |
| [out] | pkt | Packet buffer to get. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_send_num_expand | ( | struct doca_eth_txq * | eth_txq, |
| uint32_t | task_send_num | ||
| ) |
This method expands the number of doca_eth_txq_task_send tasks.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_send_num | Number of doca_eth_txq_task_send tasks to expand. |
| DOCA_EXPERIMENTAL doca_error_t doca_eth_txq_task_send_set_conf | ( | struct doca_eth_txq * | eth_txq, |
| doca_eth_txq_task_send_completion_cb_t | task_completion_cb, | ||
| doca_eth_txq_task_send_completion_cb_t | task_error_cb, | ||
| uint32_t | task_send_num | ||
| ) |
This method sets the doca_eth_txq_task_send tasks configuration.
| [in] | eth_txq | Pointer to doca_eth_txq instance. |
| [in] | task_completion_cb | Task completion callback. |
| [in] | task_error_cb | Task error callback. |
| [in] | task_send_num | Number of doca_eth_txq_task_send tasks. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_send_set_ol_flags | ( | struct doca_eth_txq_task_send * | task_send, |
| uint16_t | ol_flags | ||
| ) |
This method sets overrides the default ol_flags value set by the enabled offloads of the context.
| [in] | task_send | The task to set for. |
| [out] | ol_flags | New ol_flags value to set for task. |
| DOCA_EXPERIMENTAL void doca_eth_txq_task_send_set_pkt | ( | struct doca_eth_txq_task_send * | task_send, |
| struct doca_buf * | pkt | ||
| ) |
This method sets packet buffer to doca_eth_txq_task_send task.
| [in] | task_send | The task to set to. |
| [in] | pkt | Packet buffer to set. |