dpdk: fix missing symbol
Type: fix This patch fixes the missing symbol of dpdk_plugin.so when creating symmetric key. The solution is to add dependency of libssl to dpdk cryptodev and disable cryptodev engine when libssl is not presented. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I30aa6e3e3af1faefa82883bad613e1d82235a2ec
This commit is contained in:
@@ -117,9 +117,15 @@ endif()
|
||||
# DPDK plugin
|
||||
##############################################################################
|
||||
|
||||
if (${DPDK_VERSION} VERSION_GREATER_EQUAL "20.8.0")
|
||||
set(DPDK_CRYPTODEV_RAW_SOURCE cryptodev/cryptodev_raw_data_path.c)
|
||||
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
|
||||
@@ -133,8 +139,8 @@ add_vpp_plugin(dpdk
|
||||
device/format.c
|
||||
device/init.c
|
||||
device/node.c
|
||||
cryptodev/cryptodev_op_data_path.c
|
||||
cryptodev/cryptodev.c
|
||||
${DPDK_CRYPTODEV_OP_SOURCE}
|
||||
${DPDK_CRYPTODEV_SOURCE}
|
||||
${DPDK_CRYPTODEV_RAW_SOURCE}
|
||||
|
||||
MULTIARCH_SOURCES
|
||||
@@ -151,6 +157,9 @@ add_vpp_plugin(dpdk
|
||||
LINK_LIBRARIES
|
||||
${DPDK_LINK_LIBRARIES}
|
||||
|
||||
LINK_LIBRARIES
|
||||
${OPENSSL_LIBRARIES}
|
||||
|
||||
COMPONENT
|
||||
vpp-plugin-dpdk
|
||||
)
|
||||
|
||||
@@ -200,7 +200,6 @@ clib_error_t *cryptodev_register_cop_hdl (vlib_main_t *vm, u32 eidx);
|
||||
clib_error_t *__clib_weak cryptodev_register_raw_hdl (vlib_main_t *vm,
|
||||
u32 eidx);
|
||||
|
||||
clib_error_t *
|
||||
dpdk_cryptodev_init (vlib_main_t * vm);
|
||||
clib_error_t *__clib_weak dpdk_cryptodev_init (vlib_main_t *vm);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1842,11 +1842,15 @@ dpdk_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
|
||||
if (error)
|
||||
clib_error_report (error);
|
||||
|
||||
error = dpdk_cryptodev_init (vm);
|
||||
if (error)
|
||||
if (dpdk_cryptodev_init)
|
||||
{
|
||||
vlib_log_warn (dpdk_main.log_cryptodev, "%U", format_clib_error, error);
|
||||
clib_error_free (error);
|
||||
error = dpdk_cryptodev_init (vm);
|
||||
if (error)
|
||||
{
|
||||
vlib_log_warn (dpdk_main.log_cryptodev, "%U", format_clib_error,
|
||||
error);
|
||||
clib_error_free (error);
|
||||
}
|
||||
}
|
||||
|
||||
tm->worker_thread_release = 1;
|
||||
|
||||
Reference in New Issue
Block a user