add callback to check dev is removed

Signed-off-by: Srikanth Kaka <srikant...@oneconvergence.com>
Signed-off-by: Vag Singh <vag.si...@oneconvergence.com>
Signed-off-by: Anand Thulasiram <av...@juniper.net>
---
 drivers/net/mlx5/freebsd/mlx5_ethdev_os.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/net/mlx5/freebsd/mlx5_ethdev_os.c 
b/drivers/net/mlx5/freebsd/mlx5_ethdev_os.c
index b10ffb36fc..5b66e1802b 100644
--- a/drivers/net/mlx5/freebsd/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/freebsd/mlx5_ethdev_os.c
@@ -616,6 +616,26 @@ mlx5_set_link_up(struct rte_eth_dev *dev)
        return mlx5_set_flags(dev, ~IFF_UP, IFF_UP);
 }
 
+/**
+ * Check if mlx5 device was removed.
+ *
+ * @param dev
+ *   Pointer to Ethernet device structure.
+ *
+ * @return
+ *   1 when device is removed, otherwise 0.
+ */
+int
+mlx5_is_removed(struct rte_eth_dev *dev)
+{
+       struct ibv_device_attr device_attr;
+       struct mlx5_priv *priv = dev->data->dev_private;
+
+       if (mlx5_glue->query_device(priv->sh->ctx, &device_attr) == EIO)
+               return 1;
+       return 0;
+}
+
 /**
  * Get MAC address by querying netdevice.
  *
-- 
2.30.2

Reply via email to