From patchwork Tue Aug 1 13:51:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Naga Harish K, S V" X-Patchwork-Id: 129793 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9475442FB2; Tue, 1 Aug 2023 15:52:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 275E840F16; Tue, 1 Aug 2023 15:52:13 +0200 (CEST) Received: from mgamail.intel.com (unknown [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 4E87A40A89 for ; Tue, 1 Aug 2023 15:52:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690897931; x=1722433931; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yGBuoRM0E1wDm/eXEUnZMEfYxCtwPgPVl4cDe4DSStA=; b=MHlyeCaIeFbkHIjkF1wsRpJIALvbvJK5W53qwO4UktINCGtMrMKuA3ps eRUOwUGjoZxp5OJnwNZylbwV1s2x8KTHxCBdIZifxGWsYzT71lGx72iuP Nx0Ntrd++dj8NrF4sBNq5lf0AJ+LL4WAf2sOPa4NIRLBmRdDTWLD1Bqb5 gWIRJw/4m8BvQDnXSg3eoWAMJawznMO4KSTSggrsLynsEcmeMZih3ifp6 aCUrha8fO1kJPRnAVj/wFU7vihccug6UlvbsodyR034d3tF8jmMNZu8BA I/G0N5C0sViIWrUOdziO9gB3SmuVoMO0q8tjOFky6eStbAcl6RaOn+HAG Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="435628946" X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; d="scan'208";a="435628946" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2023 06:51:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="818803448" X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; d="scan'208";a="818803448" Received: from txandevlnx321.an.intel.com ([10.123.117.43]) by FMSMGA003.fm.intel.com with ESMTP; 01 Aug 2023 06:51:52 -0700 From: Naga Harish K S V To: jerinjacobk@gmail.com Cc: dev@dpdk.org, jay.jayatheerthan@intel.com Subject: [PATCH v2] eventdev/eth_rx: update adapter create APIs Date: Tue, 1 Aug 2023 08:51:49 -0500 Message-Id: <20230801135149.135550-1-s.v.naga.harish.k@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20230801094004.51939-1-s.v.naga.harish.k@intel.com> References: <20230801094004.51939-1-s.v.naga.harish.k@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The adapter create APIs such as rte_event_eth_rx_adapter_create_ext() and rte_event_eth_rx_adapter_create() are updated to take additional argument as a pointer of type struct rte_event_eth_rx_adapter_params. The API rte_event_eth_rx_adapter_create_with_params() is deprecated. Signed-off-by: Naga Harish K S V --- v2: * Fix doxygen compile issue and warning --- --- app/test-eventdev/test_perf_common.c | 2 +- app/test-eventdev/test_pipeline_common.c | 2 +- app/test/test_event_eth_rx_adapter.c | 22 ++-- app/test/test_security_inline_proto.c | 2 +- .../pipeline_worker_generic.c | 2 +- .../eventdev_pipeline/pipeline_worker_tx.c | 2 +- examples/ipsec-secgw/event_helper.c | 2 +- examples/l2fwd-event/l2fwd_event_generic.c | 2 +- .../l2fwd-event/l2fwd_event_internal_port.c | 2 +- examples/l3fwd/l3fwd_event_generic.c | 2 +- examples/l3fwd/l3fwd_event_internal_port.c | 2 +- lib/eventdev/rte_event_eth_rx_adapter.c | 100 ++++++++---------- lib/eventdev/rte_event_eth_rx_adapter.h | 36 ++----- lib/eventdev/version.map | 1 - 14 files changed, 74 insertions(+), 105 deletions(-) diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c index 5e0255cfeb..0c6c252f7d 100644 --- a/app/test-eventdev/test_perf_common.c +++ b/app/test-eventdev/test_perf_common.c @@ -1002,7 +1002,7 @@ perf_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride, } queue_conf.ev.queue_id = prod * stride; ret = rte_event_eth_rx_adapter_create(prod, opt->dev_id, - &prod_conf); + &prod_conf, NULL); if (ret) { evt_err("failed to create rx adapter[%d]", prod); return ret; diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c index b111690b7c..5ae175f2c7 100644 --- a/app/test-eventdev/test_pipeline_common.c +++ b/app/test-eventdev/test_pipeline_common.c @@ -571,7 +571,7 @@ pipeline_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride, } queue_conf.ev.queue_id = prod * stride; ret = rte_event_eth_rx_adapter_create(prod, opt->dev_id, - &prod_conf); + &prod_conf, NULL); if (ret) { evt_err("failed to create rx adapter[%d]", prod); return ret; diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c index 52d146f97c..42edcb625a 100644 --- a/app/test/test_event_eth_rx_adapter.c +++ b/app/test/test_event_eth_rx_adapter.c @@ -401,7 +401,7 @@ adapter_create(void) rx_p_conf.dequeue_depth = dev_info.max_event_port_dequeue_depth; rx_p_conf.enqueue_depth = dev_info.max_event_port_enqueue_depth; err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, - &rx_p_conf); + &rx_p_conf, NULL); TEST_ASSERT(err == 0, "Expected 0 got %d", err); return err; @@ -427,17 +427,17 @@ adapter_create_with_params(void) rxa_params.use_queue_event_buf = false; rxa_params.event_buf_size = 0; - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err); rxa_params.use_queue_event_buf = true; - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == 0, "Expected 0 got %d", err); - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == -EEXIST, "Expected -EEXIST got %d", err); @@ -567,15 +567,15 @@ adapter_create_free(void) }; err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, - NULL); + NULL, NULL); TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err); err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, - &rx_p_conf); + &rx_p_conf, NULL); TEST_ASSERT(err == 0, "Expected 0 got %d", err); err = rte_event_eth_rx_adapter_create(TEST_INST_ID, - TEST_DEV_ID, &rx_p_conf); + TEST_DEV_ID, &rx_p_conf, NULL); TEST_ASSERT(err == -EEXIST, "Expected -EEXIST %d got %d", -EEXIST, err); err = rte_event_eth_rx_adapter_free(TEST_INST_ID); @@ -605,20 +605,20 @@ adapter_create_free_with_params(void) .event_buf_size = 1024 }; - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, NULL, NULL); TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err); - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == 0, "Expected 0 got %d", err); - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == -EEXIST, "Expected -EEXIST %d got %d", -EEXIST, err); rxa_params.event_buf_size = 0; - err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID, + err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID, &rx_p_conf, &rxa_params); TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err); diff --git a/app/test/test_security_inline_proto.c b/app/test/test_security_inline_proto.c index 45aa742c6b..fc240201a3 100644 --- a/app/test/test_security_inline_proto.c +++ b/app/test/test_security_inline_proto.c @@ -1872,7 +1872,7 @@ event_inline_ipsec_testsuite_setup(void) /* Create Rx adapter */ ret = rte_event_eth_rx_adapter_create(rx_adapter_id, eventdev_id, - &ev_port_conf); + &ev_port_conf, NULL); if (ret < 0) { printf("Failed to create rx adapter %d\n", ret); return ret; diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c index 783f68c91e..74510338ba 100644 --- a/examples/eventdev_pipeline/pipeline_worker_generic.c +++ b/examples/eventdev_pipeline/pipeline_worker_generic.c @@ -436,7 +436,7 @@ init_adapters(uint16_t nb_ports) init_ports(nb_ports); /* Create one adapter for all the ethernet ports. */ ret = rte_event_eth_rx_adapter_create(cdata.rx_adapter_id, evdev_id, - &adptr_p_conf); + &adptr_p_conf, NULL); if (ret) rte_exit(EXIT_FAILURE, "failed to create rx adapter[%d]", cdata.rx_adapter_id); diff --git a/examples/eventdev_pipeline/pipeline_worker_tx.c b/examples/eventdev_pipeline/pipeline_worker_tx.c index 98a52f3892..88619d6c2e 100644 --- a/examples/eventdev_pipeline/pipeline_worker_tx.c +++ b/examples/eventdev_pipeline/pipeline_worker_tx.c @@ -793,7 +793,7 @@ init_adapters(uint16_t nb_ports) uint32_t service_id; ret = rte_event_eth_rx_adapter_create(i, evdev_id, - &adptr_p_conf); + &adptr_p_conf, NULL); if (ret) rte_exit(EXIT_FAILURE, "failed to create rx adapter[%d]", i); diff --git a/examples/ipsec-secgw/event_helper.c b/examples/ipsec-secgw/event_helper.c index 89fb7e62a5..28d6778134 100644 --- a/examples/ipsec-secgw/event_helper.c +++ b/examples/ipsec-secgw/event_helper.c @@ -1035,7 +1035,7 @@ eh_rx_adapter_configure(struct eventmode_conf *em_conf, /* Create Rx adapter */ ret = rte_event_eth_rx_adapter_create(adapter->adapter_id, - adapter->eventdev_id, &port_conf); + adapter->eventdev_id, &port_conf, NULL); if (ret < 0) { EH_LOG_ERR("Failed to create rx adapter %d", ret); return ret; diff --git a/examples/l2fwd-event/l2fwd_event_generic.c b/examples/l2fwd-event/l2fwd_event_generic.c index 1977e23261..4360b20aa0 100644 --- a/examples/l2fwd-event/l2fwd_event_generic.c +++ b/examples/l2fwd-event/l2fwd_event_generic.c @@ -235,7 +235,7 @@ l2fwd_rx_tx_adapter_setup_generic(struct l2fwd_resources *rsrc) } ret = rte_event_eth_rx_adapter_create(rx_adptr_id, event_d_id, - &evt_rsrc->def_p_conf); + &evt_rsrc->def_p_conf, NULL); if (ret) rte_panic("Failed to create rx adapter\n"); diff --git a/examples/l2fwd-event/l2fwd_event_internal_port.c b/examples/l2fwd-event/l2fwd_event_internal_port.c index 717a7bceb8..542890f354 100644 --- a/examples/l2fwd-event/l2fwd_event_internal_port.c +++ b/examples/l2fwd-event/l2fwd_event_internal_port.c @@ -253,7 +253,7 @@ l2fwd_rx_tx_adapter_setup_internal_port(struct l2fwd_resources *rsrc) } ret = rte_event_eth_rx_adapter_create(adapter_id, event_d_id, - &evt_rsrc->def_p_conf); + &evt_rsrc->def_p_conf, NULL); if (ret) rte_panic("Failed to create rx adapter[%d]\n", adapter_id); diff --git a/examples/l3fwd/l3fwd_event_generic.c b/examples/l3fwd/l3fwd_event_generic.c index c80573fc58..88e7af538e 100644 --- a/examples/l3fwd/l3fwd_event_generic.c +++ b/examples/l3fwd/l3fwd_event_generic.c @@ -217,7 +217,7 @@ l3fwd_rx_tx_adapter_setup_generic(void) } ret = rte_event_eth_rx_adapter_create(rx_adptr_id, event_d_id, - &evt_rsrc->def_p_conf); + &evt_rsrc->def_p_conf, NULL); if (ret) rte_panic("Failed to create rx adapter\n"); diff --git a/examples/l3fwd/l3fwd_event_internal_port.c b/examples/l3fwd/l3fwd_event_internal_port.c index 32cf657148..dc8b5013cb 100644 --- a/examples/l3fwd/l3fwd_event_internal_port.c +++ b/examples/l3fwd/l3fwd_event_internal_port.c @@ -246,7 +246,7 @@ l3fwd_rx_tx_adapter_setup_internal_port(void) } ret = rte_event_eth_rx_adapter_create(adapter_id, event_d_id, - &evt_rsrc->def_p_conf); + &evt_rsrc->def_p_conf, NULL); if (ret) rte_panic("Failed to create rx adapter[%d]\n", adapter_id); diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index f7f93ccdfd..ce203a5e4b 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -2485,90 +2485,78 @@ rxa_create(uint8_t id, uint8_t dev_id, return 0; } -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) +static int __rte_cold +rxa_config_params_validate(struct rte_event_eth_rx_adapter_params *rxa_params, + struct rte_event_eth_rx_adapter_params *temp_params) { - struct rte_event_eth_rx_adapter_params rxa_params = {0}; + if (rxa_params == NULL) { + /* use default values if rxa_params is NULL */ + temp_params->event_buf_size = ETH_EVENT_BUFFER_SIZE; + temp_params->use_queue_event_buf = false; + } else if (!rxa_params->use_queue_event_buf && + rxa_params->event_buf_size == 0) { + RTE_EDEV_LOG_ERR("event buffer size can't be zero\n"); + return -EINVAL; + } else if (rxa_params->use_queue_event_buf && + rxa_params->event_buf_size != 0) { + RTE_EDEV_LOG_ERR("event buffer size needs to be configured " + "as part of queue add\n"); + return -EINVAL; + } - /* use default values for adapter params */ - rxa_params.event_buf_size = ETH_EVENT_BUFFER_SIZE; - rxa_params.use_queue_event_buf = false; + *temp_params = *rxa_params; + /* adjust event buff size with BATCH_SIZE used for fetching + * packets from NIC rx queues to get full buffer utilization + * and prevent unnecessary rollovers. + */ + if (!temp_params->use_queue_event_buf) { + temp_params->event_buf_size = + RTE_ALIGN(temp_params->event_buf_size, BATCH_SIZE); + temp_params->event_buf_size += (BATCH_SIZE + BATCH_SIZE); + } - return rxa_create(id, dev_id, &rxa_params, conf_cb, conf_arg); + return 0; } int -rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id, - struct rte_event_port_conf *port_config, +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, struct rte_event_eth_rx_adapter_params *rxa_params) { - struct rte_event_port_conf *pc; - int ret; struct rte_event_eth_rx_adapter_params temp_params = {0}; + int ret; - if (port_config == NULL) - return -EINVAL; - - if (rxa_params == NULL) { - /* use default values if rxa_params is NULL */ - rxa_params = &temp_params; - rxa_params->event_buf_size = ETH_EVENT_BUFFER_SIZE; - rxa_params->use_queue_event_buf = false; - } else if ((!rxa_params->use_queue_event_buf && - rxa_params->event_buf_size == 0) || - (rxa_params->use_queue_event_buf && - rxa_params->event_buf_size != 0)) { - RTE_EDEV_LOG_ERR("Invalid adapter params\n"); - return -EINVAL; - } else if (!rxa_params->use_queue_event_buf) { - /* adjust event buff size with BATCH_SIZE used for fetching - * packets from NIC rx queues to get full buffer utilization - * and prevent unnecessary rollovers. - */ - - rxa_params->event_buf_size = - RTE_ALIGN(rxa_params->event_buf_size, BATCH_SIZE); - rxa_params->event_buf_size += (BATCH_SIZE + BATCH_SIZE); - } - - pc = rte_malloc(NULL, sizeof(*pc), 0); - if (pc == NULL) - return -ENOMEM; - - *pc = *port_config; - - ret = rxa_create(id, dev_id, rxa_params, rxa_default_conf_cb, pc); - if (ret) - rte_free(pc); - - rte_eventdev_trace_eth_rx_adapter_create_with_params(id, dev_id, - port_config, rxa_params, ret); + ret = rxa_config_params_validate(rxa_params, &temp_params); + if (ret != 0) + return ret; - return ret; + return rxa_create(id, dev_id, &temp_params, conf_cb, conf_arg); } int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id, - struct rte_event_port_conf *port_config) + struct rte_event_port_conf *port_config, + struct rte_event_eth_rx_adapter_params *rxa_params) { struct rte_event_port_conf *pc; int ret; + struct rte_event_eth_rx_adapter_params temp_params = {0}; if (port_config == NULL) return -EINVAL; - RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); + ret = rxa_config_params_validate(rxa_params, &temp_params); + if (ret != 0) + return ret; pc = rte_malloc(NULL, sizeof(*pc), 0); if (pc == NULL) return -ENOMEM; + *pc = *port_config; - ret = rte_event_eth_rx_adapter_create_ext(id, dev_id, - rxa_default_conf_cb, - pc); + ret = rxa_create(id, dev_id, &temp_params, rxa_default_conf_cb, pc); if (ret) rte_free(pc); return ret; diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h index fe2a6bdd2c..793e3cedad 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.h +++ b/lib/eventdev/rte_event_eth_rx_adapter.h @@ -26,7 +26,6 @@ * 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_free() * - rte_event_eth_rx_adapter_queue_add() * - rte_event_eth_rx_adapter_queue_del() @@ -45,7 +44,7 @@ * * 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() functions. + * 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 @@ -394,13 +393,18 @@ typedef uint16_t (*rte_event_eth_rx_adapter_cb_fn)(uint16_t eth_dev_id, * @param conf_arg * Argument that is passed to the conf_cb function. * + * @param rxa_params + * Pointer to struct rte_event_eth_rx_adapter_params. + * In case of NULL, default values are used. + * * @return * - 0: Success * - <0: Error code on failure */ 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); + rte_event_eth_rx_adapter_conf_cb conf_cb, + void *conf_arg, + struct rte_event_eth_rx_adapter_params *rxa_params); /** * Create a new ethernet Rx event adapter with the specified identifier. @@ -435,27 +439,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id, * Argument of type *rte_event_port_conf* that is passed to the conf_cb * function. * - * @return - * - 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); - -/** - * This is a variant of rte_event_eth_rx_adapter_create() with additional - * adapter params specified in ``struct rte_event_eth_rx_adapter_params``. - * - * @param id - * The identifier of the ethernet Rx event adapter. - * - * @param dev_id - * The identifier of the event device to configure. - * - * @param port_config - * Argument of type *rte_event_port_conf* that is passed to the conf_cb - * function. - * * @param rxa_params * Pointer to struct rte_event_eth_rx_adapter_params. * In case of NULL, default values are used. @@ -464,8 +447,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id, * - 0: Success * - <0: Error code on failure */ -__rte_experimental -int rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id, +int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id, struct rte_event_port_conf *port_config, struct rte_event_eth_rx_adapter_params *rxa_params); diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map index b03c10d99f..1cf58f0d6c 100644 --- a/lib/eventdev/version.map +++ b/lib/eventdev/version.map @@ -101,7 +101,6 @@ EXPERIMENTAL { global: # added in 21.11 - rte_event_eth_rx_adapter_create_with_params; rte_event_eth_rx_adapter_queue_conf_get; rte_event_eth_rx_adapter_queue_stats_get; rte_event_eth_rx_adapter_queue_stats_reset;