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
> 

Reply via email to