X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2FCMakeLists.txt;h=f6ccb0358d4279b3f4166ccf322466ad24cd89ca;hb=8ebd7929bdfd3ce6e9648abb76b7289056ea5114;hp=3199c3e43f0b6fc8b9edfcf941b7dd1ffb82ba84;hpb=79dcbc74cd417f4caf41bc398ccba94cab7d656b;p=vpp.git diff --git a/src/plugins/dpdk/CMakeLists.txt b/src/plugins/dpdk/CMakeLists.txt index 3199c3e43f0..f6ccb0358d4 100644 --- a/src/plugins/dpdk/CMakeLists.txt +++ b/src/plugins/dpdk/CMakeLists.txt @@ -17,6 +17,11 @@ find_path(DPDK_INCLUDE_DIR PATH_SUFFIXES dpdk NAMES rte_config.h) find_library(DPDK_LIB NAMES libdpdk.a) +if (NOT DPDK_INCLUDE_DIR) + message(WARNING "-- DPDK not found - dpdk_plugin disabled") + return() +endif() + ############################################################################## # Find DPDK Version ############################################################################## @@ -33,6 +38,15 @@ int main() #endif #ifdef RTE_LIBRTE_PMD_AESNI_GCM printf(\"RTE_LIBRTE_PMD_AESNI_GCM=%u\\n\", RTE_LIBRTE_PMD_AESNI_GCM); +#endif +#ifdef RTE_LIBRTE_MLX4_PMD + printf(\"RTE_LIBRTE_MLX4_PMD=%u\\n\", RTE_LIBRTE_MLX4_PMD); +#endif +#ifdef RTE_LIBRTE_MLX5_PMD + printf(\"RTE_LIBRTE_MLX5_PMD=%u\\n\", RTE_LIBRTE_MLX5_PMD); +#ifdef RTE_LIBRTE_MLX5_DLOPEN_DEPS + printf(\"RTE_LIBRTE_MLX5_DLOPEN_DEPS=%u\\n\", RTE_LIBRTE_MLX5_DLOPEN_DEPS); +#endif #endif return 0; } @@ -88,6 +102,15 @@ if(DPDK_INCLUDE_DIR AND DPDK_LIB) set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a") message(STATUS "DPDK depends on IPSec MB library") endif() + if(DPDK_RTE_LIBRTE_MLX4_PMD OR DPDK_RTE_LIBRTE_MLX5_PMD) + if (DPDK_RTE_LIBRTE_MLX5_DLOPEN_DEPS) + set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lmnl") + message(STATUS "DPDK depends on libmnl (Mellanox PMD requirement)") + else() + set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lmnl,-libverbs,-lmlx5") + message(STATUS "DPDK depends on libmnl, libibverbs, libmlx5 (Mellanox PMD requirement)") + endif() + endif() set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lnuma") add_vpp_plugin(dpdk SOURCES