[dpdk-dev] [PATCH 1/6] net/tap: use correct tap name

Ferruh Yigit ferruh.yigit at intel.com
Tue Jan 31 16:14:48 CET 2017


On 1/31/2017 2:52 PM, Wiles, Keith wrote:
> 
>> On Jan 31, 2017, at 3:42 AM, Pascal Mazon <pascal.mazon at 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.mazon at 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
> 



More information about the dev mailing list