From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id B38DB108A for ; Mon, 6 Mar 2017 15:33:00 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP; 06 Mar 2017 06:32:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,254,1484035200"; d="scan'208";a="232820798" 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 06:32:57 -0800 To: "Wiles, Keith" References: <1ad979ca71ba1ebe10572237a6a5b4694c23b645.1488531158.git.pascal.mazon@6wind.com> <83e0d49d-e2b5-1b4b-288f-2d0eaaedc94b@intel.com> <50C67BB6-76E8-4CB0-9493-284CA82B5DC4@intel.com> Cc: Pascal Mazon , "dev@dpdk.org" From: Ferruh Yigit Message-ID: <6c96195b-b7bd-1a6c-3c57-8ae343f6b5e6@intel.com> Date: Mon, 6 Mar 2017 14:32:56 +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: <50C67BB6-76E8-4CB0-9493-284CA82B5DC4@intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] 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 14:33:01 -0000 On 3/6/2017 2:15 PM, Wiles, Keith wrote: > >> On Mar 5, 2017, at 3:35 PM, Yigit, Ferruh wrote: >> >> On 3/3/2017 8:54 AM, Pascal Mazon wrote: >>> The call to rte_eth_dev_allocate(tap_name) sets dev->data->name to >>> tap_name (e.g. "dtap0"). >>> >>> A look-up using tap_name is expected to return this device, not a >>> look-up using name (e.g. "net_tap0"). >> >> This will break rte_pmd_tap_remove(), because it gets device name >> (net_tap0) as parameter. >> >> And logically this is wrong too, current eth_dev->data->name is to keep >> device name, all other PMDs use this way, not for Linux interface name. >> >> Current tap PMD, first gives "dtap0" to rte_eth_dev_allocate() as >> argument, which sets device name to this value. Later with snprintf() >> overwrites the device name with correct value, I think better thing to >> do is give correct argument to rte_eth_dev_allocate() and remove snprintf() > > All of these different names for the device is driving me crazy :-) > > As long as the name of the device as seen from the ifconfig command or host facing name is dtapX then I am ok. We need to clean this up somehow as it is very confusing. It is not that bad indeed, from DPDK point of view, there is device and driver name, and specific to tap, there is also Linux device (interface) name. Using Linux device name for DPDK device structures caused confusion for tap, but I am not sure what to clean up. > >> >>> >>> Signed-off-by: Pascal Mazon >>> --- >>> drivers/net/tap/rte_eth_tap.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c >>> index 47a706070652..14c345f07afa 100644 >>> --- a/drivers/net/tap/rte_eth_tap.c >>> +++ b/drivers/net/tap/rte_eth_tap.c >>> @@ -691,7 +691,7 @@ 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); >>> + snprintf(dev->data->name, sizeof(dev->data->name), "%s", tap_name); >>> >>> /* Presetup the fds to -1 as being not valid */ >>> for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) { >>> >> > > Regards, > Keith >