vnet: device flow offload infra
[vpp.git] / src / plugins / dpdk.am
index 905ba20..7c6e005 100644 (file)
@@ -25,17 +25,11 @@ endif
 if WITH_ISA_L_CRYPTO_LIB
 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a
 endif
-if WITH_IBVERBS_LIB
-dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
-endif
-if DPDK_IS_1702_OR_1705
-dpdk_plugin_la_CFLAGS = $(AM_CFLAGS) -DDPDK_VOID_CALLBACK=1 -DDPDK_NO_AEAD=1
-else
-dpdk_plugin_la_CFLAGS = $(AM_CFLAGS) -DDPDK_VOID_CALLBACK=0 -DDPDK_NO_AEAD=0
+dpdk_plugin_la_CFLAGS = $(AM_CFLAGS)
 dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
-endif
 
 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
+dpdk_plugin_la_LIBADD =
 
 dpdk_plugin_la_SOURCES =                                       \
   dpdk/main.c                                                  \
@@ -44,6 +38,7 @@ dpdk_plugin_la_SOURCES =                                      \
   dpdk/api/dpdk_api.c                                          \
   dpdk/device/cli.c                                            \
   dpdk/device/common.c                                         \
+  dpdk/device/flow.c                                           \
   dpdk/device/dpdk_priv.h                                      \
   dpdk/device/device.c                                         \
   dpdk/device/format.c                                         \
@@ -59,6 +54,37 @@ dpdk_plugin_la_SOURCES =                                     \
 
 API_FILES += dpdk/api/dpdk.api
 
+if CPU_X86_64
+dpdk_multiversioning_files =                                   \
+       dpdk/buffer.c                                           \
+       dpdk/device/node.c                                      \
+       dpdk/device/device.c
+
+if CC_SUPPORTS_AVX2
+###############################################################
+# AVX2
+###############################################################
+libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_files)
+libdpdk_plugin_avx2_la_CFLAGS =                                        \
+       $(AM_CFLAGS)  @CPU_AVX2_FLAGS@                          \
+       -DCLIB_MULTIARCH_VARIANT=avx2
+noinst_LTLIBRARIES += libdpdk_plugin_avx2.la
+dpdk_plugin_la_LIBADD += libdpdk_plugin_avx2.la
+endif
+
+if CC_SUPPORTS_AVX512
+###############################################################
+# AVX512
+###############################################################
+libdpdk_plugin_avx512_la_SOURCES = $(dpdk_multiversioning_files)
+libdpdk_plugin_avx512_la_CFLAGS =                              \
+       $(AM_CFLAGS) @CPU_AVX512_FLAGS@                         \
+       -DCLIB_MULTIARCH_VARIANT=avx512
+noinst_LTLIBRARIES += libdpdk_plugin_avx512.la
+dpdk_plugin_la_LIBADD += libdpdk_plugin_avx512.la
+endif
+endif
+
 nobase_include_HEADERS +=                                      \
   dpdk/device/dpdk.h                                           \
   dpdk/api/dpdk_all_api_h.h                                    \