[dpdk-dev] driver initialization in DPDK 2.0 built into a shared library.

Keunhong Lee dlrmsghd at gmail.com
Tue Jul 14 20:41:48 CEST 2015


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.
>
>


More information about the dev mailing list