---
name: "rte_event_eth_rx_adapter_runtime_params_get"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_event_eth_rx_adapter.h"
---

# rte\_event\_eth\_rx\_adapter\_runtime\_params\_get(3)

Part of [rte\_event\_eth\_rx\_adapter.h(3)](/rte_event_eth_rx_adapter.h/3.md).

## NAME

rte\_event\_eth\_rx\_adapter.h

## SYNOPSIS

`#include <stdint.h>`\
 `#include <rte_compat.h>`\
 `#include <rte_service.h>`\
 `#include 'rte_eventdev.h'`\

### Data Structures

struct **rte\_event\_eth\_rx\_adapter\_conf**\
 struct **rte\_event\_eth\_rx\_adapter\_queue\_conf**\
 struct **rte\_event\_eth\_rx\_adapter\_queue\_stats**\
 struct **rte\_event\_eth\_rx\_adapter\_stats**\
 struct **rte\_event\_eth\_rx\_adapter\_vector\_limits**\
 struct **rte\_event\_eth\_rx\_adapter\_params**\
 struct **rte\_event\_eth\_rx\_adapter\_runtime\_params**\

### Macros

\#define **RTE\_EVENT\_ETH\_RX\_ADAPTER\_QUEUE\_FLOW\_ID\_VALID**   0x1\
 \#define **RTE\_EVENT\_ETH\_RX\_ADAPTER\_QUEUE\_EVENT\_VECTOR**   0x2\

### Typedefs

**typedef** int(\* **rte\_event\_eth\_rx\_adapter\_conf\_cb**) (uint8\_t id, uint8\_t dev\_id, struct **rte\_event\_eth\_rx\_adapter\_conf** \*conf, void \*arg)\
 **typedef** uint16\_t(\* **rte\_event\_eth\_rx\_adapter\_cb\_fn**) (uint16\_t eth\_dev\_id, uint16\_t queue\_id, uint32\_t enqueue\_buf\_size, uint32\_t enqueue\_buf\_count, struct **rte\_event** \*ev, uint16\_t nb\_event, void \*cb\_arg, uint16\_t \*nb\_dropped)\

### Functions

int **rte\_event\_eth\_rx\_adapter\_create\_ext** (uint8\_t id, uint8\_t dev\_id, **rte\_event\_eth\_rx\_adapter\_conf\_cb** conf\_cb, void \*conf\_arg)\
 int **rte\_event\_eth\_rx\_adapter\_create** (uint8\_t id, uint8\_t dev\_id, struct **rte\_event\_port\_conf** \*port\_config)\
 int **rte\_event\_eth\_rx\_adapter\_create\_with\_params** (uint8\_t id, uint8\_t dev\_id, struct **rte\_event\_port\_conf** \*port\_config, struct **rte\_event\_eth\_rx\_adapter\_params** \*rxa\_params)\
 \_\_rte\_experimental int **rte\_event\_eth\_rx\_adapter\_create\_ext\_with\_params** (uint8\_t id, uint8\_t dev\_id, **rte\_event\_eth\_rx\_adapter\_conf\_cb** conf\_cb, void \*conf\_arg, struct **rte\_event\_eth\_rx\_adapter\_params** \*rxa\_params)\
 int **rte\_event\_eth\_rx\_adapter\_free** (uint8\_t id)\
 int **rte\_event\_eth\_rx\_adapter\_queue\_add** (uint8\_t id, uint16\_t eth\_dev\_id, int32\_t rx\_queue\_id, const struct **rte\_event\_eth\_rx\_adapter\_queue\_conf** \*conf)\
 int **rte\_event\_eth\_rx\_adapter\_queue\_del** (uint8\_t id, uint16\_t eth\_dev\_id, int32\_t rx\_queue\_id)\
 int **rte\_event\_eth\_rx\_adapter\_start** (uint8\_t id)\
 int **rte\_event\_eth\_rx\_adapter\_stop** (uint8\_t id)\
 int **rte\_event\_eth\_rx\_adapter\_stats\_get** (uint8\_t id, struct **rte\_event\_eth\_rx\_adapter\_stats** \*stats)\
 int **rte\_event\_eth\_rx\_adapter\_stats\_reset** (uint8\_t id)\
 int **rte\_event\_eth\_rx\_adapter\_service\_id\_get** (uint8\_t id, uint32\_t \*service\_id)\
 int **rte\_event\_eth\_rx\_adapter\_cb\_register** (uint8\_t id, uint16\_t eth\_dev\_id, **rte\_event\_eth\_rx\_adapter\_cb\_fn** cb\_fn, void \*cb\_arg)\
 int **rte\_event\_eth\_rx\_adapter\_vector\_limits\_get** (uint8\_t dev\_id, uint16\_t eth\_port\_id, struct **rte\_event\_eth\_rx\_adapter\_vector\_limits** \*limits)\
 int **rte\_event\_eth\_rx\_adapter\_queue\_conf\_get** (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, struct **rte\_event\_eth\_rx\_adapter\_queue\_conf** \*queue\_conf)\
 int **rte\_event\_eth\_rx\_adapter\_queue\_stats\_get** (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, struct **rte\_event\_eth\_rx\_adapter\_queue\_stats** \*stats)\
 int **rte\_event\_eth\_rx\_adapter\_queue\_stats\_reset** (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id)\
 int **rte\_event\_eth\_rx\_adapter\_event\_port\_get** (uint8\_t id, uint8\_t \*event\_port\_id)\
 int **rte\_event\_eth\_rx\_adapter\_instance\_get** (uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, uint8\_t \*rxa\_inst\_id)\
 \_\_rte\_experimental int **rte\_event\_eth\_rx\_adapter\_runtime\_params\_init** (struct **rte\_event\_eth\_rx\_adapter\_runtime\_params** \*params)\
 \_\_rte\_experimental int **rte\_event\_eth\_rx\_adapter\_runtime\_params\_set** (uint8\_t id, struct **rte\_event\_eth\_rx\_adapter\_runtime\_params** \*params)\
 \_\_rte\_experimental int **rte\_event\_eth\_rx\_adapter\_runtime\_params\_get** (uint8\_t id, struct **rte\_event\_eth\_rx\_adapter\_runtime\_params** \*params)\

