From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: driver initialization in DPDK 2.0 built into a shared library. Date: Wed, 15 Jul 2015 10:14:42 +0100 Message-ID: <20150715091441.GA860@bricha3-MOBL3> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "dev@dpdk.org" To: "Polevoy, Igor" Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 1DD5DCF9 for ; Wed, 15 Jul 2015 11:14:57 +0200 (CEST) Content-Disposition: inline In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Jul 14, 2015 at 06:21:33PM +0000, Polevoy, Igor wrote: > Hi, > We are developing an application that uses DPDK PMD functionality . > We are using a linux shared library which contains the network packets processing code and it is statically linked with all the necessary DPDK libs. > The .so is loaded by the main program. > For the DPDK compilation we have added the -fPIC to the GCC options. > > While it all worked fine with DPDK 1.6 where we had the rte_pmd_init_all method, in the 2.0 version the > drivers registration methods (PMD_REGISTER_DRIVER) are not called when the shared library is loaded. > > Although, I can go along the lines of the rte_pmd_init all and manually call the driver registration, I'm concerned > that DPDK has other drivers initialization calls, and I don't actually know which are needed or could be needed and when. > > Do you have any advice on that? What is the best way to resolve this issue? > > Thank you > Igor. > You probably need to add the "no-as-needed" flag to your link command. /Bruce