dpdk_plugin: fix mlx5 build and runtime issues

There are issues with VPP finding and linking the mlx5 shared glue
library which was built by default if mlx5 was enabled.

Runtime Errors this patch fixes:

net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0:
cannot open shared object file: No such file or directory

net_mlx5: cannot initialize PMD due to missing run-time dependency on
rdma-core libraries (libibverbs, libmlx5)

This patch introduces additional config parameter to disable glue
library building and instead statically link ibverbs and mlx5
libraries to the PMD and dpdk_plugin.

Change-Id: I0b2f67652a57854c778e991780903fb15706ace8
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
This commit is contained in:
Sirshak Das
2018-09-22 14:57:26 -05:00
committed by Damjan Marion
parent 412e7b64f9
commit c263e48bdb
3 changed files with 17 additions and 3 deletions

View File

@@ -17,6 +17,7 @@ DPDK_DOWNLOAD_DIR ?= $(DL_CACHE_DIR)
DPDK_DEBUG ?= n
DPDK_MLX4_PMD ?= n
DPDK_MLX5_PMD ?= n
DPDK_MLX5_PMD_DLOPEN_DEPS ?= n
DPDK_TAP_PMD ?= n
DPDK_FAILSAFE_PMD ?= n
@@ -196,7 +197,7 @@ $(B)/custom-config: $(B)/.patch.ok Makefile
$(call set,RTE_LIBRTE_MLX5_PMD,$(DPDK_MLX5_PMD))
$(call set,RTE_LIBRTE_PMD_SOFTNIC,n)
$(call set,RTE_LIBRTE_MLX4_DLOPEN_DEPS,$(DPDK_MLX4_PMD))
$(call set,RTE_LIBRTE_MLX5_DLOPEN_DEPS,$(DPDK_MLX5_PMD))
$(call set,RTE_LIBRTE_MLX5_DLOPEN_DEPS,$(DPDK_MLX5_PMD_DLOPEN_DEPS))
$(call set,RTE_LIBRTE_PMD_TAP,$(DPDK_TAP_PMD))
$(call set,RTE_LIBRTE_PMD_FAILSAFE,$(DPDK_FAILSAFE_PMD))
@# not needed