## Detailed Description

RTE Event Ethernet Rx Adapter

An eventdev-based packet processing application enqueues/dequeues mbufs to/from the event device. Packet flow from the ethernet device to the event device can be accomplished using either HW or SW mechanisms depending on the platform and the particular combination of ethernet and event devices. The event ethernet Rx adapter provides common APIs to configure the packet flow from the ethernet devices to event devices across both these transfer mechanisms.

The adapter uses a EAL service core function for SW based packet transfer and uses the eventdev PMD functions to configure HW based packet transfer between the ethernet device and the event device.

The ethernet Rx event adapter's functions are:

- •

  **rte\_event\_eth\_rx\_adapter\_create\_ext()**

- •

  **rte\_event\_eth\_rx\_adapter\_create()**

- •

  **rte\_event\_eth\_rx\_adapter\_create\_with\_params()**

- •

  **rte\_event\_eth\_rx\_adapter\_create\_ext\_with\_params()**

- •

  **rte\_event\_eth\_rx\_adapter\_free()**

- •

  **rte\_event\_eth\_rx\_adapter\_queue\_add()**

- •

  **rte\_event\_eth\_rx\_adapter\_queue\_del()**

- •

  **rte\_event\_eth\_rx\_adapter\_start()**

- •

  **rte\_event\_eth\_rx\_adapter\_stop()**

- •

  **rte\_event\_eth\_rx\_adapter\_stats\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_stats\_reset()**

- •

  **rte\_event\_eth\_rx\_adapter\_queue\_conf\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_queue\_stats\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_queue\_stats\_reset()**

- •

  **rte\_event\_eth\_rx\_adapter\_event\_port\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_instance\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_runtime\_params\_get()**

- •

  **rte\_event\_eth\_rx\_adapter\_runtime\_params\_init()**

- •

  **rte\_event\_eth\_rx\_adapter\_runtime\_params\_set()**

The application creates an ethernet to event adapter using **rte\_event\_eth\_rx\_adapter\_create\_ext()** or **rte\_event\_eth\_rx\_adapter\_create()** or **rte\_event\_eth\_rx\_adapter\_create\_with\_params()** or **rte\_event\_eth\_rx\_adapter\_create\_ext\_with\_params()** functions.

The adapter needs to know which ethernet rx queues to poll for mbufs as well as event device parameters such as the event queue identifier, event priority and scheduling type that the adapter should use when constructing events. The **rte\_event\_eth\_rx\_adapter\_queue\_add()** function is provided for this purpose. The servicing weight parameter in the **rte\_event\_eth\_rx\_adapter\_queue\_conf** is applicable when the Rx adapter uses a service core function and is intended to provide application control of the frequency of polling ethernet device receive queues, for example, the application may want to poll higher priority queues with a higher frequency but at the same time not starve lower priority queues completely. If this parameter is zero and the receive interrupt is enabled when configuring the device, the receive queue is interrupt driven; else, the queue is assigned a servicing weight of one.

