From b0b1777a1032a11ad227ee04ca1f96eb2046821d Mon Sep 17 00:00:00 2001 From: tongzongzhen Date: Tue, 28 May 2024 14:59:28 +0800 Subject: when traffic link id is not valid, dont send it. --- README.md | 2 ++ src/mocking.c | 6 +++++- src/trace_output.c | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 05abd75..d450d46 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ ## 编译 +当前默认分支:dev-0.1 + 目前只支持centos8。 需要先安装依赖库,见CI脚本。有些是公司内部的库,逐包下载安装是比较麻烦了,最好直接添加公司的yum源,直接找同事要个yum源文件即可。 diff --git a/src/mocking.c b/src/mocking.c index 79a49a9..3255261 100644 --- a/src/mocking.c +++ b/src/mocking.c @@ -46,7 +46,11 @@ int kafka_dump_to_log(zlog_category_t * logger, const void * payload, size_t len mpack_node_copy_cstr(mpack_node_map_cstr(root, "device_group"), packet.device_group, sizeof(packet.device_group)); - packet.traffic_link_id = mpack_node_i32(mpack_node_map_cstr(root, "traffic_link_id")); + mpack_node_t traffic_link_id_node = mpack_node_map_cstr(root, "traffic_link_id"); + if (!mpack_node_is_nil(traffic_link_id_node)) + { + packet.traffic_link_id = mpack_node_i32(traffic_link_id_node); + } mpack_node_t source_ip_node = mpack_node_map_cstr(root, "source_ip"); if (!mpack_node_is_nil(source_ip_node)) diff --git a/src/trace_output.c b/src/trace_output.c index e04834e..15ea94e 100644 --- a/src/trace_output.c +++ b/src/trace_output.c @@ -545,8 +545,11 @@ static void dp_trace_decode_to_message_pack(marsio_buff_t * mr_mbuf, char ** dat mpack_write_cstr(&writer, "device_group"); mpack_write_cstr(&writer, conf->device_group); - mpack_write_cstr(&writer, "traffic_link_id"); - mpack_write_i32(&writer, trace_buff_info.traffic_link_id); + if (trace_buff_info.traffic_link_id != 0 && trace_buff_info.traffic_link_id != 65535) + { + mpack_write_cstr(&writer, "traffic_link_id"); + mpack_write_i32(&writer, trace_buff_info.traffic_link_id); + } if (strlen(trace_buff_info.inner_src_addr_str) != 0) { -- cgit v1.2.3 From 69586f49f2d37fe61ba68e1c2f67077433afc41d Mon Sep 17 00:00:00 2001 From: tongzongzhen Date: Tue, 28 May 2024 15:26:56 +0800 Subject: add debug option for invalid traffic link id --- etc/dp_trace.conf | 1 + include/config.h | 1 + src/config.c | 2 ++ src/trace_output.c | 3 ++- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/etc/dp_trace.conf b/etc/dp_trace.conf index 82348c6..9f72037 100644 --- a/etc/dp_trace.conf +++ b/etc/dp_trace.conf @@ -31,5 +31,6 @@ maat_redis_db_index=1 [debug] send_ctrlbuf=0 +send_invalid_traffic_link_id=0 kafka_dump_to_log=0 arp_pkt_has_ip_test=0 \ No newline at end of file diff --git a/include/config.h b/include/config.h index 8de481e..47e9bd1 100644 --- a/include/config.h +++ b/include/config.h @@ -57,6 +57,7 @@ struct config // debug unsigned int send_ctrlbuf; + unsigned int send_invalid_traffic_link_id; unsigned int kafka_dump_to_log; unsigned int arp_pkt_has_ip_test; }; diff --git a/src/config.c b/src/config.c index d3a4ef3..0cac3e4 100644 --- a/src/config.c +++ b/src/config.c @@ -124,6 +124,8 @@ void config_load() MESA_load_profile_int_def(config_path, "maat", "maat_redis_db_index", &(g_conf->redis_db_idx), 0); MESA_load_profile_uint_def(config_path, "debug", "send_ctrlbuf", &g_conf->send_ctrlbuf, 0); + MESA_load_profile_uint_def(config_path, "debug", "send_invalid_traffic_link_id", + &g_conf->send_invalid_traffic_link_id, 0); MESA_load_profile_uint_def(config_path, "debug", "kafka_dump_to_log", &(g_conf->kafka_dump_to_log), 0); MESA_load_profile_uint_def(config_path, "debug", "arp_pkt_has_ip_test", &(g_conf->arp_pkt_has_ip_test), 0); } diff --git a/src/trace_output.c b/src/trace_output.c index 15ea94e..5fa66c4 100644 --- a/src/trace_output.c +++ b/src/trace_output.c @@ -545,7 +545,8 @@ static void dp_trace_decode_to_message_pack(marsio_buff_t * mr_mbuf, char ** dat mpack_write_cstr(&writer, "device_group"); mpack_write_cstr(&writer, conf->device_group); - if (trace_buff_info.traffic_link_id != 0 && trace_buff_info.traffic_link_id != 65535) + if (conf->send_invalid_traffic_link_id == 1 || + (trace_buff_info.traffic_link_id != 0 && trace_buff_info.traffic_link_id != 65535)) { mpack_write_cstr(&writer, "traffic_link_id"); mpack_write_i32(&writer, trace_buff_info.traffic_link_id); -- cgit v1.2.3