From: Maxime Leroy <maxime.le...@6wind.com>

It can be useful for application to know if a port can be detached or not.

Signed-off-by: Maxime Leroy <maxime.leroy at 6wind.com>
Signed-off-by: David Marchand <david.marchand at 6wind.com>
---
 lib/librte_ether/rte_ethdev.c          |  2 +-
 lib/librte_ether/rte_ethdev.h          | 12 ++++++++++++
 lib/librte_ether/rte_ether_version.map |  7 +++++++
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 396667c..7fa5717 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -500,7 +500,7 @@ rte_eth_dev_get_name_by_port(uint8_t port_id, char *name)
        return 0;
 }

-static int
+int
 rte_eth_dev_is_detachable(uint8_t port_id)
 {
        uint32_t drv_flags;
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 8a8c82b..160edd4 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1558,6 +1558,18 @@ int rte_eth_dev_attach(const char *devargs, uint8_t 
*port_id);
  */
 int rte_eth_dev_detach(uint8_t port_id, char *devname);

+/**
+ * Check if an Ethernet device specified by port identifer is detachable.
+ *
+ * @param port_id
+ *   The port identifier of the device to check if is detachable
+ *
+ * @return
+ *  1 if device is detachable, else 0
+ */
+int
+rte_eth_dev_is_detachable(uint8_t port_id);
+
 struct eth_driver;
 /**
  * @internal
diff --git a/lib/librte_ether/rte_ether_version.map 
b/lib/librte_ether/rte_ether_version.map
index 8345a6c..7f872c2 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -127,3 +127,10 @@ DPDK_2.1 {
        rte_eth_timesync_read_tx_timestamp;

 } DPDK_2.0;
+
+DPDK_2.2 {
+       global:
+
+       rte_eth_dev_is_detachable;
+
+} DPDK_2.1;
-- 
1.9.1

Reply via email to