The application can start/stop the adapter using the **rte\_event\_eth\_rx\_adapter\_start()** and the **rte\_event\_eth\_rx\_adapter\_stop()** functions. If the adapter uses a rte\_service function, then the application is also required to assign a core to the service function and control the service core using the rte\_service APIs. The **rte\_event\_eth\_rx\_adapter\_service\_id\_get()** function can be used to retrieve the service function ID of the adapter in this case.

For SW based packet transfers, i.e., when the RTE\_EVENT\_ETH\_RX\_ADAPTER\_CAP\_INTERNAL\_PORT is not set in the adapter's capabilities flags for a particular ethernet device, the service function temporarily enqueues events to an event buffer before batch enqueuing these to the event device. If the buffer fills up, the service function stops dequeuing packets from the ethernet device. The application may want to monitor the buffer fill level and instruct the service function to selectively buffer events. The application may also use some other criteria to decide which packets should enter the event device even when the event buffer fill level is low or may want to enqueue packets to an internal event port. The **rte\_event\_eth\_rx\_adapter\_cb\_register()** function allows the application to register a callback that selects which packets are enqueued to the event device by the SW adapter. The callback interface is event based so the callback can also modify the event data if it needs to.

Definition in file **rte\_event\_eth\_rx\_adapter.h**.

## Macro Definition Documentation

### #define RTE\_EVENT\_ETH\_RX\_ADAPTER\_QUEUE\_FLOW\_ID\_VALID 0x1

This flag indicates the flow identifier is valid

**See also**

**rte\_event\_eth\_rx\_adapter\_queue\_conf::rx\_queue\_flags**

Definition at line **107** of file **rte\_event\_eth\_rx\_adapter.h**.

### #define RTE\_EVENT\_ETH\_RX\_ADAPTER\_QUEUE\_EVENT\_VECTOR 0x2

This flag indicates that mbufs arriving on the queue need to be vectorized

**See also**

**rte\_event\_eth\_rx\_adapter\_queue\_conf::rx\_queue\_flags**

Definition at line **111** of file **rte\_event\_eth\_rx\_adapter.h**.

## Typedef Documentation

### typedef int(\* rte\_event\_eth\_rx\_adapter\_conf\_cb) (uint8\_t id, uint8\_t dev\_id, struct rte\_event\_eth\_rx\_adapter\_conf \*conf, void \*arg)

Function type used for adapter configuration callback. The callback is used to fill in members of the struct **rte\_event\_eth\_rx\_adapter\_conf**, this callback is invoked when creating a SW service for packet transfer from ethdev queues to the event device. The SW service is created within the **rte\_event\_eth\_rx\_adapter\_queue\_add()** function if SW based packet transfers from ethdev queues to the event device are required.

**Parameters**

*id* Adapter identifier.\
 *dev\_id* Event device identifier.\
 *conf* Structure that needs to be populated by this callback.\
 *arg* Argument to the callback. This is the same as the conf\_arg passed to the **rte\_event\_eth\_rx\_adapter\_create\_ext()**.

Definition at line **151** of file **rte\_event\_eth\_rx\_adapter.h**.

### typedef uint16\_t(\* rte\_event\_eth\_rx\_adapter\_cb\_fn) (uint16\_t eth\_dev\_id, uint16\_t queue\_id, uint32\_t enqueue\_buf\_size, uint32\_t enqueue\_buf\_count, struct rte\_event \*ev, uint16\_t nb\_event, void \*cb\_arg, uint16\_t \*nb\_dropped)

Callback function invoked by the SW adapter before it continues to process events. The callback is passed the size of the enqueue buffer in the SW adapter and the occupancy of the buffer. The callback can use these values to decide which events are enqueued to the event device by the SW adapter. The callback may also enqueue events internally using its own event port. The SW adapter populates the event information based on the Rx queue configuration in the adapter. The callback can modify the this event information for the events to be enqueued by the SW adapter.

The callback return value is the number of events from the beginning of the event array that are to be enqueued by the SW adapter. It is the callback's responsibility to arrange these events at the beginning of the array, if these events are not contiguous in the original array. The *nb\_dropped* parameter is a pointer to the number of events dropped by the callback, this number is used by the adapter to indicate the number of dropped packets as part of its statistics.

