]> git.droids-corp.org - dpdk.git/commitdiff
eventdev/eth_rx: add event port get API
authorNaga Harish K S V <s.v.naga.harish.k@intel.com>
Sat, 22 Jan 2022 17:14:20 +0000 (11:14 -0600)
committerJerin Jacob <jerinj@marvell.com>
Sun, 23 Jan 2022 15:29:43 +0000 (16:29 +0100)
This patch introduces new api for retrieving event port id
of eth rx adapter.

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
doc/guides/rel_notes/release_22_03.rst
lib/eventdev/rte_event_eth_rx_adapter.c
lib/eventdev/rte_event_eth_rx_adapter.h
lib/eventdev/version.map

index 8a202ec4f4574a797fe4642388966ac63cc4bfab..bd42b62324a7484d3bb407b21dc9d00ba097ac26 100644 (file)
@@ -55,6 +55,10 @@ New Features
      Also, make sure to start the actual text at the margin.
      =======================================================
 
+* **Added an API to retrieve event port id of ethdev Rx adapter.**
+
+  The new API ``rte_event_eth_rx_adapter_event_port_get()`` was added.
+
 
 Removed Items
 -------------
index f946137b25caf234ce6954e97b16578fd69e35ff..ae1e260c083151243bde3ae0fd3de08586d17682 100644 (file)
@@ -3123,6 +3123,26 @@ rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
        return rx_adapter->service_inited ? 0 : -ESRCH;
 }
 
+int
+rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
+{
+       struct event_eth_rx_adapter *rx_adapter;
+
+       if (rxa_memzone_lookup())
+               return -ENOMEM;
+
+       RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);
+
+       rx_adapter = rxa_id_to_adapter(id);
+       if (rx_adapter == NULL || event_port_id == NULL)
+               return -EINVAL;
+
+       if (rx_adapter->service_inited)
+               *event_port_id = rx_adapter->event_port_id;
+
+       return rx_adapter->service_inited ? 0 : -ESRCH;
+}
+
 int
 rte_event_eth_rx_adapter_cb_register(uint8_t id,
                                        uint16_t eth_dev_id,
index 9546d792e9ded5d26b48e871d5b6610587946004..3608a7b2cf0223740b2cebf548aa7bb5d86bdc14 100644 (file)
@@ -37,6 +37,7 @@
  *  - 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()
  *
  * The application creates an ethernet to event adapter using
  * rte_event_eth_rx_adapter_create_ext() or rte_event_eth_rx_adapter_create()
@@ -684,6 +685,25 @@ rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
                uint16_t eth_dev_id,
                uint16_t rx_queue_id);
 
+/**
+ * Retrieve the event port ID of an adapter. If the adapter doesn't use
+ * a rte_service function, this function returns -ESRCH.
+ *
+ * @param id
+ *  Adapter identifier.
+ *
+ * @param [out] event_port_id
+ *  A pointer to a uint8_t, to be filled in with the port id.
+ *
+ * @return
+ *  - 0: Success
+ *  - <0: Error code on failure, if the adapter doesn't use a rte_service
+ * function, this function returns -ESRCH.
+ */
+__rte_experimental
+int
+rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
+
 #ifdef __cplusplus
 }
 #endif
index ade1f1182eb7c9e1e31c39a02c12874fbd75b575..cd5dada07f5296d8602b303fd5086918f81e146b 100644 (file)
@@ -105,6 +105,9 @@ EXPERIMENTAL {
        rte_event_eth_rx_adapter_queue_conf_get;
        rte_event_eth_rx_adapter_queue_stats_get;
        rte_event_eth_rx_adapter_queue_stats_reset;
+
+       # added in 22.03
+       rte_event_eth_rx_adapter_event_port_get;
 };
 
 INTERNAL {