dev->data->name contains "net_tap", the device driver name.
dev->data->dev_private->name contains the actual iface name,
e.g. "dtap0".

In tun_alloc() especially, we want to use the latter. Otherwise the
netdevice would be wrongly named "net_tap". Furthermore, creating
several tap vdev would point to the same netdevice.

In any case, it must to be consistent with the tun_alloc() call in
eth_dev_tap_create().

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

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 91f63f5468b2..8faf08551b9e 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -410,6 +410,7 @@ tap_setup_queue(struct rte_eth_dev *dev,
                struct pmd_internals *internals,
                uint16_t qid)
 {
+       struct pmd_internals *pmd = dev->data->dev_private;
        struct rx_queue *rx = &internals->rxq[qid];
        struct tx_queue *tx = &internals->txq[qid];
        int fd;
@@ -419,11 +420,10 @@ tap_setup_queue(struct rte_eth_dev *dev,
                fd = tx->fd;
                if (fd < 0) {
                        RTE_LOG(INFO, PMD, "Add queue to TAP %s for qid %d\n",
-                               dev->data->name, qid);
-                       fd = tun_alloc(dev->data->name);
+                               pmd->name, qid);
+                       fd = tun_alloc(pmd->name);
                        if (fd < 0) {
-                               RTE_LOG(ERR, PMD, "tun_alloc(%s) failed\n",
-                                       dev->data->name);
+                               RTE_LOG(ERR, PMD, "tun_alloc(%s) failed\n", 
pmd->name);
                                return -1;
                        }
                }
@@ -493,7 +493,7 @@ tap_rx_queue_setup(struct rte_eth_dev *dev,
 
        internals->fds[rx_queue_id] = fd;
        RTE_LOG(INFO, PMD, "RX TAP device name %s, qid %d on fd %d\n",
-               dev->data->name, rx_queue_id, internals->rxq[rx_queue_id].fd);
+               internals->name, rx_queue_id, internals->rxq[rx_queue_id].fd);
 
        return 0;
 }
@@ -516,7 +516,7 @@ tap_tx_queue_setup(struct rte_eth_dev *dev,
                return -1;
 
        RTE_LOG(INFO, PMD, "TX TAP device name %s, qid %d on fd %d\n",
-               dev->data->name, tx_queue_id, internals->txq[tx_queue_id].fd);
+               internals->name, tx_queue_id, internals->txq[tx_queue_id].fd);
 
        return 0;
 }
-- 
2.8.0.rc0

Reply via email to