**Parameters**

*eth\_dev\_id* Port identifier of the Ethernet device. \
 *queue\_id* Receive queue index. \
 *enqueue\_buf\_size* Total enqueue buffer size. \
 *enqueue\_buf\_count* Event count in enqueue buffer. \
 *ev* Event array. \
 *nb\_event* Event array length. \
 *cb\_arg* Callback argument. \
 *nb\_dropped* Packets dropped by callback.

**Returns**

- •

  The number of events to be enqueued by the SW adapter.

Definition at line **373** of file **rte\_event\_eth\_rx\_adapter.h**.

## Function Documentation

### int rte\_event\_eth\_rx\_adapter\_create\_ext (uint8\_t id, uint8\_t dev\_id, rte\_event\_eth\_rx\_adapter\_conf\_cb conf\_cb, void \* conf\_arg)

Create a new ethernet Rx event adapter with the specified identifier.

**Parameters**

*id* The identifier of the ethernet Rx event adapter.\
 *dev\_id* The identifier of the device to configure.\
 *conf\_cb* Callback function that fills in members of a struct **rte\_event\_eth\_rx\_adapter\_conf** struct passed into it.\
 *conf\_arg* Argument that is passed to the conf\_cb function.

**Returns**

- •

  0: Success

- •

  \<0: Error code on failure

### int rte\_event\_eth\_rx\_adapter\_create (uint8\_t id, uint8\_t dev\_id, struct rte\_event\_port\_conf \* port\_config)

Create a new ethernet Rx event adapter with the specified identifier. This function uses an internal configuration function that creates an event port. This default function reconfigures the event device with an additional event port and setup the event port using the port\_config parameter passed into this function. In case the application needs more control in configuration of the service, it should use the **rte\_event\_eth\_rx\_adapter\_create\_ext()** version.

When this API is used for creating adapter instance, **rte\_event\_dev\_config::nb\_event\_ports is automatically incremented, and event device is reconfigured with additional event port during service initialization. This event device reconfigure logic also increments the rte\_event\_dev\_config::nb\_single\_link\_event\_port\_queues parameter if the adapter event port config is of type** `RTE_EVENT_PORT_CFG_SINGLE_LINK`**.**

**Application no longer needs to account for rte\_event\_dev\_config::nb\_event\_ports and rte\_event\_dev\_config::nb\_single\_link\_event\_port\_queues parameters required for eth Rx adapter in the event device configuration when the adapter is created with this API.**

**Parameters**

*id* **The identifier of the ethernet Rx event adapter.**\
 *dev\_id* **The identifier of the device to configure.**\
 *port\_config* **Argument of type rte\_event\_port\_conf that is passed to the conf\_cb function.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### int rte\_event\_eth\_rx\_adapter\_create\_with\_params (uint8\_t id, uint8\_t dev\_id, struct rte\_event\_port\_conf \* port\_config, struct rte\_event\_eth\_rx\_adapter\_params \* rxa\_params)

**This is a variant of rte\_event\_eth\_rx\_adapter\_create() with additional adapter params specified in** `struct `**rte\_event\_eth\_rx\_adapter\_params.**

**Parameters**

*id* **The identifier of the ethernet Rx event adapter.**\
 *dev\_id* **The identifier of the event device to configure.**\
 *port\_config* **Argument of type rte\_event\_port\_conf that is passed to the conf\_cb function.**\
 *rxa\_params* **Pointer to struct rte\_event\_eth\_rx\_adapter\_params. In case of NULL, default values are used.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### \_\_rte\_experimental int rte\_event\_eth\_rx\_adapter\_create\_ext\_with\_params (uint8\_t id, uint8\_t dev\_id, rte\_event\_eth\_rx\_adapter\_conf\_cb conf\_cb, void \* conf\_arg, struct rte\_event\_eth\_rx\_adapter\_params \* rxa\_params)

**This is a variant of rte\_event\_eth\_rx\_adapter\_create\_ext() with additional adapter params specified in** `struct `**rte\_event\_eth\_rx\_adapter\_params.**

**Parameters**

*id* **The identifier of the ethernet Rx event adapter.**\
 *dev\_id* **The identifier of the event device to configure.**\
 *conf\_cb* **Callback function that fills in members of a struct rte\_event\_eth\_rx\_adapter\_conf struct passed into it.**\
 *conf\_arg* **Argument that is passed to the conf\_cb function.**\
 *rxa\_params* **Pointer to struct rte\_event\_eth\_rx\_adapter\_params. In case of NULL, default values are used.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### int rte\_event\_eth\_rx\_adapter\_free (uint8\_t id)

