summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--etc/dp_trace.conf1
-rw-r--r--include/config.h1
-rw-r--r--src/config.c2
-rw-r--r--src/mocking.c6
-rw-r--r--src/trace_output.c8
6 files changed, 17 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/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/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..5fa66c4 100644
--- a/src/trace_output.c
+++ b/src/trace_output.c
@@ -545,8 +545,12 @@ 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 (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);
+ }
if (strlen(trace_buff_info.inner_src_addr_str) != 0)
{