Comment 17 for bug 1783471

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/45111
Committed: http://github.com/Juniper/contrail-dpdk/commit/e1c92545b37915ee0991335fa1fb18aeb00595ba
Submitter: Zuul v3 CI (<email address hidden>)
Branch: contrail_dpdk_17_11_3

commit e1c92545b37915ee0991335fa1fb18aeb00595ba
Author: Matan Azrad <email address hidden>
Date: Tue Jan 30 16:34:58 2018 +0100

net/mlx5: spawn rdma-core dependency plug-in

Partial-bug: #1783471
When mlx5 is not compiled directly as an independent shared object (e.g.
CONFIG_RTE_BUILD_SHARED_LIB not enabled for performance reasons), DPDK
applications inherit its dependencies on libibverbs and libmlx5 through
rte.app.mk.

This is an issue both when DPDK is delivered as a binary package (Linux
distributions) and for end users because rdma-core then propagates as a
mandatory dependency for everything.

Application writers relying on binary DPDK packages are not necessarily
aware of this fact and may end up delivering packages with broken
dependencies.

This patch therefore introduces an intermediate internal plug-in
hard-linked with rdma-core (to preserve symbol versioning) loaded by the
PMD through dlopen(), so that a missing rdma-core does not cause unresolved
symbols, allowing applications to start normally.

Change-Id: I696fad9cc1d085c5622dec23e0983290d391ee90
Signed-off-by: matan <email address hidden>