.TH "rte_event_eth_tx_adapter.h" 3 "Version 25.11.0" "DPDK" \" -*- nroff -*-
.ad l
.nh
.SH NAME
rte_event_eth_tx_adapter.h
.SH SYNOPSIS
.br
.PP
\fR#include <stdint\&.h>\fP
.br
\fR#include <rte_compat\&.h>\fP
.br
\fR#include <rte_mbuf\&.h>\fP
.br
\fR#include 'rte_eventdev\&.h'\fP
.br

.SS "Data Structures"

.in +1c
.ti -1c
.RI "struct \fBrte_event_eth_tx_adapter_conf\fP"
.br
.ti -1c
.RI "struct \fBrte_event_eth_tx_adapter_runtime_params\fP"
.br
.ti -1c
.RI "struct \fBrte_event_eth_tx_adapter_stats\fP"
.br
.in -1c
.SS "Macros"

.in +1c
.ti -1c
.RI "#define \fBRTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST\fP   0x1"
.br
.in -1c
.SS "Typedefs"

.in +1c
.ti -1c
.RI "\fBtypedef\fP int(* \fBrte_event_eth_tx_adapter_conf_cb\fP) (uint8_t id, uint8_t dev_id, struct \fBrte_event_eth_tx_adapter_conf\fP *conf, void *arg)"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_create\fP (uint8_t id, uint8_t dev_id, struct \fBrte_event_port_conf\fP *port_config)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_create_ext\fP (uint8_t id, uint8_t dev_id, \fBrte_event_eth_tx_adapter_conf_cb\fP conf_cb, void *conf_arg)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_free\fP (uint8_t id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_start\fP (uint8_t id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_stop\fP (uint8_t id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_queue_add\fP (uint8_t id, uint16_t eth_dev_id, int32_t queue)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_queue_del\fP (uint8_t id, uint16_t eth_dev_id, int32_t queue)"
.br
.ti -1c
.RI "static \fB__rte_always_inline\fP void \fBrte_event_eth_tx_adapter_txq_set\fP (struct \fBrte_mbuf\fP *pkt, uint16_t queue)"
.br
.ti -1c
.RI "static \fB__rte_always_inline\fP uint16_t \fBrte_event_eth_tx_adapter_txq_get\fP (struct \fBrte_mbuf\fP *pkt)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_event_port_get\fP (uint8_t id, uint8_t *event_port_id)"
.br
.ti -1c
.RI "static uint16_t \fBrte_event_eth_tx_adapter_enqueue\fP (uint8_t dev_id, uint8_t port_id, struct \fBrte_event\fP ev[], uint16_t nb_events, const uint8_t flags)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_stats_get\fP (uint8_t id, struct \fBrte_event_eth_tx_adapter_stats\fP *stats)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_stats_reset\fP (uint8_t id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_service_id_get\fP (uint8_t id, uint32_t *service_id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_instance_get\fP (uint16_t eth_dev_id, uint16_t tx_queue_id, uint8_t *txa_inst_id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_queue_start\fP (uint16_t eth_dev_id, uint16_t tx_queue_id)"
.br
.ti -1c
.RI "int \fBrte_event_eth_tx_adapter_queue_stop\fP (uint16_t eth_dev_id, uint16_t tx_queue_id)"
.br
.ti -1c
.RI "__rte_experimental int \fBrte_event_eth_tx_adapter_runtime_params_init\fP (struct \fBrte_event_eth_tx_adapter_runtime_params\fP *txa_params)"
.br
.ti -1c
.RI "__rte_experimental int \fBrte_event_eth_tx_adapter_runtime_params_set\fP (uint8_t id, struct \fBrte_event_eth_tx_adapter_runtime_params\fP *params)"
.br
.ti -1c
.RI "__rte_experimental int \fBrte_event_eth_tx_adapter_runtime_params_get\fP (uint8_t id, struct \fBrte_event_eth_tx_adapter_runtime_params\fP *params)"
.br
.in -1c
.SH "Detailed Description"
.PP 
RTE Event Ethernet Tx Adapter

.PP
The event ethernet Tx adapter provides configuration and data path APIs for the ethernet transmit stage of an event driven packet processing application\&. These APIs abstract the implementation of the transmit stage and allow the application to use eventdev PMD support or a common implementation\&.

.PP
In the common implementation, the application enqueues mbufs to the adapter which runs as a rte_service function\&. The service function dequeues events from its event port and transmits the mbufs referenced by these events\&.

.PP
The ethernet Tx event adapter APIs are:

.PP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_create()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_create_ext()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_free()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_start()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_stop()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_queue_add()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_queue_del()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_stats_get()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_stats_reset()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_enqueue()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_event_port_get()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_service_id_get()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_instance_get()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_queue_start()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_queue_stop()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_runtime_params_get()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_runtime_params_init()\fP
.IP "\(bu" 2
\fBrte_event_eth_tx_adapter_runtime_params_set()\fP
.PP

.PP
The application creates the adapter using \fBrte_event_eth_tx_adapter_create()\fP or \fBrte_event_eth_tx_adapter_create_ext()\fP\&.

.PP
The adapter will use the common implementation when the eventdev PMD does not have the \fBRTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT\fP capability\&. The common implementation uses an event port that is created using the port configuration parameter passed to \fBrte_event_eth_tx_adapter_create()\fP\&. The application can get the port identifier using \fBrte_event_eth_tx_adapter_event_port_get()\fP and must link an event queue to this port\&.

.PP
If the eventdev PMD has the \fBRTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT\fP flags set, Tx adapter events should be enqueued using the \fBrte_event_eth_tx_adapter_enqueue()\fP function, else the application should use \fBrte_event_enqueue_burst()\fP\&.

.PP
Transmit queues can be added and deleted from the adapter using \fBrte_event_eth_tx_adapter_queue_add()\fP/del() APIs respectively\&.

.PP
The application can start and stop the adapter using the rte_event_eth_tx_adapter_start/stop() calls\&.

.PP
The common adapter implementation uses an EAL service function as described before and its execution is controlled using the rte_service APIs\&. The \fBrte_event_eth_tx_adapter_service_id_get()\fP function can be used to retrieve the adapter's service function ID\&.

.PP
The ethernet port and transmit queue index to transmit the mbuf on are specified using the mbuf port struct rte_mbuf::hash::txadapter:txq\&. The application should use the \fBrte_event_eth_tx_adapter_txq_set()\fP and \fBrte_event_eth_tx_adapter_txq_get()\fP functions to access the transmit queue index, using these macros will help with minimizing application impact due to a change in how the transmit queue index is specified\&. 
.PP
Definition in file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SH "Macro Definition Documentation"
.PP 
.SS "#define RTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST   0x1"
This flag is used when all the packets enqueued in the tx adapter are destined for the same Ethernet port & Tx queue\&. 
.PP
Definition at line \fB355\fP of file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SH "Typedef Documentation"
.PP 
.SS "\fBtypedef\fP int(* rte_event_eth_tx_adapter_conf_cb) (uint8_t id, uint8_t dev_id, struct \fBrte_event_eth_tx_adapter_conf\fP *conf, void *arg)"
Function type used for adapter configuration callback\&. The callback is used to fill in members of the struct \fBrte_event_eth_tx_adapter_conf\fP, this callback is invoked when creating a RTE service function based adapter implementation\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.br
\fIdev_id\fP Event device identifier\&. 
.br
\fIconf\fP Structure that needs to be populated by this callback\&. 
.br
\fIarg\fP Argument to the callback\&. This is the same as the conf_arg passed to the \fBrte_event_eth_tx_adapter_create_ext()\fP\&.
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.PP
Definition at line \fB160\fP of file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SH "Function Documentation"
.PP 
.SS "int rte_event_eth_tx_adapter_create (uint8_t id, uint8_t dev_id, struct \fBrte_event_port_conf\fP * port_config)"
Create a new ethernet Tx adapter with the specified identifier\&.

.PP
When this API is used for creating adapter instance, \fR\fBrte_event_dev_config::nb_event_ports\fP\fP is automatically incremented, and event device is reconfigured with additional event port during service initialization\&. This event device reconfigure logic also increments the \fR\fBrte_event_dev_config::nb_single_link_event_port_queues\fP\fP parameter if the adapter event port config is of type \fR\fBRTE_EVENT_PORT_CFG_SINGLE_LINK\fP\fP\&.

.PP
Application no longer needs to account for the \fR\fBrte_event_dev_config::nb_event_ports\fP\fP and \fR\fBrte_event_dev_config::nb_single_link_event_port_queues\fP\fP parameters required for eth Tx adapter in event device configure when the adapter is created with this API\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP The identifier of the ethernet Tx adapter\&. 
.br
\fIdev_id\fP The event device identifier\&. 
.br
\fIport_config\fP Event port configuration, the adapter uses this configuration to create an event port if needed\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_create_ext (uint8_t id, uint8_t dev_id, \fBrte_event_eth_tx_adapter_conf_cb\fP conf_cb, void * conf_arg)"
Create a new ethernet Tx adapter with the specified identifier\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP The identifier of the ethernet Tx adapter\&. 
.br
\fIdev_id\fP The event device identifier\&. 
.br
\fIconf_cb\fP Callback function that initializes members of the struct \fBrte_event_eth_tx_adapter_conf\fP struct passed into it\&. 
.br
\fIconf_arg\fP Argument that is passed to the conf_cb function\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_free (uint8_t id)"
Free an ethernet Tx adapter

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure, If the adapter still has Tx queues added to it, the function returns -EBUSY\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_start (uint8_t id)"
Start ethernet Tx adapter

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success, Adapter started correctly\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_stop (uint8_t id)"
Stop ethernet Tx adapter

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_queue_add (uint8_t id, uint16_t eth_dev_id, int32_t queue)"
Add a Tx queue to the adapter\&. A queue value of -1 is used to indicate all queues within the device\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.br
\fIeth_dev_id\fP Ethernet Port Identifier\&. 
.br
\fIqueue\fP Tx queue index\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success, Queues added successfully\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_queue_del (uint8_t id, uint16_t eth_dev_id, int32_t queue)"
Delete a Tx queue from the adapter\&. A queue value of -1 is used to indicate all queues within the device, that have been added to this adapter\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.br
\fIeth_dev_id\fP Ethernet Port Identifier\&. 
.br
\fIqueue\fP Tx queue index\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success, Queues deleted successfully\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "\fB__rte_always_inline\fP void rte_event_eth_tx_adapter_txq_set (struct \fBrte_mbuf\fP * pkt, uint16_t queue)\fR [static]\fP"
Set Tx queue in the mbuf\&. This queue is used by the adapter to transmit the mbuf\&.

.PP
\fBParameters\fP
.RS 4
\fIpkt\fP Pointer to the mbuf\&. 
.br
\fIqueue\fP Tx queue index\&. 
.RE
.PP

.PP
Definition at line \fB318\fP of file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SS "\fB__rte_always_inline\fP uint16_t rte_event_eth_tx_adapter_txq_get (struct \fBrte_mbuf\fP * pkt)\fR [static]\fP"
Retrieve Tx queue from the mbuf\&.

.PP
\fBParameters\fP
.RS 4
\fIpkt\fP Pointer to the mbuf\&. 
.RE
.PP
\fBReturns\fP
.RS 4
Tx queue identifier\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBrte_event_eth_tx_adapter_txq_set()\fP 
.RE
.PP

.PP
Definition at line \fB334\fP of file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SS "int rte_event_eth_tx_adapter_event_port_get (uint8_t id, uint8_t * event_port_id)"
Retrieve the adapter event port\&. The adapter creates an event port if the \fBRTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT\fP is not set in the ethernet Tx capabilities of the event device\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter Identifier\&. 
.br
\fIevent_port_id\fP Event port pointer\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "uint16_t rte_event_eth_tx_adapter_enqueue (uint8_t dev_id, uint8_t port_id, struct \fBrte_event\fP ev[], uint16_t nb_events, const uint8_t flags)\fR [inline]\fP, \fR [static]\fP"
Enqueue a burst of events objects or an event object supplied in \fI\fBrte_event\fP\fP structure on an event device designated by its \fIdev_id\fP through the event port specified by \fIport_id\fP\&. This function is supported if the eventdev PMD has the \fBRTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT\fP capability flag set\&.

.PP
The \fInb_events\fP parameter is the number of event objects to enqueue which are supplied in the \fIev\fP array of \fI\fBrte_event\fP\fP structure\&.

.PP
The \fBrte_event_eth_tx_adapter_enqueue()\fP function returns the number of events objects it actually enqueued\&. A return value equal to \fInb_events\fP means that all event objects have been enqueued\&.

.PP
\fBParameters\fP
.RS 4
\fIdev_id\fP The identifier of the device\&. 
.br
\fIport_id\fP The identifier of the event port\&. 
.br
\fIev\fP Points to an array of \fInb_events\fP objects of type \fI\fBrte_event\fP\fP structure which contain the event object enqueue operations to be processed\&. 
.br
\fInb_events\fP The number of event objects to enqueue, typically number of rte_event_port_attr_get(\&.\&.\&.RTE_EVENT_PORT_ATTR_ENQ_DEPTH\&.\&.\&.) available for this port\&. 
.br
\fIflags\fP RTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_ flags\&. \fBRTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST\fP signifies that all the packets which are enqueued are destined for the same Ethernet port & Tx queue\&.
.RE
.PP
\fBReturns\fP
.RS 4
The number of event objects actually enqueued on the event device\&. The return value can be less than the value of the \fInb_events\fP parameter when the event devices queue is full or if invalid parameters are specified in a \fI\fBrte_event\fP\fP\&. If the return value is less than \fInb_events\fP, the remaining events at the end of ev[] are not consumed and the caller has to take care of them, and rte_errno is set accordingly\&. Possible errno values include:
.IP "\(bu" 2
EINVAL The port ID is invalid, device ID is invalid, an event's queue ID is invalid, or an event's sched type doesn't match the capabilities of the destination queue\&.
.IP "\(bu" 2
ENOSPC The event port was backpressured and unable to enqueue one or more events\&. This error code is only applicable to closed systems\&. 
.PP
.RE
.PP

.PP
Definition at line \fB404\fP of file \fBrte_event_eth_tx_adapter\&.h\fP\&.
.SS "int rte_event_eth_tx_adapter_stats_get (uint8_t id, struct \fBrte_event_eth_tx_adapter_stats\fP * stats)"
Retrieve statistics for an adapter

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.br
\fIstats\fP A pointer to structure used to retrieve statistics for an adapter\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success, statistics retrieved successfully\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_stats_reset (uint8_t id)"
Reset statistics for an adapter\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success, statistics reset successfully\&.
.IP "\(bu" 2
<0: Error code on failure\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_service_id_get (uint8_t id, uint32_t * service_id)"
Retrieve the service ID of an adapter\&. If the adapter doesn't use a rte_service function, this function returns -ESRCH\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier\&. 
.br
\fIservice_id\fP A pointer to a uint32_t, to be filled in with the service id\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure, if the adapter doesn't use a rte_service function, this function returns -ESRCH\&. 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_instance_get (uint16_t eth_dev_id, uint16_t tx_queue_id, uint8_t * txa_inst_id)"
Get TX adapter instance id for TX queue

.PP
\fBParameters\fP
.RS 4
\fIeth_dev_id\fP Port identifier of Ethernet device
.br
\fItx_queue_id\fP Etherdev device TX queue index
.br
\fItxa_inst_id\fP Pointer to TX adapter instance identifier Contains valid Tx adapter instance id when return value is 0
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_queue_start (uint16_t eth_dev_id, uint16_t tx_queue_id)"
Enables the adapter to start enqueueing of packets to the Tx queue\&.

.PP
This function is provided so that the application can resume enqueueing packets that reference packets for <eth_dev_id, tx_queue_id> after calling \fBrte_event_eth_tx_adapter_queue_stop()\fP\&. 
.PP
\fBSee also\fP
.RS 4
\fBrte_event_eth_tx_adapter_queue_stop\fP
.RE
.PP
.SS "Use case:"
The queue start/stop APIs help avoid some unexpected behavior with application stopping ethdev Tx queues and adapter being unaware of it\&. With these APIs, the application can call stop API to notify adapter that corresponding ethdev Tx queue is stopped and any in-flight packets are freed by adapter dataplane code\&. Adapter queue stop API is called before stopping the ethdev Tx queue\&. When ethdev Tx queue is enabled, application can notify adapter to resume processing of the packets for that queue by calling the start API\&. The ethdev Tx queue is started before calling adapter start API\&.

.PP
\fBParameters\fP
.RS 4
\fIeth_dev_id\fP Port identifier of Ethernet device\&. 
.br
\fItx_queue_id\fP Ethernet device transmit queue index\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "int rte_event_eth_tx_adapter_queue_stop (uint16_t eth_dev_id, uint16_t tx_queue_id)"
Stops the adapter runtime function from enqueueing any packets to the associated Tx queue\&. This API also frees any packets that may have been buffered for this queue\&. All inflight packets destined to the queue are freed by the adapter runtime until the queue is started again\&. 
.PP
\fBSee also\fP
.RS 4
\fBrte_event_eth_tx_adapter_queue_start\fP
.RE
.PP
\fBParameters\fP
.RS 4
\fIeth_dev_id\fP Port identifier of Ethernet device\&. 
.br
\fItx_queue_id\fP Ethernet device transmit queue index\&. 
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "__rte_experimental int rte_event_eth_tx_adapter_runtime_params_init (struct \fBrte_event_eth_tx_adapter_runtime_params\fP * txa_params)"
Initialize the adapter runtime configuration parameters with default values

.PP
\fBParameters\fP
.RS 4
\fItxa_params\fP A pointer to structure of type struct \fBrte_event_eth_tx_adapter_runtime_params\fP
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "__rte_experimental int rte_event_eth_tx_adapter_runtime_params_set (uint8_t id, struct \fBrte_event_eth_tx_adapter_runtime_params\fP * params)"
Set the runtime configuration parameters for adapter\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier 
.br
\fIparams\fP A pointer to structure of type struct \fBrte_event_eth_tx_adapter_runtime_params\fP with configuration parameter values\&. The reserved fields of this structure must be initialized to zero and the valid fields need to be set appropriately\&. This structure can be initialized using \fBrte_event_eth_tx_adapter_runtime_params_init()\fP API to default values or application may reset this structure and update required fields\&.
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SS "__rte_experimental int rte_event_eth_tx_adapter_runtime_params_get (uint8_t id, struct \fBrte_event_eth_tx_adapter_runtime_params\fP * params)"
Get the runtime configuration parameters of adapter\&.

.PP
\fBParameters\fP
.RS 4
\fIid\fP Adapter identifier 
.br
\fIparams\fP A pointer to structure of type struct \fBrte_event_eth_tx_adapter_runtime_params\fP containing valid Tx adapter parameters when return value is 0\&.
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
<0: Error code on failure 
.PP
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for DPDK from the source code\&.
