Merge branch 'master' of http://git.komect.net/ISG/secogateway
This commit is contained in:
commit
7e5868858e
|
@ -13,7 +13,7 @@ $(info Make $(TARGET_OBJ): $(CURDIR))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# 定义 Make 解析命令的 bash
|
# 定义 Make 解析命令的 bash
|
||||||
SHELL := /bin/sh
|
SHELL := /bin/bash
|
||||||
|
|
||||||
# 构建信息开关,是否显示 gcc、ld 等命令执行的命令行消息,默认关闭
|
# 构建信息开关,是否显示 gcc、ld 等命令执行的命令行消息,默认关闭
|
||||||
ENABLE_MAKE_LOG ?= FALSE
|
ENABLE_MAKE_LOG ?= FALSE
|
||||||
|
@ -91,8 +91,7 @@ RM = rm -rf
|
||||||
MKDIR = mkdir -p
|
MKDIR = mkdir -p
|
||||||
CP = cp -f
|
CP = cp -f
|
||||||
|
|
||||||
ECHO_FILE=/etc/used_echo_tag
|
ifeq ($(findstring bash, $(SHELL)),)
|
||||||
ifeq ($(ECHO_FILE), $(wildcard $(ECHO_FILE)))
|
|
||||||
ECHO_COLOR = echo
|
ECHO_COLOR = echo
|
||||||
else
|
else
|
||||||
ECHO_COLOR = echo -e
|
ECHO_COLOR = echo -e
|
||||||
|
@ -271,46 +270,45 @@ endif
|
||||||
OUTPUT_DIR := ./.build/
|
OUTPUT_DIR := ./.build/
|
||||||
|
|
||||||
# 编译中间文件存放相对路径
|
# 编译中间文件存放相对路径
|
||||||
PLAT_ARM64_DIR := $(OUTPUT_DIR)$(TARGET_NAME)_$(TARGET_TYPE)_$(TARGET_OBJ)_arm64_$(BUILD_DIR)
|
ARM64_DIR := $(OUTPUT_DIR)$(TARGET_NAME)_$(TARGET_TYPE)_$(TARGET_OBJ)_arm64_$(BUILD_DIR)
|
||||||
PLAT_LINUX_DIR := $(OUTPUT_DIR)$(TARGET_NAME)_$(TARGET_TYPE)_$(TARGET_OBJ)_linux_$(BUILD_DIR)
|
LINUX_DIR := $(OUTPUT_DIR)$(TARGET_NAME)_$(TARGET_TYPE)_$(TARGET_OBJ)_linux_$(BUILD_DIR)
|
||||||
|
|
||||||
# 设置安装路径
|
# 设置安装路径
|
||||||
ifeq ($(TARGET_TYPE), SDK)
|
ifeq ($(TARGET_TYPE), SDK)
|
||||||
PLAT_LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/sdk/$(CPU_LINUX_DIR)/
|
LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/sdk/$(CPU_LINUX_DIR)/
|
||||||
PLAT_LINUX_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/sdk.debug/$(CPU_LINUX_DIR)/
|
PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/sdk.debug/$(CPU_LINUX_DIR)/
|
||||||
else
|
else
|
||||||
ifeq ($(TARGET_BOX), )
|
ifeq ($(TARGET_BOX), )
|
||||||
PLAT_ARM64_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_ARM64_DIR)/$(TARGET_BOX)/
|
ARM64_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_ARM64_DIR)/$(TARGET_BOX)/
|
||||||
PLAT_ARM64_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_ARM64_DIR)/$(TARGET_BOX)/
|
|
||||||
|
|
||||||
ifeq ($(LINUX_USER_INS_DIR), )
|
ifeq ($(LINUX_USER_INS_DIR), )
|
||||||
PLAT_LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
||||||
else
|
else
|
||||||
PLAT_LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR)/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR)/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PLAT_ARM64_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_ARM64_DIR)/$(TARGET_BOX)/
|
ARM64_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_ARM64_DIR)/$(TARGET_BOX)/
|
||||||
|
|
||||||
ifeq ($(LINUX_USER_INS_DIR), )
|
ifeq ($(LINUX_USER_INS_DIR), )
|
||||||
PLAT_LINUX_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
||||||
else
|
else
|
||||||
PLAT_LINUX_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR).debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR).debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)/
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
PLAT_ARM64_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_ARM64_DIR)/$(TARGET_BOX)-arm64/
|
ARM64_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_ARM64_DIR)/$(TARGET_BOX)-arm64/
|
||||||
|
|
||||||
ifeq ($(LINUX_USER_INS_DIR), )
|
ifeq ($(LINUX_USER_INS_DIR), )
|
||||||
PLAT_LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/targets/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
||||||
else
|
else
|
||||||
PLAT_LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR)/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
LINUX_PUBLISH_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR)/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
||||||
endif
|
endif
|
||||||
PLAT_ARM64_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_ARM64_DIR)/$(TARGET_BOX)-arm64/
|
ARM64_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_ARM64_DIR)/$(TARGET_BOX)-arm64/
|
||||||
|
|
||||||
ifeq ($(LINUX_USER_INS_DIR), )
|
ifeq ($(LINUX_USER_INS_DIR), )
|
||||||
PLAT_LINUX_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/targets.debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
||||||
else
|
else
|
||||||
PLAT_LINUX_PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR).debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
PUBLISH_DEBUG_DIR := $(INSTALL_ROOT)/$(LINUX_USER_INS_DIR).debug/$(CPU_LINUX_DIR)/$(TARGET_BOX)-linux/
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -322,41 +320,41 @@ BUILD_TARGET :=
|
||||||
ifneq ($(UNMAKE_PROCESS), TRUE)
|
ifneq ($(UNMAKE_PROCESS), TRUE)
|
||||||
|
|
||||||
# 定义最终生成目标文件名
|
# 定义最终生成目标文件名
|
||||||
PLAT_ARM64_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-$(ARM64_OBJ_TARGET)$(TARGET_EXT)
|
ARM64_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-$(ARM64_OBJ_TARGET)$(TARGET_EXT)
|
||||||
PLAT_LINUX_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-$(LINUX_OBJ_TARGET)$(TARGET_EXT)
|
LINUX_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-$(LINUX_OBJ_TARGET)$(TARGET_EXT)
|
||||||
|
|
||||||
# ARM64 平台生成目标、编译参数、链接参数、依赖库
|
# ARM64 平台生成目标、编译参数、链接参数、依赖库
|
||||||
ifeq ($(PLAT_ARM64), TRUE)
|
ifeq ($(PLAT_ARM64), TRUE)
|
||||||
BUILD_TARGET += $(PLAT_ARM64_TARGET)
|
BUILD_TARGET += $(ARM64_TARGET)
|
||||||
PLAT_ARM64_CFLAGS += -DPLATFORM_ARM64 $(ARM64_EXTFLAG)
|
ARM64_CFLAGS := $(PLAT_ARM64_CFLAGS) -DPLATFORM_ARM64 $(ARM64_EXTFLAG)
|
||||||
PLAT_ARM64_LDFLAGS += $(ARM64_DRV_LDFLAGS) -L ./debug
|
ARM64_LDFLAGS := $(PLAT_ARM64_LDFLAGS) $(ARM64_DRV_LDFLAGS) -L ./debug
|
||||||
PLAT_ARM64_LIBFLAGS := $(ARM64_LIBFLAGS)
|
ARM64_LIBFLAGS := $(PLAT_ARM64_LIBFLAGS)
|
||||||
PLAT_ARM64_LIBS := $(ARM64_LIBS)
|
ARM64_LIBS := $(PLAT_ARM64_LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# ARM64 平台生成目标、编译参数、链接参数、依赖库
|
# ARM64 平台生成目标、编译参数、链接参数、依赖库
|
||||||
ifeq ($(PLAT_LINUX), TRUE)
|
ifeq ($(PLAT_LINUX), TRUE)
|
||||||
BUILD_TARGET += $(PLAT_LINUX_TARGET)
|
BUILD_TARGET += $(LINUX_TARGET)
|
||||||
PLAT_LINUX_CFLAGS += -DPLATFORM_LINUX $(LINUX_EXTFLAG)
|
LINUX_CFLAGS := $(PLAT_LINUX_CFLAGS) -DPLATFORM_LINUX $(LINUX_EXTFLAG)
|
||||||
PLAT_LINUX_LDFLAGS += $(LINUX_DRV_LDFLAGS) -L ./debug
|
LINUX_LDFLAGS := $(PLAT_LINUX_LDFLAGS) $(LINUX_DRV_LDFLAGS) -L ./debug
|
||||||
PLAT_LINUX_LIBFLAGS := $(LINUX_LIBFLAGS)
|
LINUX_LIBFLAGS := $(PLAT_LINUX_LIBFLAGS)
|
||||||
PLAT_LINUX_LIBS := $(LINUX_LIBS)
|
LINUX_LIBS := $(PLAT_LINUX_LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# 根据源文件推算出生成目标的依赖项
|
# 根据源文件推算出生成目标的依赖项
|
||||||
ifeq ($(PLAT_ARM64), TRUE)
|
ifeq ($(PLAT_ARM64), TRUE)
|
||||||
PLAT_ARM64_OBJS := $(PLAT_ARM64_SRCS:%.c=$(PLAT_ARM64_DIR)/%.o)
|
PLAT_ARM64_OBJS := $(PLAT_ARM64_SRCS:%.c=$(ARM64_DIR)/%.o)
|
||||||
PLAT_ARM64_OBJS += $(PLAT_ARM64_AS_SRCS:%.s=$(PLAT_ARM64_DIR)/%.o)
|
PLAT_ARM64_OBJS += $(PLAT_ARM64_AS_SRCS:%.s=$(ARM64_DIR)/%.o)
|
||||||
PLAT_ARM64_DEPS := $(PLAT_ARM64_SRCS:%.c=$(PLAT_ARM64_DIR)/%.d)
|
PLAT_ARM64_DEPS := $(PLAT_ARM64_SRCS:%.c=$(ARM64_DIR)/%.d)
|
||||||
else
|
else
|
||||||
PLAT_ARM64_OBJS :=
|
PLAT_ARM64_OBJS :=
|
||||||
PLAT_ARM64_DEPS :=
|
PLAT_ARM64_DEPS :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLAT_LINUX), TRUE)
|
ifeq ($(PLAT_LINUX), TRUE)
|
||||||
PLAT_LINUX_OBJS := $(PLAT_LINUX_SRCS:%.c=$(PLAT_LINUX_DIR)/%.o)
|
PLAT_LINUX_OBJS := $(PLAT_LINUX_SRCS:%.c=$(LINUX_DIR)/%.o)
|
||||||
PLAT_LINUX_OBJS += $(PLAT_LINUX_AS_SRCS:%.s=$(PLAT_LINUX_DIR)/%.o)
|
PLAT_LINUX_OBJS += $(PLAT_LINUX_AS_SRCS:%.s=$(LINUX_DIR)/%.o)
|
||||||
PLAT_LINUX_DEPS := $(PLAT_LINUX_SRCS:%.c=$(PLAT_LINUX_DIR)/%.d)
|
PLAT_LINUX_DEPS := $(PLAT_LINUX_SRCS:%.c=$(LINUX_DIR)/%.d)
|
||||||
else
|
else
|
||||||
PLAT_LINUX_OBJS :=
|
PLAT_LINUX_OBJS :=
|
||||||
PLAT_LINUX_DEPS :=
|
PLAT_LINUX_DEPS :=
|
||||||
|
@ -402,17 +400,17 @@ endif
|
||||||
all: $(BUILD_TARGET)
|
all: $(BUILD_TARGET)
|
||||||
# Build ARM64
|
# Build ARM64
|
||||||
ifeq ($(PLAT_ARM64), TRUE)
|
ifeq ($(PLAT_ARM64), TRUE)
|
||||||
$(PLAT_ARM64_TARGET): $(PLAT_ARM64_OBJS)
|
$(ARM64_TARGET): $(PLAT_ARM64_OBJS)
|
||||||
# 创建构建需要的目录结构
|
# 创建构建需要的目录结构
|
||||||
-@test -d $(TARGET_OUT_DIR) || $(MKDIR) $(TARGET_OUT_DIR)
|
-@test -d $(TARGET_OUT_DIR) || $(MKDIR) $(TARGET_OUT_DIR)
|
||||||
ifeq ($(TARGET_TYPE), LIB)
|
ifeq ($(TARGET_TYPE), LIB)
|
||||||
# 打包生成库文件
|
# 打包生成库文件
|
||||||
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) AR $@"
|
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) AR $@"
|
||||||
$(MLOG)$(ARM64_CROSS_AR) $(PLAT_ARM64_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(PLAT_ARM64_LIBS)
|
$(MLOG)$(ARM64_CROSS_AR) $(ARM64_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(ARM64_LIBS)
|
||||||
else
|
else
|
||||||
# 链接生成可执行文件
|
# 链接生成可执行文件
|
||||||
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) LD $@"
|
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) LD $@"
|
||||||
$(MLOG)$(ARM64_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(PLAT_ARM64_LDFLAGS) $+ $(PLAT_ARM64_LIBS)
|
$(MLOG)$(ARM64_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(ARM64_LDFLAGS) $+ $(ARM64_LIBS)
|
||||||
ifeq ($(TARGET_STRIP), TRUE)
|
ifeq ($(TARGET_STRIP), TRUE)
|
||||||
# 将目标的调试信息复制到另外一个新文件中
|
# 将目标的调试信息复制到另外一个新文件中
|
||||||
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) OBJCOPY $@.debug"
|
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) OBJCOPY $@.debug"
|
||||||
|
@ -426,30 +424,30 @@ ifeq ($(TARGET_STRIP), TRUE)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
# C 源文件编译规则
|
# C 源文件编译规则
|
||||||
$(PLAT_ARM64_DIR)/%.o : %.c
|
$(ARM64_DIR)/%.o : %.c
|
||||||
-@test -d $(dir $@) || $(MKDIR) $(dir $@)
|
-@test -d $(dir $@) || $(MKDIR) $(dir $@)
|
||||||
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<"
|
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<"
|
||||||
$(MLOG)$(ARM64_CROSS_CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(PLAT_ARM64_CFLAGS) -o $@ -c $<
|
$(MLOG)$(ARM64_CROSS_CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(ARM64_CFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
# 汇编文件编译规则
|
# 汇编文件编译规则
|
||||||
$(PLAT_ARM64_DIR)/%.o : %.s
|
$(ARM64_DIR)/%.o : %.s
|
||||||
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<"
|
@$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<"
|
||||||
$(MLOG)$(ARM64_CROSS_CC) -c $< -o $@
|
$(MLOG)$(ARM64_CROSS_CC) -c $< -o $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Build LINUX Board
|
# Build LINUX Board
|
||||||
ifeq ($(PLAT_LINUX), TRUE)
|
ifeq ($(PLAT_LINUX), TRUE)
|
||||||
$(PLAT_LINUX_TARGET): $(PLAT_LINUX_OBJS)
|
$(LINUX_TARGET): $(PLAT_LINUX_OBJS)
|
||||||
-@test -d $(TARGET_OUT_DIR) || $(MKDIR) $(TARGET_OUT_DIR)
|
-@test -d $(TARGET_OUT_DIR) || $(MKDIR) $(TARGET_OUT_DIR)
|
||||||
|
|
||||||
ifeq ($(TARGET_TYPE), LIB)
|
ifeq ($(TARGET_TYPE), LIB)
|
||||||
# 打包生成库文件
|
# 打包生成库文件
|
||||||
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) AR $@"
|
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) AR $@"
|
||||||
$(MLOG)$(AR) $(PLAT_LINUX_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(PLAT_LINUX_LIBS)
|
$(MLOG)$(AR) $(LINUX_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(LINUX_LIBS)
|
||||||
else
|
else
|
||||||
# 链接生成可执行文件
|
# 链接生成可执行文件
|
||||||
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) LD $@"
|
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) LD $@"
|
||||||
$(MLOG)$(LINUX_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(PLAT_LINUX_LDFLAGS) $+ $(PLAT_LINUX_LIBS)
|
$(MLOG)$(LINUX_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(LINUX_LDFLAGS) $+ $(LINUX_LIBS)
|
||||||
ifeq ($(TARGET_STRIP), TRUE)
|
ifeq ($(TARGET_STRIP), TRUE)
|
||||||
# 将目标的调试信息复制到另外一个新文件中
|
# 将目标的调试信息复制到另外一个新文件中
|
||||||
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) OBJCOPY $@.debug"
|
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) OBJCOPY $@.debug"
|
||||||
|
@ -464,13 +462,13 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# C 源文件编译规则
|
# C 源文件编译规则
|
||||||
$(PLAT_LINUX_DIR)/%.o : %.c
|
$(LINUX_DIR)/%.o : %.c
|
||||||
-@test -d $(dir $@) || $(MKDIR) $(dir $@)
|
-@test -d $(dir $@) || $(MKDIR) $(dir $@)
|
||||||
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<"
|
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<"
|
||||||
$(MLOG)$(CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(PLAT_LINUX_CFLAGS) -o $@ -c $<
|
$(MLOG)$(CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(LINUX_CFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
# 汇编文件编译规则
|
# 汇编文件编译规则
|
||||||
$(PLAT_LINUX_DIR)/%.o : %.s
|
$(LINUX_DIR)/%.o : %.s
|
||||||
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<"
|
@$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<"
|
||||||
$(MLOG)$(CC) -c $< -o $@
|
$(MLOG)$(CC) -c $< -o $@
|
||||||
endif
|
endif
|
||||||
|
@ -485,16 +483,16 @@ endif
|
||||||
ifneq ($(PLAT_ARM64_DONT_INSTALL), TRUE)
|
ifneq ($(PLAT_ARM64_DONT_INSTALL), TRUE)
|
||||||
# ARM64 targets install
|
# ARM64 targets install
|
||||||
ifeq ($(PLAT_ARM64), TRUE)
|
ifeq ($(PLAT_ARM64), TRUE)
|
||||||
-@test -d $(PLAT_ARM64_PUBLISH_DIR) || $(MKDIR) $(PLAT_ARM64_PUBLISH_DIR)
|
-@test -d $(ARM64_PUBLISH_DIR) || $(MKDIR) $(ARM64_PUBLISH_DIR)
|
||||||
-@test -d $(PLAT_ARM64_PUBLISH_DEBUG_DIR) || $(MKDIR) $(PLAT_ARM64_PUBLISH_DEBUG_DIR)
|
-@test -d $(ARM64_PUBLISH_DEBUG_DIR) || $(MKDIR) $(ARM64_PUBLISH_DEBUG_DIR)
|
||||||
ifneq ($(UNMAKE_PROCESS), TRUE)
|
ifneq ($(UNMAKE_PROCESS), TRUE)
|
||||||
@$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_ARM64_COLOR) $(TARGET_OUT_DIR)$(PLAT_ARM64_TARGET) $(PLAT_ARM64_TARGET).debug $(INSTALL_PATH_COLOR)"
|
@$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_ARM64_COLOR) $(TARGET_OUT_DIR)$(ARM64_TARGET) $(ARM64_TARGET).debug $(INSTALL_PATH_COLOR)"
|
||||||
@$(CP) $(TARGET_OUT_DIR)/$(PLAT_ARM64_TARGET) $(PLAT_ARM64_PUBLISH_DIR)
|
@$(CP) $(TARGET_OUT_DIR)/$(ARM64_TARGET) $(ARM64_PUBLISH_DIR)
|
||||||
@$(CP) $(TARGET_OUT_DIR)/$(PLAT_ARM64_TARGET).debug $(PLAT_ARM64_PUBLISH_DEBUG_DIR)
|
@$(CP) $(TARGET_OUT_DIR)/$(ARM64_TARGET).debug $(ARM64_PUBLISH_DEBUG_DIR)
|
||||||
endif
|
endif
|
||||||
ifneq ($(PLAT_ARM64_USER_INS_ITEMS), )
|
ifneq ($(PLAT_ARM64_USER_INS_ITEMS), )
|
||||||
@$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_ARM64_COLOR) $(notdir $(PLAT_ARM64_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)"
|
@$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_ARM64_COLOR) $(notdir $(PLAT_ARM64_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)"
|
||||||
@$(CP) $(PLAT_ARM64_USER_INS_ITEMS) $(PLAT_ARM64_PUBLISH_DIR)
|
@$(CP) $(PLAT_ARM64_USER_INS_ITEMS) $(ARM64_PUBLISH_DIR)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -502,16 +500,16 @@ endif
|
||||||
ifneq ($(PLAT_LINUX_DONT_INSTALL), TRUE)
|
ifneq ($(PLAT_LINUX_DONT_INSTALL), TRUE)
|
||||||
# LINUX board targets install
|
# LINUX board targets install
|
||||||
ifeq ($(PLAT_LINUX), TRUE)
|
ifeq ($(PLAT_LINUX), TRUE)
|
||||||
-@test -d $(PLAT_LINUX_PUBLISH_DIR) || $(MKDIR) $(PLAT_LINUX_PUBLISH_DIR)
|
-@test -d $(LINUX_PUBLISH_DIR) || $(MKDIR) $(LINUX_PUBLISH_DIR)
|
||||||
-@test -d $(PLAT_LINUX_PUBLISH_DEBUG_DIR) || $(MKDIR) $(PLAT_LINUX_PUBLISH_DEBUG_DIR)
|
-@test -d $(PUBLISH_DEBUG_DIR) || $(MKDIR) $(PUBLISH_DEBUG_DIR)
|
||||||
ifneq ($(UNMAKE_PROCESS), TRUE)
|
ifneq ($(UNMAKE_PROCESS), TRUE)
|
||||||
@$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_LINUX_COLOR) $(TARGET_OUT_DIR)$(PLAT_LINUX_TARGET) $(PLAT_LINUX_TARGET).debug $(INSTALL_PATH_COLOR)"
|
@$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_LINUX_COLOR) $(TARGET_OUT_DIR)$(LINUX_TARGET) $(LINUX_TARGET).debug $(INSTALL_PATH_COLOR)"
|
||||||
@$(CP) $(TARGET_OUT_DIR)/$(PLAT_LINUX_TARGET) $(PLAT_LINUX_PUBLISH_DIR)
|
@$(CP) $(TARGET_OUT_DIR)/$(LINUX_TARGET) $(LINUX_PUBLISH_DIR)
|
||||||
@$(CP) $(TARGET_OUT_DIR)/$(PLAT_LINUX_TARGET).debug $(PLAT_LINUX_PUBLISH_DEBUG_DIR)
|
@$(CP) $(TARGET_OUT_DIR)/$(LINUX_TARGET).debug $(PUBLISH_DEBUG_DIR)
|
||||||
endif
|
endif
|
||||||
ifneq ($(PLAT_LINUX_USER_INS_ITEMS), )
|
ifneq ($(PLAT_LINUX_USER_INS_ITEMS), )
|
||||||
@$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(PLAT_LINUX_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)"
|
@$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(PLAT_LINUX_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)"
|
||||||
@$(CP) $(PLAT_LINUX_USER_INS_ITEMS) $(PLAT_LINUX_PUBLISH_DIR)
|
@$(CP) $(PLAT_LINUX_USER_INS_ITEMS) $(LINUX_PUBLISH_DIR)
|
||||||
endif
|
endif
|
||||||
ifneq ($(USER_MULTILE_PLATFORM_HEAD_ITEMS), )
|
ifneq ($(USER_MULTILE_PLATFORM_HEAD_ITEMS), )
|
||||||
@$(ECHO_COLOR) "$(INSTALL_MULT_PLAT_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(USER_MULTILE_PLATFORM_HEAD_ITEMS)) $(INSTALL_PATH_COLOR)"
|
@$(ECHO_COLOR) "$(INSTALL_MULT_PLAT_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(USER_MULTILE_PLATFORM_HEAD_ITEMS)) $(INSTALL_PATH_COLOR)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
SHELL := /bin/sh
|
SHELL := /bin/bash
|
||||||
|
|
||||||
# 定义各个平台编译工具,建议设置编译工具路径到 PATH 环境变量
|
# 定义各个平台编译工具,建议设置编译工具路径到 PATH 环境变量
|
||||||
# CC : Cross Build Tools
|
# CC : Cross Build Tools
|
||||||
|
|
|
@ -33,6 +33,20 @@ typedef uint ret_code;
|
||||||
#define RET_IPINVALID (uint)((uint)NETCONFIG_MODULE<<16|1)
|
#define RET_IPINVALID (uint)((uint)NETCONFIG_MODULE<<16|1)
|
||||||
#define RET_BRNAMEERR (uint)((uint)NETCONFIG_MODULE<<16|1)
|
#define RET_BRNAMEERR (uint)((uint)NETCONFIG_MODULE<<16|1)
|
||||||
|
|
||||||
|
/* VLANCONFIG_MODULE 0x00050000 ~ 0x0005ffff*/
|
||||||
|
#define RET_VIDNUM_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_VID_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_VID_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_VID_NOT_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_INTERFACE_NOT_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_ATTR_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_OPTYPE_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_SYS_VCONFIG_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_SYS_IFCONFIG_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
#define RET_SYS_FILEOP_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define ERR_STR_LEN 64
|
#define ERR_STR_LEN 64
|
||||||
|
|
||||||
/* 错误码描述 */
|
/* 错误码描述 */
|
||||||
|
@ -56,7 +70,18 @@ typedef uint ret_code;
|
||||||
{ RET_SRCERR, "ConfigSourceErr"},\
|
{ RET_SRCERR, "ConfigSourceErr"},\
|
||||||
\
|
\
|
||||||
{ RET_IPINVALID, "IpInvalid"},\
|
{ RET_IPINVALID, "IpInvalid"},\
|
||||||
{ RET_BRNAMEERR, "BrNameInvalid"}\
|
{ RET_BRNAMEERR, "BrNameInvalid"},\
|
||||||
|
\
|
||||||
|
{ RET_VIDNUM_INVALID, "VidNumInvalid"},\
|
||||||
|
{ RET_VID_INVALID, "VidValueInvalid"},\
|
||||||
|
{ RET_VID_EXIST, "VidHasExist"},\
|
||||||
|
{ RET_VID_NOT_EXIST, "VidHasNotExist"},\
|
||||||
|
{ RET_INTERFACE_NOT_EXIST, "InterfaceHasNotExist"},\
|
||||||
|
{ RET_ATTR_INVALID, "AttrInvalid"},\
|
||||||
|
{ RET_OPTYPE_ERR, "OperationTypeError"},\
|
||||||
|
{ RET_SYS_VCONFIG_ERR, "SystemVconfigError"},\
|
||||||
|
{ RET_SYS_IFCONFIG_ERR, "SystemIfconfigError"},\
|
||||||
|
{ RET_SYS_FILEOP_ERR, "SystemFileOperationError"}\
|
||||||
}
|
}
|
||||||
|
|
||||||
struct err_disc {
|
struct err_disc {
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -30,7 +30,7 @@ endif
|
||||||
|
|
||||||
.PHONY : demo database openrpc ulog klog klog_test conntrack netlink trace redismq usermanager configm webauth matchrule logging ulog_test
|
.PHONY : demo database openrpc ulog klog klog_test conntrack netlink trace redismq usermanager configm webauth matchrule logging ulog_test
|
||||||
|
|
||||||
all: demo database openrpc ulog klog klog_test conntrack netlink trace redismq usermanager configm webauth matchrule logging ulog_test
|
all: database openrpc ulog klog klog_test conntrack netlink trace redismq usermanager configm webauth matchrule logging ulog_test
|
||||||
|
|
||||||
ifeq ($(OPT), install)
|
ifeq ($(OPT), install)
|
||||||
#$(shell `find ../release -name "*.zip" -delete`)
|
#$(shell `find ../release -name "*.zip" -delete`)
|
||||||
|
|
|
@ -42,8 +42,8 @@ PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)
|
||||||
PLAT_ARM64_LDFLAGS :=
|
PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
||||||
LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -93,11 +93,11 @@ PLAT_LINUX_LDFLAGS :=
|
||||||
|
|
||||||
COMMON_STD_LIB := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -lev -ldl
|
COMMON_STD_LIB := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -lev -ldl
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET)
|
||||||
ARM64_LIBS += -lulogapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_ARM64_LIBS += -lulogapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET)
|
||||||
LINUX_LIBS += -lulogapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_LINUX_LIBS += -lulogapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -43,8 +43,8 @@ PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS :=
|
PLAT_LINUX_LDFLAGS :=
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lconfigmapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lconfigmapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lconfigmapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lconfigmapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := -fPIC -shared
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lodbc -lcjson
|
PLAT_ARM64_LIBS := -lodbc -lcjson
|
||||||
LINUX_LIBS := -lodbc -lcjson
|
PLAT_LINUX_LIBS := -lodbc -lcjson
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,11 +44,11 @@ PLAT_LINUX_LDFLAGS := $(PLAT_LINUX_LDFLAGS)
|
||||||
|
|
||||||
COMMON_STD_LIB := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lev
|
COMMON_STD_LIB := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lev
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET)
|
||||||
ARM64_LIBS += -lulogapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_ARM64_LIBS += -lulogapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET)
|
||||||
LINUX_LIBS += -lulogapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_LINUX_LIBS += -lulogapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -45,8 +45,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
COMMON_STD_LIB := -lpthread -lcjson -lev -lm
|
COMMON_STD_LIB := -lpthread -lcjson -lev -lm
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lconfigmapi-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lconfigmapi-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lconfigmapi-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lconfigmapi-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lpthread -lm -lev
|
PLAT_ARM64_LIBS := -lpthread -lm -lev
|
||||||
LINUX_LIBS := -lpthread -lm -lev
|
PLAT_LINUX_LIBS := -lpthread -lm -lev
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -42,8 +42,8 @@ PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)
|
||||||
PLAT_ARM64_LDFLAGS :=
|
PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
||||||
LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -42,8 +42,8 @@ PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)
|
||||||
PLAT_ARM64_LDFLAGS :=
|
PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
||||||
LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -42,8 +42,8 @@ PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)
|
||||||
PLAT_ARM64_LDFLAGS :=
|
PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
ARM64_LIBS :=
|
PLAT_ARM64_LIBS :=
|
||||||
LINUX_LIBS :=
|
PLAT_LINUX_LIBS :=
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lhiredis -ljson-c -levent
|
PLAT_ARM64_LIBS := -lhiredis -ljson-c -levent
|
||||||
LINUX_LIBS := -lhiredis -ljson-c -levent
|
PLAT_LINUX_LIBS := -lhiredis -ljson-c -levent
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS :=
|
PLAT_ARM64_LIBS :=
|
||||||
LINUX_LIBS :=
|
PLAT_LINUX_LIBS :=
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -44,8 +44,8 @@ PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -lnetlinku-$(ARM64_OBJ_TARGET)
|
||||||
LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lnetlinku-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -42,8 +42,8 @@ PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS :=
|
PLAT_LINUX_LDFLAGS :=
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -ltraceapi-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lpthread
|
PLAT_ARM64_LIBS := -ltraceapi-$(ARM64_OBJ_TARGET) -lnetlinku-$(ARM64_OBJ_TARGET) -lpthread
|
||||||
LINUX_LIBS := -ltraceapi-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lpthread
|
PLAT_LINUX_LIBS := -ltraceapi-$(LINUX_OBJ_TARGET) -lnetlinku-$(LINUX_OBJ_TARGET) -lpthread
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -43,8 +43,8 @@ PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -43,8 +43,8 @@ PLAT_ARM64_LDFLAGS :=
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_ARM64_LIBS := -lopenrpc-$(ARM64_OBJ_TARGET) -lulogapi-$(ARM64_OBJ_TARGET) -lpthread -lm -lev
|
||||||
LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
PLAT_LINUX_LIBS := -lopenrpc-$(LINUX_OBJ_TARGET) -lulogapi-$(LINUX_OBJ_TARGET) -lpthread -lm -lev
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -1043,28 +1043,52 @@ ret_code routing_config_chk(uint source, uint *config_type,
|
||||||
{
|
{
|
||||||
return RET_CHKERR;
|
return RET_CHKERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if(conf_buff->version == IPV4_VERSION)
|
||||||
|
{
|
||||||
|
int a = -1,b = -1,c = -1,d = -1;
|
||||||
|
int a1 = -1,b1 = -1,c1 = -1,d1 = -1;
|
||||||
|
sscanf(conf_buff->destip,"%d.%d.%d.%d",&a,&b,&c,&d);
|
||||||
|
if(a<0 || a>255 || b<0 || b>255 || c<0 || c>255 || d<0 |d>255)
|
||||||
|
{
|
||||||
|
rpc_log_info("ip address wrong:%d %d %d %d\n",a,b,c,d);
|
||||||
|
return RET_INPUTERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strcmp(conf_buff->gateway,"") != 0)
|
||||||
|
{
|
||||||
|
sscanf(conf_buff->gateway,"%d.%d.%d.%d",&a1,&b1,&c1,&d1);
|
||||||
|
if(a1<0 || a1>255 || b1<0 || b1>255 || c1<0 || c1>255 || d1<0 |d1>255)
|
||||||
|
{
|
||||||
|
rpc_log_info("gateway address wrong:%d %d %d %d\n",a1,b1,c1,d1);
|
||||||
|
return RET_INPUTERR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else if(strcmp(conf_buff->gateway,"") == 0 && strcmp(conf_buff->dev,"") == 0)
|
else if(strcmp(conf_buff->gateway,"") == 0 && strcmp(conf_buff->dev,"") == 0)
|
||||||
{
|
{
|
||||||
rpc_log_info(" gateway and dev are NULL\n");
|
rpc_log_info(" gateway and dev are NULL\n");
|
||||||
return RET_CHKERR;
|
return RET_CHKERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ((*config_type == CM_CONFIG_GET_ALL))
|
else if ((*config_type == CM_CONFIG_GET_ALL))
|
||||||
{
|
{
|
||||||
if ((*output_len)<(ROUTING_TABLE_MAX_NUMBER * sizeof(routing_t)))
|
if ((*output_len)<(ROUTING_TABLE_MAX_NUMBER * sizeof(routing_t)))
|
||||||
{
|
{
|
||||||
rpc_log_info("getall check error\n");
|
rpc_log_info("getall check error\n");
|
||||||
return RET_CHKERR;
|
return RET_CHKERR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return RET_CHKERR;
|
return RET_CHKERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(conf_length <= CM_BUFF_SIZE)
|
if(conf_length <= CM_BUFF_SIZE)
|
||||||
{
|
{
|
||||||
|
@ -1199,6 +1223,10 @@ ret_code all_routing_config_chk(uint source, uint * config_type,
|
||||||
return RET_CHKERR;
|
return RET_CHKERR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return RET_INPUTERR;
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,7 +359,7 @@ ret_code add_vlan_sub_interface(char *if_name, int *vlan_bitmap)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]add_vlan_sub_if: subif status error. (%s)\n", strerror(errno));
|
printf("[vlan]add_vlan_sub_if: subif status error. (%s)\n", strerror(errno));
|
||||||
return RET_SYSERR;
|
return RET_SYS_VCONFIG_ERR;
|
||||||
}
|
}
|
||||||
memset(buf, 0, SYSCALL_BUF_LEN);
|
memset(buf, 0, SYSCALL_BUF_LEN);
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ ret_code add_vlan_sub_interface(char *if_name, int *vlan_bitmap)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]add_vlan_sub_if: ifconfig subif status error. (%s)\n", strerror(errno));
|
printf("[vlan]add_vlan_sub_if: ifconfig subif status error. (%s)\n", strerror(errno));
|
||||||
return RET_SYSERR;
|
return RET_SYS_IFCONFIG_ERR;
|
||||||
}
|
}
|
||||||
memset(buf, 0, SYSCALL_BUF_LEN);
|
memset(buf, 0, SYSCALL_BUF_LEN);
|
||||||
|
|
||||||
|
@ -468,7 +468,7 @@ ret_code add_interface_vlan(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
printf("[vlan]add_interface_vlan: LINK-TYPE attr(%d) input error.\n", new_attr);
|
printf("[vlan]add_interface_vlan: LINK-TYPE attr(%d) input error.\n", new_attr);
|
||||||
return RET_INPUTERR;
|
return RET_ATTR_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 更新全局接口vlan数据结构 */
|
/* 更新全局接口vlan数据结构 */
|
||||||
|
@ -619,7 +619,7 @@ ret_code del_vlan_sub_interface(char *if_name, int *vlan_bitmap)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]del_vlan_sub_if:status error. (%s)\n", strerror(errno));
|
printf("[vlan]del_vlan_sub_if:status error. (%s)\n", strerror(errno));
|
||||||
return RET_ERR;
|
return RET_SYS_VCONFIG_ERR;
|
||||||
}
|
}
|
||||||
memset(buf, 0, SYSCALL_BUF_LEN);
|
memset(buf, 0, SYSCALL_BUF_LEN);
|
||||||
memset(tmp_brname, 0, BR_VLAN_NAME_LEN);
|
memset(tmp_brname, 0, BR_VLAN_NAME_LEN);
|
||||||
|
@ -633,7 +633,7 @@ ret_code del_vlan_sub_interface(char *if_name, int *vlan_bitmap)
|
||||||
/* 如果br-vlxx不存在,报错返回 */
|
/* 如果br-vlxx不存在,报错返回 */
|
||||||
if(br_is_exist(br_vlname) == FALSE){
|
if(br_is_exist(br_vlname) == FALSE){
|
||||||
printf("[vlan]del_vlan_sub_interface: %s is not exist, error,return.\n", br_vlname);
|
printf("[vlan]del_vlan_sub_interface: %s is not exist, error,return.\n", br_vlname);
|
||||||
return RET_ERR;
|
return RET_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* brctl delif删除br-vl上的vlan子接口 */
|
/* brctl delif删除br-vl上的vlan子接口 */
|
||||||
|
@ -650,7 +650,7 @@ ret_code del_vlan_sub_interface(char *if_name, int *vlan_bitmap)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]del_vlan_sub_if:status error. (%s)\n",strerror(errno));
|
printf("[vlan]del_vlan_sub_if:status error. (%s)\n",strerror(errno));
|
||||||
return RET_ERR;
|
return RET_SYS_VCONFIG_ERR;
|
||||||
}
|
}
|
||||||
memset(buf, 0, SYSCALL_BUF_LEN);
|
memset(buf, 0, SYSCALL_BUF_LEN);
|
||||||
|
|
||||||
|
@ -933,9 +933,11 @@ ret_code vlan_save_conf_file_add(interface_vlan_info *if_vlan_info)
|
||||||
for(vid = VID_MIN; vid <= VID_MAX; vid++){
|
for(vid = VID_MIN; vid <= VID_MAX; vid++){
|
||||||
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)){
|
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)){
|
||||||
(void)if_vlan2subif(if_vlan_info->if_name, vid, subif);
|
(void)if_vlan2subif(if_vlan_info->if_name, vid, subif);
|
||||||
|
printf("[vlan]save_conf_file_add: vid is %d, subif is %s\n", vid, subif);
|
||||||
ip_conf_file_set(subif, addr_name, addr_buff);
|
ip_conf_file_set(subif, addr_name, addr_buff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
printf("[vlan]save_conf_file_add: save file add end.\n");
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -952,7 +954,7 @@ ret_code vlan_conf_file_del(char *if_name, char *address)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]vlan_conf_file_del1: status error. (%s)\n", strerror(errno));
|
printf("[vlan]vlan_conf_file_del1: status error. (%s)\n", strerror(errno));
|
||||||
return RET_SYSERR;
|
return RET_SYS_FILEOP_ERR;
|
||||||
}
|
}
|
||||||
memset(buf, 0, 100);
|
memset(buf, 0, 100);
|
||||||
|
|
||||||
|
@ -960,7 +962,7 @@ ret_code vlan_conf_file_del(char *if_name, char *address)
|
||||||
status = system(buf);
|
status = system(buf);
|
||||||
if(status != 0){
|
if(status != 0){
|
||||||
printf("[vlan]vlan_conf_file_del2: status error. (%s)\n", strerror(errno));
|
printf("[vlan]vlan_conf_file_del2: status error. (%s)\n", strerror(errno));
|
||||||
return RET_SYSERR;
|
return RET_SYS_FILEOP_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(buf, 0, 100);
|
memset(buf, 0, 100);
|
||||||
|
@ -986,7 +988,8 @@ ret_code vlan_save_conf_file_del(interface_vlan_info *if_vlan_info)
|
||||||
if(!if_vlan_info){
|
if(!if_vlan_info){
|
||||||
return RET_NULLP;
|
return RET_NULLP;
|
||||||
}
|
}
|
||||||
//ifnode = get_ifnode_from_global(if_vlan_info->if_name);
|
//ifnode = get_ifnode_from_global(if_vlan_info->if_name);
|
||||||
|
printf("[vlan]vlan_save_conf_file_del: begin.\n");
|
||||||
for(vid = VID_MIN; vid <= VID_MAX; vid++){
|
for(vid = VID_MIN; vid <= VID_MAX; vid++){
|
||||||
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)){
|
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)){
|
||||||
(void)if_vlan2subif(if_vlan_info->if_name, vid, subif);
|
(void)if_vlan2subif(if_vlan_info->if_name, vid, subif);
|
||||||
|
@ -998,6 +1001,7 @@ ret_code vlan_save_conf_file_del(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
printf("[vlan]vlan_save_conf_file_del: save file del end.\n");
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1021,7 +1025,7 @@ ret_code vlan_save_conf_file(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
printf("[vlan]vlan_save_conf_file: OP_TYPE ERROR.return\n");
|
printf("[vlan]vlan_save_conf_file: OP_TYPE ERROR.return\n");
|
||||||
ret = RET_UNKNOWN;
|
ret = RET_OPTYPE_ERR;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1055,7 +1059,7 @@ ret_code refresh_if_vlan_info(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("[vlan]refresh_if_vlan_info: OP_TYPE ERROR.return\n");
|
printf("[vlan]refresh_if_vlan_info: OP_TYPE ERROR.return\n");
|
||||||
ret = RET_UNKNOWN;
|
ret = RET_OPTYPE_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1105,7 +1109,7 @@ ret_code del_interface_vlan(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("[vlan]del_interface_vlan: LINK-TYPE attr(%d) input error.\n", old_attr);
|
printf("[vlan]del_interface_vlan: LINK-TYPE attr(%d) input error.\n", old_attr);
|
||||||
return RET_UNKNOWN;
|
return RET_ATTR_INVALID;
|
||||||
}
|
}
|
||||||
/* 更新全局接口vlan数据结构 */
|
/* 更新全局接口vlan数据结构 */
|
||||||
ret = refresh_if_vlan_info(if_vlan_info);
|
ret = refresh_if_vlan_info(if_vlan_info);
|
||||||
|
@ -1195,7 +1199,7 @@ ret_code interface_vlan_set(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
printf("[vlan]interface_vlan_set: op_type error.\n");
|
printf("[vlan]interface_vlan_set: op_type error.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_OPTYPE_ERR;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1263,7 +1267,7 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INPUTERR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
cJSON *node;
|
cJSON *node = NULL;
|
||||||
for(i = 0; i < if_num; i++){
|
for(i = 0; i < if_num; i++){
|
||||||
|
|
||||||
/* 给每个接口的op_type赋值 */
|
/* 给每个接口的op_type赋值 */
|
||||||
|
@ -1320,7 +1324,7 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("[vlan]vlan_config_json_parse: errror: is not trunk or access.\n");
|
printf("[vlan]vlan_config_json_parse: errror: is not trunk or access.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_ATTR_INVALID;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
cJSON *vId = cJSON_GetObjectItem(node, "vid");
|
cJSON *vId = cJSON_GetObjectItem(node, "vid");
|
||||||
|
@ -1353,7 +1357,6 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
ret = vid_value_chk(item->valueint);
|
ret = vid_value_chk(item->valueint);
|
||||||
if(ret != RET_OK){
|
if(ret != RET_OK){
|
||||||
printf("[vlan]vlan_config_json_parse: vid check failed.\n");
|
printf("[vlan]vlan_config_json_parse: vid check failed.\n");
|
||||||
ret = RET_INPUTERR;
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
vlan_bitmap_set(if_vlan_info[i].vlan_bitmap, item->valueint);
|
vlan_bitmap_set(if_vlan_info[i].vlan_bitmap, item->valueint);
|
||||||
|
@ -1388,36 +1391,17 @@ ret_code vlan_config_proc(uint source, uint config_type,
|
||||||
interface_vlan_info if_vlan_info[MAX_INTERFACES] = {0};
|
interface_vlan_info if_vlan_info[MAX_INTERFACES] = {0};
|
||||||
printf("[vlan]===config-proc begin.===\n");
|
printf("[vlan]===config-proc begin.===\n");
|
||||||
/* 配置下发 */
|
/* 配置下发 */
|
||||||
if(source == CONFIG_FROM_WEB){
|
ret = vlan_config_json_parse(input, if_vlan_info, &if_vl_num);
|
||||||
ret = vlan_config_json_parse(input, if_vlan_info, &if_vl_num);
|
if(ret != RET_OK){
|
||||||
|
printf("[vlan]vlan_config_proc: source:%d, json parse failed(%d).\n", source, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
for(i = 0; i < if_vl_num; i++){
|
||||||
|
ret = interface_vlan_set(&if_vlan_info[i]);
|
||||||
if(ret != RET_OK){
|
if(ret != RET_OK){
|
||||||
printf("[vlan]vlan_config_proc: source:%d, json parse failed(%d).\n", source, ret);
|
printf("[vlan]vlan_config_proc: source:%d, vlan set failed(%d).\n", source, ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
for(i = 0; i < if_vl_num; i++){
|
|
||||||
ret = interface_vlan_set(&if_vlan_info[i]);
|
|
||||||
if(ret != RET_OK){
|
|
||||||
printf("[vlan]vlan_config_proc: source:%d, vlan set failed(%d).\n", source, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ÅäÖûָ´ */
|
|
||||||
else if(source == CONFIG_FROM_RECOVER1){
|
|
||||||
ret = vlan_config_json_parse(input, if_vlan_info, &if_vl_num);
|
|
||||||
if(ret != RET_OK){
|
|
||||||
printf("[vlan]vlan_config_proc: source:%d, json parse failed(%d).\n", source, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(i = 0; i < if_vl_num; i++){
|
|
||||||
ret = interface_vlan_set(&if_vlan_info[i]);
|
|
||||||
if(ret != RET_OK){
|
|
||||||
printf("[vlan]vlan_config_proc: source:%d, vlan set failed(%d).\n", source, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
|
@ -1509,7 +1493,15 @@ ret_code vlan_get_json_parse(int *interface, pointer input)
|
||||||
}
|
}
|
||||||
cJSON *ifName = cJSON_GetObjectItem(node, "if-name");
|
cJSON *ifName = cJSON_GetObjectItem(node, "if-name");
|
||||||
if(!ifName){
|
if(!ifName){
|
||||||
continue;
|
//continue;
|
||||||
|
printf("[vlan]vlan_get_json_parse: json has no ifName node.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if(NULL == ifName->valuestring){
|
||||||
|
printf("[vlan]vlan_get_json_parse: ifName->valuestring is null.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
//if_vlan_info[i].if_name= ifName->valuestring;//memcpy
|
//if_vlan_info[i].if_name= ifName->valuestring;//memcpy
|
||||||
/* 如果找到了对应的ifnode,则对应下标置1 */
|
/* 如果找到了对应的ifnode,则对应下标置1 */
|
||||||
|
@ -1559,7 +1551,7 @@ ret_code vlan_config_format_json(int *interface, pointer output, int *output_len
|
||||||
cJSON_AddStringToObject(js_list , "if-name", g_if_vlan_info[i].if_name);
|
cJSON_AddStringToObject(js_list , "if-name", g_if_vlan_info[i].if_name);
|
||||||
cJSON_AddNumberToObject(js_list , "if-attr", g_if_vlan_info[i].attr);
|
cJSON_AddNumberToObject(js_list , "if-attr", g_if_vlan_info[i].attr);
|
||||||
cJSON_AddItemToObject(js_list, "vid", js_vid = cJSON_CreateArray());
|
cJSON_AddItemToObject(js_list, "vid", js_vid = cJSON_CreateArray());
|
||||||
for(vid = 0; vid < MAX_VLAN;vid++){
|
for(vid = VID_MIN; vid <= VID_MAX;vid++){
|
||||||
if(vlan_bitmap_check(g_if_vlan_info[i].vlan_bitmap, vid)){
|
if(vlan_bitmap_check(g_if_vlan_info[i].vlan_bitmap, vid)){
|
||||||
cJSON_AddItemToArray(js_vid, cJSON_CreateNumber(vid));
|
cJSON_AddItemToArray(js_vid, cJSON_CreateNumber(vid));
|
||||||
}
|
}
|
||||||
|
@ -1637,7 +1629,7 @@ ret_code vlan_get_from_conf_file(int *interface)
|
||||||
char line[FILE_BUF_LINE] = {0};
|
char line[FILE_BUF_LINE] = {0};
|
||||||
if(!(fp = fopen(ETC_NETWORK_IFS, "r"))){
|
if(!(fp = fopen(ETC_NETWORK_IFS, "r"))){
|
||||||
printf("[vlan]vlan_get_from_conf_file: file open failed.\n");
|
printf("[vlan]vlan_get_from_conf_file: file open failed.\n");
|
||||||
return RET_ERR;
|
return RET_SYS_FILEOP_ERR;
|
||||||
}
|
}
|
||||||
//fseek(fp,0,SEEK_END);
|
//fseek(fp,0,SEEK_END);
|
||||||
//rewind(fp);
|
//rewind(fp);
|
||||||
|
@ -1825,7 +1817,7 @@ ret_code vid_value_chk(int vid)
|
||||||
{
|
{
|
||||||
if(!(vid >= VID_MIN && vid <= VID_MAX)){
|
if(!(vid >= VID_MIN && vid <= VID_MAX)){
|
||||||
printf("[vlan]vid_value_chk: vid value error,return error\n");
|
printf("[vlan]vid_value_chk: vid value error,return error\n");
|
||||||
return RET_INPUTERR;
|
return RET_VID_INVALID;
|
||||||
}
|
}
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
@ -1856,7 +1848,7 @@ ret_code vid_num_chk(char *if_name, operation_type op_type, int num)
|
||||||
}
|
}
|
||||||
if(op_type == OP_ADD && total > EACH_PORT_MAX_VLAN_NUM){
|
if(op_type == OP_ADD && total > EACH_PORT_MAX_VLAN_NUM){
|
||||||
printf("[vlan]vid_num_chk: ADD operation's total vid num > EACH_PORT_MAX_VLAN_NUM\n");
|
printf("[vlan]vid_num_chk: ADD operation's total vid num > EACH_PORT_MAX_VLAN_NUM\n");
|
||||||
return RET_INPUTERR;
|
return RET_VIDNUM_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
|
@ -1873,7 +1865,7 @@ ret_code if_attr_chk(interface_vlan_info *if_vlan_info)
|
||||||
{
|
{
|
||||||
if(if_vlan_info->attr != LINK_TYPE_TRUNK){
|
if(if_vlan_info->attr != LINK_TYPE_TRUNK){
|
||||||
printf("[vlan]if_attr_chk: now we only support link-type trunk.\n");
|
printf("[vlan]if_attr_chk: now we only support link-type trunk.\n");
|
||||||
return RET_INPUTERR;
|
return RET_ATTR_INVALID;
|
||||||
}
|
}
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
@ -1899,7 +1891,7 @@ ret_code op_type_add_chk(interface_vlan_info *if_vlan_info)
|
||||||
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)
|
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)
|
||||||
&& vlan_bitmap_check(g_if_vlan_info[ifnode].vlan_bitmap, vid)){
|
&& vlan_bitmap_check(g_if_vlan_info[ifnode].vlan_bitmap, vid)){
|
||||||
printf("[vlan]op_type_add_chk: Already have vid[%d], now return\n", vid);
|
printf("[vlan]op_type_add_chk: Already have vid[%d], now return\n", vid);
|
||||||
return RET_INPUTERR;
|
return RET_VID_EXIST;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
|
@ -1919,7 +1911,7 @@ ret_code op_type_del_chk(interface_vlan_info *if_vlan_info)
|
||||||
ifnode = get_ifnode_from_global(if_vlan_info->if_name);
|
ifnode = get_ifnode_from_global(if_vlan_info->if_name);
|
||||||
if(ifnode == -1){
|
if(ifnode == -1){
|
||||||
printf("[vlan]op_type_del_chk: get_ifnode failed.\n");
|
printf("[vlan]op_type_del_chk: get_ifnode failed.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INTERFACE_NOT_EXIST;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1928,7 +1920,7 @@ ret_code op_type_del_chk(interface_vlan_info *if_vlan_info)
|
||||||
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)
|
if(vlan_bitmap_check(if_vlan_info->vlan_bitmap, vid)
|
||||||
&& !vlan_bitmap_check(g_if_vlan_info[ifnode].vlan_bitmap, vid)){
|
&& !vlan_bitmap_check(g_if_vlan_info[ifnode].vlan_bitmap, vid)){
|
||||||
printf("[vlan]op_type_del_chk: node[%d] do not have vid[%d], now return\n", ifnode, vid);
|
printf("[vlan]op_type_del_chk: node[%d] do not have vid[%d], now return\n", ifnode, vid);
|
||||||
ret = RET_INPUTERR;
|
ret = RET_VID_NOT_EXIST;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1957,7 +1949,7 @@ ret_code op_type_chk(interface_vlan_info *if_vlan_info)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("[vlan]op_type_chk: op_type error.\n");
|
printf("[vlan]op_type_chk: op_type error.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_OPTYPE_ERR;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1972,7 +1964,7 @@ ret_code if_name_chk(interface_vlan_info *if_vlan_info)
|
||||||
{
|
{
|
||||||
if(!(strcmp(if_vlan_info->if_name, ""))){
|
if(!(strcmp(if_vlan_info->if_name, ""))){
|
||||||
printf("[vlan]if_name_chk: if-name is emptyp, return error.\n");
|
printf("[vlan]if_name_chk: if-name is emptyp, return error.\n");
|
||||||
return RET_ERR;
|
return RET_INPUTERR;
|
||||||
}
|
}
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
@ -2190,7 +2182,7 @@ ret_code vlan_config_chk(uint source,uint *config_type,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("[vlan]vlan_config_chk: oper_type is unknown(%d).\n", oper_type);
|
printf("[vlan]vlan_config_chk: oper_type is unknown(%d).\n", oper_type);
|
||||||
ret = RET_UNKNOWN;
|
ret = RET_OPTYPE_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
|
@ -383,9 +383,13 @@ int write_log_file_conf(const char *p_key_str, const char *p_value_str)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int get_log_file_conf(const char *key_str, char *value_str, int value_len)
|
ret_code get_log_file_conf(const char *key_str, char *value_str, int value_len)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
ret_code ret = RET_OK;
|
||||||
|
char *pos = NULL;
|
||||||
|
char *pos2 = NULL;
|
||||||
|
size_t str_len = 0;
|
||||||
|
|
||||||
if (fseek(g_conf_fp, 0, SEEK_SET) == -1) {
|
if (fseek(g_conf_fp, 0, SEEK_SET) == -1) {
|
||||||
ULOG_ERR(g_log, "Seeknig config to begin is faiure:%s", strerror(errno));
|
ULOG_ERR(g_log, "Seeknig config to begin is faiure:%s", strerror(errno));
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -394,23 +398,53 @@ int get_log_file_conf(const char *key_str, char *value_str, int value_len)
|
||||||
ssize_t n, n1, n2;
|
ssize_t n, n1, n2;
|
||||||
char *line = NULL;
|
char *line = NULL;
|
||||||
char tmp_key[MAX_LINE_SZ], tmp_value[MAX_LINE_SZ];
|
char tmp_key[MAX_LINE_SZ], tmp_value[MAX_LINE_SZ];
|
||||||
while ((n1 = getline(&line, &n, g_conf_fp)) != -1) {
|
|
||||||
ULOG_DEBUG(g_log, "config file line:%s", line);
|
|
||||||
n2 = sscanf(line, "%s=%s", tmp_key, tmp_value);
|
|
||||||
if (n2 == 1) {
|
|
||||||
if (strcmp(tmp_key, key_str) == 0) {
|
|
||||||
strncpy(value_str, tmp_value, value_len);
|
|
||||||
ret = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else if (n2 == EOF) {
|
|
||||||
ULOG_ERR(g_log, "Parsing level from configure is failure:%s", strerror(errno));
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
ULOG_DEBUG(g_log, "Unknown row:%s", line);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
while ((getline(&line, &n, g_conf_fp)) != -1)
|
||||||
|
{
|
||||||
|
if (strstr(line, key_str) == NULL )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pos = strstr(line, "=");
|
||||||
|
if (pos != NULL)
|
||||||
|
{
|
||||||
|
if (strlen(pos) <= 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pos ++;
|
||||||
|
if ((pos2 = strstr(pos, " ")) != NULL)
|
||||||
|
{
|
||||||
|
str_len = strlen(pos) - strlen(pos2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
str_len = strlen(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (str_len >= value_len)
|
||||||
|
{
|
||||||
|
ULOG_ERR(g_log, "Get log-sched config %s, but invaild value", key_str);
|
||||||
|
ret = RET_ERR;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(value_str, 0, value_len);
|
||||||
|
strncpy(value_str, pos, str_len);
|
||||||
|
|
||||||
|
/* 滤除掉段尾的回车换行 */
|
||||||
|
if ('\n' == value_str[strlen(value_str)-1])
|
||||||
|
{
|
||||||
|
value_str[strlen(value_str)-1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
ULOG_DEBUG(g_log, "Get log-sched config %s:%s", key_str, value_str);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ int log_level_to_str(const u8 level, char *str, u32 len);
|
||||||
int log_off_with_file(const char *path, const char *file_name);
|
int log_off_with_file(const char *path, const char *file_name);
|
||||||
void rpc_conf_proc(rpc_conn *conn, pointer input, int input_len, int need_len, rpc_cb cb, void *arg);
|
void rpc_conf_proc(rpc_conn *conn, pointer input, int input_len, int need_len, rpc_cb cb, void *arg);
|
||||||
int write_log_file_conf(const char *p_key_str, const char *p_value_str);
|
int write_log_file_conf(const char *p_key_str, const char *p_value_str);
|
||||||
int get_log_file_conf(const char *key_str, char *value_str, int value_len);
|
ret_code get_log_file_conf(const char *key_str, char *value_str, int value_len);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -138,7 +138,7 @@ ret_code console_initial()
|
||||||
char *pos = NULL;
|
char *pos = NULL;
|
||||||
char *pos2 = NULL;
|
char *pos2 = NULL;
|
||||||
char ttyfile_str[128] = "";
|
char ttyfile_str[128] = "";
|
||||||
int str_len = 0;
|
size_t str_len = 0;
|
||||||
|
|
||||||
fp = fopen(CM_LOG_CONF_CONSOLE_FILE, "r");
|
fp = fopen(CM_LOG_CONF_CONSOLE_FILE, "r");
|
||||||
if (NULL == fp) {
|
if (NULL == fp) {
|
||||||
|
@ -178,7 +178,6 @@ ret_code console_initial()
|
||||||
ttyfile_str[strlen(ttyfile_str)-1] = '\0';
|
ttyfile_str[strlen(ttyfile_str)-1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(modify_authorizing(ttyfile_str) == RET_OK)
|
if(modify_authorizing(ttyfile_str) == RET_OK)
|
||||||
{
|
{
|
||||||
ULOG_DEBUG(g_log, "Modify authorizing %s successed.", ttyfile_str);
|
ULOG_DEBUG(g_log, "Modify authorizing %s successed.", ttyfile_str);
|
||||||
|
|
|
@ -15,12 +15,17 @@
|
||||||
#define MAX_EVENT_NUMBER 64
|
#define MAX_EVENT_NUMBER 64
|
||||||
#define LOG_DEV_PTY_DIR LOG_DEV_DIR"pts/"
|
#define LOG_DEV_PTY_DIR LOG_DEV_DIR"pts/"
|
||||||
#define LOG_CONF_PTY_FILE_NAME "log-pty.conf"
|
#define LOG_CONF_PTY_FILE_NAME "log-pty.conf"
|
||||||
|
#define LOG_CONF_KEY_PTY_LEVEL_STR "pty.level"
|
||||||
|
#define LOG_CONF_KEY_PTY_MODULE_STR "pty.module"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int g_epoll_fd = -1;
|
int g_epoll_fd = -1;
|
||||||
int g_watch_fd = -1;
|
int g_watch_fd = -1;
|
||||||
int g_inotify_fd = -1;
|
int g_inotify_fd = -1;
|
||||||
pthread_t g_monitor_thread;
|
pthread_t g_monitor_thread;
|
||||||
|
|
||||||
|
int access(const char *pathname, int mode);
|
||||||
static int write_pty_content(FILE *fp, const u8 level, const char *filter_mod, void *arg);
|
static int write_pty_content(FILE *fp, const u8 level, const char *filter_mod, void *arg);
|
||||||
|
|
||||||
static void *pty_monitor_thread(void *arg)
|
static void *pty_monitor_thread(void *arg)
|
||||||
|
@ -206,13 +211,25 @@ static int write_pty_content(FILE *fp, const u8 level, const char *filter_mod, v
|
||||||
static int config_log_pty(const log_pty_t *conf)
|
static int config_log_pty(const log_pty_t *conf)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
char value_str[128]="";
|
||||||
|
|
||||||
switch (conf->on)
|
switch (conf->on)
|
||||||
{
|
{
|
||||||
case LOG_OFF:
|
case LOG_OFF:
|
||||||
stop_dev_pty_monitor();
|
stop_dev_pty_monitor();
|
||||||
ret = log_off_with_file(LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME);
|
ret = log_off_with_file(LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME);
|
||||||
|
|
||||||
|
/* off时,将log-sched配置文件中pty日志级别调成默认值info,即level=6 */
|
||||||
|
if (0 == ret) {
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
sprintf(value_str, "%u", 6);
|
||||||
|
if (write_log_file_conf(LOG_CONF_KEY_PTY_LEVEL_STR, value_str) != 0) {
|
||||||
|
ULOG_ERR(g_log, "Pty-level which is written is failure");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LOG_ON:
|
case LOG_ON:
|
||||||
if (log_conf(conf->level, LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME, conf->module,
|
if (log_conf(conf->level, LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME, conf->module,
|
||||||
write_pty_content, NULL) != 0) {
|
write_pty_content, NULL) != 0) {
|
||||||
|
@ -221,6 +238,24 @@ static int config_log_pty(const log_pty_t *conf)
|
||||||
} else {
|
} else {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 写pty日志级别与模块名称到log-sched配置文件 */
|
||||||
|
if (0 == ret) {
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
sprintf(value_str, "%u", conf->level);
|
||||||
|
if (write_log_file_conf(LOG_CONF_KEY_PTY_LEVEL_STR, value_str) != 0) {
|
||||||
|
ULOG_ERR(g_log, "Pty-level which is written is failure");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
sprintf(value_str, "%s", conf->module);
|
||||||
|
if (write_log_file_conf(LOG_CONF_KEY_PTY_MODULE_STR, value_str) != 0) {
|
||||||
|
ULOG_ERR(g_log, "Pty-module which is written is failure");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ULOG_WARNING(g_log, "Unknown on value:%u", conf->on);
|
ULOG_WARNING(g_log, "Unknown on value:%u", conf->on);
|
||||||
|
@ -244,3 +279,48 @@ void rpc_conf_log_pty(rpc_conn *conn, pointer input, int input_len, pointer data
|
||||||
rpc_conf_proc(conn, input, input_len, sizeof(log_pty_t), __rpc_conf_log_pty, NULL);
|
rpc_conf_proc(conn, input, input_len, sizeof(log_pty_t), __rpc_conf_log_pty, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret_code pty_initial()
|
||||||
|
{
|
||||||
|
char value_str[128]="";
|
||||||
|
uint level = 6;
|
||||||
|
char *module = NULL;
|
||||||
|
ret_code ret = RET_OK;
|
||||||
|
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
sprintf(value_str, "%s%s", LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME);
|
||||||
|
if (access(value_str, 0) == 0)
|
||||||
|
{
|
||||||
|
/* 获取配置 */
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
if (get_log_file_conf(LOG_CONF_KEY_PTY_LEVEL_STR, value_str, sizeof(value_str)) == 0)
|
||||||
|
{
|
||||||
|
level = atoi(value_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(value_str, 0, sizeof(value_str));
|
||||||
|
if (get_log_file_conf(LOG_CONF_KEY_PTY_MODULE_STR, value_str, sizeof(value_str)) == 0)
|
||||||
|
{
|
||||||
|
module = value_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (log_conf((u8)level, LOG_CONF_PATH, LOG_CONF_PTY_FILE_NAME, module,
|
||||||
|
write_pty_content, NULL) != 0)
|
||||||
|
{
|
||||||
|
ULOG_ERR(g_log, "Log's pty configure which is written is failure");
|
||||||
|
ret = RET_ERR;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ULOG_DEBUG(g_log, "Pty config level(%u) and module(%s) successed.", level, module!=NULL?module:"NULL");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret_code pty_exit()
|
||||||
|
{
|
||||||
|
stop_dev_pty_monitor();
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,7 @@
|
||||||
#include "rpc.h"
|
#include "rpc.h"
|
||||||
|
|
||||||
void rpc_conf_log_pty(rpc_conn *conn, pointer input, int input_len, pointer data);
|
void rpc_conf_log_pty(rpc_conn *conn, pointer input, int input_len, pointer data);
|
||||||
|
ret_code pty_initial();
|
||||||
|
ret_code pty_exit();
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -24,13 +24,16 @@ FILE *g_conf_fp;
|
||||||
char g_conf_file[MAX_PATH_SZ];
|
char g_conf_file[MAX_PATH_SZ];
|
||||||
|
|
||||||
typedef ret_code (*initial_cb)();
|
typedef ret_code (*initial_cb)();
|
||||||
typedef struct _log_initial {
|
typedef ret_code (*exit_cb)();
|
||||||
|
typedef struct _log_opt {
|
||||||
char type[20];
|
char type[20];
|
||||||
initial_cb cb;
|
initial_cb init_func;
|
||||||
} log_initial_t;
|
exit_cb exit_func;
|
||||||
|
} log_opt_t;
|
||||||
|
|
||||||
log_initial_t g_log_initial[] = {
|
log_opt_t g_log_opt[] = {
|
||||||
{"console", console_initial}
|
{"console", console_initial, NULL},
|
||||||
|
{"monitor", pty_initial, pty_exit}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,10 +80,15 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 各类配置初始化 */
|
/* 各类配置初始化 */
|
||||||
for (int i = 0; i < (sizeof(g_log_initial) / sizeof(log_initial_t)); i++) {
|
for (int i = 0; i < (sizeof(g_log_opt) / sizeof(log_opt_t)); i++) {
|
||||||
g_log_initial[i].cb();
|
if ( NULL != g_log_opt[i].init_func) {
|
||||||
|
g_log_opt[i].init_func();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 重启syslog */
|
||||||
|
sev_restart();
|
||||||
|
|
||||||
rpc_server *server = rpc_server_create_ex(RPC_MODULE_SYSLOG_NAME);
|
rpc_server *server = rpc_server_create_ex(RPC_MODULE_SYSLOG_NAME);
|
||||||
if (server == NULL)
|
if (server == NULL)
|
||||||
{
|
{
|
||||||
|
@ -140,6 +148,14 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
ULOG_INFO(g_log, "%s is shutdown", LOG_SCHED_MODULE_NAME);
|
ULOG_INFO(g_log, "%s is shutdown", LOG_SCHED_MODULE_NAME);
|
||||||
END:
|
END:
|
||||||
|
|
||||||
|
/* 各类配置退出前的收尾 */
|
||||||
|
for (int i = 0; i < (sizeof(g_log_opt) / sizeof(log_opt_t)); i++) {
|
||||||
|
if ( NULL != g_log_opt[i].exit_func) {
|
||||||
|
g_log_opt[i].exit_func();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (g_conf_fp != NULL) {
|
if (g_conf_fp != NULL) {
|
||||||
fclose(g_conf_fp);
|
fclose(g_conf_fp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ static sem_t g_sem;
|
||||||
static volatile int g_is_exit = 0;
|
static volatile int g_is_exit = 0;
|
||||||
static volatile sev_state_t g_sev_state = SEV_STATE_WAIT;
|
static volatile sev_state_t g_sev_state = SEV_STATE_WAIT;
|
||||||
|
|
||||||
static void sev_restart()
|
void sev_restart()
|
||||||
{
|
{
|
||||||
ULOG_DEBUG(g_log, "Log service is restarting");
|
ULOG_DEBUG(g_log, "Log service is restarting");
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
int log_sev_init();
|
int log_sev_init();
|
||||||
int log_sev_exit();
|
int log_sev_exit();
|
||||||
int log_sev_restart();
|
int log_sev_restart();
|
||||||
|
void sev_restart();
|
||||||
void sev_loop();
|
void sev_loop();
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -40,8 +40,8 @@ PLAT_LINUX_CFLAGS += $(COMMON_CFLAGS)
|
||||||
PLAT_ARM64_CFLAGS += $(COMMON_CFLAGS)
|
PLAT_ARM64_CFLAGS += $(COMMON_CFLAGS)
|
||||||
|
|
||||||
COMMON_LIBS := -lcjson
|
COMMON_LIBS := -lcjson
|
||||||
LINUX_LIBS := $(COMMON_LIBS)
|
PLAT_LINUX_LIBS := $(COMMON_LIBS)
|
||||||
ARM64_LIBS := $(COMMON_LIBS)
|
PLAT_ARM64_LIBS := $(COMMON_LIBS)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -45,8 +45,8 @@ PLATLIB_DIR := ../../Platform/build/debug
|
||||||
|
|
||||||
COMMON_STD_LIB := -lcjson -lpthread -lm -lodbc
|
COMMON_STD_LIB := -lcjson -lpthread -lm -lodbc
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_ARM64_LIBS := -ldatabase-$(ARM64_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
LINUX_LIBS := -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
PLAT_LINUX_LIBS := -ldatabase-$(LINUX_OBJ_TARGET) $(COMMON_STD_LIB)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -57,11 +57,11 @@ PLATLIB_DIR := ../../Platform/build/debug
|
||||||
|
|
||||||
COMMON_LIBS := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -ldl
|
COMMON_LIBS := -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -ldl
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := $(COMMON_LIBS)
|
PLAT_ARM64_LIBS := $(COMMON_LIBS)
|
||||||
ARM64_LIBS += -luserauthapi-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS += -luserauthapi-$(ARM64_OBJ_TARGET) -lredismq-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET)
|
||||||
|
|
||||||
LINUX_LIBS := $(COMMON_LIBS)
|
PLAT_LINUX_LIBS := $(COMMON_LIBS)
|
||||||
LINUX_LIBS += -luserauthapi-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS += -luserauthapi-$(LINUX_OBJ_TARGET) -lredismq-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
|
@ -43,8 +43,8 @@ PLAT_ARM64_LDFLAGS := -L ../../Platform/build/debug
|
||||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||||
|
|
||||||
#gcc libs
|
#gcc libs
|
||||||
ARM64_LIBS := -luserauthapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET)
|
PLAT_ARM64_LIBS := -luserauthapi-$(ARM64_OBJ_TARGET) -ldatabase-$(ARM64_OBJ_TARGET)
|
||||||
LINUX_LIBS := -lcjson -luserauthapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET)
|
PLAT_LINUX_LIBS := -lcjson -luserauthapi-$(LINUX_OBJ_TARGET) -ldatabase-$(LINUX_OBJ_TARGET)
|
||||||
|
|
||||||
# this line must be at below of thus, because of...
|
# this line must be at below of thus, because of...
|
||||||
include ../../Common/common.Makefile
|
include ../../Common/common.Makefile
|
||||||
|
|
Loading…
Reference in New Issue