From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout1.radware.com (mailout1.radware.com [192.115.180.130]) by dpdk.org (Postfix) with ESMTP id 8A7592BA1; Thu, 2 Mar 2017 08:51:31 +0100 (CET) Received: from localhost.localdomain (176.200.121.200) by ILCAS1.corp.radware.com (176.200.120.121) with Microsoft SMTP Server id 14.3.319.2; Thu, 2 Mar 2017 09:51:30 +0200 From: Ami Sabo To: , CC: , , Ami Sabo Date: Thu, 2 Mar 2017 09:51:22 +0200 Message-ID: <1488441084-6039-2-git-send-email-amis@radware.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1488441084-6039-1-git-send-email-amis@radware.com> References: <1488102926-24158-2-git-send-email-amis@radware.com> <1488441084-6039-1-git-send-email-amis@radware.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.100.1062-22916.005 X-TM-AS-Result: No--4.713000-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No Subject: [dpdk-dev] [PATCH v2 1/3] lib/librte_ether: export secondary attach function 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: Thu, 02 Mar 2017 07:51:32 -0000 Today eth_dev_attach_secondary is defined as static and can only be called by pci drivers. However, the functionality is also required for non-pci drivers - so the patch export the function. Signed-off-by: Ami Sabo --- lib/librte_ether/rte_ethdev.c | 6 +++--- lib/librte_ether/rte_ethdev.h | 13 +++++++++++++ lib/librte_ether/rte_ether_version.map | 7 +++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index eb0a94a..86ee5bb 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -239,8 +239,8 @@ rte_eth_dev_allocate(const char *name) * makes sure that the same device would have the same port id both * in the primary and secondary process. */ -static struct rte_eth_dev * -eth_dev_attach_secondary(const char *name) +struct rte_eth_dev * +rte_eth_dev_attach_secondary(const char *name) { uint8_t i; struct rte_eth_dev *eth_dev; @@ -302,7 +302,7 @@ rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv, if (eth_dev->data->dev_private == NULL) rte_panic("Cannot allocate memzone for private port data\n"); } else { - eth_dev = eth_dev_attach_secondary(ethdev_name); + eth_dev = rte_eth_dev_attach_secondary(ethdev_name); if (eth_dev == NULL) { /* * if we failed to attach a device, it means the diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 97f3e2d..9d5848b 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1762,6 +1762,19 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name); /** * @internal + * Attach to the ethdev already initialized by the primary + * process. + * + * @param name Ethernet device's name. + @return + * - Success: Slot in the rte_dev_devices array for attached + * device. + * - Error: Null pointer. + */ +struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name); + +/** + * @internal * Release the specified ethdev port. * * @param eth_dev diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map index c6c9d0d..d34c57a 100644 --- a/lib/librte_ether/rte_ether_version.map +++ b/lib/librte_ether/rte_ether_version.map @@ -154,3 +154,10 @@ DPDK_17.02 { rte_flow_validate; } DPDK_16.11; + +DPDK_17.05 { + global: + + rte_eth_dev_attach_secondary; + +} DPDK_17.02; -- 2.7.4