**Free an event adapter**

**Parameters**

*id* **Adapter identifier.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure, If the adapter still has Rx queues added to it, the function returns -EBUSY.**

### int rte\_event\_eth\_rx\_adapter\_queue\_add (uint8\_t id, uint16\_t eth\_dev\_id, int32\_t rx\_queue\_id, const struct rte\_event\_eth\_rx\_adapter\_queue\_conf \* conf)

**Add receive queue to an event adapter. After a queue has been added to the event adapter, the result of the application calling rte\_eth\_rx\_burst(eth\_dev\_id, rx\_queue\_id, ..) is undefined.**

**Parameters**

*id* **Adapter identifier.**\
 *eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index. If rx\_queue\_id is -1, then all Rx queues configured for the device are added. If the ethdev Rx queues can only be connected to a single event queue then rx\_queue\_id is required to be -1.**

**See also**

**RTE\_EVENT\_ETH\_RX\_ADAPTER\_CAP\_MULTI\_EVENTQ**

**Parameters**

*conf* **Additional configuration structure of type rte\_event\_eth\_rx\_adapter\_queue\_conf**

**Returns**

- •

  **0: Success, Receive queue added correctly.**

- •

  **\<0: Error code on failure.**

- •

  **(-EIO) device reconfiguration and restart error. The adapter reconfigures the event device with an additional port if it is required to use a service function for packet transfer from the ethernet device to the event device. If the device had been started before this call, this error code indicates an error in restart following an error in reconfiguration, i.e., a combination of the two error codes.**

### int rte\_event\_eth\_rx\_adapter\_queue\_del (uint8\_t id, uint16\_t eth\_dev\_id, int32\_t rx\_queue\_id)

**Delete receive queue from an event adapter.**

**Parameters**

*id* **Adapter identifier.**\
 *eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index. If rx\_queue\_id is -1, then all Rx queues configured for the device are deleted. If the ethdev Rx queues can only be connected to a single event queue then rx\_queue\_id is required to be -1.**

**See also**

**RTE\_EVENT\_ETH\_RX\_ADAPTER\_CAP\_MULTI\_EVENTQ**

**Returns**

- •

  **0: Success, Receive queue deleted correctly.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_start (uint8\_t id)

**Start ethernet Rx event adapter**

**Parameters**

*id* **Adapter identifier.**

**Returns**

- •

  **0: Success, Adapter started correctly.**

- •

  **\<0: Error code on failure.**

**Note**

**The eventdev to which the event\_eth\_rx\_adapter is connected needs to be started before calling rte\_event\_eth\_rx\_adapter\_start().**

### int rte\_event\_eth\_rx\_adapter\_stop (uint8\_t id)

**Stop ethernet Rx event adapter**

**Parameters**

*id* **Adapter identifier.**

**Returns**

- •

  **0: Success, Adapter started correctly.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_stats\_get (uint8\_t id, struct rte\_event\_eth\_rx\_adapter\_stats \* stats)

**Retrieve statistics for an adapter**

**Parameters**

*id* **Adapter identifier.**\
 *stats* **A pointer to structure used to retrieve statistics for an adapter.**

**Returns**

- •

  **0: Success, retrieved successfully.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_stats\_reset (uint8\_t id)

**Reset statistics for an adapter.**

**Parameters**

*id* **Adapter identifier.**

**Returns**

- •

  **0: Success, statistics reset successfully.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_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.**

**Parameters**

*id* **Adapter identifier.**\
 *service\_id* **A pointer to a uint32\_t, to be filled in with the service id.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure, if the adapter doesn't use a rte\_service function, this function returns -ESRCH.**

### int rte\_event\_eth\_rx\_adapter\_cb\_register (uint8\_t id, uint16\_t eth\_dev\_id, rte\_event\_eth\_rx\_adapter\_cb\_fn cb\_fn, void \* cb\_arg)

**Register callback to process Rx packets, this is supported for SW based packet transfers.**

**See also**

**rte\_event\_eth\_rx\_cb\_fn**

**Parameters**

*id* **Adapter identifier.** \
 *eth\_dev\_id* **Port identifier of Ethernet device.** \
 *cb\_fn* **Callback function.** \
 *cb\_arg* **Callback arg.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_vector\_limits\_get (uint8\_t dev\_id, uint16\_t eth\_port\_id, struct rte\_event\_eth\_rx\_adapter\_vector\_limits \* limits)

