> On Jan 31, 2017, at 9:14 AM, Yigit, Ferruh <ferruh.yi...@intel.com> wrote: > > 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.
OK, I see. Let me integrate the changes suggested and see how they work with my changes. I may send a patch with a combination of the changes and see what everyone thinks. > >> >>> >> >> Regards, >> Keith Regards, Keith