X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2FCMakeLists.txt;h=45605baada0cdde64f908fedab864591357027ee;hb=040950a59d53e8802ad31430d67df105939cce4c;hp=a0a083966b32e79e3768995dc6477de021e1b43a;hpb=77bc1a5fb1d5b08e9fc24fc1190a5d640aabd2a1;p=vpp.git diff --git a/src/plugins/dpdk/CMakeLists.txt b/src/plugins/dpdk/CMakeLists.txt index a0a083966b3..45605baada0 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 ############################################################################## @@ -39,6 +44,9 @@ int main() #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; } @@ -95,8 +103,13 @@ if(DPDK_INCLUDE_DIR AND DPDK_LIB) message(STATUS "DPDK depends on IPSec MB library") endif() if(DPDK_RTE_LIBRTE_MLX4_PMD OR DPDK_RTE_LIBRTE_MLX5_PMD) - set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lmnl") - message(STATUS "DPDK depends on libmnl (Mellanox PMD requirement)") + 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 @@ -124,6 +137,9 @@ if(DPDK_INCLUDE_DIR AND DPDK_LIB) buffer.c device/device.c device/node.c + ipsec/crypto_node.c + ipsec/esp_decrypt.c + ipsec/esp_encrypt.c API_FILES api/dpdk.api