On 1/31/2017 2:52 PM, Wiles, Keith wrote: > >> On Jan 31, 2017, at 3:42 AM, Pascal Mazon <pascal.ma...@6wind.com> wrote: >> >> 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 > > I have not looked at the code completely yet, but it seems reasonable. The > only problem is I did have a cleanup patch for the TAP PMD, but Ferruh > suggested it was way too many changes at this time for RC2. Are we still > under that restriction or when would you suggest this be applied?
RC2 is out now, I was aiming that tap PMD works with testpmd with RC2. Now there is some time for RC3 and some fixes can go in, no new features but fixes. > >> > > Regards, > Keith >