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