**Retrieve vector limits for a given event dev and eth dev pair.**

**See also**

**rte\_event\_eth\_rx\_adapter\_vector\_limits**

**Parameters**

*dev\_id* **Event device identifier.** \
 *eth\_port\_id* **Port identifier of the ethernet device.** \
 *limits* **A pointer to rte\_event\_eth\_rx\_adapter\_vector\_limits structure that has to be filled.**

**Returns**

- •

  **0: Success.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_queue\_conf\_get (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, struct rte\_event\_eth\_rx\_adapter\_queue\_conf \* queue\_conf)

**Retrieve Rx queue config information.**

**Parameters**

*id* **Adapter identifier.**\
 *eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index.**\
 *queue\_conf* **Pointer to struct rte\_event\_eth\_rx\_adapter\_queue\_conf**

**Returns**

- •

  **0: Success, Receive queue added correctly.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_queue\_stats\_get (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, struct rte\_event\_eth\_rx\_adapter\_queue\_stats \* stats)

**Retrieve Rx queue statistics.**

**Parameters**

*id* **Adapter identifier.**\
 *eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index.**\
 *stats* **Pointer to struct rte\_event\_eth\_rx\_adapter\_queue\_stats**

**Returns**

- •

  **0: Success, queue buffer stats retrieved.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_queue\_stats\_reset (uint8\_t id, uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id)

**Reset Rx queue statistics.**

**Parameters**

*id* **Adapter identifier.**\
 *eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index.**

**Returns**

- •

  **0: Success, queue buffer stats retrieved.**

- •

  **\<0: Error code on failure.**

### int rte\_event\_eth\_rx\_adapter\_event\_port\_get (uint8\_t id, uint8\_t \* event\_port\_id)

**Retrieve the event port ID of an adapter. If the adapter doesn't use a rte\_service function, this function returns -ESRCH.**

**Parameters**

*id* **Adapter identifier.**\
 *event\_port\_id* **A pointer to a uint8\_t, to be filled in with the port id.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure, if the adapter doesn't use a rte\_service function, this function returns -ESRCH.**

### int rte\_event\_eth\_rx\_adapter\_instance\_get (uint16\_t eth\_dev\_id, uint16\_t rx\_queue\_id, uint8\_t \* rxa\_inst\_id)

**Get RX adapter instance ID for a RX queue**

**Parameters**

*eth\_dev\_id* **Port identifier of Ethernet device.**\
 *rx\_queue\_id* **Ethernet device receive queue index.**\
 *rxa\_inst\_id* **Pointer to store RX adapter instance identifier. Contains valid Rx adapter instance id when return value is 0**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### \_\_rte\_experimental int rte\_event\_eth\_rx\_adapter\_runtime\_params\_init (struct rte\_event\_eth\_rx\_adapter\_runtime\_params \* params)

**Initialize the adapter runtime configuration parameters with default values**

**Parameters**

*params* **A pointer to structure of type struct rte\_event\_eth\_rx\_adapter\_runtime\_params**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### \_\_rte\_experimental int rte\_event\_eth\_rx\_adapter\_runtime\_params\_set (uint8\_t id, struct rte\_event\_eth\_rx\_adapter\_runtime\_params \* params)

**Set the adapter runtime configuration parameters**

**Parameters**

*id* **Adapter identifier**\
 *params* **A pointer to structure of type struct rte\_event\_eth\_rx\_adapter\_runtime\_params with configuration parameter values. The reserved fields of the structure must be initialized to zero and the valid fields need to be set appropriately. This structure can be initialized using rte\_event\_eth\_rx\_adapter\_runtime\_params\_init() to default values or application may reset this structure and update the required fields.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

### \_\_rte\_experimental int rte\_event\_eth\_rx\_adapter\_runtime\_params\_get (uint8\_t id, struct rte\_event\_eth\_rx\_adapter\_runtime\_params \* params)

**Get the adapter runtime configuration parameters**

**Parameters**

*id* **Adapter identifier**\
 *params* **A pointer to structure of type struct rte\_event\_eth\_rx\_adapter\_runtime\_params containing valid adapter parameters when return value is 0.**

**Returns**

- •

  **0: Success**

- •

  **\<0: Error code on failure**

## Author

**Generated automatically by Doxygen for DPDK from the source code.**
