Store the device name in dev->data->name, to have symmetrical behavior
between rte_pmd_tap_probe(name) and rte_pmd_tap_remove(name).

The netdevice name (linux interface name) is stored in the name field of
struct pmd_internals.

snprintf(data->name) has been moved closer to the rte_ethdev_allocate()
as it should use the same name.

Signed-off-by: Pascal Mazon <pascal.ma...@6wind.com>
---
 drivers/net/tap/rte_eth_tap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 47a706070652..ece3a5fcc897 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -663,7 +663,9 @@ eth_dev_tap_create(const char *name, char *tap_name)
                goto error_exit;
        }
 
-       dev = rte_eth_dev_allocate(tap_name);
+       /* name in allocation and data->name must be consistent */
+       snprintf(data->name, sizeof(data->name), "%s", name);
+       dev = rte_eth_dev_allocate(name);
        if (!dev) {
                RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n");
                goto error_exit;
@@ -691,7 +693,6 @@ eth_dev_tap_create(const char *name, char *tap_name)
        dev->driver = NULL;
        dev->rx_pkt_burst = pmd_rx_burst;
        dev->tx_pkt_burst = pmd_tx_burst;
-       snprintf(dev->data->name, sizeof(dev->data->name), "%s", name);
 
        /* Presetup the fds to -1 as being not valid */
        for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) {
-- 
2.8.0.rc0

Reply via email to