加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0213-cleancode-improving-makefile-readability.patch 39.09 KB
一键复制 编辑 原始数据 按行查看 历史
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154
From 871a94d0abdf14efb9dfe42b711acc37d842ce6d Mon Sep 17 00:00:00 2001
From: Lemmy Huang <huangliming5@huawei.com>
Date: Mon, 8 Jul 2024 20:35:10 +0800
Subject: [PATCH] cleancode: improving makefile readability
Signed-off-by: Lemmy Huang <huangliming5@huawei.com>
---
build/build.sh | 8 +-
src/common/dir.mk | 13 ---
src/lstack/Makefile | 92 +++++++--------
src/lstack/Printlog.mk | 14 +++
src/lstack/api/dir.mk | 14 ---
src/lstack/api/lstack_epoll.c | 4 +-
src/lstack/api/lstack_rtw_api.c | 2 +-
src/lstack/api/lstack_signal.c | 4 +-
src/lstack/api/lstack_wrap.c | 3 +-
src/lstack/core/dir.mk | 13 ---
src/lstack/core/lstack_cfg.c | 5 +-
src/lstack/core/lstack_control_plane.c | 4 +-
src/lstack/core/lstack_dpdk.c | 3 +-
src/lstack/core/lstack_init.c | 5 +-
src/lstack/core/lstack_lwip.c | 4 +-
src/lstack/core/lstack_preload.c | 1 -
src/lstack/core/lstack_protocol_stack.c | 6 +-
src/lstack/core/lstack_stack_stat.c | 4 +-
src/lstack/include/lstack_cfg.h | 2 +-
src/lstack/include/lstack_dpdk.h | 4 +-
src/lstack/include/lstack_fault_inject.h | 2 +
src/lstack/include/lstack_lwip.h | 2 +-
src/lstack/include/lstack_protocol_stack.h | 4 +-
src/lstack/include/posix/lstack_epoll.h | 4 +-
src/lstack/netif/dir.mk | 15 ---
src/lstack/netif/lstack_ethdev.c | 2 +-
src/lstack/netif/lstack_fault_inject.c | 4 +
src/lstack/netif/lstack_flow.c | 2 +-
src/lstack/netif/lstack_tx_cache.c | 2 +-
src/lstack/netif/lstack_vdev.c | 4 +-
src/ltran/CMakeLists.txt | 127 ++++++++++++---------
src/ltran/ltran_base.h | 2 +-
src/ltran/ltran_dfx.c | 2 +-
src/ltran/ltran_ethdev.c | 6 +-
src/ltran/ltran_ethdev.h | 2 +-
src/ltran/ltran_forward.c | 2 +-
src/ltran/ltran_instance.c | 6 +-
src/ltran/ltran_instance.h | 4 +-
src/ltran/ltran_monitor.c | 4 +-
src/ltran/ltran_param.c | 4 +-
src/ltran/ltran_param.h | 2 +-
src/ltran/ltran_stack.c | 2 +-
src/ltran/ltran_stat.c | 4 +-
src/ltran/ltran_stat.h | 2 +-
src/ltran/ltran_tcp_conn.h | 2 +-
src/ltran/ltran_tcp_sock.c | 2 +-
src/ltran/ltran_tcp_sock.h | 2 +-
src/ltran/main.c | 2 +-
48 files changed, 200 insertions(+), 223 deletions(-)
delete mode 100644 src/common/dir.mk
create mode 100644 src/lstack/Printlog.mk
delete mode 100644 src/lstack/api/dir.mk
delete mode 100644 src/lstack/core/dir.mk
delete mode 100644 src/lstack/netif/dir.mk
diff --git a/build/build.sh b/build/build.sh
index 622e1cc..ed6d444 100755
--- a/build/build.sh
+++ b/build/build.sh
@@ -12,8 +12,10 @@
export CURRENT_PATH=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
cd $CURRENT_PATH
+cpu_num=8
+
make -C ../src/lstack clean
-make -C ../src/lstack
+make -C ../src/lstack -j${cpu_num}
if [ $? -ne 0 ]; then
echo "build lstack failed"
exit 1
@@ -24,7 +26,7 @@ rm -f CMakeCache.txt
rm -f ltran gazellectl
rm -rf CMakeFiles
cmake .
-make
+make -j${cpu_num}
if [ $? -ne 0 ]; then
echo "build ltran failed"
exit 1
@@ -33,7 +35,7 @@ fi
cd -
cd ../examples
cmake .
-make
+make -j${cpu_num}
if [ $? -ne 0 ]; then
echo "build examples failed"
exit 1
diff --git a/src/common/dir.mk b/src/common/dir.mk
deleted file mode 100644
index 68a2b72..0000000
--- a/src/common/dir.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
-# gazelle is licensed under the Mulan PSL v2.
-# You can use this software according to the terms and conditions of the Mulan PSL v2.
-# You may obtain a copy of Mulan PSL v2 at:
-# http://license.coscl.org.cn/MulanPSL2
-# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
-# PURPOSE.
-# See the Mulan PSL v2 for more details.
-
-SRC = dpdk_common.c gazelle_parse_config.c
-$(eval $(call register_dir, ../common, $(SRC)))
-
diff --git a/src/lstack/Makefile b/src/lstack/Makefile
index ace33bd..dd4e2c4 100644
--- a/src/lstack/Makefile
+++ b/src/lstack/Makefile
@@ -7,40 +7,28 @@
# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
# PURPOSE.
# See the Mulan PSL v2 for more details.
-LSTACK_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
-ROOT_DIR := $(dir $(abspath $(LSTACK_DIR)))
+ROOT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+
+include $(ROOT_DIR)/Printlog.mk
-LWIP_INCLUDE_FILE ?= /usr/include/lwip
LIB_PATH ?= /usr/lib64
+LWIP_INCLUDE_DIR ?= /usr/include/lwip
DPDK_VERSION := $(shell rpm -q --queryformat '%{VERSION}' dpdk)
ifeq ($(DPDK_VERSION),21.11)
- DPDK_INCLUDE_FILE := /usr/local/include
+ DPDK_INCLUDE_DIR := /usr/local/include
else
- DPDK_INCLUDE_FILE := /usr/include/dpdk
+ DPDK_INCLUDE_DIR := /usr/include/dpdk
endif
AR = ar
ARFLAGS = crDP
CC ?= gcc
-OPTIMIZATION = -O2 -g
RM = rm -f
-LDFLAGS = -shared -ldl -lm -lpthread -lrt -lnuma -lconfig -lboundscheck
ARCH := $(shell uname -m)
-ifneq ($(CC),clang)
- SEC_FLAGS = -fstack-protector-strong -Werror -Wall -Wno-deprecated-declarations -Wl,-z,relro, -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines -fPIC -D_FORTIFY_SOURCE=2
-else
- SEC_FLAGS = -fstack-protector-strong -Werror -Wall -Wno-deprecated-declarations -fPIC
-endif
-$(info $(CC):$(SEC_FLAGS))
-
-INC = -I$(LSTACK_DIR)/include \
- -I$(LSTACK_DIR)/../common \
- -I$(LWIP_INCLUDE_FILE) \
- -I$(DPDK_INCLUDE_FILE)
-
-CFLAGS += $(OPTIMIZATION) -fno-strict-aliasing $(INC) -Wno-error=unused-function
+CFLAGS = -O2 -g
+LDFLAGS = -shared -ldl -lm -lpthread -lrt -lnuma -lconfig -lboundscheck
ifeq ($(GAZELLE_COVERAGE_ENABLE), 1)
LDFLAGS += -fprofile-arcs -ftest-coverage
@@ -48,7 +36,6 @@ ifeq ($(GAZELLE_COVERAGE_ENABLE), 1)
endif
ifeq ($(GAZELLE_FAULT_INJECT_ENABLE), 1)
- LDFLAGS += -DGAZELLE_FAULT_INJECT_ENABLE
CFLAGS += -DGAZELLE_FAULT_INJECT_ENABLE
endif
@@ -56,19 +43,21 @@ ifeq ($(shell $(CC) -dumpmachine | cut -d"-" -f1), x86_64)
CFLAGS += -mssse3
endif
-CFLAGS += $(SEC_FLAGS)
-
-SRCS =
-DIRS = core netif api ../common
+SEC_FLAGS = -Wall -Werror -fstack-protector-strong -Wno-deprecated-declarations -fPIC
+ifneq ($(CC),clang)
+ SEC_FLAGS += -Wl,-z,relro, -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines -D_FORTIFY_SOURCE=2
+endif
-define register_dir
-SRCS += $(patsubst %, $(1)/%, $(2))
-endef
+INC = -I$(ROOT_DIR)/include \
+ -I$(ROOT_DIR)/../ \
+ -I$(LWIP_INCLUDE_DIR) \
+ -I$(DPDK_INCLUDE_DIR)
-include $(patsubst %, %/dir.mk, $(DIRS))
+CFLAGS += -fno-strict-aliasing -Wno-error=unused-function
+CFLAGS += -D__USE_GNU=1 -D_GNU_SOURCE=1
+CFLAGS += $(SEC_FLAGS)
+CFLAGS += $(INC)
-# Linking object and library
-OBJS = $(subst .c,.o,$(SRCS))
LWIP_LIB = $(LIB_PATH)/liblwip.a
LIBRTE_LIB = $(LIB_PATH)/librte_pci.so \
@@ -98,9 +87,9 @@ ifeq ($(DPDK_VERSION), 19.11)
$(LIB_PATH)/librte_pmd_hinic.so \
$(LIB_PATH)/librte_pmd_ixgbe.so \
$(LIB_PATH)/librte_pmd_virtio.so
- ifneq ($(ARCH), loongarch64)
- LIBRTE_LIB += $(LIB_PATH)/librte_pmd_i40e.so
- endif
+ ifneq ($(ARCH), loongarch64)
+ LIBRTE_LIB += $(LIB_PATH)/librte_pmd_i40e.so
+ endif
else
LIBRTE_LIB += $(LIB_PATH)/librte_net_pcap.so \
$(LIB_PATH)/librte_net_bond.so \
@@ -109,31 +98,38 @@ else
$(LIB_PATH)/librte_net_virtio.so \
$(LIB_PATH)/librte_telemetry.so \
$(LIB_PATH)/librte_pcapng.so
- ifeq ($(filter loongarch64 riscv64, $(ARCH)),)
- LIBRTE_LIB += $(LIB_PATH)/librte_net_i40e.so
- endif
+ ifeq ($(filter loongarch64 riscv64, $(ARCH)),)
+ LIBRTE_LIB += $(LIB_PATH)/librte_net_i40e.so
+ endif
endif
DEP_LIBS = $(LWIP_LIB) $(LIBRTE_LIB)
+$(info $(CC):$(DEP_LIBS))
+
+SRCS = $(wildcard ./api/*.c ./core/*.c ./netif/*.c ../common/*.c)
+# Linking object and library
+OBJS = $(subst .c,.o,$(SRCS))
+
LDFLAGS += -Wl,--whole-archive $(DEP_LIBS) $(OBJS) -Wl,--no-whole-archive
+$(info [CFLAGS] $(CFLAGS))
+$(info [LDFLAGS] $(LDFLAGS))
+
# Target
LSTACK_SHARED_LIB = liblstack.so
LSTACK_STATIC_LIB = liblstack.a
-.PHONY: all
+.PHONY: all clean
all: $(LSTACK_SHARED_LIB)
-depend: .depend
-
-.depend: $(SRCS)
- rm -f ./.depend
- $(foreach SRC,$(SRCS),$(CC) $(CFLAGS) -MM -MT $(SRC:.c=.o) $(SRC) >> .depend;)
-
--include .depend
-
$(LSTACK_SHARED_LIB): $(OBJS)
- $(CC) $(LDFLAGS) -Wl,--whole-archive -Wl,--no-whole-archive -o $@
+ $(call printlog, BUILD, $@)
+ $(QUIET) $(CC) $(LDFLAGS) -o $@
+
+%.o: %.c
+ $(call printlog, BUILD, $@)
+ $(QUIET) $(CC) $(CFLAGS) -c $(filter %.c,$^) -o $@
clean:
- $(RM) $(LSTACK_SHARED_LIB) $(OBJS) .depend
+ $(call printlog, CLEAN, $(LSTACK_SHARED_LIB))
+ $(QUIET) $(RM) $(LSTACK_SHARED_LIB) $(OBJS)
diff --git a/src/lstack/Printlog.mk b/src/lstack/Printlog.mk
new file mode 100644
index 0000000..7604851
--- /dev/null
+++ b/src/lstack/Printlog.mk
@@ -0,0 +1,14 @@
+
+ROOT_DIR ?= $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+
+ifeq ($(V),1)
+ QUIET =
+ printlog =
+else
+ QUIET = @
+ printlog = @printf ' %-8s %s%s\n' \
+ "$(1)" \
+ "$(patsubst $(ROOT_DIR)/%,%,$(2))" \
+ "$(if $(3), $(3))";
+ MAKEFLAGS += --no-print-directory
+endif
diff --git a/src/lstack/api/dir.mk b/src/lstack/api/dir.mk
deleted file mode 100644
index 729690d..0000000
--- a/src/lstack/api/dir.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
-# gazelle is licensed under the Mulan PSL v2.
-# You can use this software according to the terms and conditions of the Mulan PSL v2.
-# You may obtain a copy of Mulan PSL v2 at:
-# http://license.coscl.org.cn/MulanPSL2
-# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
-# PURPOSE.
-# See the Mulan PSL v2 for more details.
-
-SRC = lstack_epoll.c lstack_signal.c lstack_fork.c lstack_wrap.c lstack_rtw_api.c lstack_rtc_api.c lstack_dummy_api.c
-
-$(eval $(call register_dir, api, $(SRC)))
-
diff --git a/src/lstack/api/lstack_epoll.c b/src/lstack/api/lstack_epoll.c
index 2ac7150..9c0aef7 100644
--- a/src/lstack/api/lstack_epoll.c
+++ b/src/lstack/api/lstack_epoll.c
@@ -31,8 +31,8 @@
#include "lstack_stack_stat.h"
#include "lstack_cfg.h"
#include "lstack_log.h"
-#include "dpdk_common.h"
-#include "gazelle_base_func.h"
+#include "common/dpdk_common.h"
+#include "common/gazelle_base_func.h"
#include "lstack_lwip.h"
#include "lstack_protocol_stack.h"
#include "posix/lstack_epoll.h"
diff --git a/src/lstack/api/lstack_rtw_api.c b/src/lstack/api/lstack_rtw_api.c
index e50fe37..e43be59 100644
--- a/src/lstack/api/lstack_rtw_api.c
+++ b/src/lstack/api/lstack_rtw_api.c
@@ -22,7 +22,7 @@
#include "lstack_protocol_stack.h"
#include "lstack_cfg.h"
#include "lstack_lwip.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_rtw_api.h"
diff --git a/src/lstack/api/lstack_signal.c b/src/lstack/api/lstack_signal.c
index 314c14c..3dd5d03 100644
--- a/src/lstack/api/lstack_signal.c
+++ b/src/lstack/api/lstack_signal.c
@@ -18,9 +18,9 @@
#include <lwip/lwipsock.h>
#include <lwip/posix_api.h>
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_cfg.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_log.h"
#include "lstack_control_plane.h"
diff --git a/src/lstack/api/lstack_wrap.c b/src/lstack/api/lstack_wrap.c
index 7101d98..3a60cbb 100644
--- a/src/lstack/api/lstack_wrap.c
+++ b/src/lstack/api/lstack_wrap.c
@@ -10,7 +10,6 @@
* See the Mulan PSL v2 for more details.
*/
-#define _GNU_SOURCE
#include <dlfcn.h>
#include <netdb.h>
#include <ifaddrs.h>
@@ -31,7 +30,7 @@
#include "lstack_log.h"
#include "lstack_cfg.h"
#include "lstack_lwip.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_preload.h"
#include "lstack_rtc_api.h"
diff --git a/src/lstack/core/dir.mk b/src/lstack/core/dir.mk
deleted file mode 100644
index 21b0d22..0000000
--- a/src/lstack/core/dir.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
-# gazelle is licensed under the Mulan PSL v2.
-# You can use this software according to the terms and conditions of the Mulan PSL v2.
-# You may obtain a copy of Mulan PSL v2 at:
-# http://license.coscl.org.cn/MulanPSL2
-# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
-# PURPOSE.
-# See the Mulan PSL v2 for more details.
-
-SRC = lstack_preload.c lstack_init.c lstack_cfg.c lstack_dpdk.c lstack_control_plane.c lstack_stack_stat.c lstack_lwip.c lstack_protocol_stack.c lstack_thread_rpc.c lstack_virtio.c lstack_port_map.c
-$(eval $(call register_dir, core, $(SRC)))
-
diff --git a/src/lstack/core/lstack_cfg.c b/src/lstack/core/lstack_cfg.c
index a165cdb..4bc4217 100644
--- a/src/lstack/core/lstack_cfg.c
+++ b/src/lstack/core/lstack_cfg.c
@@ -10,7 +10,6 @@
* See the Mulan PSL v2 for more details.
*/
-#define _GNU_SOURCE
#include <stdlib.h>
#include <getopt.h>
#include <stdio.h>
@@ -29,9 +28,9 @@
#include <lwip/posix_api.h>
#include <lwip/inet.h>
-#include "gazelle_reg_msg.h"
+#include "common/gazelle_reg_msg.h"
+#include "common/gazelle_base_func.h"
#include "lstack_log.h"
-#include "gazelle_base_func.h"
#include "lstack_cfg.h"
#define DEFAULT_CONF_FILE "/etc/gazelle/lstack.conf"
diff --git a/src/lstack/core/lstack_control_plane.c b/src/lstack/core/lstack_control_plane.c
index 04858c7..4ab12f6 100644
--- a/src/lstack/core/lstack_control_plane.c
+++ b/src/lstack/core/lstack_control_plane.c
@@ -26,8 +26,8 @@
#include "lstack_cfg.h"
#include "lstack_dpdk.h"
-#include "gazelle_reg_msg.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_reg_msg.h"
+#include "common/gazelle_base_func.h"
#include "lstack_stack_stat.h"
#include "lstack_log.h"
#include "lstack_thread_rpc.h"
diff --git a/src/lstack/core/lstack_dpdk.c b/src/lstack/core/lstack_dpdk.c
index 2de41e3..583bb09 100644
--- a/src/lstack/core/lstack_dpdk.c
+++ b/src/lstack/core/lstack_dpdk.c
@@ -10,7 +10,6 @@
* See the Mulan PSL v2 for more details.
*/
-#define _GNU_SOURCE
#include <sched.h>
#include <stdbool.h>
#include <securec.h>
@@ -44,7 +43,7 @@
#include <rte_ethdev.h>
#include "lstack_log.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_protocol_stack.h"
#include "lstack_thread_rpc.h"
#include "lstack_lwip.h"
diff --git a/src/lstack/core/lstack_init.c b/src/lstack/core/lstack_init.c
index c2499d7..d97b218 100644
--- a/src/lstack/core/lstack_init.c
+++ b/src/lstack/core/lstack_init.c
@@ -10,7 +10,6 @@
* See the Mulan PSL v2 for more details.
*/
-#define _GNU_SOURCE
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
@@ -41,10 +40,10 @@
#include "lstack_dpdk.h"
#include "lstack_stack_stat.h"
#include "lstack_log.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "posix/lstack_epoll.h"
#include "posix/lstack_unistd.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_protocol_stack.h"
#include "lstack_preload.h"
#include "lstack_wrap.h"
diff --git a/src/lstack/core/lstack_lwip.c b/src/lstack/core/lstack_lwip.c
index 3728100..6e50e4d 100644
--- a/src/lstack/core/lstack_lwip.c
+++ b/src/lstack/core/lstack_lwip.c
@@ -27,7 +27,7 @@
#include <rte_errno.h>
#include <rte_malloc.h>
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_ethdev.h"
#include "lstack_protocol_stack.h"
#include "lstack_log.h"
@@ -35,7 +35,7 @@
#include "lstack_stack_stat.h"
#include "posix/lstack_epoll.h"
#include "lstack_thread_rpc.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_cfg.h"
#include "lstack_lwip.h"
diff --git a/src/lstack/core/lstack_preload.c b/src/lstack/core/lstack_preload.c
index 1d68501..f7caef5 100644
--- a/src/lstack/core/lstack_preload.c
+++ b/src/lstack/core/lstack_preload.c
@@ -12,7 +12,6 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
-#define __USE_GNU
#include <pthread.h>
#include <securec.h>
diff --git a/src/lstack/core/lstack_protocol_stack.c b/src/lstack/core/lstack_protocol_stack.c
index e272a04..1983c0b 100644
--- a/src/lstack/core/lstack_protocol_stack.c
+++ b/src/lstack/core/lstack_protocol_stack.c
@@ -9,7 +9,7 @@
* PURPOSE.
* See the Mulan PSL v2 for more details.
*/
-#define _GNU_SOURCE
+
#include <pthread.h>
#include <stdatomic.h>
@@ -22,9 +22,9 @@
#include <securec.h>
#include <numa.h>
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "lstack_thread_rpc.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_log.h"
#include "lstack_dpdk.h"
#include "lstack_ethdev.h"
diff --git a/src/lstack/core/lstack_stack_stat.c b/src/lstack/core/lstack_stack_stat.c
index 1e32c45..423be81 100644
--- a/src/lstack/core/lstack_stack_stat.c
+++ b/src/lstack/core/lstack_stack_stat.c
@@ -22,8 +22,8 @@
#include "posix_api.h"
#include "lstack_control_plane.h"
#include "lstack_log.h"
-#include "dpdk_common.h"
-#include "gazelle_dfx_msg.h"
+#include "common/dpdk_common.h"
+#include "common/gazelle_dfx_msg.h"
#include "lstack_thread_rpc.h"
#include "lstack_protocol_stack.h"
#include "posix/lstack_epoll.h"
diff --git a/src/lstack/include/lstack_cfg.h b/src/lstack/include/lstack_cfg.h
index a15088a..4fc99f3 100644
--- a/src/lstack/include/lstack_cfg.h
+++ b/src/lstack/include/lstack_cfg.h
@@ -20,7 +20,7 @@
#include <rte_bus_pci.h>
#include "lstack_protocol_stack.h"
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
#define BASE_BIN_SCALE 2
#define BASE_OCT_SCALE 8
diff --git a/src/lstack/include/lstack_dpdk.h b/src/lstack/include/lstack_dpdk.h
index dff1e44..91af3c5 100644
--- a/src/lstack/include/lstack_dpdk.h
+++ b/src/lstack/include/lstack_dpdk.h
@@ -14,8 +14,8 @@
#define _GAZELLE_DPDK_H_
#include <lwip/reg_sock.h>
-#include "gazelle_opt.h"
-#include "gazelle_dfx_msg.h"
+#include "common/gazelle_opt.h"
+#include "common/gazelle_dfx_msg.h"
#define RXTX_CACHE_SZ (VDEV_RX_QUEUE_SZ)
diff --git a/src/lstack/include/lstack_fault_inject.h b/src/lstack/include/lstack_fault_inject.h
index afd8faf..a65c61f 100644
--- a/src/lstack/include/lstack_fault_inject.h
+++ b/src/lstack/include/lstack_fault_inject.h
@@ -15,6 +15,8 @@
#include <stdbool.h>
+#include "common/gazelle_dfx_msg.h"
+
int32_t handle_fault_inject_cmd(int32_t sockfd, struct gazelle_fault_inject_data inject, enum GAZELLE_STAT_MODE stat_mode);
#endif /* __GAZELLE_INJECT_H__ */
diff --git a/src/lstack/include/lstack_lwip.h b/src/lstack/include/lstack_lwip.h
index 85c9c20..0b952ec 100644
--- a/src/lstack/include/lstack_lwip.h
+++ b/src/lstack/include/lstack_lwip.h
@@ -14,7 +14,7 @@
#define __GAZELLE_LWIP_H__
#include <stdbool.h>
-#include "gazelle_dfx_msg.h"
+#include "common/gazelle_dfx_msg.h"
#define NETCONN_IS_ACCEPTIN(sock) (((sock)->conn->acceptmbox != NULL) && !sys_mbox_empty((sock)->conn->acceptmbox))
#define NETCONN_IS_DATAIN(sock) ((gazelle_ring_readable_count((sock)->recv_ring) || (sock)->recv_lastdata) || (sock->same_node_rx_ring != NULL && same_node_ring_count(sock)))
diff --git a/src/lstack/include/lstack_protocol_stack.h b/src/lstack/include/lstack_protocol_stack.h
index 6ca4f14..5b04c6d 100644
--- a/src/lstack/include/lstack_protocol_stack.h
+++ b/src/lstack/include/lstack_protocol_stack.h
@@ -20,11 +20,11 @@
#include <lwip/list.h>
#include <lwip/netif.h>
-#include "gazelle_dfx_msg.h"
+#include "common/gazelle_opt.h"
+#include "common/gazelle_dfx_msg.h"
#include "lstack_thread_rpc.h"
#include "lstack_ethdev.h"
#include "lstack_tx_cache.h"
-#include "gazelle_opt.h"
#define SOCK_RECV_RING_SIZE (get_global_cfg_params()->recv_ring_size)
#define SOCK_RECV_FREE_THRES (32)
diff --git a/src/lstack/include/posix/lstack_epoll.h b/src/lstack/include/posix/lstack_epoll.h
index a7164f4..77b6ebb 100644
--- a/src/lstack/include/posix/lstack_epoll.h
+++ b/src/lstack/include/posix/lstack_epoll.h
@@ -20,8 +20,8 @@
#include <lwip/list.h>
-#include "gazelle_dfx_msg.h"
-#include "gazelle_opt.h"
+#include "common/gazelle_dfx_msg.h"
+#include "common/gazelle_opt.h"
#ifdef __cplusplus
extern "C" {
diff --git a/src/lstack/netif/dir.mk b/src/lstack/netif/dir.mk
deleted file mode 100644
index b551041..0000000
--- a/src/lstack/netif/dir.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
-# gazelle is licensed under the Mulan PSL v2.
-# You can use this software according to the terms and conditions of the Mulan PSL v2.
-# You may obtain a copy of Mulan PSL v2 at:
-# http://license.coscl.org.cn/MulanPSL2
-# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
-# PURPOSE.
-# See the Mulan PSL v2 for more details.
-
-SRC = lstack_ethdev.c lstack_vdev.c lstack_flow.c lstack_tx_cache.c
-ifeq ($(GAZELLE_FAULT_INJECT_ENABLE), 1)
- SRC += lstack_fault_inject.c
-endif
-$(eval $(call register_dir, netif, $(SRC)))
diff --git a/src/lstack/netif/lstack_ethdev.c b/src/lstack/netif/lstack_ethdev.c
index 933c3e8..e23d313 100644
--- a/src/lstack/netif/lstack_ethdev.c
+++ b/src/lstack/netif/lstack_ethdev.c
@@ -24,7 +24,7 @@
#include <securec.h>
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_cfg.h"
#include "lstack_vdev.h"
#include "lstack_stack_stat.h"
diff --git a/src/lstack/netif/lstack_fault_inject.c b/src/lstack/netif/lstack_fault_inject.c
index 4edc6cc..4736e29 100644
--- a/src/lstack/netif/lstack_fault_inject.c
+++ b/src/lstack/netif/lstack_fault_inject.c
@@ -20,6 +20,9 @@
#include "lstack_log.h"
#include "lstack_vdev.h"
+#ifdef GAZELLE_FAULT_INJECT_ENABLE
+#include "lstack_fault_inject.h"
+
#define INJECT_MODULO 1000 /* used in modulus operator */
#define INJECT_US_TO_MS 1000 /* transefer time unit us to ms */
@@ -371,3 +374,4 @@ int32_t handle_fault_inject_cmd(int32_t sockfd, struct gazelle_fault_inject_data
return inject_set_cmd(sockfd, inject);
}
+#endif /* GAZELLE_FAULT_INJECT_ENABLE */
diff --git a/src/lstack/netif/lstack_flow.c b/src/lstack/netif/lstack_flow.c
index 9e8792c..84497dc 100644
--- a/src/lstack/netif/lstack_flow.c
+++ b/src/lstack/netif/lstack_flow.c
@@ -22,7 +22,7 @@
#include <lwip/tcp.h>
#include <lwip/prot/tcp.h>
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_log.h"
#include "lstack_dpdk.h"
#include "lstack_cfg.h"
diff --git a/src/lstack/netif/lstack_tx_cache.c b/src/lstack/netif/lstack_tx_cache.c
index ac5a9db..cda0003 100644
--- a/src/lstack/netif/lstack_tx_cache.c
+++ b/src/lstack/netif/lstack_tx_cache.c
@@ -15,7 +15,7 @@
#include "lwip/sockets.h"
#include "lstack_ethdev.h"
#include "lstack_log.h"
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
#include "lstack_protocol_stack.h"
#include "lstack_tx_cache.h"
diff --git a/src/lstack/netif/lstack_vdev.c b/src/lstack/netif/lstack_vdev.c
index 75e4acc..63f9e40 100644
--- a/src/lstack/netif/lstack_vdev.c
+++ b/src/lstack/netif/lstack_vdev.c
@@ -29,9 +29,9 @@
#include "lstack_ethdev.h"
#include "lstack_control_plane.h"
#include "lstack_log.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "lstack_protocol_stack.h"
-#include "gazelle_reg_msg.h"
+#include "common/gazelle_reg_msg.h"
#include "lstack_lwip.h"
#include "lstack_flow.h"
#include "lstack_vdev.h"
diff --git a/src/ltran/CMakeLists.txt b/src/ltran/CMakeLists.txt
index fee3a94..8e9b1ea 100644
--- a/src/ltran/CMakeLists.txt
+++ b/src/ltran/CMakeLists.txt
@@ -12,25 +12,7 @@ cmake_minimum_required(VERSION 3.12.1)
project(ltran)
set(COMMON_DIR ${PROJECT_SOURCE_DIR}/../common)
-set(LWIP_DIR /usr/include/lwip)
-
-set(CMAKE_VERBOSE_MAKEFILE ON)
-if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
- set(CMAKE_C_FLAGS "-g -fstack-protector-strong -Wall -Werror -fPIE -pie -pthread -D_FORTIFY_SOURCE=2 -O2 -fPIC")
-elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
- set(CMAKE_C_FLAGS "-O2 -g -fstack-protector-strong -Wall -Werror -fPIE -pthread")
-endif()
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D LTRAN_COMPILE")
-
-if($ENV{GAZELLE_COVERAGE_ENABLE})
- message("Enable Coverage compile option")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage -fprofile-arcs")
-endif($ENV{GAZELLE_COVERAGE_ENABLE})
-
-if($ENV{GAZELLE_FAULT_INJECT_ENABLE})
- message("Enable Fault inject option")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGAZELLE_FAULT_INJECT_ENABLE")
-endif($ENV{GAZELLE_FAULT_INJECT_ENABLE})
+set(LWIP_INCLUDE_DIR /usr/include/lwip)
execute_process(
COMMAND rpm -qa dpdk
@@ -40,62 +22,99 @@ execute_process(
string(REGEX MATCH "[0-9]+\\.[0-9]+" DPDK_VERSION ${DPDK_VERSION_FULL})
if (DPDK_VERSION STREQUAL "21.11")
- set(DPDK_DIR /usr/local/include/)
+ set(DPDK_INCLUDE_DIR /usr/local/include/)
else()
- set(DPDK_DIR /usr/include/dpdk)
+ set(DPDK_INCLUDE_DIR /usr/include/dpdk)
+endif()
+
+
+set(CMAKE_C_FLAGS "-O2 -g")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLTRAN_COMPILE -D_GNU_SOURCE -fno-strict-aliasing")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -fstack-protector-strong -fPIE")
+if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pie -D_FORTIFY_SOURCE=2 -fPIC")
+endif()
+
+# gcc coredump in openEuler-20.03-LTS-XX aarch64 when add -march=native
+if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64|aarch64|ppc64le|riscv64" )
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -Wcast-align")
endif()
+if($ENV{GAZELLE_COVERAGE_ENABLE})
+ message("Enable Coverage compile option")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage -fprofile-arcs")
+endif($ENV{GAZELLE_COVERAGE_ENABLE})
+
+if($ENV{GAZELLE_FAULT_INJECT_ENABLE})
+ message("Enable Fault inject option")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGAZELLE_FAULT_INJECT_ENABLE")
+endif($ENV{GAZELLE_FAULT_INJECT_ENABLE})
+
+set(LTRAN_C_FLAGS -D__ARM_FEATURE_CRC32=1
+ -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition
+ -Wpointer-arith -Wcast-qual -Wnested-externs -Wformat-nonliteral -Wformat-security -Wundef
+ -Wdeprecated -Wwrite-strings -Wno-implicit-fallthrough -Wno-error=deprecated-declarations)
+
+set(DPDK_C_FLAGS -DRTE_MACHINE_CPUFLAG_NEON -DRTE_MACHINE_CPUFLAG_CRC32
+ -DRTE_MACHINE_CPUFLAG_PMULL -DRTE_MACHINE_CPUFLAG_AES
+ -DRTE_MACHINE_CPUFLAG_SHA1 -DRTE_MACHINE_CPUFLAG_SHA2
+ -include rte_config.h)
+
+set(DPDK_LINK_FLAGS -Wl,-lrte_meter -Wl,-lrte_gro -Wl,-lrte_hash -Wl,-lrte_kvargs
+ -Wl,-lrte_mbuf -Wl,-lrte_ethdev -Wl,-lrte_net -Wl,-lrte_timer -Wl,-lrte_mempool
+ -Wl,-lrte_mempool_ring -Wl,-lrte_ring -Wl,-lrte_pci -Wl,-lrte_cmdline
+ -Wl,-lrte_bus_pci -Wl,-lrte_bus_vdev -Wl,-lrte_pdump)
+
if (DPDK_VERSION STREQUAL "19.11")
- set(DPDK_LINK_FLAGS "-Wl,-lrte_pmd_bond -Wl,-lrte_pmd_hinic -Wl,-lrte_pmd_ixgbe \
- -Wl,-lrte_pmd_pcap -Wl,-lrte_pmd_virtio")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -Wl,-lrte_pmd_bond -Wl,-lrte_pmd_hinic -Wl,-lrte_pmd_ixgbe
+ -Wl,-lrte_pmd_pcap -Wl,-lrte_pmd_virtio)
if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64")
- set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lrte_pmd_i40e")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -Wl,-lrte_pmd_i40e)
endif()
else()
- set(DPDK_LINK_FLAGS "-Wl,-lrte_net_bond -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe \
- -Wl,-lpcap -Wl,-lrte_net_pcap -Wl,-lrte_net_virtio -Wl,-lrte_pcapng -Wl,-lrte_telemetry")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -Wl,-lrte_net_bond -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe
+ -Wl,-lpcap -Wl,-lrte_net_pcap -Wl,-lrte_net_virtio -Wl,-lrte_pcapng -Wl,-lrte_telemetry)
if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64|riscv64")
- set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lrte_net_i40e")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -Wl,-lrte_net_i40e)
endif()
endif()
if (DPDK_VERSION GREATER_EQUAL 23.11)
- set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -lrte_log -larchive -Wl,-lrte_eal")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -lrte_log -larchive -Wl,-lrte_eal)
else()
- set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -lrte_kni -Wl,-Bstatic -lrte_eal -Wl,-Bdynamic")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -lrte_kni -Wl,-Bstatic -Wl,-lrte_eal -Wl,-Bdynamic)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "ppc64le")
- set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-larchive")
+ set(DPDK_LINK_FLAGS ${DPDK_LINK_FLAGS} -Wl,-larchive)
endif()
endif()
+# compile info
+# set(CMAKE_VERBOSE_MAKEFILE ON)
+message("[CMAKE_C_FLAGS] ${CMAKE_C_FLAGS}")
+message("[LTRAN_C_FLAGS] ${LTRAN_C_FLAGS}")
+message("[DPDK_C_FLAGS ] ${DPDK_C_FLAGS}")
+message("[DPDK_LINK_FLAGS] ${DPDK_LINK_FLAGS}")
+
add_executable(ltran main.c ltran_param.c ltran_config.c ltran_ethdev.c ltran_stat.c ltran_errno.c
- ltran_monitor.c ltran_instance.c ltran_stack.c ltran_tcp_conn.c ltran_tcp_sock.c
- ltran_forward.c ltran_timer.c ${COMMON_DIR}/gazelle_dfx_msg.c ${COMMON_DIR}/dpdk_common.c
- ${COMMON_DIR}/gazelle_parse_config.c)
-
-target_include_directories(ltran PRIVATE ${COMMON_DIR} ${PROJECT_SOURCE_DIR} ${LWIP_DIR} ${DPDK_DIR})
-target_compile_options(ltran PRIVATE -fno-strict-aliasing -D__ARM_FEATURE_CRC32=1 -DRTE_MACHINE_CPUFLAG_NEON
- -DRTE_MACHINE_CPUFLAG_CRC32 -DRTE_MACHINE_CPUFLAG_PMULL -DRTE_MACHINE_CPUFLAG_AES
- -DRTE_MACHINE_CPUFLAG_SHA1 -DRTE_MACHINE_CPUFLAG_SHA2 -include rte_config.h
- -D_GNU_SOURCE -W -Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition
- -Wpointer-arith -Wcast-qual -Wnested-externs -Wformat-nonliteral -Wformat-security -Wundef
- -Wdeprecated -Wwrite-strings -Wno-implicit-fallthrough -D_FORTIFY_SOURCE=2 -Wno-error=deprecated-declarations)
+ ltran_monitor.c ltran_instance.c ltran_stack.c ltran_tcp_conn.c ltran_tcp_sock.c
+ ltran_forward.c ltran_timer.c
+ ${COMMON_DIR}/gazelle_dfx_msg.c
+ ${COMMON_DIR}/dpdk_common.c
+ ${COMMON_DIR}/gazelle_parse_config.c)
-# gcc coredump in openEuler-20.03-LTS-XX aarch64 when add -march=native
-if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64|aarch64|ppc64le|riscv64" )
- target_compile_options(ltran PRIVATE -march=native -Wcast-align)
-endif()
+target_include_directories(ltran PRIVATE ${COMMON_DIR}/../ ${PROJECT_SOURCE_DIR} ${LWIP_INCLUDE_DIR} ${DPDK_INCLUDE_DIR})
-target_link_libraries(ltran PRIVATE config boundscheck rte_pdump -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines)
+# COMPILE_FLAGS and LINK_FLAGS are deprecated.
+target_compile_options(ltran PRIVATE ${LTRAN_C_FLAGS} ${DPDK_C_FLAGS})
+target_link_options(ltran PRIVATE
+ -Wl,--whole-archive ${DPDK_LINK_FLAGS} -Wl,--no-whole-archive
+ -Wl,--as-needed -Wl,-export-dynamic
+ -Wl,-Map=ltran.map -Wl,--cref)
+target_link_libraries(ltran PRIVATE pthread config boundscheck
+ -Wl,-lm -Wl,-lrt -Wl,-lnuma -Wl,-ldl
+ -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines)
-set_target_properties(ltran PROPERTIES LINK_FLAGS "-L$ENV{DPDK_LIB_PATH} -Wl,--no-whole-archive \
- -Wl,-lrte_meter -Wl,--whole-archive -Wl,-lrte_gro -Wl,-lrte_hash -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lrte_ethdev \
- -Wl,-lrte_net -Wl,-lrte_timer -Wl,-lrte_mempool -Wl,-lrte_mempool_ring -Wl,-lrte_ring -Wl,-lrte_pci \
- -Wl,-lrte_cmdline -Wl,-lrte_bus_pci\
- -Wl,-lrte_bus_vdev ${DPDK_LINK_FLAGS} \
- -Wl,--no-whole-archive -Wl,-lm -Wl,-lrt -Wl,-lnuma -Wl,-ldl -Wl,-export-dynamic -Wl,-export-dynamic \
- -Wl,--as-needed -Wl,-export-dynamic -Wl,-Map=ltran.map -Wl,--cref")
add_executable(gazellectl ltran_dfx.c ${COMMON_DIR}/gazelle_dfx_msg.c)
-target_include_directories(gazellectl PRIVATE $ENV{DPDK_INCLUDE_FILE} ${COMMON_DIR} ${DPDK_DIR})
+target_include_directories(gazellectl PRIVATE ${COMMON_DIR}/../ ${DPDK_INCLUDE_DIR})
target_link_libraries(gazellectl PRIVATE boundscheck -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack)
diff --git a/src/ltran/ltran_base.h b/src/ltran/ltran_base.h
index f174a40..9462fe5 100644
--- a/src/ltran/ltran_base.h
+++ b/src/ltran/ltran_base.h
@@ -15,7 +15,7 @@
#include <limits.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
#define GAZELLE_CMD_BUFFER_SIZE _POSIX_ARG_MAX
#define GAZELLE_PATH_BUFFER_SIZE PATH_MAX
diff --git a/src/ltran/ltran_dfx.c b/src/ltran/ltran_dfx.c
index cdcd7b3..005b09c 100644
--- a/src/ltran/ltran_dfx.c
+++ b/src/ltran/ltran_dfx.c
@@ -30,7 +30,7 @@
#include "ltran_stat.h"
#include "ltran_base.h"
-#include "gazelle_dfx_msg.h"
+#include "common/gazelle_dfx_msg.h"
/* seeing show_usage() */
#define GAZELLE_TARGET_ARG_IDX 1
diff --git a/src/ltran/ltran_ethdev.c b/src/ltran/ltran_ethdev.c
index 2f08d4a..68dc786 100644
--- a/src/ltran/ltran_ethdev.c
+++ b/src/ltran/ltran_ethdev.c
@@ -30,13 +30,13 @@
#include <lwip/dpdk_version.h>
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "ltran_param.h"
#include "ltran_log.h"
#include "ltran_base.h"
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
#include "ltran_errno.h"
-#include "gazelle_reg_msg.h"
+#include "common/gazelle_reg_msg.h"
uint32_t g_bond_num = 0;
FILE* g_log_file = NULL;
diff --git a/src/ltran/ltran_ethdev.h b/src/ltran/ltran_ethdev.h
index f720c55..b84baae 100644
--- a/src/ltran/ltran_ethdev.h
+++ b/src/ltran/ltran_ethdev.h
@@ -15,7 +15,7 @@
#include <stdint.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
struct port_info {
uint16_t num_ports;
diff --git a/src/ltran/ltran_forward.c b/src/ltran/ltran_forward.c
index c49da89..c2f53d6 100644
--- a/src/ltran/ltran_forward.c
+++ b/src/ltran/ltran_forward.c
@@ -28,7 +28,7 @@
#include <rte_ring.h>
#include <securec.h>
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "ltran_instance.h"
#include "ltran_tcp_conn.h"
#include "ltran_tcp_sock.h"
diff --git a/src/ltran/ltran_instance.c b/src/ltran/ltran_instance.c
index fc5b0fb..428c1aa 100644
--- a/src/ltran/ltran_instance.c
+++ b/src/ltran/ltran_instance.c
@@ -25,10 +25,10 @@
#include "ltran_stat.h"
#include "ltran_log.h"
#include "ltran_base.h"
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
#include "ltran_errno.h"
-#include "gazelle_dfx_msg.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_dfx_msg.h"
+#include "common/gazelle_base_func.h"
#include "ltran_instance.h"
volatile unsigned long g_tx_loop_count __rte_cache_aligned;
diff --git a/src/ltran/ltran_instance.h b/src/ltran/ltran_instance.h
index 2b888ec..f0fe580 100644
--- a/src/ltran/ltran_instance.h
+++ b/src/ltran/ltran_instance.h
@@ -17,8 +17,8 @@
#include <netinet/in.h>
#include <limits.h>
-#include "gazelle_opt.h"
-#include "gazelle_reg_msg.h"
+#include "common/gazelle_opt.h"
+#include "common/gazelle_reg_msg.h"
struct gazelle_stack;
struct gazelle_instance {
diff --git a/src/ltran/ltran_monitor.c b/src/ltran/ltran_monitor.c
index 457e8c8..93ab2d5 100644
--- a/src/ltran/ltran_monitor.c
+++ b/src/ltran/ltran_monitor.c
@@ -29,8 +29,8 @@
#include "ltran_log.h"
#include "ltran_stat.h"
#include "ltran_instance.h"
-#include "gazelle_dfx_msg.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_dfx_msg.h"
+#include "common/gazelle_base_func.h"
#include "ltran_param.h"
#include "ltran_monitor.h"
diff --git a/src/ltran/ltran_param.c b/src/ltran/ltran_param.c
index bd5a8e1..ad689f6 100644
--- a/src/ltran/ltran_param.c
+++ b/src/ltran/ltran_param.c
@@ -23,8 +23,8 @@
#include "ltran_errno.h"
#include "ltran_base.h"
#include "ltran_log.h"
-#include "gazelle_dfx_msg.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_dfx_msg.h"
+#include "common/gazelle_base_func.h"
#include "ltran_param.h"
#define HEX_BASE 16
diff --git a/src/ltran/ltran_param.h b/src/ltran/ltran_param.h
index 75addcd..e48b781 100644
--- a/src/ltran/ltran_param.h
+++ b/src/ltran/ltran_param.h
@@ -17,7 +17,7 @@
#include <netinet/in.h>
#include <rte_ether.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
struct ltran_config {
struct {
diff --git a/src/ltran/ltran_stack.c b/src/ltran/ltran_stack.c
index 2aed6c9..299fb7a 100644
--- a/src/ltran/ltran_stack.c
+++ b/src/ltran/ltran_stack.c
@@ -16,7 +16,7 @@
#include "ltran_instance.h"
#include "ltran_log.h"
#include "ltran_jhash.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "ltran_stack.h"
struct gazelle_stack_htable *g_stack_htable = NULL;
diff --git a/src/ltran/ltran_stat.c b/src/ltran/ltran_stat.c
index dfd5fc9..0a8d75c 100644
--- a/src/ltran/ltran_stat.c
+++ b/src/ltran/ltran_stat.c
@@ -21,12 +21,12 @@
#include "ltran_tcp_conn.h"
#include "ltran_instance.h"
#include "ltran_log.h"
-#include "gazelle_dfx_msg.h"
+#include "common/gazelle_dfx_msg.h"
#include "ltran_timer.h"
#include "ltran_ethdev.h"
#include "ltran_base.h"
#include "ltran_stack.h"
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "ltran_forward.h"
/* undefine lwip_ntohs in lwip/def.h */
diff --git a/src/ltran/ltran_stat.h b/src/ltran/ltran_stat.h
index 16d03a1..75cb353 100644
--- a/src/ltran/ltran_stat.h
+++ b/src/ltran/ltran_stat.h
@@ -17,7 +17,7 @@
#include <rte_common.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
/*
* When doing reads from the NIC or the client queues,
diff --git a/src/ltran/ltran_tcp_conn.h b/src/ltran/ltran_tcp_conn.h
index fa508bc..82c5faf 100644
--- a/src/ltran/ltran_tcp_conn.h
+++ b/src/ltran/ltran_tcp_conn.h
@@ -18,7 +18,7 @@
#include <stdbool.h>
#include <lwip/reg_sock.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
struct gazelle_tcp_conn {
uint32_t tid;
diff --git a/src/ltran/ltran_tcp_sock.c b/src/ltran/ltran_tcp_sock.c
index 940ded8..4044fc0 100644
--- a/src/ltran/ltran_tcp_sock.c
+++ b/src/ltran/ltran_tcp_sock.c
@@ -18,7 +18,7 @@
#include "ltran_instance.h"
#include "ltran_base.h"
#include "ltran_jhash.h"
-#include "gazelle_base_func.h"
+#include "common/gazelle_base_func.h"
#include "ltran_tcp_sock.h"
struct gazelle_tcp_sock_htable *g_tcp_sock_htable = NULL;
diff --git a/src/ltran/ltran_tcp_sock.h b/src/ltran/ltran_tcp_sock.h
index a6e9571..e40891d 100644
--- a/src/ltran/ltran_tcp_sock.h
+++ b/src/ltran/ltran_tcp_sock.h
@@ -17,7 +17,7 @@
#include <pthread.h>
#include <stdint.h>
-#include "gazelle_opt.h"
+#include "common/gazelle_opt.h"
struct gazelle_stack;
struct gazelle_tcp_sock {
diff --git a/src/ltran/main.c b/src/ltran/main.c
index 6cc8bc9..3d2310b 100644
--- a/src/ltran/main.c
+++ b/src/ltran/main.c
@@ -20,7 +20,7 @@
#include <rte_eal.h>
#include <rte_version.h>
-#include "dpdk_common.h"
+#include "common/dpdk_common.h"
#include "ltran_log.h"
#include "ltran_param.h"
#include "ltran_stat.h"
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化