[dpdk-dev] [PATCH v3] net/tap: fix dev name look-up

Ferruh Yigit ferruh.yigit at intel.com
Mon Mar 6 16:41:14 CET 2017


On 3/6/2017 3:13 PM, Pascal Mazon wrote:
> Store the device name in dev->data->name, to have symmetrical behavior
> between rte_pmd_tap_probe(name) and rte_pmd_tap_remove(name).
> 
> The netdevice name (linux interface name) is stored in the name field of
> struct pmd_internals.
> 
> snprintf(data->name) has been moved closer to the rte_ethdev_allocate()
> as it should use the same name.
> 
> Signed-off-by: Pascal Mazon <pascal.mazon at 6wind.com>
> ---
>  drivers/net/tap/rte_eth_tap.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
> index 47a706070652..ece3a5fcc897 100644
> --- a/drivers/net/tap/rte_eth_tap.c
> +++ b/drivers/net/tap/rte_eth_tap.c
> @@ -663,7 +663,9 @@ eth_dev_tap_create(const char *name, char *tap_name)
>  		goto error_exit;
>  	}
>  
> -	dev = rte_eth_dev_allocate(tap_name);
> +	/* name in allocation and data->name must be consistent */
> +	snprintf(data->name, sizeof(data->name), "%s", name);

When you use correct name (name) for rte_eth_dev_allocate(), snprintf()
no more required. rte_eth_dev_allocate() already does it [1].

[1]
http://dpdk.org/browse/dpdk/tree/lib/librte_ether/rte_ethdev.c#n230

> +	dev = rte_eth_dev_allocate(name);
>  	if (!dev) {
>  		RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n");
>  		goto error_exit;
> @@ -691,7 +693,6 @@ eth_dev_tap_create(const char *name, char *tap_name)
>  	dev->driver = NULL;
>  	dev->rx_pkt_burst = pmd_rx_burst;
>  	dev->tx_pkt_burst = pmd_tx_burst;
> -	snprintf(dev->data->name, sizeof(dev->data->name), "%s", name);
>  
>  	/* Presetup the fds to -1 as being not valid */
>  	for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) {
> 



More information about the dev mailing list