dpdk: fix cryptodev compile 78/30178/6
authorFan Zhang <roy.fan.zhang@intel.com>
Thu, 26 Nov 2020 16:14:53 +0000 (16:14 +0000)
committerDamjan Marion <dmarion@me.com>
Fri, 27 Nov 2020 15:50:35 +0000 (15:50 +0000)
Type: fix

VPP 20.09 used new cryptodev raw APIs in cryptodev_dp_api.c
provided by the DPDK 20.08 patch attached.

The APIs has been updated between now and then and will cause
Cryptodev engine compile failed when bumping DPDK to 20.11
due to the incompatible API formats.

As a temp solution to successfully bumping DPDK version this patch
makes the newer DPDK version using old cryptodev APIs by compiling
cryptodev.c instead.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I3db607c8c1b2b028166a750c4d66dfc6ff18814c

src/plugins/dpdk/CMakeLists.txt

index 7982940..e662dc9 100644 (file)
@@ -99,49 +99,12 @@ endif()
 # DPDK plugin
 ##############################################################################
 
-if (${DPDK_VERSION} VERSION_LESS "20.8.0")
-add_vpp_plugin(dpdk
-  SOURCES
-  buffer.c
-  main.c
-  thread.c
-  device/cli.c
-  device/common.c
-  device/device.c
-  device/flow.c
-  device/format.c
-  device/init.c
-  device/node.c
-  ipsec/cli.c
-  ipsec/crypto_node.c
-  ipsec/esp_decrypt.c
-  ipsec/esp_encrypt.c
-  ipsec/ipsec.c
-  cryptodev/cryptodev.c
-
-  MULTIARCH_SOURCES
-  buffer.c
-  device/device.c
-  device/node.c
-  ipsec/crypto_node.c
-  ipsec/esp_decrypt.c
-  ipsec/esp_encrypt.c
-
-  INSTALL_HEADERS
-  device/dpdk.h
-  ipsec/ipsec.h
-
-  LINK_FLAGS
-  "${DPDK_LINK_FLAGS}"
-
-  LINK_LIBRARIES
-  ${DPDK_LINK_LIBRARIES}
-
-  COMPONENT
-  vpp-plugin-dpdk
-)
-
+if (${DPDK_VERSION} VERSION_EQUAL "20.8.0")
+  set(DPDK_CRYPTODEV_SOURCE cryptodev_dp_api)
 else ()
+  set(DPDK_CRYPTODEV_SOURCE cryptodev)
+endif ()
+
 add_vpp_plugin(dpdk
   SOURCES
   buffer.c
@@ -159,7 +122,7 @@ add_vpp_plugin(dpdk
   ipsec/esp_decrypt.c
   ipsec/esp_encrypt.c
   ipsec/ipsec.c
-  cryptodev/cryptodev_dp_api.c
+  cryptodev/${DPDK_CRYPTODEV_SOURCE}.c
 
   MULTIARCH_SOURCES
   buffer.c
@@ -182,5 +145,3 @@ add_vpp_plugin(dpdk
   COMPONENT
   vpp-plugin-dpdk
 )
-
-endif ()
\ No newline at end of file