X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2FCMakeLists.txt;h=48b1548f9c2f457d31e71325ee93391b49e814b4;hb=8bd4db5996ba1144f659ea5341f1c2727c650bcd;hp=6ec48578852df220e31a77a6657cd5e3c937674f;hpb=6c8533d4c18460029adbe0825b8dee257805fbc8;p=vpp.git diff --git a/src/plugins/dpdk/CMakeLists.txt b/src/plugins/dpdk/CMakeLists.txt index 6ec48578852..48b1548f9c2 100644 --- a/src/plugins/dpdk/CMakeLists.txt +++ b/src/plugins/dpdk/CMakeLists.txt @@ -20,11 +20,12 @@ if(VPP_USE_SYSTEM_DPDK) pkg_check_modules(DPDK REQUIRED libdpdk) message(WARNING "-- linking dpdk plugin against system libdpdk, version ${DPDK_VERSION}") set(DPDK_LINK_FLAGS ${DPDK_LDFLAGS}) + include_directories (${DPDK_INCLUDE_DIRS}) else() ############################################################################## # Find lib and include files ############################################################################## - find_path(DPDK_INCLUDE_DIR PATH_SUFFIXES dpdk NAMES rte_config.h) + vpp_find_path(DPDK_INCLUDE_DIR PATH_SUFFIXES dpdk NAMES rte_config.h) vpp_plugin_find_library(dpdk DPDK_LIB "libdpdk.a") if (NOT DPDK_INCLUDE_DIR) @@ -95,19 +96,17 @@ else() ############################################################################## # Mellanox libraries ############################################################################## - if(DPDK_RTE_LIBRTE_MLX4_PMD OR DPDK_RTE_LIBRTE_MLX5_PMD) + if(DPDK_RTE_NET_MLX4 OR DPDK_RTE_NET_MLX5) 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 "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") + 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") + string_append(DPDK_LINK_FLAGS "-Wl,--whole-archive,${IBVERBS_LIB},${MLX5_LIB},${MLX4_LIB} -Wl,--no-whole-archive,--exclude-libs,ALL") endif() endif() endif() @@ -116,25 +115,31 @@ endif() # DPDK plugin ############################################################################## -if (${DPDK_VERSION} VERSION_GREATER_EQUAL "20.8.0") - set(DPDK_CRYPTODEV_SOURCE cryptodev_dp_api) -else () - set(DPDK_CRYPTODEV_SOURCE cryptodev) -endif () +if(OPENSSL_FOUND) + include_directories(${OPENSSL_INCLUDE_DIR}) + + set(DPDK_CRYPTODEV_OP_SOURCE cryptodev/cryptodev_op_data_path.c) + set(DPDK_CRYPTODEV_SOURCE cryptodev/cryptodev.c) + if (${DPDK_VERSION} VERSION_GREATER_EQUAL "20.8.0") + set(DPDK_CRYPTODEV_RAW_SOURCE cryptodev/cryptodev_raw_data_path.c) + endif() +endif() add_vpp_plugin(dpdk SOURCES buffer.c main.c - thread.c device/cli.c device/common.c device/device.c + device/driver.c device/flow.c device/format.c device/init.c device/node.c - cryptodev/${DPDK_CRYPTODEV_SOURCE}.c + ${DPDK_CRYPTODEV_OP_SOURCE} + ${DPDK_CRYPTODEV_SOURCE} + ${DPDK_CRYPTODEV_RAW_SOURCE} MULTIARCH_SOURCES buffer.c @@ -150,6 +155,9 @@ add_vpp_plugin(dpdk LINK_LIBRARIES ${DPDK_LINK_LIBRARIES} + LINK_LIBRARIES + ${OPENSSL_CRYPTO_LIBRARIES} + COMPONENT vpp-plugin-dpdk )