[RFC,2/4] test/virtual_pmd: clean rings on close
Checks
Commit Message
Not cleaning the rings prevents creating devices again, which breaks to
run some unit tests multiple times.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
app/test/virtual_pmd.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
@@ -34,7 +34,7 @@ struct virtual_ethdev_queue {
};
static int
-virtual_ethdev_start_success(struct rte_eth_dev *eth_dev __rte_unused)
+virtual_ethdev_start_success(struct rte_eth_dev *eth_dev)
{
eth_dev->data->dev_started = 1;
@@ -42,13 +42,13 @@ virtual_ethdev_start_success(struct rte_eth_dev *eth_dev __rte_unused)
}
static int
-virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev __rte_unused)
+virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev)
{
eth_dev->data->dev_started = 0;
return -1;
}
-static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused)
+static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev)
{
void *pkt = NULL;
struct virtual_ethdev_private *prv = eth_dev->data->dev_private;
@@ -65,8 +65,13 @@ static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused)
}
static int
-virtual_ethdev_close(struct rte_eth_dev *dev __rte_unused)
+virtual_ethdev_close(struct rte_eth_dev *eth_dev)
{
+ struct virtual_ethdev_private *prv = eth_dev->data->dev_private;
+
+ rte_ring_free(prv->rx_queue);
+ rte_ring_free(prv->tx_queue);
+
return 0;
}