Did you tried 'mk/rte_app.mk' to build you application? Simply including -lrte_pmd_xxx may cause problem because PMD_REGISTER_DRIVER uses 'init' attribute, which is called before the 'main' function. See the 'start-group' and 'whole-archive' linker options.
Keunhong. 2015-07-15 3:21 GMT+09:00 Polevoy, Igor <Igor_Polevoy at mcafee.com>: > 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. > >