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