DPDK
18.05.1
|
#include <string.h>
#include <rte_common.h>
#include <rte_config.h>
#include <rte_dev.h>
#include <rte_log.h>
#include <rte_malloc.h>
#include "rte_eventdev.h"
#include "rte_event_timer_adapter_pmd.h"
Go to the source code of this file.
Data Structures | |
struct | rte_eventdev_global |
struct | rte_eventdev_ops |
Macros | |
#define | RTE_EVENT_CRYPTO_ADAPTER_SW_CAP RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA |
Typedefs | |
typedef void(* | eventdev_info_get_t )(struct rte_eventdev *dev, struct rte_event_dev_info *dev_info) |
typedef int(* | eventdev_configure_t )(const struct rte_eventdev *dev) |
typedef int(* | eventdev_start_t )(struct rte_eventdev *dev) |
typedef void(* | eventdev_stop_t )(struct rte_eventdev *dev) |
typedef int(* | eventdev_close_t )(struct rte_eventdev *dev) |
typedef void(* | eventdev_queue_default_conf_get_t )(struct rte_eventdev *dev, uint8_t queue_id, struct rte_event_queue_conf *queue_conf) |
typedef int(* | eventdev_queue_setup_t )(struct rte_eventdev *dev, uint8_t queue_id, const struct rte_event_queue_conf *queue_conf) |
typedef void(* | eventdev_queue_release_t )(struct rte_eventdev *dev, uint8_t queue_id) |
typedef void(* | eventdev_port_default_conf_get_t )(struct rte_eventdev *dev, uint8_t port_id, struct rte_event_port_conf *port_conf) |
typedef int(* | eventdev_port_setup_t )(struct rte_eventdev *dev, uint8_t port_id, const struct rte_event_port_conf *port_conf) |
typedef void(* | eventdev_port_release_t )(void *port) |
typedef int(* | eventdev_port_link_t )(struct rte_eventdev *dev, void *port, const uint8_t queues[], const uint8_t priorities[], uint16_t nb_links) |
typedef int(* | eventdev_port_unlink_t )(struct rte_eventdev *dev, void *port, uint8_t queues[], uint16_t nb_unlinks) |
typedef int(* | eventdev_dequeue_timeout_ticks_t )(struct rte_eventdev *dev, uint64_t ns, uint64_t *timeout_ticks) |
typedef void(* | eventdev_dump_t )(struct rte_eventdev *dev, FILE *f) |
typedef int(* | eventdev_xstats_get_t )(const struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id, const unsigned int ids[], uint64_t values[], unsigned int n) |
typedef int(* | eventdev_xstats_reset_t )(struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, int16_t queue_port_id, const uint32_t ids[], uint32_t nb_ids) |
typedef int(* | eventdev_xstats_get_names_t )(const struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id, struct rte_event_dev_xstats_name *xstats_names, unsigned int *ids, unsigned int size) |
typedef uint64_t(* | eventdev_xstats_get_by_name )(const struct rte_eventdev *dev, const char *name, unsigned int *id) |
typedef int(* | eventdev_eth_rx_adapter_caps_get_t )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, uint32_t *caps) |
typedef int(* | eventdev_timer_adapter_caps_get_t )(const struct rte_eventdev *dev, uint64_t flags, uint32_t *caps, const struct rte_event_timer_adapter_ops **ops) |
typedef int(* | eventdev_eth_rx_adapter_queue_add_t )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, int32_t rx_queue_id, const struct rte_event_eth_rx_adapter_queue_conf *queue_conf) |
typedef int(* | eventdev_eth_rx_adapter_queue_del_t )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, int32_t rx_queue_id) |
typedef int(* | eventdev_eth_rx_adapter_start_t )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
typedef int(* | eventdev_eth_rx_adapter_stop_t )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
typedef int(* | eventdev_eth_rx_adapter_stats_get )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, struct rte_event_eth_rx_adapter_stats *stats) |
typedef int(* | eventdev_eth_rx_adapter_stats_reset )(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
typedef int(* | eventdev_selftest )(void) |
typedef int(* | eventdev_crypto_adapter_caps_get_t )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, uint32_t *caps) |
typedef int(* | eventdev_crypto_adapter_queue_pair_add_t )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, int32_t queue_pair_id, const struct rte_event *event) |
typedef int(* | eventdev_crypto_adapter_queue_pair_del_t )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, int32_t queue_pair_id) |
typedef int(* | eventdev_crypto_adapter_start_t )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
typedef int(* | eventdev_crypto_adapter_stop_t )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
typedef int(* | eventdev_crypto_adapter_stats_get )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, struct rte_event_crypto_adapter_stats *stats) |
typedef int(* | eventdev_crypto_adapter_stats_reset )(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
Functions | |
static struct rte_eventdev * | rte_event_pmd_get_named_dev (const char *name) |
static unsigned | rte_event_pmd_is_valid_dev (uint8_t dev_id) |
struct rte_eventdev * | rte_event_pmd_allocate (const char *name, int socket_id) |
int | rte_event_pmd_release (struct rte_eventdev *eventdev) |
Variables | |
struct rte_eventdev * | rte_eventdevs |
RTE Event PMD APIs
Definition in file rte_eventdev_pmd.h.
#define RTE_EVENT_CRYPTO_ADAPTER_SW_CAP RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA |
Ethernet Rx adapter cap to return If the packet transfers from the ethdev to eventdev use a SW service function
Definition at line 73 of file rte_eventdev_pmd.h.
typedef void(* eventdev_info_get_t)(struct rte_eventdev *dev, struct rte_event_dev_info *dev_info) |
Definitions of all functions exported by a driver through the the generic structure of type event_dev_ops supplied in the rte_eventdev structure associated with a device. Get device information of a device.
dev | Event device pointer |
dev_info | Event device information structure |
Definition at line 164 of file rte_eventdev_pmd.h.
typedef int(* eventdev_configure_t)(const struct rte_eventdev *dev) |
Configure a device.
dev | Event device pointer |
Definition at line 176 of file rte_eventdev_pmd.h.
typedef int(* eventdev_start_t)(struct rte_eventdev *dev) |
Start a configured device.
dev | Event device pointer |
Definition at line 187 of file rte_eventdev_pmd.h.
typedef void(* eventdev_stop_t)(struct rte_eventdev *dev) |
Stop a configured device.
dev | Event device pointer |
Definition at line 195 of file rte_eventdev_pmd.h.
typedef int(* eventdev_close_t)(struct rte_eventdev *dev) |
Close a configured device.
dev | Event device pointer |
Definition at line 207 of file rte_eventdev_pmd.h.
typedef void(* eventdev_queue_default_conf_get_t)(struct rte_eventdev *dev, uint8_t queue_id, struct rte_event_queue_conf *queue_conf) |
Retrieve the default event queue configuration.
dev | Event device pointer | |
queue_id | Event queue index | |
[out] | queue_conf | Event queue configuration structure |
Definition at line 220 of file rte_eventdev_pmd.h.
typedef int(* eventdev_queue_setup_t)(struct rte_eventdev *dev, uint8_t queue_id, const struct rte_event_queue_conf *queue_conf) |
Setup an event queue.
dev | Event device pointer |
queue_id | Event queue index |
queue_conf | Event queue configuration structure |
Definition at line 236 of file rte_eventdev_pmd.h.
typedef void(* eventdev_queue_release_t)(struct rte_eventdev *dev, uint8_t queue_id) |
Release resources allocated by given event queue.
dev | Event device pointer |
queue_id | Event queue index |
Definition at line 249 of file rte_eventdev_pmd.h.
typedef void(* eventdev_port_default_conf_get_t)(struct rte_eventdev *dev, uint8_t port_id, struct rte_event_port_conf *port_conf) |
Retrieve the default event port configuration.
dev | Event device pointer | |
port_id | Event port index | |
[out] | port_conf | Event port configuration structure |
Definition at line 263 of file rte_eventdev_pmd.h.
typedef int(* eventdev_port_setup_t)(struct rte_eventdev *dev, uint8_t port_id, const struct rte_event_port_conf *port_conf) |
Setup an event port.
dev | Event device pointer |
port_id | Event port index |
port_conf | Event port configuration structure |
Definition at line 279 of file rte_eventdev_pmd.h.
typedef void(* eventdev_port_release_t)(void *port) |
Release memory resources allocated by given event port.
port | Event port pointer |
Definition at line 290 of file rte_eventdev_pmd.h.
typedef int(* eventdev_port_link_t)(struct rte_eventdev *dev, void *port, const uint8_t queues[], const uint8_t priorities[], uint16_t nb_links) |
Link multiple source event queues to destination event port.
dev | Event device pointer |
port | Event port pointer |
link | Points to an array of nb_links event queues to be linked to the event port. |
priorities | Points to an array of nb_links service priorities associated with each event queue link to event port. |
nb_links | The number of links to establish |
Definition at line 312 of file rte_eventdev_pmd.h.
typedef int(* eventdev_port_unlink_t)(struct rte_eventdev *dev, void *port, uint8_t queues[], uint16_t nb_unlinks) |
Unlink multiple source event queues from destination event port.
dev | Event device pointer |
port | Event port pointer |
queues | An array of nb_unlinks event queues to be unlinked from the event port. |
nb_unlinks | The number of unlinks to establish |
Definition at line 332 of file rte_eventdev_pmd.h.
typedef int(* eventdev_dequeue_timeout_ticks_t)(struct rte_eventdev *dev, uint64_t ns, uint64_t *timeout_ticks) |
Converts nanoseconds to timeout_ticks value for rte_event_dequeue()
dev | Event device pointer | |
ns | Wait time in nanosecond | |
[out] | timeout_ticks | Value for the timeout_ticks parameter in rte_event_dequeue() function |
Definition at line 349 of file rte_eventdev_pmd.h.
typedef void(* eventdev_dump_t)(struct rte_eventdev *dev, FILE *f) |
Dump internal information
dev | Event device pointer |
f | A pointer to a file for output |
Definition at line 361 of file rte_eventdev_pmd.h.
typedef int(* eventdev_xstats_get_t)(const struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id, const unsigned int ids[], uint64_t values[], unsigned int n) |
Retrieve a set of statistics from device
dev | Event device pointer |
ids | The stat ids to retrieve |
values | The returned stat values |
n | The number of id values and entries in the values array |
Definition at line 377 of file rte_eventdev_pmd.h.
typedef int(* eventdev_xstats_reset_t)(struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, int16_t queue_port_id, const uint32_t ids[], uint32_t nb_ids) |
Resets the statistic values in xstats for the device, based on mode.
Definition at line 384 of file rte_eventdev_pmd.h.
typedef int(* eventdev_xstats_get_names_t)(const struct rte_eventdev *dev, enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id, struct rte_event_dev_xstats_name *xstats_names, unsigned int *ids, unsigned int size) |
Get names of extended stats of an event device
dev | Event device pointer |
xstats_names | Array of name values to be filled in |
size | Number of values in the xstats_names array |
Definition at line 405 of file rte_eventdev_pmd.h.
typedef uint64_t(* eventdev_xstats_get_by_name)(const struct rte_eventdev *dev, const char *name, unsigned int *id) |
Get value of one stats and optionally return its id
dev | Event device pointer |
name | The name of the stat to retrieve |
id | Pointer to an unsigned int where we store the stat-id for future reference. This pointer may be null if the id is not required. |
Definition at line 425 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_caps_get_t)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, uint32_t *caps) |
Retrieve the event device's ethdev Rx adapter capabilities for the specified ethernet port
dev | Event device pointer | |
eth_dev | Ethernet device pointer | |
[out] | caps | A pointer to memory filled with Rx event adapter capabilities. |
Definition at line 449 of file rte_eventdev_pmd.h.
typedef int(* eventdev_timer_adapter_caps_get_t)(const struct rte_eventdev *dev, uint64_t flags, uint32_t *caps, const struct rte_event_timer_adapter_ops **ops) |
Retrieve the event device's timer adapter capabilities, as well as the ops structure that an event timer adapter should call through to enter the driver
dev | Event device pointer | |
flags | Flags that can be used to determine how to select an event timer adapter ops structure | |
[out] | caps | A pointer to memory filled with Rx event adapter capabilities. |
[out] | ops | A pointer to the ops pointer to set with the address of the desired ops structure |
Definition at line 480 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_queue_add_t)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, int32_t rx_queue_id, const struct rte_event_eth_rx_adapter_queue_conf *queue_conf) |
Add ethernet Rx queues to event device. This callback is invoked if the caps returned from rte_eventdev_eth_rx_adapter_caps_get(, eth_port_id) has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set.
dev | Event device pointer |
eth_dev | Ethernet device pointer |
rx_queue_id | Ethernet device receive queue index |
queue_conf | Additional configuration structure |
Definition at line 508 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_queue_del_t)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, int32_t rx_queue_id) |
Delete ethernet Rx queues from event device. This callback is invoked if the caps returned from eventdev_eth_rx_adapter_caps_get(, eth_port_id) has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set.
dev | Event device pointer |
eth_dev | Ethernet device pointer |
rx_queue_id | Ethernet device receive queue index |
Definition at line 534 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_start_t)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
Start ethernet Rx adapter. This callback is invoked if the caps returned from eventdev_eth_rx_adapter_caps_get(.., eth_port_id) has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set and Rx queues from eth_port_id have been added to the event device.
dev | Event device pointer |
eth_dev | Ethernet device pointer |
Definition at line 555 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_stop_t)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
Stop ethernet Rx adapter. This callback is invoked if the caps returned from eventdev_eth_rx_adapter_caps_get(..,eth_port_id) has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set and Rx queues from eth_port_id have been added to the event device.
dev | Event device pointer |
eth_dev | Ethernet device pointer |
Definition at line 575 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_stats_get)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev, struct rte_event_eth_rx_adapter_stats *stats) |
Retrieve ethernet Rx adapter statistics.
dev | Event device pointer | |
eth_dev | Ethernet device pointer | |
[out] | stats | Pointer to stats structure |
Definition at line 597 of file rte_eventdev_pmd.h.
typedef int(* eventdev_eth_rx_adapter_stats_reset)(const struct rte_eventdev *dev, const struct rte_eth_dev *eth_dev) |
Reset ethernet Rx adapter statistics.
dev | Event device pointer |
eth_dev | Ethernet device pointer |
Definition at line 613 of file rte_eventdev_pmd.h.
typedef int(* eventdev_selftest)(void) |
Start eventdev selftest.
Definition at line 621 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_caps_get_t)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, uint32_t *caps) |
This API may change without prior notice
Retrieve the event device's crypto adapter capabilities for the specified cryptodev
dev | Event device pointer | |
cdev | cryptodev pointer | |
[out] | caps | A pointer to memory filled with event adapter capabilities. It is expected to be pre-allocated & initialized by caller. |
Definition at line 649 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_queue_pair_add_t)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, int32_t queue_pair_id, const struct rte_event *event) |
This API may change without prior notice
Add crypto queue pair to event device. This callback is invoked if the caps returned from rte_event_crypto_adapter_caps_get(, cdev_id) has RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_* set.
dev | Event device pointer |
cdev | cryptodev pointer |
queue_pair_id | cryptodev queue pair identifier. |
event | Event information required for binding cryptodev queue pair to event queue. This structure will have a valid value for only those HW PMDs supporting |
Definition at line 680 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_queue_pair_del_t)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, int32_t queue_pair_id) |
This API may change without prior notice
Delete crypto queue pair to event device. This callback is invoked if the caps returned from rte_event_crypto_adapter_caps_get(, cdev_id) has RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_* set.
dev | Event device pointer |
cdev | cryptodev pointer |
queue_pair_id | cryptodev queue pair identifier. |
Definition at line 708 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_start_t)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
Start crypto adapter. This callback is invoked if the caps returned from rte_event_crypto_adapter_caps_get(.., cdev_id) has RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_* set and queue pairs from cdev_id have been added to the event device.
dev | Event device pointer |
cdev | Crypto device pointer |
Definition at line 729 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_stop_t)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
Stop crypto adapter. This callback is invoked if the caps returned from rte_event_crypto_adapter_caps_get(.., cdev_id) has RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_* set and queue pairs from cdev_id have been added to the event device.
dev | Event device pointer |
cdev | Crypto device pointer |
Definition at line 749 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_stats_get)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev, struct rte_event_crypto_adapter_stats *stats) |
Retrieve crypto adapter statistics.
dev | Event device pointer | |
cdev | Crypto device pointer | |
[out] | stats | Pointer to stats structure |
Definition at line 771 of file rte_eventdev_pmd.h.
typedef int(* eventdev_crypto_adapter_stats_reset)(const struct rte_eventdev *dev, const struct rte_cryptodev *cdev) |
Reset crypto adapter statistics.
dev | Event device pointer |
cdev | Crypto device pointer |
Definition at line 789 of file rte_eventdev_pmd.h.
|
staticread |
The pool of rte_eventdev structures. Get the rte_eventdev structure device pointer for the named device.
name | device name to select the device structure. |
Definition at line 105 of file rte_eventdev_pmd.h.
|
inlinestatic |
Validate if the event device index is valid attached event device.
dev_id | Event device index. |
Definition at line 133 of file rte_eventdev_pmd.h.
|
read |
Allocates a new eventdev slot for an event device and returns the pointer to that slot for the driver to use.
name | Unique identifier name for each device |
socket_id | Socket to allocate resources on. |
int rte_event_pmd_release | ( | struct rte_eventdev * | eventdev | ) |
Release the specified eventdev device.
eventdev | The eventdev pointer is the address of the rte_eventdev structure. |
struct rte_eventdev* rte_eventdevs |
Pointer to global event devices data structure.