OCT 1. log消息增加模块标识
This commit is contained in:
parent
c80525b6e0
commit
59a7b1798c
|
@ -18,7 +18,7 @@ CRIT = 130, LOG_CRIT
|
|||
|
||||
[formats]
|
||||
simple = "%m"
|
||||
normal = "[%d(%F %T).%ms][%-6V][%f:%L] - %m"
|
||||
normal = "[%d(%F %T).%ms][%-6V][%c][%f:%L] - %m"
|
||||
|
||||
[rules]
|
||||
*.* >stdout; normal
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include <zlog.h>
|
||||
#include "configuration.h"
|
||||
#include "../hw_string.h"
|
||||
#include "../khash.h"
|
||||
#include "ini.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
KHASH_MAP_INIT_STR(route_hashes, char *)
|
||||
|
||||
|
@ -23,7 +23,7 @@ int configuration_handler(void *user, const char *section, const char *name, con
|
|||
configuration *load_configuration(const char *filename) {
|
||||
configuration *config = malloc(sizeof(configuration));
|
||||
if (ini_parse(filename, configuration_handler, config) < 0) {
|
||||
dzlog_error("Can't load configuration\n");
|
||||
LOG_MSG(error, ZLOG_MOD_HTTPD, "Can't load configuration\n");
|
||||
return NULL;
|
||||
}
|
||||
return config;
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <haywire.h>
|
||||
#include <zlog.h>
|
||||
#include "uv.h"
|
||||
#include "hw_string.h"
|
||||
#include "khash.h"
|
||||
|
@ -20,8 +19,9 @@
|
|||
#include "http_connection.h"
|
||||
#include "http_request.h"
|
||||
#include "misc.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#define UVERR(err, msg) dzlog_error("%s: %s\n", msg, uv_strerror(err))
|
||||
#define UVERR(err, msg) LOG_MSG(error, ZLOG_MOD_HTTPD, "%s: %s\n", msg, uv_strerror(err))
|
||||
//fprintf(stderr, "%s: %s\n", msg, uv_strerror(err))
|
||||
#if 0
|
||||
#define CHECK(r, msg) \
|
||||
|
@ -88,7 +88,7 @@ int hw_init_from_config(char *configuration_filename) {
|
|||
|
||||
void print_configuration() {
|
||||
#if 0
|
||||
dzlog_debug("Address: %s\n\tPort: %d\n\tThreads: %d\n\tBalancer: %s\n\t"
|
||||
LOG_MSG(debug, ZLOG_MOD_HTTPD, "Address: %s\n\tPort: %d\n\tThreads: %d\n\tBalancer: %s\n\t"
|
||||
"Parser: %s\n\tTCP No Delay: %s\n\tListen backlog: %d\n\tMaximum request size: %d\n",
|
||||
config->http_listen_address,
|
||||
config->http_listen_port,
|
||||
|
@ -134,7 +134,7 @@ void hw_http_add_route(char *route, http_request_callback callback, void *user_d
|
|||
routes = kh_init(string_hashmap);
|
||||
}
|
||||
set_route(routes, route, route_entry);
|
||||
// dzlog_debug("Added route path: [%s]\n", route); // TODO: Replace with logging instead.
|
||||
// LOG_MSG(debug, ZLOG_MOD_HTTPD, "Added route path: [%s]\n", route); // TODO: Replace with logging instead.
|
||||
}
|
||||
|
||||
void free_http_server() {
|
||||
|
@ -149,7 +149,11 @@ void free_http_server() {
|
|||
kh_destroy(string_hashmap, routes);
|
||||
uv_close((uv_handle_t *)&server, NULL);
|
||||
uninit_http_request_cache();
|
||||
dzlog_info("HTTP Server Close http://%s:%d\n", config->http_listen_address, config->http_listen_port);
|
||||
LOG_MSG(info,
|
||||
ZLOG_MOD_HTTPD,
|
||||
"HTTP Server Close http://%s:%d\n",
|
||||
config->http_listen_address,
|
||||
config->http_listen_port);
|
||||
}
|
||||
|
||||
int hw_http_open() {
|
||||
|
@ -193,7 +197,7 @@ int hw_http_open() {
|
|||
int rc;
|
||||
rc = uv_tcp_init_ex(uv_loop, &server, AF_INET);
|
||||
if (rc != 0) {
|
||||
dzlog_warn("TWO %d\n", rc);
|
||||
LOG_MSG(warn, ZLOG_MOD_HTTPD, "TWO %d\n", rc);
|
||||
}
|
||||
|
||||
if (strcmp(config->balancer, "reuseport") == 0) {
|
||||
|
@ -201,11 +205,11 @@ int hw_http_open() {
|
|||
int on = 1;
|
||||
rc = uv_fileno(&server, &fd);
|
||||
if (rc != 0) {
|
||||
dzlog_warn("ONE %d\n", rc);
|
||||
LOG_MSG(warn, ZLOG_MOD_HTTPD, "ONE %d\n", rc);
|
||||
}
|
||||
rc = setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on));
|
||||
if (rc != 0) {
|
||||
dzlog_warn("THREE %d\n", errno);
|
||||
LOG_MSG(warn, ZLOG_MOD_HTTPD, "THREE %d\n", errno);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -221,7 +225,11 @@ int hw_http_open() {
|
|||
|
||||
uv_listen((uv_stream_t *)&server, (int)config->listen_backlog, http_stream_on_connect);
|
||||
print_configuration();
|
||||
dzlog_info("HTTP Server Listening at http://%s:%d\n", config->http_listen_address, config->http_listen_port);
|
||||
LOG_MSG(info,
|
||||
ZLOG_MOD_HTTPD,
|
||||
"HTTP Server Listening at http://%s:%d\n",
|
||||
config->http_listen_address,
|
||||
config->http_listen_port);
|
||||
//uv_run(uv_loop, UV_RUN_DEFAULT);
|
||||
} else if (listener_count > 0 && strcmp(config->balancer, "ipc") == 0) {
|
||||
int i;
|
||||
|
@ -261,7 +269,7 @@ int hw_http_open() {
|
|||
}
|
||||
|
||||
print_configuration();
|
||||
dzlog_debug("Listening...\n");
|
||||
LOG_MSG(debug, ZLOG_MOD_HTTPD, "Listening...\n");
|
||||
//uv_run(uv_loop, UV_RUN_DEFAULT);
|
||||
}
|
||||
|
||||
|
@ -291,7 +299,7 @@ void reuseport_thread_start(void *arg) {
|
|||
uv_fileno(&server, &fd);
|
||||
rc = setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on));
|
||||
if (rc != 0) {
|
||||
dzlog_warn("%d\n", errno);
|
||||
LOG_MSG(warn, ZLOG_MOD_HTTPD, "%d\n", errno);
|
||||
}
|
||||
|
||||
uv_tcp_bind(&server, (const struct sockaddr *)&addr, 0);
|
||||
|
|
|
@ -23,6 +23,7 @@ AUX_SOURCE_DIRECTORY(cmdline C_SRC)
|
|||
AUX_SOURCE_DIRECTORY(crypto C_SRC)
|
||||
AUX_SOURCE_DIRECTORY(hardware C_SRC)
|
||||
AUX_SOURCE_DIRECTORY(protocol C_SRC)
|
||||
AUX_SOURCE_DIRECTORY(zlog_module C_SRC)
|
||||
|
||||
IF (USED_REDIS)
|
||||
ADD_DEFINITIONS(-DUSED_REDIS)
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
// Created by xajhu on 2021/6/29 0029.
|
||||
//
|
||||
#include "uthash/utstring.h"
|
||||
#include <zlog.h>
|
||||
|
||||
#include "banner.h"
|
||||
#include "config.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
void banner_show() {
|
||||
FILE *fp;
|
||||
|
@ -29,10 +29,13 @@ void banner_show() {
|
|||
|
||||
fclose(fp);
|
||||
|
||||
dzlog_info("================== Banner Used ===================\n%s\n", utstring_body(pBannerText));
|
||||
LOG_MSG(info,
|
||||
ZLOG_MOD_MAIN,
|
||||
"================== Banner Used ===================\n%s\n",
|
||||
utstring_body(pBannerText));
|
||||
utstring_free(pBannerText);
|
||||
} else {
|
||||
dzlog_error("Banner file does not exists: %s\n", utstring_body(pPath));
|
||||
LOG_MSG(error, ZLOG_MOD_MAIN, "Banner file does not exists: %s\n", utstring_body(pPath));
|
||||
}
|
||||
|
||||
utstring_free(pPath);
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <uv.h>
|
||||
#include <zlog.h>
|
||||
#include <sds/sds.h>
|
||||
|
||||
#include "uthash/uthash.h"
|
||||
|
@ -14,6 +13,7 @@
|
|||
#include "user_errno.h"
|
||||
#include "crypto.h"
|
||||
#include "hardware.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
typedef struct {
|
||||
CONFIG_ITEM_ID cfgId;
|
||||
|
@ -137,7 +137,7 @@ static int cfg_is_upgrade(PCONFIG_ITEM pItem) {
|
|||
static const char *load_string_value(const char *pKeyName) {
|
||||
const char *pCfgVal;
|
||||
if (config_lookup_string(&g_cfgContent, pKeyName, &pCfgVal) != CONFIG_TRUE) {
|
||||
dzlog_error("No {%s} setting in configuration file.\n", pKeyName);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -151,7 +151,11 @@ static const char *load_string_value(const char *pKeyName) {
|
|||
unsigned char *pBuf = base64_decode(&pCfgVal[strlen(ENC_HEAD)], (unsigned int *)&bufSize);
|
||||
|
||||
if (pBuf == NULL || bufSize <= 0) {
|
||||
dzlog_error("{%s} setting [%s] maybe a encryption message, base64 decode error.\n", pKeyName, pCfgVal);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_CONFIG,
|
||||
"{%s} setting [%s] maybe a encryption message, base64 decode error.\n",
|
||||
pKeyName,
|
||||
pCfgVal);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -176,7 +180,7 @@ static const char *load_string_value(const char *pKeyName) {
|
|||
static int load_boolean_value(const char *pKeyName) {
|
||||
int val;
|
||||
if (config_lookup_bool(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) {
|
||||
dzlog_error("No {%s} setting in configuration file.\n", pKeyName);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName);
|
||||
return DEFAULT_INTEGRAL_ERR_VALUE;
|
||||
}
|
||||
|
||||
|
@ -186,7 +190,7 @@ static int load_boolean_value(const char *pKeyName) {
|
|||
static long long int load_integral_value(const char *pKeyName) {
|
||||
long long val;
|
||||
if (config_lookup_int64(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) {
|
||||
dzlog_error("No {%s} setting in configuration file.\n", pKeyName);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName);
|
||||
return DEFAULT_INTEGRAL_ERR_VALUE;
|
||||
}
|
||||
|
||||
|
@ -196,7 +200,7 @@ static long long int load_integral_value(const char *pKeyName) {
|
|||
static double load_float_value(const char *pKeyName) {
|
||||
double val;
|
||||
if (config_lookup_float(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) {
|
||||
dzlog_error("No {%s} setting in configuration file.\n", pKeyName);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName);
|
||||
return DEFAULT_INTEGRAL_ERR_VALUE;
|
||||
}
|
||||
|
||||
|
@ -392,10 +396,12 @@ static void refreshCfgFileCb() {
|
|||
int cfgUpgrade = FALSE;
|
||||
|
||||
if (!config_read_file(&g_cfgContent, g_cfgFilePath)) {
|
||||
dzlog_error("%s:%d - %s\n",
|
||||
config_error_file(&g_cfgContent),
|
||||
config_error_line(&g_cfgContent),
|
||||
config_error_text(&g_cfgContent));
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_CONFIG,
|
||||
"%s:%d - %s\n",
|
||||
config_error_file(&g_cfgContent),
|
||||
config_error_line(&g_cfgContent),
|
||||
config_error_text(&g_cfgContent));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -610,37 +616,37 @@ const char *config_item_dump_fmt(const char *titleMessage) {
|
|||
|
||||
void config_item_dump(const char *titleMessage) {
|
||||
const char *pMsg = config_item_dump_fmt(titleMessage);
|
||||
dzlog_info("%s", pMsg);
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "%s", pMsg);
|
||||
free((char *)pMsg);
|
||||
#if 0
|
||||
PCONFIG_ITEM pItem, pTmp;
|
||||
//int i, k = ARRAY_SIZE(g_sysConfigMap);
|
||||
dzlog_info("================== %s ===================\n", titleMessage == NULL ? "" : titleMessage);
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "================== %s ===================\n", titleMessage == NULL ? "" : titleMessage);
|
||||
HASH_ITER(hh, g_pConfigItem, pItem, pTmp) {
|
||||
switch (pItem->valType) {
|
||||
case VAL_BOOL:
|
||||
dzlog_info("%s%-25s: [%-45s] = %s\n",
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %s\n",
|
||||
cfg_is_upgrade(pItem) ? "*" : " ",
|
||||
pItem->pStrId,
|
||||
pItem->pcfgKey,
|
||||
CFG_BOOL_VALUE(pItem) ? "True" : "False");
|
||||
break;
|
||||
case VAL_INT:
|
||||
dzlog_info("%s%-25s: [%-45s] = %lld\n",
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %lld\n",
|
||||
cfg_is_upgrade(pItem) ? "*" : " ",
|
||||
pItem->pStrId,
|
||||
pItem->pcfgKey,
|
||||
CFG_INT_VALUE(pItem));
|
||||
break;
|
||||
case VAL_FLOAT:
|
||||
dzlog_info("%s%-25s: [%-45s] = %Lf\n",
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %Lf\n",
|
||||
cfg_is_upgrade(pItem) ? "*" : " ",
|
||||
pItem->pStrId,
|
||||
pItem->pcfgKey,
|
||||
CFG_FLOAT_VALUE(pItem));
|
||||
break;
|
||||
case VAL_STR:
|
||||
dzlog_info("%s%-25s: [%-45s] = \"%s\"\n",
|
||||
LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = \"%s\"\n",
|
||||
cfg_is_upgrade(pItem) ? "*" : " ",
|
||||
pItem->pStrId,
|
||||
pItem->pcfgKey,
|
||||
|
@ -707,7 +713,7 @@ int init_config_system(const char *pCfgFile, const char *pKey) {
|
|||
int i;
|
||||
|
||||
if (!file_exists(pCfgFile)) {
|
||||
dzlog_error("Configuration file [%s] not exists\n", pCfgFile);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "Configuration file [%s] not exists\n", pCfgFile);
|
||||
return -ERR_FILE_NOT_EXISTS;
|
||||
}
|
||||
|
||||
|
@ -769,7 +775,7 @@ const char *get_config_key(const char *pKeygen) {
|
|||
unsigned char *pBase64 = (unsigned char *)base64_decode(pKeygen, (unsigned int *)&outSize);
|
||||
|
||||
if (pBase64 == NULL) {
|
||||
dzlog_error("Base64 decode error: %s\n", pKeygen);
|
||||
LOG_MSG(error, ZLOG_MOD_CONFIG, "Base64 decode error: %s\n", pKeygen);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#include <string.h>
|
||||
#include <openssl/aes.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <zlog.h>
|
||||
|
||||
#include "crypto.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#if 0
|
||||
/**
|
||||
|
@ -129,7 +129,7 @@ unsigned char *base64_decode(const char *pBase64, unsigned int *pOutSize) {
|
|||
#else
|
||||
EVP_DecodeInit(pCtx);
|
||||
if (EVP_DecodeUpdate(pCtx, pDecode, &enSize, (const unsigned char *)pBase64, size) == -1) {
|
||||
dzlog_error("Decode [%s] error\n", pBase64);
|
||||
LOG_MSG(error, ZLOG_MOD_CRYPTO, "Decode [%s] error\n", pBase64);
|
||||
free(pDecode);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ unsigned char *base64_decode(const char *pBase64, unsigned int *pOutSize) {
|
|||
EVP_DecodeFinal(&ctx, pDecode + enSize, &size);
|
||||
#else
|
||||
if (EVP_DecodeFinal(pCtx, pDecode, &enSize) == -1) {
|
||||
dzlog_error("Finish decode [%s] error\n", pBase64);
|
||||
LOG_MSG(error, ZLOG_MOD_CRYPTO, "Finish decode [%s] error\n", pBase64);
|
||||
free(pDecode);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
#include <unistd.h>
|
||||
#include <openssl/aes.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <zlog.h>
|
||||
|
||||
#include "crypto.h"
|
||||
#include "misc.h"
|
||||
#include "user_errno.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
/**
|
||||
* 计算文件MD5值
|
||||
|
@ -57,7 +57,7 @@ int hash_digest_file(HASH_TYPE hashType, const char *pFileName, char **pHashValu
|
|||
fd = open(pFileName, O_RDONLY);
|
||||
|
||||
if (fd == -1) {
|
||||
dzlog_error("Open File %s error\n", pFileName);
|
||||
LOG_MSG(error, ZLOG_MOD_CRYPTO, "Open File %s error\n", pFileName);
|
||||
EVP_MD_CTX_destroy(pCtx);
|
||||
return (-ERR_OPEN_FILE);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
//
|
||||
// Created by xajhuang on 2023/2/6.
|
||||
//
|
||||
|
||||
#ifndef VCPE_ZLOG_MODULE_H
|
||||
#define VCPE_ZLOG_MODULE_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <zlog.h>
|
||||
|
||||
#define MAX_ZLOG_MOD_LEN (8)
|
||||
|
||||
typedef enum {
|
||||
ZLOG_MOD_MAIN,
|
||||
ZLOG_MOD_TASK,
|
||||
ZLOG_MOD_INIT,
|
||||
ZLOG_MOD_MISC,
|
||||
ZLOG_MOD_CONFIG,
|
||||
ZLOG_MOD_NET,
|
||||
ZLOG_MOD_CRYPTO,
|
||||
ZLOG_MOD_MQ,
|
||||
ZLOG_MOD_PROTO,
|
||||
ZLOG_MOD_HTTPD,
|
||||
#ifdef USED_LWIP
|
||||
ZLOG_MOD_USER,
|
||||
ZLOG_MOD_PPPOE,
|
||||
ZLOG_MOD_VXLAN,
|
||||
ZLOG_MOD_LWIP,
|
||||
#endif
|
||||
ZLOG_MOD_OPENDHCPD,
|
||||
ZLOG_MOD_MAX,
|
||||
} ZLOG_MOD_NAME;
|
||||
|
||||
#define LOG_MSG(level, mod, format, ...) \
|
||||
do { \
|
||||
zlog_category_t *cat; \
|
||||
if ((cat = zlog_get_mod_cat((mod))) == NULL) { \
|
||||
printf("Unsupport log mod %d\n", mod); \
|
||||
break; \
|
||||
} else { \
|
||||
zlog_##level((cat), format, ##__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_MSG_HEX(level, mod, format, ...) \
|
||||
do { \
|
||||
zlog_category_t *cat; \
|
||||
if ((cat = zlog_get_mod_cat((mod))) == NULL) { \
|
||||
printf("Unsupport log mod %d\n", mod); \
|
||||
break; \
|
||||
} else { \
|
||||
hzlog_##level((cat), format, ##__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif //VCPE_ZLOG_MODULE_H
|
|
@ -2,7 +2,6 @@
|
|||
// Created by xajhu on 2021/7/5 0005.
|
||||
//
|
||||
#include <uv.h>
|
||||
#include <zlog.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "init.h"
|
||||
|
@ -20,6 +19,7 @@
|
|||
#include "haywire.h"
|
||||
#include "lib_config.h"
|
||||
#include "prj_config.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#define DEFAULT_CONFIG_FILE ("vcpe.cfg")
|
||||
#define DEFAULT_CONFIG_DIR ("config")
|
||||
|
@ -30,7 +30,7 @@ static int g_isInited = FALSE;
|
|||
static void catch_system_interupt(int UNUSED(sig_num)) {
|
||||
if (g_pid == uv_os_getpid()) {
|
||||
printf("\n");
|
||||
dzlog_warn("System close, clearing system resources..........\n\n");
|
||||
LOG_MSG(warn, ZLOG_MOD_INIT, "System close, clearing system resources..........\n\n");
|
||||
task_manager_exit();
|
||||
sleep(1);
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK
|
|||
zlog_profile();
|
||||
return -ERR_ZLOG_INIT;
|
||||
} else {
|
||||
dzlog_info("Zlog used configure file [%s]\n", utstring_body(pPath));
|
||||
LOG_MSG(info, ZLOG_MOD_INIT, "Zlog used configure file [%s]\n", utstring_body(pPath));
|
||||
}
|
||||
} else {
|
||||
printf("Zlog configure file [%s] not found, Zlog system not work+++++\n", utstring_body(pPath));
|
||||
|
@ -94,20 +94,22 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK
|
|||
utstring_free(pPath);
|
||||
|
||||
// 处置化配置文件库,系统集成配置文件支持功能
|
||||
dzlog_info("System used configure file [%s]\n", bufCfgFile);
|
||||
LOG_MSG(info, ZLOG_MOD_INIT, "System used configure file [%s]\n", bufCfgFile);
|
||||
if ((ret = init_config_system(bufCfgFile, pKey)) != ERR_SUCCESS) {
|
||||
dzlog_error("Load system configuration error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_INIT, "Load system configuration error: %d\n", ret);
|
||||
return -ERR_CONFIG_INIT;
|
||||
}
|
||||
|
||||
dzlog_info("%s library version %s information: %s (Build: %s %s GCC Ver:%s) With %lu(bits) OS\n",
|
||||
VCPE_LIB_NAME,
|
||||
VCPE_LIB_VER,
|
||||
VCPE_GIT_VERSION,
|
||||
__DATE__,
|
||||
__TIME__,
|
||||
__VERSION__,
|
||||
sizeof(int *) * 8);
|
||||
LOG_MSG(info,
|
||||
ZLOG_MOD_INIT,
|
||||
"%s library version %s information: %s (Build: %s %s GCC Ver:%s) With %lu(bits) OS\n",
|
||||
VCPE_LIB_NAME,
|
||||
VCPE_LIB_VER,
|
||||
VCPE_GIT_VERSION,
|
||||
__DATE__,
|
||||
__TIME__,
|
||||
__VERSION__,
|
||||
sizeof(int *) * 8);
|
||||
|
||||
if (cfg_get_banner_enable()) {
|
||||
banner_show();
|
||||
|
@ -121,11 +123,11 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK
|
|||
}
|
||||
|
||||
if ((ret = mq_init()) != ERR_SUCCESS) {
|
||||
dzlog_error("Message queue init error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_INIT, "Message queue init error: %d\n", ret);
|
||||
}
|
||||
|
||||
if ((ret = mq_data_init()) != ERR_SUCCESS) {
|
||||
dzlog_error("Message queue init error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_INIT, "Message queue init error: %d\n", ret);
|
||||
}
|
||||
|
||||
http_svr_init();
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include <string.h>
|
||||
#include <uv.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <zlog.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/sendfile.h>
|
||||
|
@ -15,6 +14,7 @@
|
|||
|
||||
#include "user_errno.h"
|
||||
#include "misc.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
const char *basename_v2(const char *path) {
|
||||
const char *tail = strrchr(path, '/');
|
||||
|
@ -53,14 +53,14 @@ int copy_file(const char *pSrc, const char *pDest) {
|
|||
ssize_t sz;
|
||||
|
||||
if (stat(pSrc, &st) != 0) {
|
||||
dzlog_error("Get File %s Size Error\n", pSrc);
|
||||
LOG_MSG(error, ZLOG_MOD_MISC, "Get File %s Size Error\n", pSrc);
|
||||
return (-ERR_GET_FILE_SIZE);
|
||||
}
|
||||
|
||||
fdSrc = open(pSrc, O_RDONLY);
|
||||
|
||||
if (fdSrc < 0) {
|
||||
dzlog_error("Open File %s Error\n", pSrc);
|
||||
LOG_MSG(error, ZLOG_MOD_MISC, "Open File %s Error\n", pSrc);
|
||||
return (-ERR_OPEN_FILE);
|
||||
}
|
||||
|
||||
|
@ -68,14 +68,14 @@ int copy_file(const char *pSrc, const char *pDest) {
|
|||
|
||||
if (fdDest < 0) {
|
||||
close(fdSrc);
|
||||
dzlog_error("Open File %s Error\n", pDest);
|
||||
LOG_MSG(error, ZLOG_MOD_MISC, "Open File %s Error\n", pDest);
|
||||
return (-ERR_OPEN_FILE);
|
||||
}
|
||||
|
||||
sz = sendfile(fdDest, fdSrc, NULL, st.st_size);
|
||||
|
||||
if (sz != st.st_size) {
|
||||
dzlog_error("Copy File Size Error: %zd, %ld\n", sz, st.st_size);
|
||||
LOG_MSG(error, ZLOG_MOD_MISC, "Copy File Size Error: %zd, %ld\n", sz, st.st_size);
|
||||
close(fdSrc);
|
||||
close(fdDest);
|
||||
return (-ERR_COPY_FILE);
|
||||
|
@ -201,7 +201,7 @@ int get_nic_info(const char *pName,
|
|||
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
|
||||
|
||||
if (sock < 0) {
|
||||
dzlog_error("Get local NIC information failed\n");
|
||||
LOG_MSG(error, ZLOG_MOD_MISC, "Get local NIC information failed\n");
|
||||
return -ERR_SYS_INIT;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
#include <zmq.h>
|
||||
#include <uv.h>
|
||||
#include <string.h>
|
||||
#include <zlog.h>
|
||||
|
||||
#include "msg_queue.h"
|
||||
#include "config.h"
|
||||
#include "s2j/s2j.h"
|
||||
#include "user_errno.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#ifdef LWIP_ON
|
||||
#include "misc.h"
|
||||
|
@ -300,7 +300,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) {
|
|||
|
||||
memset(pBuf, 0, size);
|
||||
memcpy(pBuf, zmq_msg_data(pMsg), size - 1);
|
||||
dzlog_info("receive(%zu): %s\n", strlen(pdata), pBuf);
|
||||
LOG_MSG(info, ZLOG_MOD_MQ, "receive(%zu): %s\n", strlen(pdata), pBuf);
|
||||
|
||||
zmq_msg_close(pMsg);
|
||||
|
||||
|
@ -309,7 +309,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) {
|
|||
if (pMqMsg) {
|
||||
if (strcmp(AGENT_CMD_ADDUSER, pMqMsg->message) == 0) {
|
||||
PMQ_DATA_ADD_USER p = NULL;
|
||||
dzlog_debug("Process: %s\n", pMqMsg->params);
|
||||
LOG_MSG(debug, ZLOG_MOD_MQ, "Process: %s\n", pMqMsg->params);
|
||||
decode_add_user_msg(pMqMsg->params, &p);
|
||||
if (p) {
|
||||
#ifdef LWIP_ON
|
||||
|
@ -338,7 +338,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) {
|
|||
}
|
||||
} else if (strcmp(AGENT_CMD_REMOVUSER, pMqMsg->message) == 0) {
|
||||
PMQ_DATA_REMOVE_USER p = NULL;
|
||||
dzlog_debug("Process: %s\n", pMqMsg->params);
|
||||
LOG_MSG(debug, ZLOG_MOD_MQ, "Process: %s\n", pMqMsg->params);
|
||||
|
||||
decode_remove_user_msg(pMqMsg->params, &p);
|
||||
|
||||
|
@ -362,7 +362,7 @@ int mq_data_send_msg(const char *pMsg) {
|
|||
zmq_msg_t msg;
|
||||
|
||||
if (pMsg) {
|
||||
dzlog_debug("Send PPPoE Session: %s\n", pMsg);
|
||||
LOG_MSG(debug, ZLOG_MOD_MQ, "Send PPPoE Session: %s\n", pMsg);
|
||||
zmq_msg_init_size(&msg, strlen(pMsg) + 1);
|
||||
memset(zmq_msg_data(&msg), 0, strlen(pMsg) + 1);
|
||||
memcpy(zmq_msg_data(&msg), pMsg, strlen(pMsg));
|
||||
|
@ -407,7 +407,7 @@ int mq_data_init() {
|
|||
memset(buf, 0, 1024);
|
||||
|
||||
sprintf(buf, "%s", cfg_get_zero_mq_data_path());
|
||||
dzlog_info("Start message queue connect: %s\n", buf);
|
||||
LOG_MSG(info, ZLOG_MOD_MQ, "Start message queue connect: %s\n", buf);
|
||||
|
||||
if (zmq_connect(g_pDataCh, buf) != 0) {
|
||||
zmq_close(g_pDataCh);
|
||||
|
|
|
@ -5,12 +5,14 @@
|
|||
#include <zmq.h>
|
||||
#include <uv.h>
|
||||
#include <string.h>
|
||||
#include <zlog.h>
|
||||
|
||||
#include "zlog_module.h"
|
||||
#include "msg_queue.h"
|
||||
#include "config.h"
|
||||
#include "user_errno.h"
|
||||
#ifdef USED_LWIP
|
||||
#include "misc.h"
|
||||
#endif
|
||||
|
||||
static int g_mqExit = FALSE;
|
||||
static void *g_pContext = NULL;
|
||||
|
@ -21,7 +23,7 @@ static void process_msg(zmq_msg_t *pMsg) {
|
|||
zmq_msg_t msg;
|
||||
const char *pRecMsg = strdup((const char *)zmq_msg_data(pMsg));
|
||||
|
||||
dzlog_info("receive(%zu): %s\n", zmq_msg_size(pMsg), pRecMsg);
|
||||
LOG_MSG(info, ZLOG_MOD_MQ, "receive(%zu): %s\n", zmq_msg_size(pMsg), pRecMsg);
|
||||
zmq_msg_close(pMsg);
|
||||
|
||||
pResp = on_msg_cmd(pRecMsg);
|
||||
|
@ -92,7 +94,7 @@ int mq_init(void) {
|
|||
memset(buf, 0, 1024);
|
||||
|
||||
sprintf(buf, "tcp://*:%d", cfg_get_zero_mq_port());
|
||||
dzlog_info("Start message queue server: tcp://*:%d\n", cfg_get_zero_mq_port());
|
||||
LOG_MSG(info, ZLOG_MOD_MQ, "Start message queue server: tcp://*:%d\n", cfg_get_zero_mq_port());
|
||||
|
||||
if (zmq_bind(g_pResponse, buf) != 0) {
|
||||
zmq_close(g_pResponse);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
// Created by xajhu on 2021/7/1 0001.
|
||||
//
|
||||
#include <stdlib.h>
|
||||
#include <zlog.h>
|
||||
#include <curl/curl.h>
|
||||
#include <string.h>
|
||||
#include <uv.h>
|
||||
|
@ -15,6 +14,7 @@
|
|||
#include "uthash/uthash.h"
|
||||
#include "task_manager.h"
|
||||
#include "user_errno.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#define MAX_TIMEOUT_VALUE (300)
|
||||
|
||||
|
@ -95,7 +95,7 @@ static void uvFsCloseCb(uv_fs_t *puvFs) {
|
|||
PHTTP_REQ_PARAMS pParams = (PHTTP_REQ_PARAMS)puvFs->data;
|
||||
|
||||
if (puvFs->result < 0) {
|
||||
dzlog_error("Error: %zd\n", puvFs->result);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Error: %zd\n", puvFs->result);
|
||||
}
|
||||
|
||||
uv_fs_req_cleanup(puvFs);
|
||||
|
@ -136,7 +136,7 @@ static void uvFsDataSyncCb(uv_fs_t *puvFs) {
|
|||
PHTTP_REQ_PARAMS pParams = (PHTTP_REQ_PARAMS)puvFs->data;
|
||||
|
||||
if (puvFs->result < 0) {
|
||||
dzlog_error("Error: %zd\n", puvFs->result);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Error: %zd\n", puvFs->result);
|
||||
}
|
||||
|
||||
uv_fs_req_cleanup(puvFs);
|
||||
|
@ -150,7 +150,7 @@ static PCURL_CONTEXT_DATA createCurlContext(curl_socket_t sock) {
|
|||
pContext->sock = sock;
|
||||
|
||||
if (uv_poll_init_socket(get_task_manager(), &pContext->uvPool, sock) != 0) {
|
||||
dzlog_error("uv_poll_init_socket Error\n");
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "uv_poll_init_socket Error\n");
|
||||
}
|
||||
|
||||
pContext->uvPool.data = pContext;
|
||||
|
@ -168,7 +168,7 @@ static void checkMultiInfoTimeout(void) {
|
|||
case CURLMSG_DONE:
|
||||
curl_easy_getinfo(pMsg->easy_handle, CURLINFO_PRIVATE, (void *)&pReq);
|
||||
|
||||
dzlog_error("Cleanup CURL: %p\n", pMsg->easy_handle);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Cleanup CURL: %p\n", pMsg->easy_handle);
|
||||
|
||||
curl_multi_remove_handle(g_pCurl, pMsg->easy_handle);
|
||||
curl_easy_cleanup(pMsg->easy_handle);
|
||||
|
@ -202,7 +202,7 @@ static void checkMultiInfoTimeout(void) {
|
|||
break;
|
||||
|
||||
default:
|
||||
dzlog_error("pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ static void checkMultiInfo(void) {
|
|||
curl_easy_getinfo(pMsg->easy_handle, CURLINFO_PRIVATE, (void *)&pReq);
|
||||
|
||||
curl_multi_remove_handle(g_pCurl, pMsg->easy_handle);
|
||||
dzlog_debug("Cleanup CURL: %p\n", pMsg->easy_handle);
|
||||
LOG_MSG(debug, ZLOG_MOD_NET, "Cleanup CURL: %p\n", pMsg->easy_handle);
|
||||
curl_easy_cleanup(pMsg->easy_handle);
|
||||
|
||||
if (pReq) {
|
||||
|
@ -302,7 +302,7 @@ static void checkMultiInfo(void) {
|
|||
break;
|
||||
|
||||
default:
|
||||
dzlog_error("pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -449,7 +449,7 @@ static int progressCb(void *pData, double total, double now, double UNUSED(ulTot
|
|||
}
|
||||
|
||||
if (pParams->isCancel) {
|
||||
dzlog_error("Cancel Download: %s\n", pParams->pTaskUuid);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Cancel Download: %s\n", pParams->pTaskUuid);
|
||||
return (-CURLE_OPERATION_TIMEDOUT);
|
||||
}
|
||||
|
||||
|
@ -498,10 +498,12 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) {
|
|||
|
||||
// 下载时间大于10s且平均下载速度小于10K/s超时
|
||||
if ((dlTime * 10000 > pItem->pCurlItem->dlSize) && dlTime > 10) {
|
||||
dzlog_error("Download Speed less than 10k/s: %s (%uK/%llu(s))\n",
|
||||
pItem->pTaskUuid,
|
||||
pItem->pCurlItem->dlSize / 1000,
|
||||
dlTime);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_NET,
|
||||
"Download Speed less than 10k/s: %s (%uK/%llu(s))\n",
|
||||
pItem->pTaskUuid,
|
||||
pItem->pCurlItem->dlSize / 1000,
|
||||
dlTime);
|
||||
|
||||
cancelDownloadTask(pItem->pCurlItem);
|
||||
if (pItem->pCurlItem->onRspCb) {
|
||||
|
@ -519,7 +521,7 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) {
|
|||
// 5分钟内没有下载任何数据超时
|
||||
if (pItem->pCurlItem->lastTm > 0) {
|
||||
if (curTm > pItem->pCurlItem->lastTm + MAX_TIMEOUT_VALUE) {
|
||||
dzlog_error("Download Timeout: %s\n", pItem->pTaskUuid);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Download Timeout: %s\n", pItem->pTaskUuid);
|
||||
cancelDownloadTask(pItem->pCurlItem);
|
||||
if (pItem->pCurlItem->onRspCb) {
|
||||
pItem->pCurlItem->onRspCb(NULL,
|
||||
|
@ -536,10 +538,12 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) {
|
|||
|
||||
// 下载最长时间设置为1800秒(60分钟)
|
||||
if (dlTime > 3600) {
|
||||
dzlog_error("Download More than 1800 seconds: %s (%uK/%llu(s))\n",
|
||||
pItem->pTaskUuid,
|
||||
pItem->pCurlItem->dlSize / 1000,
|
||||
dlTime);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_NET,
|
||||
"Download More than 1800 seconds: %s (%uK/%llu(s))\n",
|
||||
pItem->pTaskUuid,
|
||||
pItem->pCurlItem->dlSize / 1000,
|
||||
dlTime);
|
||||
cancelDownloadTask(pItem->pCurlItem);
|
||||
if (pItem->pCurlItem->onRspCb) {
|
||||
pItem->pCurlItem->onRspCb(NULL,
|
||||
|
@ -595,7 +599,7 @@ const char *inet_download_file_async(const char *pURL,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
dzlog_debug("Begin Download: %s --> %s\n", pURL, pPath);
|
||||
LOG_MSG(debug, ZLOG_MOD_NET, "Begin Download: %s --> %s\n", pURL, pPath);
|
||||
|
||||
pParams = (PHTTP_REQ_PARAMS)malloc(sizeof(HTTP_REQ_PARAMS));
|
||||
|
||||
|
@ -639,7 +643,12 @@ const char *inet_download_file_async(const char *pURL,
|
|||
pParams->uvFsDataSync.data = pParams;
|
||||
pParams->uvFsClose.data = pParams;
|
||||
|
||||
dzlog_debug("[%s]: File %s used temp path %s\n", pParams->pTaskUuid, pParams->sPath, pParams->sDlPath);
|
||||
LOG_MSG(debug,
|
||||
ZLOG_MOD_NET,
|
||||
"[%s]: File %s used temp path %s\n",
|
||||
pParams->pTaskUuid,
|
||||
pParams->sPath,
|
||||
pParams->sDlPath);
|
||||
|
||||
uv_fs_open(get_task_manager(),
|
||||
&pParams->uvFsOpen,
|
||||
|
@ -693,14 +702,14 @@ const char *inet_download_file_async(const char *pURL,
|
|||
curl_easy_setopt(pCurl, CURLOPT_SSL_VERIFYHOST, 0L);
|
||||
#endif
|
||||
|
||||
dzlog_debug("Download(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl);
|
||||
LOG_MSG(debug, ZLOG_MOD_NET, "Download(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl);
|
||||
ret = curl_multi_add_handle(g_pCurl, pCurl);
|
||||
if (ret == CURLE_OK) {
|
||||
addReqIdToTable(pParams->pTaskUuid, pParams);
|
||||
return (pParams->pTaskUuid);
|
||||
} else {
|
||||
free(pParams->pTaskUuid);
|
||||
dzlog_error("Add Handle Error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Add Handle Error: %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -777,14 +786,14 @@ const char *inet_http_post_async(const char *pURL, const char *pPost, on_http_re
|
|||
curl_easy_setopt(pCurl, CURLOPT_SSL_VERIFYHOST, 0L);
|
||||
#endif
|
||||
|
||||
dzlog_debug("Http POST(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl);
|
||||
LOG_MSG(debug, ZLOG_MOD_NET, "Http POST(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl);
|
||||
ret = curl_multi_add_handle(g_pCurl, pCurl);
|
||||
if (ret == CURLE_OK) {
|
||||
addReqIdToTable(pParams->pTaskUuid, pParams);
|
||||
return (pParams->pTaskUuid);
|
||||
} else {
|
||||
free(pParams->pTaskUuid);
|
||||
dzlog_error("Add Handle Error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "Add Handle Error: %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -795,7 +804,7 @@ int inet_api_init(void) {
|
|||
ret = curl_global_init(CURL_GLOBAL_ALL);
|
||||
|
||||
if (ret != 0) {
|
||||
dzlog_error("curl init error: %d\n", ret);
|
||||
LOG_MSG(error, ZLOG_MOD_NET, "curl init error: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
//
|
||||
// Created by xajhuang on 2022/12/2.
|
||||
//
|
||||
#include <zlog.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "config.h"
|
||||
|
@ -10,6 +9,7 @@
|
|||
#include "proto.h"
|
||||
#include "crypto.h"
|
||||
#include "user_errno.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#define CURRENT_PROTOCOL_VERSION (1)
|
||||
|
||||
|
@ -161,7 +161,10 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) {
|
|||
}
|
||||
|
||||
if (pKey == NULL || strlen(pKey) == 0) {
|
||||
dzlog_error("Cryptography key empty of algorithm %d, Used default algorithm BASE64\n", cryptoType);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_PROTO,
|
||||
"Cryptography key empty of algorithm %d, Used default algorithm BASE64\n",
|
||||
cryptoType);
|
||||
base64 = base64_encode((unsigned char *)pStrMsg, strlen(pStrMsg));
|
||||
pro.cryptoType = CRYPTO_BASE64;
|
||||
} else {
|
||||
|
@ -172,7 +175,10 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) {
|
|||
ret = symmetric_encrypto(cryptoType, (unsigned char *)pStrMsg, strlen(pStrMsg), &buf, &outSize, pKey);
|
||||
|
||||
if (ret != ERR_SUCCESS) {
|
||||
dzlog_error("Unsupported protocol crypto : %d, Used default algorithm BASE64\n", cryptoType);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_PROTO,
|
||||
"Unsupported protocol crypto : %d, Used default algorithm BASE64\n",
|
||||
cryptoType);
|
||||
base64 = base64_encode((unsigned char *)pStrMsg, strlen(pStrMsg));
|
||||
pro.cryptoType = CRYPTO_BASE64;
|
||||
} else {
|
||||
|
@ -185,14 +191,17 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) {
|
|||
cJSON_free(pro.msgContend);
|
||||
} break;
|
||||
default:
|
||||
dzlog_error("Unsupported protocol crypto algorithms: %d, Used default algorithm BASE64\n", pro.cryptoType);
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_PROTO,
|
||||
"Unsupported protocol crypto algorithms: %d, Used default algorithm BASE64\n",
|
||||
pro.cryptoType);
|
||||
cJSON_free(pro.msgContend);
|
||||
cJSON_Delete(pRoot);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pStrProto = cJSON_Print(pRoot);
|
||||
dzlog_debug("Create: \n%s\n", pStrProto);
|
||||
LOG_MSG(debug, ZLOG_MOD_PROTO, "Create: \n%s\n", pStrProto);
|
||||
|
||||
cJSON_Delete(pRoot);
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
//
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <zlog.h>
|
||||
#include "task_manager.h"
|
||||
#include "misc.h"
|
||||
#include "uthash/utlist.h"
|
||||
#include "user_errno.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
typedef struct SYSTEM_EXIT_CONTENT {
|
||||
system_exit_cb cb;
|
||||
|
@ -84,6 +84,6 @@ void task_manager_run() {
|
|||
free(pCtx);
|
||||
}
|
||||
|
||||
dzlog_info("Main task exited..............\n");
|
||||
LOG_MSG(info, ZLOG_MOD_TASK, "Main task exited..............\n");
|
||||
g_isSystemExit = TRUE;
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
//
|
||||
// Created by xajhuang on 2023/2/6.
|
||||
//
|
||||
#include "zlog_module.h"
|
||||
|
||||
typedef struct {
|
||||
ZLOG_MOD_NAME logModule;
|
||||
zlog_category_t *pCat;
|
||||
char catName[MAX_ZLOG_MOD_LEN];
|
||||
} ZLOG_MODULE, *PZLOG_MODULE;
|
||||
|
||||
static ZLOG_MODULE g_zlogModule[] = {
|
||||
{ZLOG_MOD_MAIN, NULL, "MAIN" },
|
||||
{ZLOG_MOD_TASK, NULL, "TASK" },
|
||||
{ZLOG_MOD_INIT, NULL, "INIT" },
|
||||
{ZLOG_MOD_MISC, NULL, "MISC" },
|
||||
{ZLOG_MOD_CONFIG, NULL, "CONFIG"},
|
||||
{ZLOG_MOD_NET, NULL, "NET" },
|
||||
{ZLOG_MOD_CRYPTO, NULL, "CRYPTO"},
|
||||
{ZLOG_MOD_MQ, NULL, "MQ" },
|
||||
{ZLOG_MOD_PROTO, NULL, "PROTO" },
|
||||
{ZLOG_MOD_HTTPD, NULL, "HTTPD" },
|
||||
#ifdef USED_LWIP
|
||||
{ZLOG_MOD_USER, NULL, "USER" },
|
||||
{ZLOG_MOD_PPPOE, NULL, "PPPOE" },
|
||||
{ZLOG_MOD_VXLAN, NULL, "VXLAN" },
|
||||
{ZLOG_MOD_LWIP, NULL, "LWIP" },
|
||||
#endif
|
||||
{ZLOG_MOD_OPENDHCPD, NULL, "DHCPD" }
|
||||
};
|
||||
|
||||
zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod) {
|
||||
if (logMod >= ZLOG_MOD_MAX) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (g_zlogModule[logMod].pCat == NULL) {
|
||||
g_zlogModule[logMod].pCat = zlog_get_category(g_zlogModule[logMod].catName);
|
||||
}
|
||||
|
||||
return g_zlogModule[logMod].pCat;
|
||||
}
|
|
@ -3,12 +3,12 @@
|
|||
//
|
||||
|
||||
#include <uthash/uthash.h>
|
||||
#include <zlog.h>
|
||||
#include <uv.h>
|
||||
|
||||
#include "lwip/opt.h"
|
||||
#include "lwip/vxlan.h"
|
||||
|
||||
#include "zlog_module.h"
|
||||
#include "misc.h"
|
||||
#include "user_errno.h"
|
||||
|
||||
|
@ -30,11 +30,10 @@ typedef struct {
|
|||
unsigned char snd_pkg_head[VXLAN_HEAD_SIZE];
|
||||
} VXLAN_PKG_HEAD, *PVXLAN_PKG_HEAD;
|
||||
|
||||
|
||||
typedef struct {
|
||||
NIC_INFO nic_info;
|
||||
NIC_INFO nic_info;
|
||||
PVXLAN_PKG_HEAD pkg_head;
|
||||
uv_rwlock_t lock_peer;
|
||||
uv_rwlock_t lock_peer;
|
||||
} VXLAN_LINK_CONFIG, *PVXLAN_LINK_CONFIG;
|
||||
|
||||
static VXLAN_LINK_CONFIG g_vxLanLinks;
|
||||
|
@ -117,7 +116,7 @@ unsigned char *vxlan_pkg_encode(const unsigned char *pInBuf, int inSize, PVXLAN_
|
|||
unsigned short ip_len = udp_len + 20;
|
||||
unsigned int total_len = ip_len + sizeof(struct eth_hdr);
|
||||
|
||||
if(g_vxLanLinks.pkg_head == NULL) {
|
||||
if (g_vxLanLinks.pkg_head == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -193,16 +192,16 @@ static void vxlan_pkg_head_init(PVXLAN_PKG_HEAD pvxLan) {
|
|||
|
||||
// 设置UDP头部
|
||||
// 设置UDP端口为vxLan 4789 端口
|
||||
pkg->udp_head.dest = lwip_htons(VXLAN_UDP_PORT);
|
||||
pkg->udp_head.src = lwip_htons(VXLAN_UDP_PORT);
|
||||
pkg->udp_head.dest = lwip_htons(VXLAN_UDP_PORT);
|
||||
pkg->udp_head.src = lwip_htons(VXLAN_UDP_PORT);
|
||||
// 校验和初始化为0
|
||||
pkg->udp_head.chksum = 0;
|
||||
|
||||
// 设置vxlan隧道头部
|
||||
pkg->vxlan_head.flags = 0x08;
|
||||
pkg->vxlan_head.res1 = 0x00;
|
||||
pkg->vxlan_head.res2 = 0x00;
|
||||
pkg->vxlan_head.res3 = 0x00;
|
||||
pkg->vxlan_head.flags = 0x08;
|
||||
pkg->vxlan_head.res1 = 0x00;
|
||||
pkg->vxlan_head.res2 = 0x00;
|
||||
pkg->vxlan_head.res3 = 0x00;
|
||||
|
||||
// 设置内层ETH头部
|
||||
// 设置内层报文类型
|
||||
|
@ -214,19 +213,23 @@ static void vxlan_pkg_head_init(PVXLAN_PKG_HEAD pvxLan) {
|
|||
|
||||
int vxlan_peer_add(const char *pIp, const char *pMac) {
|
||||
if (!VERIFY_STRING(pIp) || !VERIFY_STRING(pMac)) {
|
||||
dzlog_error("Input parameters error: %s, %s\n", SAFETY_STR_STRING(pIp), SAFETY_STR_STRING(pMac));
|
||||
LOG_MSG(error,
|
||||
ZLOG_MOD_VXLAN,
|
||||
"Input parameters error: %s, %s\n",
|
||||
SAFETY_STR_STRING(pIp),
|
||||
SAFETY_STR_STRING(pMac));
|
||||
return -ERR_INPUT_PARAMS;
|
||||
}
|
||||
|
||||
if(g_vxLanLinks.pkg_head == NULL) {
|
||||
unsigned int peerIp;
|
||||
unsigned char peerMac[6];
|
||||
if (g_vxLanLinks.pkg_head == NULL) {
|
||||
unsigned int peerIp;
|
||||
unsigned char peerMac[6];
|
||||
PVXLAN_PKG_HEAD pkg;
|
||||
|
||||
str_to_mac(pMac, peerMac);
|
||||
|
||||
if (str_to_ipaddr(pIp, &peerIp) == 0) {
|
||||
dzlog_error("Get vxLan peer ip address failed: %s\n", pIp);
|
||||
LOG_MSG(error, ZLOG_MOD_VXLAN, "Get vxLan peer ip address failed: %s\n", pIp);
|
||||
return -ERR_SYS_INIT;
|
||||
}
|
||||
|
||||
|
@ -245,7 +248,7 @@ int vxlan_peer_add(const char *pIp, const char *pMac) {
|
|||
// 对发送报文的头部进行初始化
|
||||
vxlan_pkg_head_init(pkg);
|
||||
|
||||
dzlog_debug("Add vxLan Link: vSwitch: %s, %s\n", pIp, pMac);
|
||||
LOG_MSG(debug, ZLOG_MOD_VXLAN, "Add vxLan Link: vSwitch: %s, %s\n", pIp, pMac);
|
||||
}
|
||||
|
||||
return ERR_SUCCESS;
|
||||
|
@ -253,7 +256,7 @@ int vxlan_peer_add(const char *pIp, const char *pMac) {
|
|||
|
||||
int vxlan_link_init(const char *pEthName) {
|
||||
if (!VERIFY_STRING(pEthName)) {
|
||||
dzlog_error("Input parameters error: %s\n", SAFETY_STR_STRING(pEthName));
|
||||
LOG_MSG(error, ZLOG_MOD_VXLAN, "Input parameters error: %s\n", SAFETY_STR_STRING(pEthName));
|
||||
return -ERR_INPUT_PARAMS;
|
||||
}
|
||||
|
||||
|
@ -267,9 +270,8 @@ int vxlan_link_init(const char *pEthName) {
|
|||
&g_vxLanLinks.nic_info.ip_addr,
|
||||
&g_vxLanLinks.nic_info.ip_mask,
|
||||
&g_vxLanLinks.nic_info.ip_gw,
|
||||
g_vxLanLinks.nic_info.mac)
|
||||
!= ERR_SUCCESS) {
|
||||
dzlog_error("Get NIC information failed\n");
|
||||
g_vxLanLinks.nic_info.mac) != ERR_SUCCESS) {
|
||||
LOG_MSG(error, ZLOG_MOD_VXLAN, "Get NIC information failed\n");
|
||||
return -ERR_SYS_INIT;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,16 +32,17 @@
|
|||
#ifndef LWIP_PPPOEIF_H
|
||||
#define LWIP_PPPOEIF_H
|
||||
|
||||
#include "zlog_module.h"
|
||||
#include "lwip/netif.h"
|
||||
#include "../../../../../include/pppoe_session.h"
|
||||
|
||||
#define DUMP_IF_BUF(tag, buf, len) \
|
||||
do { \
|
||||
dzlog_debug("%s ++++++\n", (tag)); \
|
||||
printf("\n"); \
|
||||
hdzlog_debug((buf), (len)); \
|
||||
printf("\n"); \
|
||||
dzlog_debug("%s ------\n", (tag)); \
|
||||
#define DUMP_IF_BUF(tag, buf, len) \
|
||||
do { \
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, "%s ++++++\n", (tag)); \
|
||||
printf("\n"); \
|
||||
LOG_MSG_HEX(debug, ZLOG_MOD_LWIP, (buf), (len)); \
|
||||
printf("\n"); \
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, "%s ------\n", (tag)); \
|
||||
} while (0)
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <zlog.h>
|
||||
#include <pcap/pcap.h>
|
||||
|
||||
#include "lwip/opt.h"
|
||||
|
@ -51,6 +50,7 @@
|
|||
#include "lwip/vxlan.h"
|
||||
#include "user_info.h"
|
||||
#include "lwip/tcpip.h"
|
||||
#include "zlog_module.h"
|
||||
#include "misc.h"
|
||||
|
||||
#if defined(LWIP_UNIX_LINUX)
|
||||
|
@ -121,7 +121,7 @@ static void pcapif_msg_thread(void *arg) {
|
|||
}
|
||||
|
||||
static void pcap_pkg_cb(unsigned char *args, const struct pcap_pkthdr *pkthdr, const unsigned char *packet) {
|
||||
struct netif *netif = (struct netif *)(void *)args;
|
||||
struct netif *netif = (struct netif *)(void *)args;
|
||||
//struct pbuf *p;
|
||||
//u16_t len = pkthdr->caplen;
|
||||
struct pcapif *pcapif = (struct pcapif *)netif->state;
|
||||
|
@ -133,11 +133,12 @@ static void pcap_pkg_cb(unsigned char *args, const struct pcap_pkthdr *pkthdr, c
|
|||
memcpy(zmq_msg_data(&msg), packet, pkthdr->caplen);
|
||||
rc = zmq_msg_send(&msg, pcapif->msg_input, 0);
|
||||
if (rc == -1) {
|
||||
dzlog_error("Send %d bytes message error: %s\n", pkthdr->caplen, strerror(errno));
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "Send %d bytes message error: %s\n", pkthdr->caplen, strerror(errno));
|
||||
}
|
||||
zmq_msg_close(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
static void low_level_init(struct netif *netif) {
|
||||
struct pcapif *pcapif = (struct pcapif *)netif->state;
|
||||
|
@ -162,6 +163,7 @@ static void low_level_init(struct netif *netif) {
|
|||
sys_thread_new("pcapif_msg_thread", pcapif_msg_thread, netif, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO);
|
||||
#endif /* !NO_SYS */
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* low_level_output():
|
||||
|
@ -284,12 +286,15 @@ _Noreturn static void pcapif_thread(void *arg) {
|
|||
static void status_callback(struct netif *state_netif) {
|
||||
if (netif_is_up(state_netif)) {
|
||||
#if LWIP_IPV4
|
||||
dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
LOG_MSG(info,
|
||||
ZLOG_MOD_LWIP,
|
||||
"status_callback==UP, local interface IP is %s\n",
|
||||
ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
#else
|
||||
printf("status_callback==UP\n");
|
||||
#endif
|
||||
} else {
|
||||
dzlog_error("status_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "status_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
||||
|
@ -297,9 +302,9 @@ static void status_callback(struct netif *state_netif) {
|
|||
#if LWIP_NETIF_LINK_CALLBACK
|
||||
static void link_callback(struct netif *state_netif) {
|
||||
if (netif_is_link_up(state_netif)) {
|
||||
dzlog_info("link_callback==UP\n");
|
||||
LOG_MSG(info, ZLOG_MOD_LWIP, "link_callback==UP\n");
|
||||
} else {
|
||||
dzlog_error("link_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "link_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_LINK_CALLBACK */
|
||||
|
@ -360,7 +365,7 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) {
|
|||
// 用户网卡处理数据
|
||||
netif = get_user_nic_by_mac(eth->dest.addr);
|
||||
|
||||
if(netif) {
|
||||
if (netif) {
|
||||
if ((err = netif->input(p, netif)) != ERR_OK) {
|
||||
LWIP_DEBUGF(NETIF_DEBUG, ("pppoeif_input: netif input error\n"));
|
||||
pbuf_free(p);
|
||||
|
@ -387,7 +392,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl
|
|||
struct pcapif *pcapif = (struct pcapif *)mem_malloc(sizeof(struct pcapif));
|
||||
|
||||
if (pcapif == NULL) {
|
||||
dzlog_error("bind_pcapsocket_if: out of memory for pcapif\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "bind_pcapsocket_if: out of memory for pcapif\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -396,7 +401,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl
|
|||
if (vxlan_support) {
|
||||
|
||||
if (vxlan_link_init(eth_name) != ERR_OK) {
|
||||
dzlog_error("bind_pcapsocket_if: Get local nic info failed\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "bind_pcapsocket_if: Get local nic info failed\n");
|
||||
free(pcapif);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -415,15 +420,15 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl
|
|||
pPcap = pcap_open_live(pcapif->eth_name, MAX_BYTES_PACKAGE, 1, -1, errBuf);
|
||||
|
||||
if (get_nic_info(eth_name, &ipaddr, &netmask, &gw, mac) != ERR_OK) {
|
||||
dzlog_error("Get NIC %s information error\n", eth_name);
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "Get NIC %s information error\n", eth_name);
|
||||
}
|
||||
|
||||
dzlog_debug("Pcap netif used filter: \"%s\"\n", pcapif->pkg_filter);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, "Pcap netif used filter: \"%s\"\n", pcapif->pkg_filter);
|
||||
if (pcap_compile(pPcap, &filter, pcapif->pkg_filter, 1, netmask) == -1) {
|
||||
dzlog_error("Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap));
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap));
|
||||
}
|
||||
if (pcap_setfilter(pPcap, &filter) == -1) {
|
||||
dzlog_error("Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap));
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap));
|
||||
}
|
||||
|
||||
pcapif->pcap = pPcap;
|
||||
|
@ -449,7 +454,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl
|
|||
|
||||
if (!netif) {
|
||||
mem_free(pcapif);
|
||||
dzlog_error("Create netif error\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, "Create netif error\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <zlog.h>
|
||||
|
||||
#include "lwip/opt.h"
|
||||
#include "lwip/tcpip.h"
|
||||
|
@ -45,6 +44,7 @@
|
|||
|
||||
#include "netif/etharp.h"
|
||||
|
||||
#include "zlog_module.h"
|
||||
#include "netif/pppoeif.h"
|
||||
#include "netif/rawif.h"
|
||||
#include "pppoe_session.h"
|
||||
|
@ -112,6 +112,7 @@ static void low_level_init(struct netif *netif) {
|
|||
|
||||
netif_set_link_up(netif);
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* low_level_output():
|
||||
|
@ -161,12 +162,12 @@ err_t pppoeif_init(struct netif *netif) {
|
|||
static void status_callback(struct netif *state_netif) {
|
||||
if (netif_is_up(state_netif)) {
|
||||
#if LWIP_IPV4
|
||||
dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
LOG_MSG(info, ZLOG_MOD_LWIP, ("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
#else
|
||||
printf("status_callback==UP\n");
|
||||
#endif
|
||||
} else {
|
||||
dzlog_error("status_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("status_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
||||
|
@ -174,9 +175,9 @@ static void status_callback(struct netif *state_netif) {
|
|||
#if LWIP_NETIF_LINK_CALLBACK
|
||||
static void link_callback(struct netif *state_netif) {
|
||||
if (netif_is_link_up(state_netif)) {
|
||||
dzlog_info("link_callback==UP\n");
|
||||
LOG_MSG(info, ZLOG_MOD_LWIP, ("link_callback==UP\n");
|
||||
} else {
|
||||
dzlog_error("link_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("link_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_LINK_CALLBACK */
|
||||
|
@ -206,7 +207,7 @@ struct netif *create_pppoe_if(PUSER_INFO_CONTEXT pUser) {
|
|||
netif = (struct netif *)mem_malloc(sizeof(struct netif));
|
||||
|
||||
if (!netif) {
|
||||
dzlog_error("Create PPPoE netif error\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("Create PPPoE netif error\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
#include <sys/socket.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <zlog.h>
|
||||
#include <uthash/uthash.h>
|
||||
|
||||
#include "lwip/opt.h"
|
||||
|
@ -59,6 +58,7 @@
|
|||
|
||||
#include "lwip/prot/udp.h"
|
||||
|
||||
#include "zlog_module.h"
|
||||
#include "config.h"
|
||||
#include "pppoe_info.h"
|
||||
#include "user_info.h"
|
||||
|
@ -78,10 +78,10 @@
|
|||
#define RAWIF_DEBUG LWIP_DBG_OFF
|
||||
#endif
|
||||
|
||||
#define USED_ENUMER_VXLAN (0)
|
||||
#define AUTO_LEARN_VXLAN (0)
|
||||
#define USED_ENUMER_VXLAN (0)
|
||||
#define AUTO_LEARN_VXLAN (0)
|
||||
|
||||
#define DEFAULT_GW_IPADDR (0xC0A80001)
|
||||
#define DEFAULT_GW_IPADDR (0xC0A80001)
|
||||
|
||||
#define VXLAN_PORT_NET_ORDER (0x12B5)
|
||||
|
||||
|
@ -95,7 +95,6 @@ struct sockaddr_ll {
|
|||
unsigned char sll_addr[8];
|
||||
};
|
||||
|
||||
|
||||
typedef struct {
|
||||
unsigned int vni;
|
||||
unsigned char *output_head;
|
||||
|
@ -209,6 +208,7 @@ static void low_level_init(struct netif *netif) {
|
|||
sys_thread_new("rawif_thread", rawif_thread, netif, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO);
|
||||
#endif /* !NO_SYS */
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* low_level_output():
|
||||
|
@ -250,7 +250,7 @@ static unsigned short udp_checksum(unsigned char *pNetPacket, unsigned int uLen)
|
|||
#endif
|
||||
|
||||
static err_t low_level_output(struct netif *netif, struct pbuf *p) {
|
||||
// unsigned char sndBuf[1518];
|
||||
// unsigned char sndBuf[1518];
|
||||
unsigned char buf[1518]; /* max packet size including VLAN excluding CRC */
|
||||
ssize_t written = 0;
|
||||
struct sockaddr_ll dstAddr;
|
||||
|
@ -284,12 +284,12 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) {
|
|||
unsigned int dataSize = p->tot_len - sizeof(struct eth_hdr);
|
||||
struct eth_hdr *eth = (struct eth_hdr *)buf;
|
||||
struct vxlan_package *pkg = (struct vxlan_package *)sndBuf;
|
||||
unsigned short udp_len =
|
||||
p->tot_len + sizeof(struct vxlan_hdr) + sizeof(struct qinq_hdr) + sizeof(struct udp_hdr);
|
||||
unsigned short udp_len = p->tot_len + sizeof(struct vxlan_hdr) + sizeof(struct qinq_hdr) +
|
||||
sizeof(struct udp_hdr);
|
||||
unsigned short ip_len = udp_len + 20;
|
||||
unsigned int total_len = ip_len + sizeof(struct eth_hdr);
|
||||
|
||||
dzlog_debug("Found user vxlan connect: %d --> %u\n", pUser->userid, pvxlanBuf->vni);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("Found user vxlan connect: %d --> %u\n", pUser->userid, pvxlanBuf->vni);
|
||||
|
||||
memcpy(sndBuf, pvxlanBuf->output_head, sizeof(struct vxlan_package));
|
||||
pkg->vxlan_head.vni_reserved = lwip_htonl(VXLAN_VIN_ID_PACK(pUser->vxlan.vni));
|
||||
|
@ -317,29 +317,27 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) {
|
|||
|
||||
|
||||
if(memcmp(buf, p->payload, p->tot_len) != 0) {
|
||||
dzlog_debug("INPKG +++++\n");
|
||||
hdzlog_debug(p->payload, p->tot_len);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG +++++\n");
|
||||
hLOG_MSG(debug, ZLOG_MOD_LWIP, (p->payload, p->tot_len);
|
||||
printf("\n");
|
||||
dzlog_debug("INPKG -----\n");
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG -----\n");
|
||||
|
||||
dzlog_debug("BUF +++++\n");
|
||||
hdzlog_debug(buf, p->tot_len);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("BUF +++++\n");
|
||||
hLOG_MSG(debug, ZLOG_MOD_LWIP, (buf, p->tot_len);
|
||||
printf("\n");
|
||||
dzlog_debug("BUF -----\n");
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("BUF -----\n");
|
||||
}
|
||||
|
||||
#if 0
|
||||
dzlog_debug("OUTPKG +++++\n");
|
||||
hdzlog_debug(sndBuf, total_len);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("OUTPKG +++++\n");
|
||||
hLOG_MSG(debug, ZLOG_MOD_LWIP, (sndBuf, total_len);
|
||||
printf("\n");
|
||||
dzlog_debug("INPKG -----\n");
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG -----\n");
|
||||
#endif
|
||||
dzlog_debug("In %u, out %u, send %zd\n", p->tot_len, total_len, written);
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("In %u, out %u, send %zd\n", p->tot_len, total_len, written);
|
||||
|
||||
return written == (total_len) ? ERR_OK : ERR_IF;
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
/* signal that packet should be sent(); */
|
||||
written = sendto(rawif->fd, buf, p->tot_len, 0, (struct sockaddr *)&dstAddr, sizeof(dstAddr));
|
||||
|
@ -363,6 +361,7 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) {
|
|||
|
||||
return (written == p->tot_len) ? ERR_OK : ERR_IF;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* low_level_input():
|
||||
|
@ -373,10 +372,10 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) {
|
|||
*/
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
static struct pbuf *low_level_input(struct netif *netif) {
|
||||
struct pbuf *p;
|
||||
u16_t len;
|
||||
int addrSize;
|
||||
ssize_t readlen;
|
||||
struct pbuf *p;
|
||||
u16_t len;
|
||||
int addrSize;
|
||||
ssize_t readlen;
|
||||
//
|
||||
unsigned char buf[4096] = {0}; /* max packet size including VLAN excluding CRC */
|
||||
struct sockaddr from;
|
||||
|
@ -449,6 +448,7 @@ static void rawif_input(struct netif *netif) {
|
|||
pbuf_free(p);
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* rawif_init():
|
||||
|
@ -519,12 +519,12 @@ _Noreturn static void rawif_thread(void *arg) {
|
|||
static void status_callback(struct netif *state_netif) {
|
||||
if (netif_is_up(state_netif)) {
|
||||
#if LWIP_IPV4
|
||||
dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
LOG_MSG(info, ZLOG_MOD_LWIP, ("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif)));
|
||||
#else
|
||||
printf("status_callback==UP\n");
|
||||
#endif
|
||||
} else {
|
||||
dzlog_error("status_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("status_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
||||
|
@ -532,9 +532,9 @@ static void status_callback(struct netif *state_netif) {
|
|||
#if LWIP_NETIF_LINK_CALLBACK
|
||||
static void link_callback(struct netif *state_netif) {
|
||||
if (netif_is_link_up(state_netif)) {
|
||||
dzlog_info("link_callback==UP\n");
|
||||
LOG_MSG(info, ZLOG_MOD_LWIP, ("link_callback==UP\n");
|
||||
} else {
|
||||
dzlog_error("link_callback==DOWN\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("link_callback==DOWN\n");
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_NETIF_LINK_CALLBACK */
|
||||
|
@ -666,8 +666,8 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) {
|
|||
}
|
||||
#else
|
||||
tag.vni = VXLAN_VIN_ID(lwip_htonl(pkg->vxlan_head.vni_reserved));
|
||||
tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id);
|
||||
tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id);
|
||||
tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id);
|
||||
tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id);
|
||||
#endif
|
||||
HASH_FIND(hh_vxlan, get_all_user_by_tag(), &tag, sizeof(VXLAN_TAG), pContext);
|
||||
|
||||
|
@ -696,15 +696,15 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) {
|
|||
pbuf_free(p);
|
||||
return err;
|
||||
} else {
|
||||
dzlog_error("Not found: %u, %u, %u\n", tag.vni, tag.q1, tag.q2);
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("Not found: %u, %u, %u\n", tag.vni, tag.q1, tag.q2);
|
||||
}
|
||||
#else
|
||||
VXLAN_TAG tag;
|
||||
struct pbuf *ebuf = NULL;
|
||||
VXLAN_TAG tag;
|
||||
struct pbuf *ebuf = NULL;
|
||||
PUSER_INFO_CONTEXT pContext;
|
||||
tag.vni = VXLAN_VIN_ID(lwip_htonl(pkg->vxlan_head.vni_reserved));
|
||||
tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id);
|
||||
tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id);
|
||||
tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id);
|
||||
tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id);
|
||||
|
||||
HASH_FIND(hh_vxlan, get_all_user_by_tag(), &tag, sizeof(VXLAN_TAG), pContext);
|
||||
|
||||
|
@ -726,7 +726,7 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) {
|
|||
}
|
||||
|
||||
if ((err = pContext->session.nicif->input(ebuf, pContext->session.nicif)) != ERR_OK) {
|
||||
dzlog_debug("\n");
|
||||
LOG_MSG(debug, ZLOG_MOD_LWIP, ("\n");
|
||||
LWIP_DEBUGF(NETIF_DEBUG, ("pppoeif_input: netif input error\n"));
|
||||
}
|
||||
|
||||
|
@ -759,7 +759,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) {
|
|||
struct rawif *rawif = (struct rawif *)mem_malloc(sizeof(struct rawif));
|
||||
|
||||
if (rawif == NULL) {
|
||||
dzlog_error("bind_rawsocket_if: out of memory for rawif\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("bind_rawsocket_if: out of memory for rawif\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -770,7 +770,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) {
|
|||
}
|
||||
|
||||
if (vxlan_link_init(eth_name) != ERR_OK) {
|
||||
dzlog_error("bind_rawsocket_if: Get local nic info failed\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("bind_rawsocket_if: Get local nic info failed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -808,7 +808,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) {
|
|||
|
||||
if (!netif) {
|
||||
mem_free(rawif);
|
||||
dzlog_error("Create netif error\n");
|
||||
LOG_MSG(error, ZLOG_MOD_LWIP, ("Create netif error\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
#include <pthread.h>
|
||||
#include <map>
|
||||
using namespace std;
|
||||
#include <zlog.h>
|
||||
#include "dhcpd.h"
|
||||
#include "opendhcpd.h"
|
||||
#include "user_errno.h"
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
#include <sys/uio.h>
|
||||
#endif
|
||||
|
||||
#include "zlog_module.h"
|
||||
|
||||
/*
|
||||
//#ifndef _LINUX_IN_H
|
||||
//#ifndef _NETINET_IN_H
|
||||
|
@ -80,19 +82,19 @@ typedef struct in_pktinfo IN_PKTINFO;
|
|||
|
||||
#define STR2INT(val) ((int)strtol((val), nullptr, 10))
|
||||
|
||||
#define logDHCPMess(logBuff, logLevel) \
|
||||
do { \
|
||||
switch ((logLevel)) { \
|
||||
case 2: \
|
||||
dzlog_debug("%s\n", logBuff); \
|
||||
break; \
|
||||
case 0: \
|
||||
dzlog_error("%s\n", logBuff); \
|
||||
break; \
|
||||
default: \
|
||||
dzlog_info("%s\n", logBuff); \
|
||||
break; \
|
||||
} \
|
||||
#define logDHCPMess(logBuff, logLevel) \
|
||||
do { \
|
||||
switch ((logLevel)) { \
|
||||
case 2: \
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \
|
||||
break; \
|
||||
case 0: \
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \
|
||||
break; \
|
||||
default: \
|
||||
LOG_MSG(info, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \
|
||||
break; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
enum {
|
||||
|
|
|
@ -18,8 +18,6 @@ using namespace std;
|
|||
#include "haywire.h"
|
||||
#include "misc.h"
|
||||
#include <net/if_arp.h>
|
||||
#include <libconfig.h>
|
||||
#include <zlog.h>
|
||||
#include <uv.h>
|
||||
#include "config.h"
|
||||
#include "proto.h"
|
||||
|
@ -51,7 +49,7 @@ static int dhcp_get_user_info(data19 *req, const char *pRequest) {
|
|||
int k;
|
||||
dhcpMap::iterator p;
|
||||
|
||||
dzlog_debug("Input: %s\n", pRequest);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest);
|
||||
|
||||
if (pRequest == nullptr || strlen(pRequest) == 0) {
|
||||
sprintf(logBuff, "Requeset Json");
|
||||
|
@ -373,7 +371,7 @@ static int add_dhcpd_rangeset(data19 *req, const char *pRequest) {
|
|||
cJSON *pRspRoot;
|
||||
cJSON *pExpandArray;
|
||||
|
||||
dzlog_debug("Input: %s\n", pRequest);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest);
|
||||
|
||||
if (pRequest == nullptr || strlen(pRequest) == 0) {
|
||||
sprintf(logBuff, "Requeset Json");
|
||||
|
@ -491,7 +489,7 @@ static int delete_dhcpd_rangeset(data19 *req, const char *pRequest) {
|
|||
hash_map *delMap = nullptr;
|
||||
int resCount = 0;
|
||||
|
||||
dzlog_debug("Input: %s\n", pRequest);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest);
|
||||
|
||||
if (pRequest == nullptr || strlen(pRequest) == 0) {
|
||||
sprintf(logBuff, "Requeset Json");
|
||||
|
@ -767,7 +765,7 @@ int getHwAddr(char *buff, char *mac) {
|
|||
|
||||
int arpSet(const char *ifname, char *ipStr, char *mac) {
|
||||
if (ifname == nullptr || ipStr == nullptr || mac == nullptr) {
|
||||
dzlog_error("para is null.\n");
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "para is null.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -785,19 +783,19 @@ int arpSet(const char *ifname, char *ipStr, char *mac) {
|
|||
req.arp_flags = ATF_PERM | ATF_COM;
|
||||
|
||||
if (getHwAddr((char *)req.arp_ha.sa_data, mac) < 0) {
|
||||
dzlog_error("get mac error.\n");
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "get mac error.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (sock_fd < 0) {
|
||||
dzlog_error("get socket error.\n");
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "get socket error.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = ioctl(sock_fd, SIOCSARP, &req);
|
||||
if (ret < 0) {
|
||||
dzlog_error("ioctl error.\n");
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "ioctl error.\n");
|
||||
close(sock_fd);
|
||||
return -1;
|
||||
}
|
||||
|
@ -1209,11 +1207,11 @@ static void on_http_response_cb(void *pData,
|
|||
int iFinished,
|
||||
void *pUserData) {
|
||||
if (iFinished == 0) {
|
||||
dzlog_debug("Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size);
|
||||
} else if (iFinished == 1) {
|
||||
dzlog_error("Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size);
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size);
|
||||
} else {
|
||||
dzlog_error("Download Error Code: %d\n", iFinished);
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Download Error Code: %d\n", iFinished);
|
||||
}
|
||||
|
||||
free(pUserData);
|
||||
|
@ -1239,7 +1237,11 @@ void iptvCacheCb(void *UNUSED(pArg)) {
|
|||
isReport = true;
|
||||
// 添加到缓存列表供后续查询
|
||||
HASH_ADD_STR(g_iptvCacheDevs, iptvMAC, pCacheDev);
|
||||
dzlog_debug("Add IPTV device %s vni %d to cache\n", pCacheDev->iptvMAC, pCacheDev->vni);
|
||||
LOG_MSG(debug,
|
||||
ZLOG_MOD_OPENDHCPD,
|
||||
"Add IPTV device %s vni %d to cache\n",
|
||||
pCacheDev->iptvMAC,
|
||||
pCacheDev->vni);
|
||||
}
|
||||
|
||||
HASH_DEL(g_iptvNewDevs, pDev);
|
||||
|
@ -1292,7 +1294,7 @@ void opendhcp_init_http_server() {
|
|||
|
||||
added = TRUE;
|
||||
#ifdef USER_VNI
|
||||
dzlog_info("User VxLan Id: [%d]\n", cfg_get_user_vni_id());
|
||||
LOG_MSG(info, ZLOG_MOD_OPENDHCPD, "User VxLan Id: [%d]\n", cfg_get_user_vni_id());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -1320,7 +1322,7 @@ void opendhcp_add_ip_pool_set() {
|
|||
|
||||
if (pRange) {
|
||||
if (dhcp_add_rangeset_to_options(pRange) != ERR_SUCCESS) {
|
||||
dzlog_error("Add rangeset(\"%s\") failed!\n", pRange->rangAddr);
|
||||
LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Add rangeset(\"%s\") failed!\n", pRange->rangAddr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1352,7 +1354,7 @@ int process_iptv_multicast(const unsigned char *p, int size, const char *mac) {
|
|||
}
|
||||
}
|
||||
|
||||
dzlog_debug("Found IPTV %s\n", mac);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Found IPTV %s\n", mac);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1397,12 +1399,12 @@ void opendhcp_add_mac_filter() {
|
|||
|
||||
if (sdslen(add) > 0) {
|
||||
sdsrange(add, 0, -3);
|
||||
dzlog_debug("Add MAC [%s] for black list\n", add);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Add MAC [%s] for black list\n", add);
|
||||
}
|
||||
|
||||
if (sdslen(err) > 0) {
|
||||
sdsrange(err, 0, -2);
|
||||
dzlog_debug("Add MAC [%s] for black list error\n", err);
|
||||
LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Add MAC [%s] for black list error\n", err);
|
||||
}
|
||||
|
||||
sdsfree(add);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
//
|
||||
// Created by xajhuang on 2022/5/10.
|
||||
//
|
||||
#include <zlog.h>
|
||||
#include <uv/unix.h>
|
||||
#include <uv.h>
|
||||
#include <uthash/utlist.h>
|
||||
|
@ -17,6 +16,7 @@
|
|||
#include "vxlan_pkg.h"
|
||||
#include "netif/pcapif.h"
|
||||
#include "s2j/cJSON.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
typedef struct PPPOE_CACHE {
|
||||
PPPPOE_SESSION_DATA pSessionData;
|
||||
|
@ -59,7 +59,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
switch (errCode) {
|
||||
case PPPERR_NONE: { /* No error. */
|
||||
pCache = (PPPPOE_CACHE)malloc(sizeof(PPPOE_CACHE));
|
||||
dzlog_info("<%p> PPPoE user(%05d:%s) connect server succeeded[%08X], Session: %04X\n",
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, ("<%p> PPPoE user(%05d:%s) connect server succeeded[%08X], Session: %04X\n",
|
||||
pcb,
|
||||
pUser->userid,
|
||||
pUser->user_info.pppoe_user,
|
||||
|
@ -78,16 +78,16 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
pUser->user_info.mac_addr[3],
|
||||
pUser->user_info.mac_addr[4],
|
||||
pUser->user_info.mac_addr[5]);
|
||||
dzlog_info(" our_ipaddr = %s\n", pUser->session.data.clientIp);
|
||||
dzlog_info(" his_ipaddr = %s\n", pUser->session.data.clientGw);
|
||||
dzlog_info(" netmask = %s\n", pUser->session.data.clientMask);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" our_ipaddr = %s\n", pUser->session.data.clientIp);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" his_ipaddr = %s\n", pUser->session.data.clientGw);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" netmask = %s\n", pUser->session.data.clientMask);
|
||||
#endif /* LWIP_IPV4 */
|
||||
#if LWIP_DNS
|
||||
dzlog_info(" dns1 = %s\n", ipaddr_ntoa(dns_getserver(0)));
|
||||
dzlog_info(" dns2 = %s\n", ipaddr_ntoa(dns_getserver(1)));
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" dns1 = %s\n", ipaddr_ntoa(dns_getserver(0)));
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" dns2 = %s\n", ipaddr_ntoa(dns_getserver(1)));
|
||||
#endif /* LWIP_DNS */
|
||||
#if PPP_IPV6_SUPPORT
|
||||
dzlog_info(" our6_ipaddr = %s\n", ip6addr_ntoa(netif_ip6_addr(pppif, 0)));
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, (" our6_ipaddr = %s\n", ip6addr_ntoa(netif_ip6_addr(pppif, 0)));
|
||||
#endif /* PPP_IPV6_SUPPORT */
|
||||
|
||||
if (pCache) {
|
||||
|
@ -103,7 +103,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
case PPPERR_PARAM:
|
||||
case PPPERR_AUTHFAIL:
|
||||
case PPPERR_PROTOCOL:
|
||||
dzlog_error("<%p> pppLinkStatusCallback: %s(%d)",
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("<%p> pppLinkStatusCallback: %s(%d)",
|
||||
pcb,
|
||||
g_pppoeErr[errCode].errmsg,
|
||||
g_pppoeErr[errCode].errid);
|
||||
|
@ -127,7 +127,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
}
|
||||
break;
|
||||
case PPPERR_USER:
|
||||
dzlog_info("User(%05d:%s) disconnect\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, ("User(%05d:%s) disconnect\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
|
||||
pCache = (PPPPOE_CACHE)malloc(sizeof(PPPOE_CACHE));
|
||||
if (pCache) {
|
||||
|
@ -148,7 +148,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
case PPPERR_IDLETIMEOUT:
|
||||
case PPPERR_CONNECTTIME:
|
||||
case PPPERR_LOOPBACK:
|
||||
dzlog_error("<%p> pppLinkStatusCallback: %s(%d)\n",
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("<%p> pppLinkStatusCallback: %s(%d)\n",
|
||||
pcb,
|
||||
g_pppoeErr[errCode].errmsg,
|
||||
g_pppoeErr[errCode].errid);
|
||||
|
@ -171,8 +171,8 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) {
|
|||
}
|
||||
break;
|
||||
default: {
|
||||
printf("<%p> pppLinkStatusCallback: unknown errCode %d\n", pcb, errCode);
|
||||
break;
|
||||
printf("<%p> pppLinkStatusCallback: unknown errCode %d\n", pcb, errCode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -189,13 +189,13 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) {
|
|||
switch (pSession->status) {
|
||||
case STATUS_TASK_INIT:
|
||||
if (pppoe_session_create(pUser) == ERR_SUCCESS) {
|
||||
dzlog_debug("User(%05d:%s) init pppoe session\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) init pppoe session\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
pSession->status = STATUS_TASK_DIAL;
|
||||
}
|
||||
break;
|
||||
case STATUS_TASK_DIAL:
|
||||
if (pUser->session.retry.timeout == 0) {
|
||||
dzlog_debug("User(%05d:%s) connect PPPoE server\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) connect PPPoE server\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
pppapi_connect(pSession->ppp, 0);
|
||||
pUser->session.retry.timeout = time(NULL) + PPPOE_MAX_TIMEOUT;
|
||||
} else if (time(NULL) > pUser->session.retry.timeout) {
|
||||
|
@ -204,14 +204,14 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) {
|
|||
break;
|
||||
case STATUS_TASK_ERROR:
|
||||
if (pUser->session.retry.timeout == 0) {
|
||||
dzlog_error("User(%05d:%s) PPPoE dial error Invalid parameter\n",
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE dial error Invalid parameter\n",
|
||||
pUser->userid,
|
||||
pUser->user_info.pppoe_user);
|
||||
// 10秒后尝试重新拨号
|
||||
pUser->session.retry.timeout = time(NULL) + (PPPOE_MAX_TIMEOUT / 2);
|
||||
pUser->session.retry.count = 0;
|
||||
} else if (time(NULL) > pUser->session.retry.timeout) {
|
||||
dzlog_warn("User(%05d:%s) retry dial %u times\n",
|
||||
LOG_MSG(warn, ZLOG_MOD_PPPOE, ("User(%05d:%s) retry dial %u times\n",
|
||||
pUser->userid,
|
||||
pUser->user_info.pppoe_user,
|
||||
pUser->session.retry.count);
|
||||
|
@ -224,14 +224,14 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) {
|
|||
break;
|
||||
|
||||
case STATUS_TASK_DISCONNECTED:
|
||||
dzlog_error("User %s disconnect, auto reconnect\n", pUser->user_info.pppoe_user);
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("User %s disconnect, auto reconnect\n", pUser->user_info.pppoe_user);
|
||||
// 自动重新拨号
|
||||
pSession->status = STATUS_TASK_DIAL;
|
||||
break;
|
||||
|
||||
case STATUS_TASK_DELETE:
|
||||
if (pUser->session.retry.timeout == 0) {
|
||||
dzlog_debug("User(%05d:%s) PPPoE deleted\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE deleted\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
pppapi_close(pUser->session.ppp, 0);
|
||||
pUser->session.retry.timeout = time(NULL);
|
||||
pppapi_free(pUser->session.ppp);
|
||||
|
@ -244,7 +244,7 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) {
|
|||
if (pUser->session.retry.timeout == 0) {
|
||||
pUser->session.retry.timeout = time(NULL) + 30;
|
||||
} else if (time(NULL) > pUser->session.retry.timeout) {
|
||||
dzlog_debug("User(%05d:%s) PPPoE disconnected\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE disconnected\n", pUser->userid, pUser->user_info.pppoe_user);
|
||||
pSession->status = STATUS_TASK_DELETE;
|
||||
pppapi_close(pUser->session.ppp, 0);
|
||||
pUser->session.retry.timeout = 0;
|
||||
|
@ -336,9 +336,9 @@ int pppoe_session_init() {
|
|||
g_rawSocketIf = bind_pcap_if(config_get_vxlan_nic_name(), config_get_vxlan_pkg_filter(), cfg_get_support_vxlan());
|
||||
|
||||
if (g_rawSocketIf) {
|
||||
dzlog_info("Create hardware netif: <%p>\n", (void *)g_rawSocketIf);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, ("Create hardware netif: <%p>\n", (void *)g_rawSocketIf);
|
||||
} else {
|
||||
dzlog_info("Create hardware error: <%p>\n", (void *)g_rawSocketIf);
|
||||
LOG_MSG(info, ZLOG_MOD_PPPOE, ("Create hardware error: <%p>\n", (void *)g_rawSocketIf);
|
||||
}
|
||||
|
||||
// 启动Session状态机线程
|
||||
|
@ -353,14 +353,14 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) {
|
|||
struct netif *ppp_netif = (struct netif *)malloc(sizeof(struct netif));
|
||||
|
||||
if (ppp_netif == NULL) {
|
||||
dzlog_error("Malloc %lu bytes memory error\n", sizeof(struct netif));
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("Malloc %lu bytes memory error\n", sizeof(struct netif));
|
||||
return -ERR_MALLOC_MEMORY;
|
||||
}
|
||||
|
||||
netif = create_pppoe_if(pUser);
|
||||
|
||||
if (netif == NULL) {
|
||||
dzlog_error("Create PPPoE netif error: %u\n", pUser->userid);
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("Create PPPoE netif error: %u\n", pUser->userid);
|
||||
free((void *)ppp_netif);
|
||||
return -ERR_CREATE_PPPOE_NETIF;
|
||||
}
|
||||
|
@ -371,7 +371,7 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) {
|
|||
ppp = pppapi_pppoe_create(pUser->session.pppif, pUser->session.nicif, NULL, NULL, pppLinkStatusCallback, pUser);
|
||||
|
||||
if (ppp == NULL) {
|
||||
dzlog_error("Create PPPoE session error: %u\n", pUser->userid);
|
||||
LOG_MSG(error, ZLOG_MOD_PPPOE, ("Create PPPoE session error: %u\n", pUser->userid);
|
||||
netif_remove(netif);
|
||||
free((void *)ppp_netif);
|
||||
return -ERR_CREATE_PPP_SESSION;
|
||||
|
@ -381,7 +381,7 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) {
|
|||
|
||||
ppp_set_auth(ppp, PPPAUTHTYPE_ANY, pUser->user_info.pppoe_user, pUser->user_info.pppoe_passwd);
|
||||
|
||||
dzlog_debug("Create PPPoE netif %p: %u(%c%c:%u, %c%c:%u)\n",
|
||||
LOG_MSG(debug, ZLOG_MOD_PPPOE, ("Create PPPoE netif %p: %u(%c%c:%u, %c%c:%u)\n",
|
||||
ppp,
|
||||
pUser->userid,
|
||||
ppp_netif->name[0],
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
// Created by xajhuang on 2022/5/11.
|
||||
//
|
||||
#include <misc.h>
|
||||
#include <zlog.h>
|
||||
#include "zlog_module.h"
|
||||
#include "user_info.h"
|
||||
#include "user_errno.h"
|
||||
|
||||
#ifdef USED_LWIP
|
||||
|
||||
static PUSER_INFO_CONTEXT g_pUserByIdList = NULL;
|
||||
static PUSER_INFO_CONTEXT g_pUserByTagsList = NULL;
|
||||
static PUSER_INFO_CONTEXT g_pUserByMacList = NULL;
|
||||
|
@ -69,19 +71,20 @@ int user_info_add(unsigned int userid, PUSER_PARAMS pInfo) {
|
|||
HASH_ADD(hh_mac, g_pUserByMacList, mac_addr, 6, pList);
|
||||
uv_rwlock_wrunlock(&g_userLock);
|
||||
|
||||
dzlog_debug(
|
||||
"Add user: id = %u, vni = %u, q1 = %u, q2 = %u, ppp_user = %s, mac = %02X:%02X:%02X:%02X:%02X:%02X\n",
|
||||
userid,
|
||||
pInfo->vni,
|
||||
pInfo->q1,
|
||||
pInfo->q2,
|
||||
pInfo->pppoe_user,
|
||||
pList->mac_addr[0],
|
||||
pList->mac_addr[1],
|
||||
pList->mac_addr[2],
|
||||
pList->mac_addr[3],
|
||||
pList->mac_addr[4],
|
||||
pList->mac_addr[5]);
|
||||
LOG_MSG(debug,
|
||||
ZLOG_MOD_USER,
|
||||
"Add user: id = %u, vni = %u, q1 = %u, q2 = %u, ppp_user = %s, mac = %02X:%02X:%02X:%02X:%02X:%02X\n",
|
||||
userid,
|
||||
pInfo->vni,
|
||||
pInfo->q1,
|
||||
pInfo->q2,
|
||||
pInfo->pppoe_user,
|
||||
pList->mac_addr[0],
|
||||
pList->mac_addr[1],
|
||||
pList->mac_addr[2],
|
||||
pList->mac_addr[3],
|
||||
pList->mac_addr[4],
|
||||
pList->mac_addr[5]);
|
||||
}
|
||||
|
||||
return ERR_SUCCESS;
|
||||
|
@ -203,4 +206,5 @@ PUSER_INFO_CONTEXT get_all_user_by_tag() {
|
|||
|
||||
uv_rwlock_t *get_user_lock() {
|
||||
return &g_userLock;
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -2,7 +2,6 @@
|
|||
// Created by xajhuang on 2022/6/10.
|
||||
//
|
||||
#include <uv.h>
|
||||
#include <zlog.h>
|
||||
#include <zmq.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
// Created by xajhu on 2021/6/29 0029.
|
||||
//
|
||||
#include <uv.h>
|
||||
#include <zlog.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include "cmdline.h"
|
||||
|
@ -10,6 +9,7 @@
|
|||
#include "init.h"
|
||||
#include "inet_misc.h"
|
||||
#include "config.h"
|
||||
#include "zlog_module.h"
|
||||
|
||||
#include "prj_config.h"
|
||||
#include "user_errno.h"
|
||||
|
@ -65,11 +65,11 @@ static void on_http_response_cb(void *pData,
|
|||
int iFinished,
|
||||
void *pUserData) {
|
||||
if (iFinished == 0) {
|
||||
dzlog_debug("Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size);
|
||||
LOG_MSG(debug, ZLOG_MOD_MAIN, "Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size);
|
||||
} else if (iFinished == 1) {
|
||||
dzlog_error("Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size);
|
||||
LOG_MSG(error, ZLOG_MOD_MAIN, "Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size);
|
||||
} else {
|
||||
dzlog_error("Download Error Code: %d\n", iFinished);
|
||||
LOG_MSG(error, ZLOG_MOD_MAIN, "Download Error Code: %d\n", iFinished);
|
||||
}
|
||||
|
||||
free(pUserData);
|
||||
|
|
Loading…
Reference in New Issue