F: drivers/event/skeleton/
F: app/test/test_eventdev.c
-Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Rx Adapter API
M: Nikhil Rao <nikhil.rao@intel.com>
T: git://dpdk.org/next/dpdk-next-eventdev
F: lib/librte_eventdev/*eth_rx_adapter*
F: app/test/test_event_eth_rx_adapter.c
F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
-Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Tx Adapter API
M: Nikhil Rao <nikhil.rao@intel.com>
T: git://dpdk.org/next/dpdk-next-eventdev
F: lib/librte_eventdev/*eth_tx_adapter*
F: app/test/test_event_eth_tx_adapter.c
F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
-Eventdev Timer Adapter API - EXPERIMENTAL
+Eventdev Timer Adapter API
M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
T: git://dpdk.org/next/dpdk-next-eventdev
F: lib/librte_eventdev/*timer_adapter*
F: app/test/test_event_timer_adapter.c
F: doc/guides/prog_guide/event_timer_adapter.rst
-Eventdev Crypto Adapter API - EXPERIMENTAL
+Eventdev Crypto Adapter API
M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
T: git://dpdk.org/next/dpdk-next-eventdev
F: lib/librte_eventdev/*crypto_adapter*
APP = dpdk-test-eventdev
-CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
-allow_experimental_apis = true
sources = files('evt_main.c',
'evt_options.c',
'evt_test.c',
LIB = librte_pmd_dsw_event.a
-CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Ericsson AB
-allow_experimental_apis = true
deps += ['bus_vdev']
sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
'timvf_probe.c'
)
-allow_experimental_apis = true
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
# DPDK instance, use 'make'
deps += 'eventdev'
-allow_experimental_apis = true
sources = files(
'main.c',
'pipeline_worker_generic.c',
return ret;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_crypto_adapter_conf_cb conf_cb,
enum rte_event_crypto_adapter_mode mode,
}
-int __rte_experimental
+int
rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config,
enum rte_event_crypto_adapter_mode mode)
return ret;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_free(uint8_t id)
{
struct rte_event_crypto_adapter *adapter;
return 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_queue_pair_add(uint8_t id,
uint8_t cdev_id,
int32_t queue_pair_id,
return 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
int32_t queue_pair_id)
{
return 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_start(uint8_t id)
{
struct rte_event_crypto_adapter *adapter;
return eca_adapter_ctrl(id, 1);
}
-int __rte_experimental
+int
rte_event_crypto_adapter_stop(uint8_t id)
{
return eca_adapter_ctrl(id, 0);
}
-int __rte_experimental
+int
rte_event_crypto_adapter_stats_get(uint8_t id,
struct rte_event_crypto_adapter_stats *stats)
{
return 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_stats_reset(uint8_t id)
{
struct rte_event_crypto_adapter *adapter;
return 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
struct rte_event_crypto_adapter *adapter;
return adapter->service_inited ? 0 : -ESRCH;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
struct rte_event_crypto_adapter *adapter;
#include "rte_eventdev.h"
/**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
* Crypto event adapter mode
*/
enum rte_event_crypto_adapter_mode {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Crypto event request structure will be filled by application to
* provide event request information to the adapter.
*/
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Crypto event metadata structure will be filled by application
* to provide crypto request and event response information.
*
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Adapter configuration structure that the adapter configuration callback
* function is expected to fill out
* @see rte_event_crypto_adapter_conf_cb
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Function type used for adapter configuration callback. The callback is
* used to fill in members of the struct rte_event_crypto_adapter_conf, this
* callback is invoked when creating a SW service for packet transfer from
void *arg);
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* A structure used to retrieve statistics for an event crypto adapter
* instance.
*/
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new event crypto adapter with the specified identifier.
*
* @param id
* - 0: Success
* - <0: Error code on failure
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_crypto_adapter_conf_cb conf_cb,
enum rte_event_crypto_adapter_mode mode,
void *conf_arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new event crypto 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
* - 0: Success
* - <0: Error code on failure
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config,
enum rte_event_crypto_adapter_mode mode);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Free an event crypto adapter
*
* @param id
* - <0: Error code on failure, If the adapter still has queue pairs
* added to it, the function returns -EBUSY.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_free(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Add a queue pair to an event crypto adapter.
*
* @param id
* - 0: Success, queue pair added correctly.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_queue_pair_add(uint8_t id,
uint8_t cdev_id,
int32_t queue_pair_id,
const struct rte_event *event);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Delete a queue pair from an event crypto adapter.
*
* @param id
* - 0: Success, queue pair deleted successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
int32_t queue_pair_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Start event crypto adapter
*
* @param id
* The eventdev to which the event_crypto_adapter is connected needs to
* be started before calling rte_event_crypto_adapter_start().
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_start(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Stop event crypto adapter
*
* @param id
* - 0: Success, adapter stopped successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_stop(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve statistics for an adapter
*
* @param id
* - 0: Success, retrieved successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_stats_get(uint8_t id,
struct rte_event_crypto_adapter_stats *stats);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Reset statistics for an adapter.
*
* @param id
* - 0: Success, statistics reset successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_stats_reset(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the service ID of an adapter. If the adapter doesn't use
* a rte_service function, this function returns -ESRCH.
*
* - <0: Error code on failure, if the adapter doesn't use a rte_service
* function, this function returns -ESRCH.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the event port of an adapter.
*
* @param id
* - 0: Success
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
#ifdef __cplusplus
*/
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Adapter configuration structure that the adapter configuration callback
* function is expected to fill out
* @see rte_event_eth_rx_adapter_conf_cb
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* 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
void *arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Rx queue configuration structure
*/
struct rte_event_eth_rx_adapter_queue_conf {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* A structure used to retrieve statistics for an eth rx adapter instance.
*/
struct rte_event_eth_rx_adapter_stats {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Callback function invoked by the SW adapter before it continues
* to process packets. The callback is passed the size of the enqueue
* buffer in the SW adapter and the occupancy of the buffer. The
struct rte_mbuf **enq_buf);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new ethernet Rx event adapter with the specified identifier.
*
* @param id
void *conf_arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* 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
struct rte_event_port_conf *port_config);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Free an event adapter
*
* @param id
int rte_event_eth_rx_adapter_free(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* 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.
const struct rte_event_eth_rx_adapter_queue_conf *conf);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Delete receive queue from an event adapter.
*
* @param id
int32_t rx_queue_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Start ethernet Rx event adapter
*
* @param id
int rte_event_eth_rx_adapter_start(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Stop ethernet Rx event adapter
*
* @param id
int rte_event_eth_rx_adapter_stop(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve statistics for an adapter
*
* @param id
struct rte_event_eth_rx_adapter_stats *stats);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Reset statistics for an adapter.
*
* @param id
int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the service ID of an adapter. If the adapter doesn't use
* a rte_service function, this function returns -ESRCH.
*
int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Register callback to process Rx packets, this is supported for
* SW based packet transfers.
* @see rte_event_eth_rx_cb_fn
* - 0: Success
* - <0: Error code on failure.
*/
-int __rte_experimental
+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,
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_conf)
{
return 0;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_eth_tx_adapter_conf_cb conf_cb,
void *conf_arg)
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
TXA_CHECK_OR_ERR_RET(id);
return txa_service_event_port_get(id, event_port_id);
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_free(uint8_t id)
{
int ret;
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_queue_add(uint8_t id,
uint16_t eth_dev_id,
int32_t queue)
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_queue_del(uint8_t id,
uint16_t eth_dev_id,
int32_t queue)
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
TXA_CHECK_OR_ERR_RET(id);
return txa_service_id_get(id, service_id);
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_start(uint8_t id)
{
int ret;
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stats_get(uint8_t id,
struct rte_event_eth_tx_adapter_stats *stats)
{
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stats_reset(uint8_t id)
{
int ret;
return ret;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stop(uint8_t id)
{
int ret;
#include "rte_eventdev.h"
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Adapter configuration structure
*
* @see rte_event_eth_tx_adapter_create_ext
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Function type used for adapter configuration callback. The callback is
* used to fill in members of the struct rte_event_eth_tx_adapter_conf, this
* callback is invoked when creating a RTE service function based
void *arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* A structure used to retrieve statistics for an ethernet Tx adapter instance.
*/
struct rte_event_eth_tx_adapter_stats {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new ethernet Tx adapter with the specified identifier.
*
* @param id
* - 0: Success
* - <0: Error code on failure
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new ethernet Tx adapter with the specified identifier.
*
* @param id
* - 0: Success
* - <0: Error code on failure
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_eth_tx_adapter_conf_cb conf_cb,
void *conf_arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Free an ethernet Tx adapter
*
* @param id
* - <0: Error code on failure, If the adapter still has Tx queues
* added to it, the function returns -EBUSY.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_free(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Start ethernet Tx adapter
*
* @param id
* - 0: Success, Adapter started correctly.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_start(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Stop ethernet Tx adapter
*
* @param id
* - 0: Success.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stop(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Add a Tx queue to the adapter.
* A queue value of -1 is used to indicate all
* queues within the device.
* - 0: Success, Queues added successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_queue_add(uint8_t id,
uint16_t eth_dev_id,
int32_t queue);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* 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
* - 0: Success, Queues deleted successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_queue_del(uint8_t id,
uint16_t eth_dev_id,
int32_t queue);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Set Tx queue in the mbuf. This queue is used by the adapter
* to transmit the mbuf.
*
* @param queue
* Tx queue index.
*/
-static __rte_always_inline void __rte_experimental
+static __rte_always_inline void
rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
{
pkt->hash.txadapter.txq = queue;
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve Tx queue from the mbuf.
*
* @param pkt
*
* @see rte_event_eth_tx_adapter_txq_set()
*/
-static __rte_always_inline uint16_t __rte_experimental
+static __rte_always_inline uint16_t
rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
{
return pkt->hash.txadapter.txq;
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the adapter event port. The adapter creates an event port if
* the #RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT is not set in the
* ethernet Tx capabilities of the event device.
* - 0: Success.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
/**
* one or more events. This error code is only applicable to
* closed systems.
*/
-static inline uint16_t __rte_experimental
+static inline uint16_t
rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
uint8_t port_id,
struct rte_event ev[],
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve statistics for an adapter
*
* @param id
* - 0: Success, statistics retrieved successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stats_get(uint8_t id,
struct rte_event_eth_tx_adapter_stats *stats);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Reset statistics for an adapter.
*
* @param id
* - 0: Success, statistics reset successfully.
* - <0: Error code on failure.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_stats_reset(uint8_t id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the service ID of an adapter. If the adapter doesn't use
* a rte_service function, this function returns -ESRCH.
*
* - <0: Error code on failure, if the adapter doesn't use a rte_service
* function, this function returns -ESRCH.
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
#ifdef __cplusplus
return ret;
}
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
{
return rte_event_timer_adapter_create_ext(conf, default_port_conf_cb,
NULL);
}
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_create_ext(
const struct rte_event_timer_adapter_conf *conf,
rte_event_timer_adapter_port_conf_cb_t conf_cb,
return NULL;
}
-int __rte_experimental
+int
rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_info *adapter_info)
{
return 0;
}
-int __rte_experimental
+int
rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
{
int ret;
return 0;
}
-int __rte_experimental
+int
rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
{
int ret;
return 0;
}
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_lookup(uint16_t adapter_id)
{
char name[DATA_MZ_NAME_MAX_LEN];
return adapter;
}
-int __rte_experimental
+int
rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
{
int ret;
return 0;
}
-int __rte_experimental
+int
rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
uint32_t *service_id)
{
return adapter->data->service_inited ? 0 : -ESRCH;
}
-int __rte_experimental
+int
rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_stats *stats)
{
return adapter->ops->stats_get(adapter, stats);
}
-int __rte_experimental
+int
rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
{
ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
#include "rte_eventdev.h"
/**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
* Timer adapter clock source
*/
enum rte_event_timer_adapter_clk_src {
*/
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Timer adapter configuration structure
*/
struct rte_event_timer_adapter_conf {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Event timer adapter stats structure
*/
struct rte_event_timer_adapter_stats {
struct rte_event_timer_adapter;
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Callback function type for producer port creation.
*/
typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
void *conf_arg);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create an event timer adapter.
*
* This function must be invoked first before any other function in the API.
* 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.
*/
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a timer adapter with the supplied callback.
*
* This function can be used to have a more granular control over the timer
* - EINVAL: invalid event device identifier specified in config
* - ENOSPC: maximum number of adapters already created
*/
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_create_ext(
const struct rte_event_timer_adapter_conf *conf,
rte_event_timer_adapter_port_conf_cb_t conf_cb,
void *conf_arg);
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Timer adapter info structure.
*/
struct rte_event_timer_adapter_info {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the contextual information of an event timer adapter.
*
* @param adapter
* struct rte_event_timer_adapter_info
*
*/
-int __rte_experimental
+int
rte_event_timer_adapter_get_info(
const struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_info *adapter_info);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Start a timer adapter.
*
* The adapter start step is the last one and consists of setting the timer
* The eventdev to which the event_timer_adapter is connected needs to
* be started before calling rte_event_timer_adapter_start().
*/
-int __rte_experimental
+int
rte_event_timer_adapter_start(
const struct rte_event_timer_adapter *adapter);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Stop an event timer adapter.
*
* The adapter can be restarted with a call to
* - <0: Error code returned by the driver stop function.
* - -EINVAL if adapter identifier invalid
*/
-int __rte_experimental
+int
rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Lookup an event timer adapter using its identifier.
*
* If an event timer adapter was created in another process with the same
* Possible rte_errno values include:
* - ENOENT - requested entry not available to return.
*/
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
rte_event_timer_adapter_lookup(uint16_t adapter_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Free an event timer adapter.
*
* Destroy an event timer adapter, freeing all resources.
* - -EBUSY: stop hasn't been called for this adapter yet
* - -EINVAL: adapter id invalid, or adapter invalid
*/
-int __rte_experimental
+int
rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
/**
* - <0: Error code on failure
* - -ESRCH: the adapter does not require a service to operate
*/
-int __rte_experimental
+int
rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
uint32_t *service_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve statistics for an event timer adapter instance.
*
* @param adapter
* - 0: Successfully retrieved.
* - <0: Failure; error code returned.
*/
-int __rte_experimental
+int
rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_stats *stats);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Reset statistics for an event timer adapter instance.
*
* @param adapter
* - 0: Successfully reset;
* - <0: Failure; error code returned.
*/
-int __rte_experimental
+int
rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter);
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* Event timer state.
*/
enum rte_event_timer_state {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* The generic *rte_event_timer* structure to hold the event timer attributes
* for arm and cancel operations.
*/
} while (0)
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Arm a burst of event timers with separate expiration timeout tick for each
* event timer.
*
* - EAGAIN Specified timer adapter is not running
* - EALREADY A timer was encountered that was already armed
*/
-static inline uint16_t __rte_experimental
+static inline uint16_t
rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
struct rte_event_timer **evtims,
uint16_t nb_evtims)
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Arm a burst of event timers with same expiration timeout tick.
*
* Provides the same functionality as ``rte_event_timer_arm_burst()``, except
* - EAGAIN Specified event timer adapter is not running
* - EALREADY A timer was encountered that was already armed
*/
-static inline uint16_t __rte_experimental
+static inline uint16_t
rte_event_timer_arm_tmo_tick_burst(
const struct rte_event_timer_adapter *adapter,
struct rte_event_timer **evtims,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Cancel a burst of event timers from being scheduled to the event device.
*
* @param adapter
* - EAGAIN Specified timer adapter is not running
* - EALREADY A timer was encountered that was already canceled
*/
-static inline uint16_t __rte_experimental
+static inline uint16_t
rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
struct rte_event_timer **evtims,
uint16_t nb_evtims)
: 0;
}
-int __rte_experimental
+int
rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
{
struct rte_eventdev *dev;
: 0;
}
-int __rte_experimental
+int
rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
uint32_t *caps)
{
(dev, cdev, caps) : -ENOTSUP;
}
-int __rte_experimental
+int
rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
uint32_t *caps)
{
return diag;
}
-int __rte_experimental
+int
rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
{
struct rte_eventdev *dev;
* - 0: Success, driver provided event timer adapter capabilities.
* - <0: Error code returned by the driver function.
*/
-int __rte_experimental
+int
rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
/* Crypto adapter capability bitmap flag */
*/
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Retrieve the event device's crypto adapter capabilities for the
* specified cryptodev device
*
* - <0: Error code returned by the driver function.
*
*/
-int __rte_experimental
+int
rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
uint32_t *caps);
* - <0: Error code returned by the driver function.
*
*/
-int __rte_experimental
+int
rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
uint32_t *caps);
uint8_t queues[], uint16_t nb_unlinks);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Returns the number of unlinks in progress.
*
* This function provides the application with a method to detect when an
* A negative return value indicates an error, -EINVAL indicates an invalid
* parameter passed for *dev_id* or *port_id*.
*/
-int __rte_experimental
+int
rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
/**
rte_event_dev_stop_flush_callback_register;
} DPDK_18.02;
-EXPERIMENTAL {
+DPDK_19.05 {
global:
rte_event_crypto_adapter_caps_get;
rte_event_timer_arm_burst;
rte_event_timer_arm_tmo_tick_burst;
rte_event_timer_cancel_burst;
-};
+} DPDK_18.05;