summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/dpdk/CMakeLists.txt12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/dpdk/CMakeLists.txt b/src/plugins/dpdk/CMakeLists.txt
index e662dc9a1db..1dd7507c0b0 100644
--- a/src/plugins/dpdk/CMakeLists.txt
+++ b/src/plugins/dpdk/CMakeLists.txt
@@ -86,12 +86,18 @@ list(APPEND DPDK_LINK_LIBRARIES ${NUMA_LIB})
# Mellanox libraries
##############################################################################
if(DPDK_RTE_LIBRTE_MLX4_PMD OR DPDK_RTE_LIBRTE_MLX5_PMD)
- vpp_plugin_find_library(dpdk MNL_LIB "mnl")
- list(APPEND DPDK_LINK_LIBRARIES "${MNL_LIB}")
if (DPDK_RTE_IBVERBS_LINK_DLOPEN)
message(STATUS "DPDK depends on libmnl (Mellanox PMD requirement)")
+ vpp_plugin_find_library(dpdk MNL_LIB "mnl")
+ list(APPEND DPDK_LINK_LIBRARIES "${MNL_LIB}")
else()
- message(WARNING "unsupported DPDK configuration: DPDK Mellanox PMD requires RTE_IBVERBS_LINK_DLOPEN")
+ message(WARNING "EXPERIMENTAL: DPDK plugin without dlopen mode")
+ vpp_plugin_find_library(dpdk IBVERBS_LIB "libibverbs.a")
+ vpp_plugin_find_library(dpdk MLX5_LIB "libmlx5.a")
+ vpp_plugin_find_library(dpdk MLX4_LIB "libmlx4.a")
+ vpp_plugin_find_library(dpdk CCAN_LIB "libccan.a")
+ vpp_plugin_find_library(dpdk RDMA_UTIL_LIB "rdma_util")
+ string_append(DPDK_LINK_FLAGS "-Wl,--whole-archive,${IBVERBS_LIB},${MLX5_LIB},${MLX4_LIB},${CCAN_LIB},${RDMA_UTIL_LIB},--no-whole-archive")
endif()
endif()