X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2FCMakeLists.txt;h=45605baada0cdde64f908fedab864591357027ee;hb=040950a59d53e8802ad31430d67df105939cce4c;hp=0b08b0663b6b91ea676054e458a45787b2fd111d;hpb=74449b8b68801e0938f528f19d69e75644cb2ee9;p=vpp.git diff --git a/src/plugins/dpdk/CMakeLists.txt b/src/plugins/dpdk/CMakeLists.txt index 0b08b0663b6..45605baada0 100644 --- a/src/plugins/dpdk/CMakeLists.txt +++ b/src/plugins/dpdk/CMakeLists.txt @@ -14,9 +14,13 @@ ############################################################################## # Find lib and include files ############################################################################## -find_path(DPDK_INCLUDE_DIR PATH_SUFFIXES dpdk NAMES rte_config.h HINTS - ${DPDK_INCLUDE_DIR_HINT}) -find_library(DPDK_LIB NAMES libdpdk.a HINTS ${DPDK_LIB_DIR_HINT}) +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 @@ -34,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; } @@ -89,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 @@ -115,12 +137,26 @@ 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 + API_TEST_SOURCES + api/dpdk_test.c + + INSTALL_HEADERS + device/dpdk.h + api/dpdk_all_api_h.h + ipsec/ipsec.h + LINK_FLAGS ${DPDK_LINK_FLAGS} + + COMPONENT + vpp-plugin-dpdk ) else() message(WARNING "DPDK not found - dpdk disabled")