From b792c1f27d58040f3a815da18183d329bd6bd84b Mon Sep 17 00:00:00 2001 From: Konstantin Ananyev Date: Thu, 30 Sep 2021 10:05:39 +0000 Subject: tldk: swtich to use DPDK 20.11 LTS As in DPDK 20.11 'make' is not supported any more, switch to use pkg-conf approach. Note that RTE_SDK now should point to your DPDK package installation path. Signed-off-by: Konstantin Ananyev Change-Id: I4a3c394758e183a3ddcdb45a0562a81583daaab6 Signed-off-by: Konstantin Ananyev --- test/Makefile | 2 - test/dring/Makefile | 26 ++-------- test/dring/test_dring.c | 4 +- test/gtest/Makefile | 115 +++++++++----------------------------------- test/gtest/test_tle_dring.h | 4 +- test/memtank/Makefile | 26 ++-------- test/memtank/test_memtank.c | 11 +++-- test/timer/Makefile | 26 ++-------- 8 files changed, 45 insertions(+), 169 deletions(-) (limited to 'test') diff --git a/test/Makefile b/test/Makefile index c82b123..777b440 100644 --- a/test/Makefile +++ b/test/Makefile @@ -19,8 +19,6 @@ ifeq ($(TLDK_ROOT),) $(error "Please define TLDK_SDK environment variable") endif -include $(RTE_SDK)/mk/rte.vars.mk - DIRS-y += dring DIRS-y += gtest DIRS-y += memtank diff --git a/test/dring/Makefile b/test/dring/Makefile index 6549744..8141512 100644 --- a/test/dring/Makefile +++ b/test/dring/Makefile @@ -11,32 +11,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifeq ($(RTE_SDK),) -$(error "Please define RTE_SDK environment variable") -endif - -ifeq ($(RTE_TARGET),) -$(error "Please define RTE_TARGET environment variable") -endif - -ifeq ($(TLDK_ROOT),) -$(error "Please define TLDK_ROOT environment variable") -endif - -include $(RTE_SDK)/mk/rte.vars.mk - # binary name -APP = test_dring +APP_NAME = test_dring + +include $(TLDK_ROOT)/mk/tle.var.mk # all source are stored in SRCS-y SRCS-y += test_dring.c -CFLAGS += $(WERROR_FLAGS) -CFLAGS += -I$(RTE_OUTPUT)/include - -LDLIBS += -L$(RTE_OUTPUT)/lib -LDLIBS += -ltle_dring - -EXTRA_CFLAGS += -O3 +LIB_DEPS += tle_dring include $(TLDK_ROOT)/mk/tle.app.mk diff --git a/test/dring/test_dring.c b/test/dring/test_dring.c index 692fd44..a84081a 100644 --- a/test/dring/test_dring.c +++ b/test/dring/test_dring.c @@ -405,7 +405,7 @@ test_dring_mt(int32_t master_enq_type, int32_t master_deq_type, memset(arg, 0, sizeof(arg)); /* launch on all slaves */ - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { arg[lc].dr = &dr; arg[lc].r = r; arg[lc].iter = ITER_NUM; @@ -426,7 +426,7 @@ test_dring_mt(int32_t master_enq_type, int32_t master_deq_type, deq = arg[lc].deq; /* wait for slaves. */ - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { rc |= rte_eal_wait_lcore(lc); enq += arg[lc].enq; deq += arg[lc].deq; diff --git a/test/gtest/Makefile b/test/gtest/Makefile index 3858306..0d6372e 100644 --- a/test/gtest/Makefile +++ b/test/gtest/Makefile @@ -11,10 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifeq ($(RTE_SDK),) -$(error "Please define RTE_SDK environment variable") -endif - ifeq ($(GTEST_DIR),) all: @echo "GTEST_DIR is not setup properly. Skipping gtest" @@ -24,111 +20,46 @@ all: else -# Default target, can be overridden by command line or environment -RTE_TARGET ?= x86_64-native-linuxapp-gcc - -include $(RTE_SDK)/mk/rte.vars.mk - -CUR_SUBDIR ?= . - -# we must create the output dir first and recall the same Makefile -# from this directory -ifeq ($(NOT_FIRST_CALL),) - -NOT_FIRST_CALL = 1 -export NOT_FIRST_CALL - - -BDIR := $(RTE_OUTPUT)/build/$(CUR_SUBDIR) - -all: - $(Q)mkdir -p $(BDIR) - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) X=obj - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) X=app - -%:: - $(Q)mkdir -p $(BDIR) - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) $@ \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) X=obj - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) $@ \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) X=app -else - -# -# building object -# - -ifeq ($(X),obj) -include $(TLDK_ROOT)/mk/tle.cpp-vars.mk - # binary name -OBJ = gtest-rfc.o +APP_NAME = gtest-rfc + +include $(TLDK_ROOT)/mk/tle.var.mk # all source are stored in SRCS-y -SRCS-y += main.cpp -SRCS-y += test_common.cpp -SRCS-y += test_tle_dring.cpp -SRCS-y += test_tle_ctx.cpp -#SRCS-y += test_tle_udp_dev.cpp -SRCS-y += test_tle_udp_destroy.cpp -SRCS-y += test_tle_udp_event.cpp -#SRCS-y += test_tle_udp_stream.cpp -SRCS-y += test_tle_udp_stream_gen.cpp -SRCS-y += test_tle_tcp_stream.cpp -#SRCS-y += test_tle_tcp_stream_gen.cpp +SRCCPP-y += main.cpp +SRCCPP-y += test_common.cpp +SRCCPP-y += test_tle_dring.cpp +SRCCPP-y += test_tle_ctx.cpp +SRCCPP-y += test_tle_udp_destroy.cpp +SRCCPP-y += test_tle_udp_event.cpp +SRCCPP-y += test_tle_udp_stream_gen.cpp +SRCCPP-y += test_tle_tcp_stream.cpp SYMLINK-y-app += test_scapy_gen.py CXXFLAGS += -std=c++11 -ifeq ($(shell test $(GCC_VERSION) -lt 50 && echo 1), 1) -CXXFLAGS += -D __STDC_FORMAT_MACROS -endif - CXXFLAGS += -I$(GTEST_DIR)/include CXXFLAGS += -I$(GMOCK_DIR)/include -CXXFLAGS += -I$(RTE_OUTPUT)/include -CXXFLAGS += $(EXTRA_CFLAGS) +CXXFLAGS += $(CFLAGS) -Wno-error -LDFLAGS += -lstdc++ +LDFLAGS += -lstdc++ -lpthread LDFLAGS += -L$(GMOCK_DIR) -L$(GMOCK_DIR)/../lib -lgmock -LDLIBS += -whole-archive -ltle_l4p -ltle_dring - -include $(TLDK_ROOT)/mk/tle.cpp-obj.mk -endif - -# -# building app -# - -ifeq ($(X),app) +LDFLAGS += -L$(GMOCK_DIR)/gtest -L$(GMOCK_DIR)/../lib -lgtest -# binary name -APP = gtest-rfc - -# all source are stored in SRCS-y +LIB_DEPS += tle_l4p +LIB_DEPS += tle_memtank +LIB_DEPS += tle_timer +LIB_DEPS += tle_dring -CFLAGS += -O3 - -ifeq ($(shell test $(GCC_VERSION) -lt 50 && echo 1), 1) -CFLAGS += -D __STDC_FORMAT_MACROS -endif +CPP_OBJS := $(patsubst %.cpp,$(BDIR)/%.o,$(SRCCPP-y)) +OBJS += $(CPP_OBJS) -CFLAGS += $(WERROR_FLAGS) - -LDLIBS += gtest-rfc.o - -LDLIBS += -lstdc++ -LDLIBS += -L$(GMOCK_DIR) -L$(GMOCK_DIR)/../lib -lgmock -LDLIBS += -L$(GMOCK_DIR)/gtest -L$(GMOCK_DIR)/../lib -lgtest -LDLIBS += -L$(RTE_OUTPUT)/lib -LDLIBS += -whole-archive -ltle_l4p -ltle_dring -ltle_memtank -ltle_timer +$(BDIR)/%.o: %.cpp Makefile + @mkdir -p $(BDIR) + $(Q)$(CXX) $(CXXFLAGS) $(CXXFLAGS_$(<)) -c $< -o $@ include $(TLDK_ROOT)/mk/tle.app.mk -endif endif -endif diff --git a/test/gtest/test_tle_dring.h b/test/gtest/test_tle_dring.h index fdb2c47..1988e9f 100644 --- a/test/gtest/test_tle_dring.h +++ b/test/gtest/test_tle_dring.h @@ -384,7 +384,7 @@ test_dring_mt(int32_t master_enq_type, int32_t master_deq_type, memset(arg, 0, sizeof(arg)); /* launch on all slaves */ - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { arg[lc].dr = &dr; arg[lc].r = r; arg[lc].iter = ITER_NUM; @@ -405,7 +405,7 @@ test_dring_mt(int32_t master_enq_type, int32_t master_deq_type, deq = arg[lc].deq; /* wait for slaves. */ - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { rc |= rte_eal_wait_lcore(lc); enq += arg[lc].enq; deq += arg[lc].deq; diff --git a/test/memtank/Makefile b/test/memtank/Makefile index b8e4483..5a508c0 100644 --- a/test/memtank/Makefile +++ b/test/memtank/Makefile @@ -11,32 +11,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifeq ($(RTE_SDK),) -$(error "Please define RTE_SDK environment variable") -endif - -ifeq ($(RTE_TARGET),) -$(error "Please define RTE_TARGET environment variable") -endif - -ifeq ($(TLDK_ROOT),) -$(error "Please define TLDK_ROOT environment variable") -endif - -include $(RTE_SDK)/mk/rte.vars.mk - # binary name -APP = test_memtank +APP_NAME = test_memtank + +include $(TLDK_ROOT)/mk/tle.var.mk # all source are stored in SRCS-y SRCS-y += test_memtank.c -CFLAGS += $(WERROR_FLAGS) -CFLAGS += -I$(RTE_OUTPUT)/include - -LDLIBS += -L$(RTE_OUTPUT)/lib -LDLIBS += -ltle_memtank - -EXTRA_CFLAGS += -O3 +LIB_DEPS += tle_memtank include $(TLDK_ROOT)/mk/tle.app.mk diff --git a/test/memtank/test_memtank.c b/test/memtank/test_memtank.c index 6312339..899cc5a 100644 --- a/test/memtank/test_memtank.c +++ b/test/memtank/test_memtank.c @@ -703,7 +703,7 @@ test_memtank_cleanup(struct tle_memtank *mt, struct memstat *ms, printf("%s(%s)\n", __func__, tname); - RTE_LCORE_FOREACH_SLAVE(lc) + RTE_LCORE_FOREACH_WORKER(lc) rte_eal_remote_launch(test_worker_cleanup, &arg[lc], lc); /* launch on master */ @@ -711,8 +711,9 @@ test_memtank_cleanup(struct tle_memtank *mt, struct memstat *ms, arg[lc].master.run_cycles = CLEANUP_TIME * rte_get_timer_hz(); test_memtank_master(&arg[lc]); + rc = 0; ms->nb_alloc_obj = 0; - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { rc |= rte_eal_wait_lcore(lc); ms->nb_alloc_obj += arg[lc].stats.alloc.nb_alloc - arg[lc].stats.free.nb_free; @@ -764,7 +765,7 @@ test_memtank_mt(const char *tname, uint32_t alloc_flags, uint32_t free_flags) memset(arg, 0, sizeof(arg)); /* prepare args on all slaves */ - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { arg[lc].mt = mt; rc = fill_worker_args(&arg[lc].worker, alloc_flags, free_flags, lc); @@ -779,7 +780,7 @@ test_memtank_mt(const char *tname, uint32_t alloc_flags, uint32_t free_flags) } /* launch on all slaves */ - RTE_LCORE_FOREACH_SLAVE(lc) + RTE_LCORE_FOREACH_WORKER(lc) rte_eal_remote_launch(test_memtank_worker, &arg[lc], lc); /* launch on master */ @@ -794,7 +795,7 @@ test_memtank_mt(const char *tname, uint32_t alloc_flags, uint32_t free_flags) memtank_stat_reset(&wrk_stats); rc = 0; - RTE_LCORE_FOREACH_SLAVE(lc) { + RTE_LCORE_FOREACH_WORKER(lc) { rc |= rte_eal_wait_lcore(lc); memtank_stat_dump(stdout, lc, &arg[lc].stats); memtank_stat_aggr(&wrk_stats, &arg[lc].stats); diff --git a/test/timer/Makefile b/test/timer/Makefile index 159faeb..5e3c1ef 100644 --- a/test/timer/Makefile +++ b/test/timer/Makefile @@ -11,32 +11,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifeq ($(RTE_SDK),) -$(error "Please define RTE_SDK environment variable") -endif - -ifeq ($(RTE_TARGET),) -$(error "Please define RTE_TARGET environment variable") -endif - -ifeq ($(TLDK_ROOT),) -$(error "Please define TLDK_ROOT environment variable") -endif - -include $(RTE_SDK)/mk/rte.vars.mk - # binary name -APP = test_timer +APP_NAME = test_timer + +include $(TLDK_ROOT)/mk/tle.var.mk # all source are stored in SRCS-y SRCS-y += test_timer.c -CFLAGS += $(WERROR_FLAGS) -CFLAGS += -I$(RTE_OUTPUT)/include - -LDLIBS += -L$(RTE_OUTPUT)/lib -LDLIBS += -ltle_timer - -EXTRA_CFLAGS += -O3 +LIB_DEPS += tle_timer include $(TLDK_ROOT)/mk/tle.app.mk -- cgit 1.2.3-korg