Hi, I've an issue that's better explained by an example:
We're shipping a tool to different customers with different environments, sometime they run on Mellanox hardware, sometime on Intel etc. The main DPDK application is released in multiple builds to accommodate every customer environment, this is a bit painful as the number of different builds keep growing. To solve the problem I would like to just release a build which is same for everybody and then ship little plugins with dedicated code, the problem is that when I try to load the DPDK shared library plugin into my app with dlopen I keep getting errors like: . EAL: RTE_RING tailq is already registered PANIC in tailqinitfn_rte_ring_tailq(): Cannot initialize tailq: RTE_RING . with subsequent shutdown. Is this a compilation issue that I can somehow solve or that's plain not possible from DPDK design perspective? Ideally I would like to: 1) Have a DPDK build (/mk/rte.extapp.mk) with a limited support for certain features, like Mellanox PMD which have dependencies that are not always meet.. 2) When some of those features are required I would like to load dynamically the DPDK .so library (/mk/rte.extshared.mk) which include support for them and dedicated code to handle the app (1) processing. Can anybody suggest a way to accomplish what I'm trying to do? Please let me know if further details are needed. Thanks -- BR, Filip +48 666 369 823
