From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 25CF8108A for ; Mon, 6 Mar 2017 14:51:46 +0100 (CET) Received: from 6wind.com (unknown [10.16.0.184]) by proxy.6wind.com (Postfix) with SMTP id 3C00625383; Mon, 6 Mar 2017 14:51:40 +0100 (CET) Received: by 6wind.com (sSMTP sendmail emulation); Mon, 06 Mar 2017 14:51:38 +0100 From: Pascal Mazon To: keith.wiles@intel.com, ferruh.yigit@intel.com Cc: dev@dpdk.org, Pascal Mazon Date: Mon, 6 Mar 2017 14:51:28 +0100 Message-Id: <64e79c8c7398e0af093168d614c0ca62dc28377e.1488808159.git.pascal.mazon@6wind.com> X-Mailer: git-send-email 2.8.0.rc0 In-Reply-To: <1ad979ca71ba1ebe10572237a6a5b4694c23b645.1488531158.git.pascal.mazon@6wind.com> References: <1ad979ca71ba1ebe10572237a6a5b4694c23b645.1488531158.git.pascal.mazon@6wind.com> Subject: [dpdk-dev] [PATCH v2] 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 13:51:46 -0000 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. There's no need to allocate an rte_eth_dev_data, as it is done in rte_eth_dev_allocate()/rte_eth_dev_data_alloc(). Signed-off-by: Pascal Mazon --- drivers/net/tap/rte_eth_tap.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index 47a706070652..839c4187a47f 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -651,23 +651,22 @@ eth_dev_tap_create(const char *name, char *tap_name) RTE_LOG(DEBUG, PMD, " TAP device on numa %u\n", rte_socket_id()); - data = rte_zmalloc_socket(tap_name, sizeof(*data), 0, numa_node); - if (!data) { - RTE_LOG(ERR, PMD, "TAP Failed to allocate data\n"); - goto error_exit; - } - pmd = rte_zmalloc_socket(tap_name, sizeof(*pmd), 0, numa_node); if (!pmd) { RTE_LOG(ERR, PMD, "TAP Unable to allocate internal struct\n"); goto error_exit; } - dev = rte_eth_dev_allocate(tap_name); + dev = rte_eth_dev_allocate(name); if (!dev) { RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n"); goto error_exit; } + data = dev->data; + if (!dev->data) { + RTE_LOG(ERR, PMD, "TAP Failed to allocate data\n"); + goto error_exit; + } snprintf(pmd->name, sizeof(pmd->name), "%s", tap_name); @@ -686,12 +685,10 @@ eth_dev_tap_create(const char *name, char *tap_name) data->nb_rx_queues = pmd->nb_queues; data->nb_tx_queues = pmd->nb_queues; - dev->data = data; dev->dev_ops = &ops; 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++) { -- 2.8.0.rc0