From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 8549D952 for ; Mon, 6 Mar 2017 17:02:48 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP; 06 Mar 2017 08:02:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,254,1484035200"; d="scan'208";a="232850299" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.254.185.48]) ([10.254.185.48]) by fmsmga004.fm.intel.com with ESMTP; 06 Mar 2017 08:02:45 -0800 To: Pascal Mazon References: <64e79c8c7398e0af093168d614c0ca62dc28377e.1488808159.git.pascal.mazon@6wind.com> <2bbf94d7-7fe9-410d-438c-41a5560497c2@intel.com> <20170306165501.31059907@paques.dev.6wind.com> Cc: keith.wiles@intel.com, dev@dpdk.org From: Ferruh Yigit Message-ID: Date: Mon, 6 Mar 2017 16:02:43 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170306165501.31059907@paques.dev.6wind.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3] net/tap: fix dev name look-up X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2017 16:02:48 -0000 On 3/6/2017 3:55 PM, Pascal Mazon wrote: > On Mon, 6 Mar 2017 15:41:14 +0000 > Ferruh Yigit wrote: > >> 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 >>> --- >>> 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 >> > > I disagree here. What rte_eth_dev_allocate() changes, is the shared > automatically-allocated data part, as mentioned in your earlier mail. > We didn't yet pass our own manually allocated data to dev. > > Do you see what I mean? Yes I do, you are right, so this looks good. > > Best regards, > Pascal > >>> + 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++) { >>> >> >