From 5ca2802cb39965c482cdfd9f9bfba2fa443f08f5 Mon Sep 17 00:00:00 2001 From: tongzongzhen Date: Wed, 22 May 2024 18:25:58 +0800 Subject: dont send zero port --- src/CMakeLists.txt | 7 ++++--- src/mocking.c | 28 ++++++++++++++++++++++------ src/trace_output.c | 28 ++++++++++++++++++++-------- 3 files changed, 46 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e3b4c2e..79f6315 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,9 +17,10 @@ set(DP_TELEMETRY_SRC add_executable(${PROJECT_NAME} ${DP_TELEMETRY_SRC}) target_link_libraries(${PROJECT_NAME} libpcapng libmarsio maatframe MESA_prof_load libevent-static rdkafka libcmocka libzlog libcjson uuid pthread pcap) -if(ENABLE_DEVELOP_MOCKING) - target_link_options(${PROJECT_NAME} PRIVATE -Wl,--wrap=kafka_handle_create,--wrap=kafka_topic_new,--wrap=kafka_produce) -endif() + +# if(ENABLE_DEVELOP_MOCKING) +# target_link_options(${PROJECT_NAME} PRIVATE -Wl,--wrap=kafka_handle_create,--wrap=kafka_topic_new,--wrap=kafka_produce) +# endif() # add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD # COMMAND ${CMAKE_COMMAND} -E copy_directory diff --git a/src/mocking.c b/src/mocking.c index c6f6d8b..5c7e3bf 100644 --- a/src/mocking.c +++ b/src/mocking.c @@ -48,13 +48,29 @@ int kafka_dump_to_log(zlog_category_t * logger, const void * payload, size_t len packet.traffic_link_id = mpack_node_i32(mpack_node_map_cstr(root, "traffic_link_id")); - mpack_node_copy_cstr(mpack_node_map_cstr(root, "source_ip"), packet.source_ip, sizeof(packet.source_ip)); + mpack_node_t source_ip_node = mpack_node_map_cstr(root, "source_ip"); + if (!mpack_node_is_nil(source_ip_node)) + { + mpack_node_copy_cstr(source_ip_node, packet.source_ip, sizeof(packet.source_ip)); + } - packet.source_port = mpack_node_i32(mpack_node_map_cstr(root, "source_port")); + mpack_node_t source_port_node = mpack_node_map_cstr(root, "source_port"); + if (!mpack_node_is_nil(source_port_node)) + { + packet.source_port = mpack_node_i32(source_port_node); + } - mpack_node_copy_cstr(mpack_node_map_cstr(root, "destination_ip"), packet.server_ip, sizeof(packet.server_ip)); + mpack_node_t destination_ip_node = mpack_node_map_cstr(root, "destination_ip"); + if (!mpack_node_is_nil(destination_ip_node)) + { + mpack_node_copy_cstr(destination_ip_node, packet.server_ip, sizeof(packet.server_ip)); + } - packet.server_port = mpack_node_i32(mpack_node_map_cstr(root, "destination_port")); + mpack_node_t destination_port_node = mpack_node_map_cstr(root, "destination_port"); + if (!mpack_node_is_nil(destination_port_node)) + { + packet.server_port = mpack_node_i32(destination_port_node); + } packet.packet = mpack_node_bin_data(mpack_node_map_cstr(root, "packet")); @@ -87,7 +103,7 @@ int kafka_dump_to_log(zlog_category_t * logger, const void * payload, size_t len if (strlen(packet.source_ip) == 0) { - zlog_warn(logger, "source_ip is empty"); + zlog_debug(logger, "source_ip is empty"); } else { @@ -98,7 +114,7 @@ int kafka_dump_to_log(zlog_category_t * logger, const void * payload, size_t len if (strlen(packet.server_ip) == 0) { - zlog_warn(logger, "server_ip is empty"); + zlog_debug(logger, "server_ip is empty"); } else { diff --git a/src/trace_output.c b/src/trace_output.c index 19ccf2c..ffc1961 100644 --- a/src/trace_output.c +++ b/src/trace_output.c @@ -540,17 +540,29 @@ static void dp_trace_decode_to_message_pack(marsio_buff_t * mr_mbuf, char ** dat mpack_write_cstr(&writer, "traffic_link_id"); mpack_write_i32(&writer, trace_buff_info.traffic_link_id); - mpack_write_cstr(&writer, "source_ip"); - mpack_write_cstr(&writer, trace_buff_info.inner_src_addr_str); + if (strlen(trace_buff_info.inner_src_addr_str) != 0) + { + mpack_write_cstr(&writer, "source_ip"); + mpack_write_cstr(&writer, trace_buff_info.inner_src_addr_str); + } - mpack_write_cstr(&writer, "source_port"); - mpack_write_i32(&writer, trace_buff_info.inner_src_port); + if (trace_buff_info.inner_src_port != 0) + { + mpack_write_cstr(&writer, "source_port"); + mpack_write_i32(&writer, trace_buff_info.inner_src_port); + } - mpack_write_cstr(&writer, "destination_ip"); - mpack_write_cstr(&writer, trace_buff_info.inner_dst_addr_str); + if (strlen(trace_buff_info.inner_dst_addr_str) != 0) + { + mpack_write_cstr(&writer, "destination_ip"); + mpack_write_cstr(&writer, trace_buff_info.inner_dst_addr_str); + } - mpack_write_cstr(&writer, "destination_port"); - mpack_write_i32(&writer, trace_buff_info.inner_dst_port); + if (trace_buff_info.inner_dst_port != 0) + { + mpack_write_cstr(&writer, "destination_port"); + mpack_write_i32(&writer, trace_buff_info.inner_dst_port); + } unsigned int snaplen = trace_buff_info.snaplen; snaplen = (snaplen < marsio_buff_datalen(mr_mbuf)) ? snaplen : marsio_buff_datalen(mr_mbuf); -- cgit v1.2.3