From 48d0c61bf5e1a0868f3d748909b7464328451bd2 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 02:38:44 +0300 Subject: [PATCH 01/15] helper: link against libpthread and libodp-linux libodphelper.so uses symbols from libpthread and libodp-linux.so, link it aganst those libraries. Signed-off-by: Dmitry Eremin-Solenikov --- helper/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helper/Makefile.am b/helper/Makefile.am index ee1c17d6d0..ebb67346c8 100644 --- a/helper/Makefile.am +++ b/helper/Makefile.am @@ -10,6 +10,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/platform/@with_platform@/include \ -I$(top_srcdir)/platform/@with_platform@/arch/@ARCH_DIR@ \ -I$(top_builddir)/include +AM_CFLAGS = $(PTHREAD_CFLAGS) AM_LDFLAGS = -version-number '$(ODPHELPER_LIBSO_VERSION)' @@ -60,4 +61,6 @@ __LIB__libodphelper_la_SOURCES += \ linux/thread.c endif +__LIB__libodphelper_la_LIBADD = $(PTHREAD_LIBS) $(LIB)/libodp-linux.la + lib_LTLIBRARIES = $(LIB)/libodphelper.la From 1deacff4c0cb5e7a64f23736740b1b8890d83c1e Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 02:43:08 +0300 Subject: [PATCH 02/15] doc: add missing user-guide images to Makefile.am Omitting those images in Makefile.am made them disappear from distribution tarball resulting in an improperly-built documentation files. Signed-off-by: Dmitry Eremin-Solenikov --- doc/users-guide/Makefile.am | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/users-guide/Makefile.am b/doc/users-guide/Makefile.am index b2ebd4d4f5..7be32ddc19 100644 --- a/doc/users-guide/Makefile.am +++ b/doc/users-guide/Makefile.am @@ -32,6 +32,12 @@ IMAGES = $(IMAGES_DIR)/overview.svg \ $(IMAGES_DIR)/pktio_fsm.svg \ $(IMAGES_DIR)/pktout_direct_send.svg \ $(IMAGES_DIR)/pktout_queue_send.svg \ + $(IMAGES_DIR)/ref.svg \ + $(IMAGES_DIR)/refpkt1.svg \ + $(IMAGES_DIR)/refpkt2.svg \ + $(IMAGES_DIR)/refpktmulti.svg \ + $(IMAGES_DIR)/refpktsingle.svg \ + $(IMAGES_DIR)/refstatic.svg \ $(IMAGES_DIR)/release_git.svg \ $(IMAGES_DIR)/segment.svg \ $(IMAGES_DIR)/simple_release_git.svg \ From 65e59b58e7ddde8773deae48637d533e2c39cb23 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 02:43:08 +0300 Subject: [PATCH 03/15] doc: add missing implementers-guide images to Makefile.am Omitting those images in Makefile.am made them disappear from distribution tarball resulting in an improperly-built documentation files. Signed-off-by: Dmitry Eremin-Solenikov --- doc/implementers-guide/Makefile.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/implementers-guide/Makefile.am b/doc/implementers-guide/Makefile.am index 07ee141c8b..c407339e22 100644 --- a/doc/implementers-guide/Makefile.am +++ b/doc/implementers-guide/Makefile.am @@ -2,10 +2,12 @@ include ../Makefile.inc SRC = implementers-guide.adoc TARGET = implementers-guide.html +IMAGES = $(IMAGES_DIR)/abi_llvm.svg \ + $(IMAGES_DIR)/abi_traditional.svg -EXTRA_DIST = $(SRC) +EXTRA_DIST = $(SRC) $(IMAGES) doc_DATA = $(TARGET) -$(TARGET): $(SRC) +$(TARGET): $(SRC) $(IMAGES) CLEANFILES = $(doc_DATA) From 4aff7b2a106074bcdc418fbcfc0b6ede68978a74 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 03:27:20 +0300 Subject: [PATCH 04/15] performance: odp_crypto: correct typo Receieved -> Received. Signed-off-by: Dmitry Eremin-Solenikov --- test/performance/odp_crypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/performance/odp_crypto.c b/test/performance/odp_crypto.c index 0cbc2754e5..761cc8cff0 100644 --- a/test/performance/odp_crypto.c +++ b/test/performance/odp_crypto.c @@ -612,7 +612,7 @@ run_measure_one(crypto_args_t *cargs, if (cargs->debug_packets) { mem = odp_packet_data(out_pkt); - print_mem("Receieved encrypted packet", + print_mem("Received encrypted packet", mem, payload_length + config-> From c3b12c0f0985c8d1a3ed0441bc37a6f207aad74c Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 04:20:08 +0300 Subject: [PATCH 05/15] linux-gen: don't pass DPKD_LIBS for dynamic linking with libodp-linux Signed-off-by: Dmitry Eremin-Solenikov --- platform/linux-generic/libodp-linux.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/linux-generic/libodp-linux.pc.in b/platform/linux-generic/libodp-linux.pc.in index 220dbc9c69..962a4f78ff 100644 --- a/platform/linux-generic/libodp-linux.pc.in +++ b/platform/linux-generic/libodp-linux.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: libodp-linux Description: The ODP packet processing engine Version: @PKGCONFIG_VERSION@ -Libs: -L${libdir} -lodp-linux @DPDK_LIBS@ +Libs: -L${libdir} -lodp-linux Libs.private: @OPENSSL_STATIC_LIBS@ @DPDK_PMDS@ @DPDK_LIBS@ @PCAP_LIBS@ @PTHREAD_LIBS@ @TIMER_LIBS@ -lpthread @ATOMIC_LIBS@ Cflags: -I${includedir} From c52f4dc12139bc13c68a2b58ca5e28188dad2f6a Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 04:20:35 +0300 Subject: [PATCH 06/15] example: add missing libraries to LDADD variables Signed-off-by: Dmitry Eremin-Solenikov --- example/ipfragreass/Makefile.am | 2 ++ example/ipsec/Makefile.am | 1 + example/ipsec_api/Makefile.am | 3 +++ 3 files changed, 6 insertions(+) diff --git a/example/ipfragreass/Makefile.am b/example/ipfragreass/Makefile.am index fa7d5c8bde..b98e066f83 100644 --- a/example/ipfragreass/Makefile.am +++ b/example/ipfragreass/Makefile.am @@ -1,5 +1,7 @@ include $(top_srcdir)/example/Makefile.inc +LDADD += $(ATOMIC_LIBS) + bin_PROGRAMS = odp_ipfragreass odp_ipfragreass_SOURCES = odp_ipfragreass.c \ diff --git a/example/ipsec/Makefile.am b/example/ipsec/Makefile.am index 85905ffa70..eba9b8bda6 100644 --- a/example/ipsec/Makefile.am +++ b/example/ipsec/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/example/Makefile.inc AM_CPPFLAGS = $(OPENSSL_CPPFLAGS) +LDADD += $(OPENSSL_LIBS) bin_PROGRAMS = odp_ipsec diff --git a/example/ipsec_api/Makefile.am b/example/ipsec_api/Makefile.am index 847326fc06..14bc5dd66d 100644 --- a/example/ipsec_api/Makefile.am +++ b/example/ipsec_api/Makefile.am @@ -1,5 +1,8 @@ include $(top_srcdir)/example/Makefile.inc +AM_CPPFLAGS = $(OPENSSL_CPPFLAGS) +LDADD += $(OPENSSL_LIBS) + bin_PROGRAMS = odp_ipsec dist_bin_SCRIPTS = \ From bec1ef82cd1e62cf7d0a965c69bfdd50b55f2dce Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Mon, 1 Jan 2018 23:41:31 +0300 Subject: [PATCH 07/15] helper/tests: use common Makefile.inc for tests Signed-off-by: Dmitry Eremin-Solenikov --- helper/test/Makefile.am | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/helper/test/Makefile.am b/helper/test/Makefile.am index 8eee643bee..662d6c758a 100644 --- a/helper/test/Makefile.am +++ b/helper/test/Makefile.am @@ -1,26 +1,4 @@ -TESTS_ENVIRONMENT = EXEEXT=${EXEEXT} - -LIB = $(top_builddir)/lib - -#in the following line, the libs using the symbols should come before -#the libs containing them! The includer is given a chance to add things -#before libodp by setting PRE_LDADD before the inclusion. -LDADD = $(PRE_LDADD) $(LIB)/libodphelper.la $(LIB)/libodp-linux.la - -INCFLAGS = \ - -I$(top_builddir)/platform/@with_platform@/include \ - -I$(top_srcdir)/helper/include \ - -I$(top_srcdir)/include \ - -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ - -I$(top_srcdir)/platform/@with_platform@/include \ - -I$(top_srcdir)/platform/@with_platform@/arch/@ARCH_DIR@ \ - -I$(top_builddir)/include \ - -I$(top_srcdir)/helper - -ODP_PLATFORM=${with_platform} - -AM_CPPFLAGS = $(INCFLAGS) -AM_LDFLAGS = -static +include $(top_srcdir)/test/Makefile.inc EXECUTABLES = chksum \ cuckootable \ From d38811a0f47dad5d4eff2830b235e424ff6ab7c4 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Thu, 4 Jan 2018 00:26:17 +0300 Subject: [PATCH 08/15] test, linux-gen: use common test/Makefile.inc Populate test/Makefile.inc with more variables, allowing us to drop platform test/Makefile.inc. Signed-off-by: Dmitry Eremin-Solenikov --- platform/linux-generic/test/Makefile.inc | 22 ------------------- platform/linux-generic/test/ring/Makefile.am | 4 +--- .../test/validation/Makefile.inc | 1 - .../test/validation/api/Makefile.inc | 2 +- .../test/validation/api/shmem/Makefile.am | 6 ----- test/Makefile.inc | 9 ++++++++ test/validation/api/Makefile.inc | 11 ---------- 7 files changed, 11 insertions(+), 44 deletions(-) delete mode 100644 platform/linux-generic/test/Makefile.inc delete mode 100644 platform/linux-generic/test/validation/Makefile.inc diff --git a/platform/linux-generic/test/Makefile.inc b/platform/linux-generic/test/Makefile.inc deleted file mode 100644 index dd21917ebf..0000000000 --- a/platform/linux-generic/test/Makefile.inc +++ /dev/null @@ -1,22 +0,0 @@ -# The following definitions may be used by platform tests that wish to -# build specific ODP applications, (i.e those whose do more than validation -# test wrapping) - -AM_LDFLAGS = -static - -AM_CFLAGS = $(CUNIT_CFLAGS) - -LIBCUNIT_COMMON = $(top_builddir)/test/common/libcunit_common.la -LIB = $(top_builddir)/lib -LIBODP = $(LIB)/libodphelper.la $(LIB)/libodp-linux.la $(DPDK_PMDS) - -INCCUNIT_COMMON = -I$(top_srcdir)/test/common -INCODP = \ - -I$(top_builddir)/include \ - -I$(top_builddir)/platform/@with_platform@/include \ - -I$(top_srcdir)/helper/include \ - -I$(top_srcdir)/include \ - -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ - -I$(top_srcdir)/platform/@with_platform@/arch/$(ARCH_DIR) \ - -I$(top_srcdir)/platform/@with_platform@/include \ - -I$(top_srcdir)/test diff --git a/platform/linux-generic/test/ring/Makefile.am b/platform/linux-generic/test/ring/Makefile.am index 376047559c..95e5e87f47 100644 --- a/platform/linux-generic/test/ring/Makefile.am +++ b/platform/linux-generic/test/ring/Makefile.am @@ -1,4 +1,4 @@ -include ../Makefile.inc +include $(top_srcdir)/test/Makefile.inc test_PROGRAMS = ring_main ring_main_SOURCES = \ @@ -6,6 +6,4 @@ ring_main_SOURCES = \ ring_suites.c ring_suites.h \ ring_basic.c ring_stress.c -ring_main_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/include \ - $(INCCUNIT_COMMON) $(INCODP) ring_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/platform/linux-generic/test/validation/Makefile.inc b/platform/linux-generic/test/validation/Makefile.inc deleted file mode 100644 index b9030850c7..0000000000 --- a/platform/linux-generic/test/validation/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -include $(top_srcdir)/platform/linux-generic/test/Makefile.inc diff --git a/platform/linux-generic/test/validation/api/Makefile.inc b/platform/linux-generic/test/validation/api/Makefile.inc index c47217d1ad..cda6237ea0 100644 --- a/platform/linux-generic/test/validation/api/Makefile.inc +++ b/platform/linux-generic/test/validation/api/Makefile.inc @@ -1 +1 @@ -include $(top_srcdir)/platform/linux-generic/test/validation/Makefile.inc +include $(top_srcdir)/test/validation/api/Makefile.inc diff --git a/platform/linux-generic/test/validation/api/shmem/Makefile.am b/platform/linux-generic/test/validation/api/shmem/Makefile.am index 131a511be7..f75cbc976d 100644 --- a/platform/linux-generic/test/validation/api/shmem/Makefile.am +++ b/platform/linux-generic/test/validation/api/shmem/Makefile.am @@ -10,13 +10,7 @@ shmem_linux_LDFLAGS = $(AM_LDFLAGS) -lrt #shmem_odp1 and shmem_odp2 are the 2 ODP processes: shmem_odp1_SOURCES = shmem_odp1.c shmem_odp1.h shmem_common.h -shmem_odp1_CFLAGS = $(AM_CFLAGS) \ - $(INCCUNIT_COMMON) \ - $(INCODP) shmem_odp1_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) shmem_odp2_SOURCES = shmem_odp2.c shmem_odp2.h shmem_common.h -shmem_odp2_CFLAGS = $(AM_CFLAGS) \ - $(INCCUNIT_COMMON) \ - $(INCODP) shmem_odp2_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/Makefile.inc b/test/Makefile.inc index f7c0da2149..d4d74c25e5 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -1,5 +1,13 @@ LIB = $(top_builddir)/lib +COMMON_DIR = $(top_builddir)/test/common + +LIBODP = $(LIB)/libodphelper.la $(LIB)/libodp-linux.la + +LIBCUNIT_COMMON = $(COMMON_DIR)/libcunit_common.la +LIBCPUMASK_COMMON = $(COMMON_DIR)/libcpumask_common.la +LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la + #in the following line, the libs using the symbols should come before #the libs containing them! The includer is given a chance to add things #before libodp by setting PRE_LDADD before the inclusion. @@ -16,6 +24,7 @@ INCFLAGS = \ -I$(top_builddir)/include AM_CPPFLAGS = $(INCFLAGS) +AM_CPPFLAGS += -I$(top_srcdir)/test/common AM_CFLAGS = $(CUNIT_CFLAGS) AM_LDFLAGS = -L$(LIB) -static diff --git a/test/validation/api/Makefile.inc b/test/validation/api/Makefile.inc index 4af010002b..871a377969 100644 --- a/test/validation/api/Makefile.inc +++ b/test/validation/api/Makefile.inc @@ -1,13 +1,2 @@ include $(top_srcdir)/test/Makefile.inc -COMMON_DIR = $(top_builddir)/test/common - -AM_CFLAGS += -I$(top_srcdir)/test/common -AM_LDFLAGS += $(DPDK_PMDS) - -AM_CFLAGS += $(CUNIT_CFLAGS) - -LIBCUNIT_COMMON = $(COMMON_DIR)/libcunit_common.la -LIBCPUMASK_COMMON = $(COMMON_DIR)/libcpumask_common.la -LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la -LIBODP = $(LIB)/libodphelper.la $(LIB)/libodp-linux.la From 0f061b40263480ef6e92054e13d6e57056990fb9 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Wed, 3 Jan 2018 04:42:54 +0300 Subject: [PATCH 09/15] validation: stop overriding LDADD variable LDADD variable can be used to pass other libraries (like DPDK). Stop overriding LDADD entirely. Instead use PRELDADD variable or appending to LDADD. Signed-off-by: Dmitry Eremin-Solenikov --- platform/linux-generic/test/ring/Makefile.am | 2 +- platform/linux-generic/test/validation/api/shmem/Makefile.am | 3 +-- test/Makefile.inc | 5 +++-- test/validation/api/Makefile.inc | 1 + test/validation/api/atomic/Makefile.am | 1 - test/validation/api/barrier/Makefile.am | 1 - test/validation/api/buffer/Makefile.am | 1 - test/validation/api/chksum/Makefile.am | 1 - test/validation/api/classification/Makefile.am | 1 - test/validation/api/cpumask/Makefile.am | 2 +- test/validation/api/crypto/Makefile.am | 1 - test/validation/api/errno/Makefile.am | 1 - test/validation/api/event/Makefile.am | 1 - test/validation/api/hash/Makefile.am | 1 - test/validation/api/init/Makefile.am | 3 --- test/validation/api/ipsec/Makefile.am | 5 +---- test/validation/api/lock/Makefile.am | 1 - test/validation/api/packet/Makefile.am | 1 - test/validation/api/pktio/Makefile.am | 1 - test/validation/api/pool/Makefile.am | 1 - test/validation/api/queue/Makefile.am | 1 - test/validation/api/random/Makefile.am | 1 - test/validation/api/scheduler/Makefile.am | 1 - test/validation/api/shmem/Makefile.am | 1 - test/validation/api/std_clib/Makefile.am | 1 - test/validation/api/system/Makefile.am | 1 - test/validation/api/thread/Makefile.am | 2 +- test/validation/api/time/Makefile.am | 1 - test/validation/api/timer/Makefile.am | 1 - test/validation/api/traffic_mngr/Makefile.am | 2 +- 30 files changed, 10 insertions(+), 36 deletions(-) diff --git a/platform/linux-generic/test/ring/Makefile.am b/platform/linux-generic/test/ring/Makefile.am index 95e5e87f47..8287c7e046 100644 --- a/platform/linux-generic/test/ring/Makefile.am +++ b/platform/linux-generic/test/ring/Makefile.am @@ -6,4 +6,4 @@ ring_main_SOURCES = \ ring_suites.c ring_suites.h \ ring_basic.c ring_stress.c -ring_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) +PRELDADD += $(LIBCUNIT_COMMON) diff --git a/platform/linux-generic/test/validation/api/shmem/Makefile.am b/platform/linux-generic/test/validation/api/shmem/Makefile.am index f75cbc976d..07d311d2f9 100644 --- a/platform/linux-generic/test/validation/api/shmem/Makefile.am +++ b/platform/linux-generic/test/validation/api/shmem/Makefile.am @@ -7,10 +7,9 @@ test_PROGRAMS = shmem_linux shmem_odp1 shmem_odp2 shmem_linux_SOURCES = shmem_linux.c shmem_linux.h shmem_common.h shmem_linux_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/include shmem_linux_LDFLAGS = $(AM_LDFLAGS) -lrt +shmem_linux_LDADD = #shmem_odp1 and shmem_odp2 are the 2 ODP processes: shmem_odp1_SOURCES = shmem_odp1.c shmem_odp1.h shmem_common.h -shmem_odp1_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) shmem_odp2_SOURCES = shmem_odp2.c shmem_odp2.h shmem_common.h -shmem_odp2_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/Makefile.inc b/test/Makefile.inc index d4d74c25e5..0b5b66dd09 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -10,8 +10,9 @@ LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la #in the following line, the libs using the symbols should come before #the libs containing them! The includer is given a chance to add things -#before libodp by setting PRE_LDADD before the inclusion. -LDADD = $(PRE_LDADD) $(LIB)/libodphelper.la $(LIB)/libodp-linux.la $(DPDK_PMDS) +#before libodp by setting PRELDADD before the inclusion. +LDADD = $(PRELDADD) $(LIBODP) $(DPDK_PMDS) +PRELDADD = INCFLAGS = \ -I$(top_builddir)/platform/@with_platform@/include \ diff --git a/test/validation/api/Makefile.inc b/test/validation/api/Makefile.inc index 871a377969..8610b56873 100644 --- a/test/validation/api/Makefile.inc +++ b/test/validation/api/Makefile.inc @@ -1,2 +1,3 @@ include $(top_srcdir)/test/Makefile.inc +PRELDADD += $(LIBCUNIT_COMMON) diff --git a/test/validation/api/atomic/Makefile.am b/test/validation/api/atomic/Makefile.am index 859e3c51a3..4de45970f4 100644 --- a/test/validation/api/atomic/Makefile.am +++ b/test/validation/api/atomic/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = atomic_main atomic_main_SOURCES = atomic_main.c atomic.c atomic.h -atomic_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/barrier/Makefile.am b/test/validation/api/barrier/Makefile.am index b0310e3a5f..aad5ddd60c 100644 --- a/test/validation/api/barrier/Makefile.am +++ b/test/validation/api/barrier/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = barrier_main barrier_main_SOURCES = barrier_main.c barrier.c barrier.h -barrier_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/buffer/Makefile.am b/test/validation/api/buffer/Makefile.am index 59639ff7b4..901fdadc7b 100644 --- a/test/validation/api/buffer/Makefile.am +++ b/test/validation/api/buffer/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = buffer_main buffer_main_SOURCES = buffer_main.c buffer.c buffer.h -buffer_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/chksum/Makefile.am b/test/validation/api/chksum/Makefile.am index 3227294d4a..9bd443857e 100644 --- a/test/validation/api/chksum/Makefile.am +++ b/test/validation/api/chksum/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = chksum_main chksum_main_SOURCES = chksum_main.c chksum.c chksum.h -chksum_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/classification/Makefile.am b/test/validation/api/classification/Makefile.am index b587030796..303a357677 100644 --- a/test/validation/api/classification/Makefile.am +++ b/test/validation/api/classification/Makefile.am @@ -9,4 +9,3 @@ classification_main_SOURCES = classification_main.c \ odp_classification_common.c \ classification.c \ classification.h -classification_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/cpumask/Makefile.am b/test/validation/api/cpumask/Makefile.am index ff12f56f77..e5c78d9241 100644 --- a/test/validation/api/cpumask/Makefile.am +++ b/test/validation/api/cpumask/Makefile.am @@ -2,4 +2,4 @@ include ../Makefile.inc test_PROGRAMS = cpumask_main cpumask_main_SOURCES = cpumask_main.c cpumask.c cpumask.h -cpumask_main_LDADD = $(LIBCPUMASK_COMMON) $(LIBCUNIT_COMMON) $(LIBODP) +LDADD += $(LIBCPUMASK_COMMON) diff --git a/test/validation/api/crypto/Makefile.am b/test/validation/api/crypto/Makefile.am index 94f1c1caee..238ce1892f 100644 --- a/test/validation/api/crypto/Makefile.am +++ b/test/validation/api/crypto/Makefile.am @@ -8,4 +8,3 @@ crypto_main_SOURCES = crypto_main.c \ odp_crypto_test_inp.h \ test_vectors.h \ test_vectors_len.h -crypto_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/errno/Makefile.am b/test/validation/api/errno/Makefile.am index 9eddfb4822..ad5c7ded42 100644 --- a/test/validation/api/errno/Makefile.am +++ b/test/validation/api/errno/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = errno_main errno_main_SOURCES = errno_main.c errno.c errno.h -errno_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/event/Makefile.am b/test/validation/api/event/Makefile.am index be4764b584..762f93568d 100644 --- a/test/validation/api/event/Makefile.am +++ b/test/validation/api/event/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = event_main event_main_SOURCES = event_main.c event.c event.h -event_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/hash/Makefile.am b/test/validation/api/hash/Makefile.am index bd098ffb6f..8f00577828 100644 --- a/test/validation/api/hash/Makefile.am +++ b/test/validation/api/hash/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = hash_main hash_main_SOURCES = hash_main.c hash.c hash.h -hash_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/init/Makefile.am b/test/validation/api/init/Makefile.am index 522c3a187c..2d06614314 100644 --- a/test/validation/api/init/Makefile.am +++ b/test/validation/api/init/Makefile.am @@ -7,6 +7,3 @@ test_PROGRAMS = init_main_abort init_main_log init_main_ok init_main_abort_SOURCES = init_main_abort.c init.c init.h init_main_log_SOURCES = init_main_log.c init.c init.h init_main_ok_SOURCES = init_main_ok.c init.c init.h -init_main_abort_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) -init_main_log_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) -init_main_ok_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/ipsec/Makefile.am b/test/validation/api/ipsec/Makefile.am index b300c8e880..328826995a 100644 --- a/test/validation/api/ipsec/Makefile.am +++ b/test/validation/api/ipsec/Makefile.am @@ -21,7 +21,4 @@ ipsec_async_SOURCES = ipsec_async.c ipsec_inline_in_SOURCES = ipsec_inline_in.c ipsec_inline_out_SOURCES = ipsec_inline_out.c -ipsec_sync_LDADD = libtestipsec.la $(LIBCUNIT_COMMON) $(LIBODP) -ipsec_async_LDADD = libtestipsec.la $(LIBCUNIT_COMMON) $(LIBODP) -ipsec_inline_in_LDADD = libtestipsec.la $(LIBCUNIT_COMMON) $(LIBODP) -ipsec_inline_out_LDADD = libtestipsec.la $(LIBCUNIT_COMMON) $(LIBODP) +LDADD += libtestipsec.la diff --git a/test/validation/api/lock/Makefile.am b/test/validation/api/lock/Makefile.am index b434fe77cd..c5518b3a85 100644 --- a/test/validation/api/lock/Makefile.am +++ b/test/validation/api/lock/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = lock_main lock_main_SOURCES = lock_main.c lock.c lock.h -lock_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/packet/Makefile.am b/test/validation/api/packet/Makefile.am index 43300ed0dc..d33cdadbdc 100644 --- a/test/validation/api/packet/Makefile.am +++ b/test/validation/api/packet/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = packet_main packet_main_SOURCES = packet_main.c packet.c packet.h -packet_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/pktio/Makefile.am b/test/validation/api/pktio/Makefile.am index a416fd1dab..a6a16e2f09 100644 --- a/test/validation/api/pktio/Makefile.am +++ b/test/validation/api/pktio/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = pktio_main pktio_main_SOURCES = pktio_main.c parser.c parser.h pktio.c pktio.h -pktio_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/pool/Makefile.am b/test/validation/api/pool/Makefile.am index 9e7c42b516..7951d04849 100644 --- a/test/validation/api/pool/Makefile.am +++ b/test/validation/api/pool/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = pool_main pool_main_SOURCES = pool_main.c pool.c pool.h -pool_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/queue/Makefile.am b/test/validation/api/queue/Makefile.am index 9b1c6b777d..5ed4638bce 100644 --- a/test/validation/api/queue/Makefile.am +++ b/test/validation/api/queue/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = queue_main queue_main_SOURCES = queue_main.c queue.c queue.h -queue_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/random/Makefile.am b/test/validation/api/random/Makefile.am index e9e7ffc065..8f1ba9fe0c 100644 --- a/test/validation/api/random/Makefile.am +++ b/test/validation/api/random/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = random_main random_main_SOURCES = random_main.c random.c random.h -random_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/scheduler/Makefile.am b/test/validation/api/scheduler/Makefile.am index 34abf7d6ae..3673ad7cec 100644 --- a/test/validation/api/scheduler/Makefile.am +++ b/test/validation/api/scheduler/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = scheduler_main scheduler_main_SOURCES = scheduler_main.c scheduler.c scheduler.h -scheduler_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/shmem/Makefile.am b/test/validation/api/shmem/Makefile.am index 8c5d7f700a..9a10668f5a 100644 --- a/test/validation/api/shmem/Makefile.am +++ b/test/validation/api/shmem/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = shmem_main shmem_main_SOURCES = shmem_main.c shmem.c shmem.h -shmem_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/std_clib/Makefile.am b/test/validation/api/std_clib/Makefile.am index dc75c95cfc..34b888bbbc 100644 --- a/test/validation/api/std_clib/Makefile.am +++ b/test/validation/api/std_clib/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = std_clib_main std_clib_main_SOURCES = std_clib_main.c std_clib.c std_clib.h -std_clib_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/system/Makefile.am b/test/validation/api/system/Makefile.am index 123d3a6936..e6fbb0ea5d 100644 --- a/test/validation/api/system/Makefile.am +++ b/test/validation/api/system/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = system_main system_main_SOURCES = system_main.c system.c system.h -system_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/thread/Makefile.am b/test/validation/api/thread/Makefile.am index 1c56574f45..2282169b93 100644 --- a/test/validation/api/thread/Makefile.am +++ b/test/validation/api/thread/Makefile.am @@ -3,4 +3,4 @@ include ../Makefile.inc test_PROGRAMS = thread_main thread_main_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_THRMASK thread_main_SOURCES = thread_main.c thread.c thread.h -thread_main_LDADD = $(LIBTHRMASK_COMMON) $(LIBCUNIT_COMMON) $(LIBODP) +LDADD += $(LIBTHRMASK_COMMON) diff --git a/test/validation/api/time/Makefile.am b/test/validation/api/time/Makefile.am index 669d1226bd..4c3340e067 100644 --- a/test/validation/api/time/Makefile.am +++ b/test/validation/api/time/Makefile.am @@ -9,7 +9,6 @@ TESTS = $(TESTSCRIPTS) test_PROGRAMS = time_main time_main_SOURCES = time_main.c time.c time_test.h -time_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) dist_check_SCRIPTS = $(TESTSCRIPTS) test_SCRIPTS = $(dist_check_SCRIPTS) diff --git a/test/validation/api/timer/Makefile.am b/test/validation/api/timer/Makefile.am index c953dcb348..5761744007 100644 --- a/test/validation/api/timer/Makefile.am +++ b/test/validation/api/timer/Makefile.am @@ -2,4 +2,3 @@ include ../Makefile.inc test_PROGRAMS = timer_main timer_main_SOURCES = timer_main.c timer.c timer.h -timer_main_LDADD = $(LIBCUNIT_COMMON) $(LIBODP) diff --git a/test/validation/api/traffic_mngr/Makefile.am b/test/validation/api/traffic_mngr/Makefile.am index dc4f87092e..82996afe0c 100644 --- a/test/validation/api/traffic_mngr/Makefile.am +++ b/test/validation/api/traffic_mngr/Makefile.am @@ -9,7 +9,7 @@ TESTS = $(TESTSCRIPTS) test_PROGRAMS = traffic_mngr_main traffic_mngr_main_SOURCES = traffic_mngr_main.c traffic_mngr.c traffic_mngr.h -traffic_mngr_main_LDADD = -lm $(LIBCUNIT_COMMON) $(LIBODP) +LDADD += -lm dist_check_SCRIPTS = $(TESTSCRIPTS) test_SCRIPTS = $(dist_check_SCRIPTS) From f65e0bd2b4b390e99c6fe6a4f4a616366fd29cd0 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Tue, 2 Jan 2018 00:33:39 +0300 Subject: [PATCH 10/15] validation: time: use clock_gettime() instead of clock() ODP test for time API uses clock() to compare time against. However clock() returns processor time used by program, which can differ between runs. Use clock_gettime() as a time source to compare against. Signed-off-by: Dmitry Eremin-Solenikov Fixes: https://bugs.linaro.org/show_bug.cgi?id=3572 --- test/validation/api/time/time.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/test/validation/api/time/time.c b/test/validation/api/time/time.c index c8f90dbaca..d7d5b790e4 100644 --- a/test/validation/api/time/time.c +++ b/test/validation/api/time/time.c @@ -423,11 +423,12 @@ static void time_test_accuracy(time_cb time_cur, time_from_ns_cb time_from_ns) { int i; odp_time_t t1, t2, wait, diff; - clock_t c1, c2; + struct timespec ts1, ts2, tsdiff; double sec_t, sec_c; odp_time_t sec = time_from_ns(ODP_TIME_SEC_IN_NS); - c1 = clock(); + i = clock_gettime(CLOCK_MONOTONIC, &ts1); + CU_ASSERT(i == 0); t1 = time_cur(); wait = odp_time_sum(t1, sec); @@ -436,12 +437,21 @@ static void time_test_accuracy(time_cb time_cur, time_from_ns_cb time_from_ns) wait = odp_time_sum(wait, sec); } + i = clock_gettime(CLOCK_MONOTONIC, &ts2); + CU_ASSERT(i == 0); t2 = time_cur(); - c2 = clock(); + + if (ts2.tv_nsec < ts1.tv_nsec) { + tsdiff.tv_nsec = 1000000000L + ts2.tv_nsec - ts1.tv_nsec; + tsdiff.tv_sec = ts2.tv_sec - 1 - ts1.tv_sec; + } else { + tsdiff.tv_nsec = ts2.tv_nsec - ts1.tv_nsec; + tsdiff.tv_sec = ts2.tv_sec - ts1.tv_sec; + } diff = odp_time_diff(t2, t1); sec_t = ((double)odp_time_to_ns(diff)) / ODP_TIME_SEC_IN_NS; - sec_c = ((double)(c2 - c1)) / CLOCKS_PER_SEC; + sec_c = ((double)(tsdiff.tv_nsec) / 1000000000L) + tsdiff.tv_sec; /* Check that ODP time is within +-5% of system time */ CU_ASSERT(sec_t < sec_c * 1.05); From 735507c90292c8922223f26d2738f550f4805528 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Mon, 15 Jan 2018 02:39:31 +0300 Subject: [PATCH 11/15] Revert "test: time: do not fail under gcov" This reverts commit 7a7e3ff9d50d67b7c79058db98ba27ab5a806437. After fixing time test to use clock_gettime() instead of clock(), this test should not fail under Travis/coverage. Reenable the test. Signed-off-by: Dmitry Eremin-Solenikov --- test/validation/api/Makefile.am | 2 +- test/validation/api/time/Makefile.am | 10 ------- test/validation/api/time/time.sh | 42 ---------------------------- 3 files changed, 1 insertion(+), 53 deletions(-) delete mode 100755 test/validation/api/time/time.sh diff --git a/test/validation/api/Makefile.am b/test/validation/api/Makefile.am index 0503e092e6..c92d123c12 100644 --- a/test/validation/api/Makefile.am +++ b/test/validation/api/Makefile.am @@ -56,7 +56,7 @@ TESTS = \ scheduler/scheduler_main$(EXEEXT) \ std_clib/std_clib_main$(EXEEXT) \ thread/thread_main$(EXEEXT) \ - time/time.sh \ + time/time_main$(EXEEXT) \ timer/timer_main$(EXEEXT) \ traffic_mngr/traffic_mngr.sh \ shmem/shmem_main$(EXEEXT) \ diff --git a/test/validation/api/time/Makefile.am b/test/validation/api/time/Makefile.am index 4c3340e067..bedbfa3758 100644 --- a/test/validation/api/time/Makefile.am +++ b/test/validation/api/time/Makefile.am @@ -1,14 +1,4 @@ include ../Makefile.inc -TESTS_ENVIRONMENT += TEST_DIR=${builddir} - -TESTSCRIPTS = time.sh -TEST_EXTENSIONS = .sh - -TESTS = $(TESTSCRIPTS) - test_PROGRAMS = time_main time_main_SOURCES = time_main.c time.c time_test.h - -dist_check_SCRIPTS = $(TESTSCRIPTS) -test_SCRIPTS = $(dist_check_SCRIPTS) diff --git a/test/validation/api/time/time.sh b/test/validation/api/time/time.sh deleted file mode 100755 index ecedddb768..0000000000 --- a/test/validation/api/time/time.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, Linaro Limited -# All rights reserved. -# -# SPDX-License-Identifier: BSD-3-Clause -# - -# directories where time_main binary can be found: -# -in the validation dir when running make check (intree or out of tree) -# -in the script directory, when running after 'make install', or -# -in the validation when running standalone (./time) intree. -# -in the current directory. -# running stand alone out of tree requires setting PATH -PATH=${TEST_DIR}/api/time:$PATH -PATH=$(dirname $0)/../../../../validation/api/time:$PATH -PATH=$(dirname $0):$PATH -PATH=`pwd`:$PATH - -time_main_path=$(which time_main${EXEEXT}) -if [ -x "$time_main_path" ] ; then - echo "running with time_main: $time_run_path" -else - echo "cannot find time_main: please set you PATH for it." - exit 1 -fi - -# exit codes expected by automake for skipped tests -TEST_SKIPPED=77 - -time_main${EXEEXT} -ret=$? - -SIGSEGV=139 - -if [ "${TRAVIS}" = "true" ] && [ $ret -ne 0 ] && - [ ${TEST} = "coverage" ] && [ $ret -ne ${SIGSEGV} ]; then - echo "SKIP: skip due significant slowdown under code coverage" - exit ${TEST_SKIPPED} -fi - -exit $ret From b626e7cbbbe762e81844911bdca731973912db44 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Tue, 2 Jan 2018 19:17:22 +0300 Subject: [PATCH 12/15] linux-gen: don't use SYSCONFDIR sysconfig is not used in TigerMoth, so let's drop the variable in linux-gen's Makefile. Signed-off-by: Dmitry Eremin-Solenikov --- platform/linux-generic/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 7e40448bdb..415e7b8b70 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -11,7 +11,6 @@ AM_CPPFLAGS += -I$(top_builddir)/include AM_CPPFLAGS += -Iinclude AM_CPPFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/$(ARCH_DIR) AM_CPPFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/default -AM_CPPFLAGS += -DSYSCONFDIR=\"@sysconfdir@\" AM_CPPFLAGS += $(OPENSSL_CPPFLAGS) AM_CPPFLAGS += $(DPDK_CPPFLAGS) From 9aa7f19b3b48a39c0b9a07e8b30e8e4abd614e24 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Tue, 2 Jan 2018 19:17:22 +0300 Subject: [PATCH 13/15] tests: don't use ODP_SYSCONFIG_FILE libconfig is not used in TigerMoth, so let's drop the variable in test's Makefile.inc. Signed-off-by: Dmitry Eremin-Solenikov --- test/Makefile.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/Makefile.inc b/test/Makefile.inc index 0b5b66dd09..192dab221a 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -33,5 +33,4 @@ AM_LDFLAGS = -L$(LIB) -static @VALGRIND_CHECK_RULES@ TESTS_ENVIRONMENT = ODP_PLATFORM=${with_platform} \ - EXEEXT=${EXEEXT} \ - ODP_SYSCONFIG_FILE=none + EXEEXT=${EXEEXT} From fec9373eff60c3640b6a09ede628f28ba4b8eb68 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Tue, 2 Jan 2018 21:02:55 +0300 Subject: [PATCH 14/15] example: ipsec_api: remove file conflict with ipsec example ipsec_api example installs program with the same name, as ipsec example does. Remove file conflict between two examples. Signed-off-by: Dmitry Eremin-Solenikov --- example/ipsec_api/Makefile.am | 27 ++++++++++--------- ...un_ah_in.sh => odp_ipsec_api_run_ah_in.sh} | 2 +- ..._ah_out.sh => odp_ipsec_api_run_ah_out.sh} | 2 +- ...n_in.sh => odp_ipsec_api_run_ah_tun_in.sh} | 2 +- ...out.sh => odp_ipsec_api_run_ah_tun_out.sh} | 2 +- ..._esp_in.sh => odp_ipsec_api_run_esp_in.sh} | 2 +- ...sp_out.sh => odp_ipsec_api_run_esp_out.sh} | 2 +- ..._in.sh => odp_ipsec_api_run_esp_tun_in.sh} | 2 +- ...ut.sh => odp_ipsec_api_run_esp_tun_out.sh} | 2 +- ..._run_live.sh => odp_ipsec_api_run_live.sh} | 2 +- ..._router.sh => odp_ipsec_api_run_router.sh} | 2 +- ..._simple.sh => odp_ipsec_api_run_simple.sh} | 2 +- 12 files changed, 25 insertions(+), 24 deletions(-) rename example/ipsec_api/{odp_ipsec_run_ah_in.sh => odp_ipsec_api_run_ah_in.sh} (91%) rename example/ipsec_api/{odp_ipsec_run_ah_out.sh => odp_ipsec_api_run_ah_out.sh} (91%) rename example/ipsec_api/{odp_ipsec_run_ah_tun_in.sh => odp_ipsec_api_run_ah_tun_in.sh} (92%) rename example/ipsec_api/{odp_ipsec_run_ah_tun_out.sh => odp_ipsec_api_run_ah_tun_out.sh} (92%) rename example/ipsec_api/{odp_ipsec_run_esp_in.sh => odp_ipsec_api_run_esp_in.sh} (91%) rename example/ipsec_api/{odp_ipsec_run_esp_out.sh => odp_ipsec_api_run_esp_out.sh} (92%) rename example/ipsec_api/{odp_ipsec_run_esp_tun_in.sh => odp_ipsec_api_run_esp_tun_in.sh} (92%) rename example/ipsec_api/{odp_ipsec_run_esp_tun_out.sh => odp_ipsec_api_run_esp_tun_out.sh} (92%) rename example/ipsec_api/{odp_ipsec_run_live.sh => odp_ipsec_api_run_live.sh} (94%) rename example/ipsec_api/{odp_ipsec_run_router.sh => odp_ipsec_api_run_router.sh} (85%) rename example/ipsec_api/{odp_ipsec_run_simple.sh => odp_ipsec_api_run_simple.sh} (87%) diff --git a/example/ipsec_api/Makefile.am b/example/ipsec_api/Makefile.am index 14bc5dd66d..848683e008 100644 --- a/example/ipsec_api/Makefile.am +++ b/example/ipsec_api/Makefile.am @@ -3,22 +3,23 @@ include $(top_srcdir)/example/Makefile.inc AM_CPPFLAGS = $(OPENSSL_CPPFLAGS) LDADD += $(OPENSSL_LIBS) -bin_PROGRAMS = odp_ipsec +bin_PROGRAMS = odp_ipsec_api dist_bin_SCRIPTS = \ - $(srcdir)/odp_ipsec_run_ah_in.sh \ - $(srcdir)/odp_ipsec_run_ah_out.sh \ - $(srcdir)/odp_ipsec_run_ah_tun_in.sh \ - $(srcdir)/odp_ipsec_run_ah_tun_out.sh \ - $(srcdir)/odp_ipsec_run_esp_in.sh \ - $(srcdir)/odp_ipsec_run_esp_out.sh \ - $(srcdir)/odp_ipsec_run_esp_tun_in.sh \ - $(srcdir)/odp_ipsec_run_esp_tun_out.sh \ - $(srcdir)/odp_ipsec_run_live.sh \ - $(srcdir)/odp_ipsec_run_router.sh \ - $(srcdir)/odp_ipsec_run_simple.sh + $(srcdir)/odp_ipsec_api_run_ah_in.sh \ + $(srcdir)/odp_ipsec_api_run_ah_out.sh \ + $(srcdir)/odp_ipsec_api_run_ah_tun_in.sh \ + $(srcdir)/odp_ipsec_api_run_ah_tun_out.sh \ + $(srcdir)/odp_ipsec_api_run_esp_in.sh \ + $(srcdir)/odp_ipsec_api_run_esp_out.sh \ + $(srcdir)/odp_ipsec_api_run_esp_tun_in.sh \ + $(srcdir)/odp_ipsec_api_run_esp_tun_out.sh \ + $(srcdir)/odp_ipsec_api_run_live.sh \ + $(srcdir)/odp_ipsec_api_run_router.sh \ + $(srcdir)/odp_ipsec_api_run_simple.sh -odp_ipsec_SOURCES = odp_ipsec.c \ +odp_ipsec_api_SOURCES = \ + odp_ipsec.c \ odp_ipsec_sa_db.c \ odp_ipsec_sa_db.h \ odp_ipsec_sp_db.c \ diff --git a/example/ipsec_api/odp_ipsec_run_ah_in.sh b/example/ipsec_api/odp_ipsec_api_run_ah_in.sh similarity index 91% rename from example/ipsec_api/odp_ipsec_run_ah_in.sh rename to example/ipsec_api/odp_ipsec_api_run_ah_in.sh index c5b105f596..becfc8928d 100755 --- a/example/ipsec_api/odp_ipsec_run_ah_in.sh +++ b/example/ipsec_api/odp_ipsec_api_run_ah_in.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.111.2/32:loop1:08.00.27.76.B5.E0 \ -p 192.168.222.0/24:192.168.111.0/24:in:ah \ -a 192.168.222.2:192.168.111.2:md5:300:27f6d123d7077b361662fc6e451f65d8 \ diff --git a/example/ipsec_api/odp_ipsec_run_ah_out.sh b/example/ipsec_api/odp_ipsec_api_run_ah_out.sh similarity index 91% rename from example/ipsec_api/odp_ipsec_run_ah_out.sh rename to example/ipsec_api/odp_ipsec_api_run_ah_out.sh index c8926d5ac1..023809a181 100755 --- a/example/ipsec_api/odp_ipsec_run_ah_out.sh +++ b/example/ipsec_api/odp_ipsec_api_run_ah_out.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.222.2/32:loop2:08.00.27.F5.8B.DB \ -p 192.168.111.0/24:192.168.222.0/24:out:ah \ -a 192.168.111.2:192.168.222.2:md5:200:a731649644c5dee92cbd9c2e7e188ee6 \ diff --git a/example/ipsec_api/odp_ipsec_run_ah_tun_in.sh b/example/ipsec_api/odp_ipsec_api_run_ah_tun_in.sh similarity index 92% rename from example/ipsec_api/odp_ipsec_run_ah_tun_in.sh rename to example/ipsec_api/odp_ipsec_api_run_ah_tun_in.sh index a0d4c4332f..40c488f042 100755 --- a/example/ipsec_api/odp_ipsec_run_ah_tun_in.sh +++ b/example/ipsec_api/odp_ipsec_api_run_ah_tun_in.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.111.2/32:loop1:08.00.27.76.B5.E0 \ -p 192.168.222.0/24:192.168.111.0/24:in:ah \ -a 192.168.222.2:192.168.111.2:md5:300:27f6d123d7077b361662fc6e451f65d8 \ diff --git a/example/ipsec_api/odp_ipsec_run_ah_tun_out.sh b/example/ipsec_api/odp_ipsec_api_run_ah_tun_out.sh similarity index 92% rename from example/ipsec_api/odp_ipsec_run_ah_tun_out.sh rename to example/ipsec_api/odp_ipsec_api_run_ah_tun_out.sh index 74a0e3b42e..d7118586f1 100755 --- a/example/ipsec_api/odp_ipsec_run_ah_tun_out.sh +++ b/example/ipsec_api/odp_ipsec_api_run_ah_tun_out.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.222.2/32:loop2:08.00.27.F5.8B.DB \ -p 192.168.111.0/24:192.168.222.0/24:out:ah \ -a 192.168.111.2:192.168.222.2:md5:200:a731649644c5dee92cbd9c2e7e188ee6 \ diff --git a/example/ipsec_api/odp_ipsec_run_esp_in.sh b/example/ipsec_api/odp_ipsec_api_run_esp_in.sh similarity index 91% rename from example/ipsec_api/odp_ipsec_run_esp_in.sh rename to example/ipsec_api/odp_ipsec_api_run_esp_in.sh index 39e171cdfb..cdb302ef44 100755 --- a/example/ipsec_api/odp_ipsec_run_esp_in.sh +++ b/example/ipsec_api/odp_ipsec_api_run_esp_in.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.111.2/32:loop1:08.00.27.76.B5.E0 \ -p 192.168.222.0/24:192.168.111.0/24:in:esp \ -e 192.168.222.2:192.168.111.2:\ diff --git a/example/ipsec_api/odp_ipsec_run_esp_out.sh b/example/ipsec_api/odp_ipsec_api_run_esp_out.sh similarity index 92% rename from example/ipsec_api/odp_ipsec_run_esp_out.sh rename to example/ipsec_api/odp_ipsec_api_run_esp_out.sh index 98ab04e526..f1c15ffee4 100755 --- a/example/ipsec_api/odp_ipsec_run_esp_out.sh +++ b/example/ipsec_api/odp_ipsec_api_run_esp_out.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.222.2/32:loop2:08.00.27.F5.8B.DB \ -p 192.168.111.0/24:192.168.222.0/24:out:esp \ -e 192.168.111.2:192.168.222.2:\ diff --git a/example/ipsec_api/odp_ipsec_run_esp_tun_in.sh b/example/ipsec_api/odp_ipsec_api_run_esp_tun_in.sh similarity index 92% rename from example/ipsec_api/odp_ipsec_run_esp_tun_in.sh rename to example/ipsec_api/odp_ipsec_api_run_esp_tun_in.sh index 7ef3e2d080..5d78479e4b 100755 --- a/example/ipsec_api/odp_ipsec_run_esp_tun_in.sh +++ b/example/ipsec_api/odp_ipsec_api_run_esp_tun_in.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.111.2/32:loop1:08.00.27.76.B5.E0 \ -p 192.168.222.0/24:192.168.111.0/24:in:esp \ -e 192.168.222.2:192.168.111.2:\ diff --git a/example/ipsec_api/odp_ipsec_run_esp_tun_out.sh b/example/ipsec_api/odp_ipsec_api_run_esp_tun_out.sh similarity index 92% rename from example/ipsec_api/odp_ipsec_run_esp_tun_out.sh rename to example/ipsec_api/odp_ipsec_api_run_esp_tun_out.sh index 98ab04e526..f1c15ffee4 100755 --- a/example/ipsec_api/odp_ipsec_run_esp_tun_out.sh +++ b/example/ipsec_api/odp_ipsec_api_run_esp_tun_out.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.222.2/32:loop2:08.00.27.F5.8B.DB \ -p 192.168.111.0/24:192.168.222.0/24:out:esp \ -e 192.168.111.2:192.168.222.2:\ diff --git a/example/ipsec_api/odp_ipsec_run_live.sh b/example/ipsec_api/odp_ipsec_api_run_live.sh similarity index 94% rename from example/ipsec_api/odp_ipsec_run_live.sh rename to example/ipsec_api/odp_ipsec_api_run_live.sh index b506b2af81..9bc0a60f35 100755 --- a/example/ipsec_api/odp_ipsec_run_live.sh +++ b/example/ipsec_api/odp_ipsec_api_run_live.sh @@ -3,7 +3,7 @@ # Live router test # - 2 interfaces interfaces # - Specify API mode on command line -sudo odp_ipsec -i p7p1,p8p1 \ +sudo odp_ipsec_api -i p7p1,p8p1 \ -r 192.168.111.2/32:p7p1:08.00.27.76.B5.E0 \ -r 192.168.222.2/32:p8p1:08.00.27.F5.8B.DB \ -p 192.168.111.0/24:192.168.222.0/24:out:both \ diff --git a/example/ipsec_api/odp_ipsec_run_router.sh b/example/ipsec_api/odp_ipsec_api_run_router.sh similarity index 85% rename from example/ipsec_api/odp_ipsec_run_router.sh rename to example/ipsec_api/odp_ipsec_api_run_router.sh index 31b9e7656f..982a27e97b 100755 --- a/example/ipsec_api/odp_ipsec_run_router.sh +++ b/example/ipsec_api/odp_ipsec_api_run_router.sh @@ -3,7 +3,7 @@ # Live router test # - 2 interfaces interfaces # - Specify API mode on command line -sudo odp_ipsec -i p7p1,p8p1 \ +sudo odp_ipsec_api -i p7p1,p8p1 \ -r 192.168.111.2/32:p7p1:08.00.27.76.B5.E0 \ -r 192.168.222.2/32:p8p1:08.00.27.F5.8B.DB \ -c 1 "$@" diff --git a/example/ipsec_api/odp_ipsec_run_simple.sh b/example/ipsec_api/odp_ipsec_api_run_simple.sh similarity index 87% rename from example/ipsec_api/odp_ipsec_run_simple.sh rename to example/ipsec_api/odp_ipsec_api_run_simple.sh index ddda612a85..bdc2777c9d 100755 --- a/example/ipsec_api/odp_ipsec_run_simple.sh +++ b/example/ipsec_api/odp_ipsec_api_run_simple.sh @@ -4,7 +4,7 @@ # - 2 loop interfaces # - 10 packets # - Specify API mode on command line -odp_ipsec -i loop1,loop2 \ +odp_ipsec_api -i loop1,loop2 \ -r 192.168.222.2/32:loop2:08.00.27.F5.8B.DB \ -s 192.168.111.2:192.168.222.2:loop1:loop2:10:100 \ -c 2 "$@" From 3bdbea97095960a81ef17dcc738259de301ea077 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Sun, 31 Dec 2017 04:13:06 +0300 Subject: [PATCH 15/15] linux-gen: dpdk: simplify linking with shared libdpdk There is no need to pass PMDs when linking with shared DPDK library. Just pass -ldpdk which will pick up all PMDS dynamically. When linking with static DPKD library it is required to pass additional libraries after whole PMD string to fix linking when Libtool will reorder flags. So provide just two variables DPDK_LIBS and DPDK_LIBS_LT. Former should be passed directly to gcc, while later should be passed to libtool. Signed-off-by: Dmitry Eremin-Solenikov --- example/Makefile.inc | 2 +- m4/odp_dpdk.m4 | 83 ++++++++++++++++++----- platform/linux-generic/Makefile.am | 2 +- platform/linux-generic/libodp-linux.pc.in | 2 +- platform/linux-generic/m4/odp_dpdk.m4 | 24 +------ test/Makefile.inc | 2 +- 6 files changed, 72 insertions(+), 43 deletions(-) diff --git a/example/Makefile.inc b/example/Makefile.inc index 1609066e64..fa1224338f 100644 --- a/example/Makefile.inc +++ b/example/Makefile.inc @@ -1,7 +1,7 @@ TESTS_ENVIRONMENT = EXEEXT=${EXEEXT} LIB = $(top_builddir)/lib -LDADD = $(LIB)/libodp-linux.la $(LIB)/libodphelper.la $(DPDK_PMDS) +LDADD = $(LIB)/libodp-linux.la $(LIB)/libodphelper.la $(DPDK_LIBS_LT) AM_CFLAGS = \ -I$(srcdir) \ -I$(top_srcdir)/example \ diff --git a/m4/odp_dpdk.m4 b/m4/odp_dpdk.m4 index 05e60cc061..1887b0431a 100644 --- a/m4/odp_dpdk.m4 +++ b/m4/odp_dpdk.m4 @@ -1,22 +1,38 @@ # ODP_DPDK_PMDS(DPDK_DRIVER_PATH) # ------------------------------- -# Build a list of DPDK PMD drivers in DPDK_PMDS variable +# Build a list of DPDK PMD drivers in DPDK_PMDS variable. +# Updated DPDK_LIBS to include dependencies. AC_DEFUN([ODP_DPDK_PMDS], [dnl -AS_VAR_SET([DPDK_PMDS], [-Wl,--whole-archive,]) +AS_VAR_SET([DPDK_PMDS], ["-Wl,--whole-archive,"]) for filename in "$1"/librte_pmd_*.a; do cur_driver=`basename "$filename" .a | sed -e 's/^lib//'` -# rte_pmd_nfp has external dependencies which break linking -if test "$cur_driver" = "rte_pmd_nfp"; then - echo "skip linking rte_pmd_nfp" -else - AS_VAR_APPEND([DPDK_PMDS], [-l$cur_driver,]) -fi +AS_VAR_APPEND([DPDK_PMDS], [-l$cur_driver,]) +AS_CASE([$cur_driver], + [rte_pmd_nfp], [AS_VAR_APPEND([DPDK_LIBS], [" -lm"])], + [rte_pmd_pcap], [AS_VAR_APPEND([DPDK_LIBS], [" -lpcap"])], + [rte_pmd_openssl], [AS_VAR_APPEND([DPDK_LIBS], [" -lcrypto"])]) done AS_VAR_APPEND([DPDK_PMDS], [--no-whole-archive]) -AC_SUBST([DPDK_PMDS]) ]) -# _ODP_DPDK_CHECK_LIB(LDFLAGS, [LIBS], [EXTRA_LIBS]) +# _ODP_DPDK_SET_LIBS +# -------------------- +# Set DPDK_LIBS/DPDK_LIBS_LT depending on DPDK setup +AC_DEFUN([_ODP_DPDK_SET_LIBS], [dnl +AS_IF([test "x$DPDK_SHARED" = "xyes"], [dnl + DPDK_LIBS_LT="" + DPDK_LIBS="$DPDK_LDFLAGS $DPDK_RPATH $DPDK_LIBS" +], [dnl + ODP_DPDK_PMDS([$DPDK_PMD_PATH]) + DPDK_LIBS_LT="`echo $DPDK_LIBS | sed -e 's/^/-Wc,/' -e 's/ /,/g'`" + DPDK_LIBS_LT="$DPDK_LDFLAGS $DPDK_PMDS $DPDK_LIBS_LT $DPDK_LIBS" + DPDK_LIBS="$DPDK_LDFLAGS $DPDK_PMDS $DPDK_LIBS" +]) +AC_SUBST([DPDK_LIBS]) +AC_SUBST([DPDK_LIBS_LT]) +]) + +# _ODP_DPDK_CHECK_LIB(LDFLAGS, [LIBS]) # ---------------------------------- # Check if one can use -ldpdk with provided set of libs AC_DEFUN([_ODP_DPDK_CHECK_LIB], [dnl @@ -31,7 +47,7 @@ LIBS="$LIBS -ldpdk $2" AC_MSG_CHECKING([for rte_eal_init in -ldpdk $2]) AC_LINK_IFELSE([AC_LANG_CALL([], [rte_eal_init])], [AC_MSG_RESULT([yes]) - DPDK_LIBS="$1 -ldpdk $3 $2"], + DPDK_LIBS="-ldpdk $2"], [AC_MSG_RESULT([no])]) ########################################################################## @@ -41,10 +57,10 @@ LDFLAGS=$OLD_LDFLAGS LIBS=$OLD_LIBS ]) -# ODP_DPDK_CHECK(CPPFLAGS, LDFLAGS, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) -# ----------------------------------------------------------------------- +# _ODP_DPDK_CHECK(CPPFLAGS, LDFLAGS, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) +# ------------------------------------------------------------------------ # Check for DPDK availability -AC_DEFUN([ODP_DPDK_CHECK], [dnl +AC_DEFUN([_ODP_DPDK_CHECK], [dnl ########################################################################## # Save and set temporary compilation flags ########################################################################## @@ -59,13 +75,14 @@ AC_CHECK_HEADERS([rte_config.h], [], DPDK_LIBS="" _ODP_DPDK_CHECK_LIB([$2]) AS_IF([test "x$DPDK_LIBS" = "x"], - [_ODP_DPDK_CHECK_LIB([$2], [-ldl -lpthread], [-lm])]) + [_ODP_DPDK_CHECK_LIB([$2], [-ldl -lpthread])]) AS_IF([test "x$DPDK_LIBS" = "x"], - [_ODP_DPDK_CHECK_LIB([$2], [-ldl -lpthread -lnuma], [-lm])]) + [_ODP_DPDK_CHECK_LIB([$2], [-ldl -lpthread -lnuma])]) AS_IF([test "x$DPDK_LIBS" = "x"], [dpdk_check_ok=no]) AS_IF([test "x$dpdk_check_ok" != "xno"], - [AC_SUBST([DPDK_LIBS]) + [_ODP_DPDK_SET_LIBS + AC_SUBST([DPDK_CPPFLAGS]) m4_default([$3], [:])], [m4_default([$4], [:])]) @@ -74,3 +91,35 @@ AS_IF([test "x$dpdk_check_ok" != "xno"], ########################################################################## CPPFLAGS=$OLD_CPPFLAGS ]) + +# ODP_DPDK(DPDK_PATH, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ----------------------------------------------------------------------- +# Check for DPDK availability +AC_DEFUN([ODP_DPDK], [dnl +AS_IF([test "x$1" = "xsystem"], [dnl + DPDK_CPPFLAGS="-isystem/usr/include/dpdk" + DPDK_LDFLAGS="" + DPDK_RPATH="" + DPDK_LIB_PATH="`$CC --print-file-name=libdpdk.so`" + if test "x$DPDK_LIB_PATH" = "x" ; then + DPDK_LIB_PATH="`$CC --print-file-name=libdpdk.a`" + else + DPDK_SHARED=yes + fi + AS_IF([test "x$DPDK_LIB_PATH" = "x"], + [AC_MSG_FAILURE([Could not locate system DPDK library directory])]) + DPDK_PMD_PATH=`AS_DIRNAME(["$DPDK_PMD_PATH"])` +], [dnl + DPDK_CPPFLAGS="-isystem $1/include" + DPDK_LIB_PATH="$1/lib" + DPDK_LDFLAGS="-L$DPDK_LIB_PATH" + DPDK_PMD_PATH="$DPDK_LIB_PATH" + if test -r "$DPDK_LIB_PATH"/libdpdk.so ; then + DPDK_RPATH="-R$DPDK_LIB_PATH" + DPDK_SHARED=yes + else + DPDK_RPATH= + fi +]) +_ODP_DPDK_CHECK([$DPDK_CPPFLAGS], [$DPDK_LDFLAGS], [$2], [$3]) +]) diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 415e7b8b70..b7a8ff2553 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -305,7 +305,7 @@ endif __LIB__libodp_linux_la_LIBADD = $(ATOMIC_LIBS) __LIB__libodp_linux_la_LIBADD += $(OPENSSL_LIBS) -__LIB__libodp_linux_la_LIBADD += $(DPDK_LIBS) $(DPDK_PMDS) +__LIB__libodp_linux_la_LIBADD += $(DPDK_LIBS_LT) __LIB__libodp_linux_la_LIBADD += $(PTHREAD_LIBS) __LIB__libodp_linux_la_LIBADD += $(TIMER_LIBS) diff --git a/platform/linux-generic/libodp-linux.pc.in b/platform/linux-generic/libodp-linux.pc.in index 962a4f78ff..5125f83ad6 100644 --- a/platform/linux-generic/libodp-linux.pc.in +++ b/platform/linux-generic/libodp-linux.pc.in @@ -7,5 +7,5 @@ Name: libodp-linux Description: The ODP packet processing engine Version: @PKGCONFIG_VERSION@ Libs: -L${libdir} -lodp-linux -Libs.private: @OPENSSL_STATIC_LIBS@ @DPDK_PMDS@ @DPDK_LIBS@ @PCAP_LIBS@ @PTHREAD_LIBS@ @TIMER_LIBS@ -lpthread @ATOMIC_LIBS@ +Libs.private: @OPENSSL_STATIC_LIBS@ @DPDK_LIBS@ @PCAP_LIBS@ @PTHREAD_LIBS@ @TIMER_LIBS@ -lpthread @ATOMIC_LIBS@ Cflags: -I${includedir} diff --git a/platform/linux-generic/m4/odp_dpdk.m4 b/platform/linux-generic/m4/odp_dpdk.m4 index 471bbcd516..b2193a168c 100644 --- a/platform/linux-generic/m4/odp_dpdk.m4 +++ b/platform/linux-generic/m4/odp_dpdk.m4 @@ -13,17 +13,6 @@ AC_ARG_WITH([dpdk-path], [DPDK_PATH="$withval" pktio_dpdk_support=yes],[]) -AS_IF([test "x$DPDK_PATH" = "xsystem"], - [DPDK_CPPFLAGS="-isystem/usr/include/dpdk" - DPDK_LDFLAGS="" - DPDK_PMD_PATH="`$CC --print-file-name=librte_pmd_null.a`" - DPDK_PMD_PATH="`dirname "$DPDK_PMD_PATH"`" - AS_IF([test "x$DPDK_PMD_PATH" = "x"], - [AC_MSG_FAILURE([Could not locate system DPDK PMD directory])])], - [DPDK_CPPFLAGS="-isystem $DPDK_PATH/include" - DPDK_LDFLAGS="-L$DPDK_PATH/lib" - DPDK_PMD_PATH="$DPDK_PATH/lib"]) - ########################################################################## # Enable zero-copy DPDK pktio ########################################################################## @@ -42,22 +31,13 @@ AC_ARG_ENABLE([dpdk-zero-copy], ########################################################################## if test x$pktio_dpdk_support = xyes then - ODP_DPDK_CHECK([$DPDK_CPPFLAGS], [$DPDK_LDFLAGS], [], - [AC_MSG_FAILURE([can't find DPDK])]) - - ODP_DPDK_PMDS([$DPDK_PMD_PATH]) + ODP_DPDK([$DPDK_PATH], [], + [AC_MSG_FAILURE([can't find DPDK])]) AC_DEFINE([ODP_PKTIO_DPDK], [1], [Define to 1 to enable DPDK packet I/O support]) AC_DEFINE_UNQUOTED([ODP_DPDK_ZERO_COPY], [$zero_copy], [Define to 1 to enable DPDK zero copy support]) - - if test -r "$DPDK_PMD_PATH/librte_pmd_pcap.a" && - ! test -r "$DPDK_PMD_PATH/librte_pmd_pcap.so" ; then - DPDK_LIBS="$DPDK_LIBS -lpcap" - fi - AC_SUBST([DPDK_CPPFLAGS]) - AC_SUBST([DPDK_LIBS]) else pktio_dpdk_support=no fi diff --git a/test/Makefile.inc b/test/Makefile.inc index 192dab221a..b0a8749dcc 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -11,7 +11,7 @@ LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la #in the following line, the libs using the symbols should come before #the libs containing them! The includer is given a chance to add things #before libodp by setting PRELDADD before the inclusion. -LDADD = $(PRELDADD) $(LIBODP) $(DPDK_PMDS) +LDADD = $(PRELDADD) $(LIBODP) $(DPDK_LIBS_LT) PRELDADD = INCFLAGS = \