summaryrefslogtreecommitdiff
path: root/src/tsg_send_log.cpp
diff options
context:
space:
mode:
author刘学利 <[email protected]>2023-10-10 01:56:09 +0000
committer杨威 <[email protected]>2023-10-10 01:56:09 +0000
commitafd47a860848c2609aa6d2dfc00796bd3a686e26 (patch)
treeb90bb7df36fda5323af289a1abfe494fc6180a02 /src/tsg_send_log.cpp
parentfb1fb4d3671ebf3bbc049f247410732e3d4080e7 (diff)
OMPUB-862: 支持输出common_out_link_id、common_in_link_id日志字段v6.0.52
Diffstat (limited to 'src/tsg_send_log.cpp')
-rw-r--r--src/tsg_send_log.cpp67
1 files changed, 22 insertions, 45 deletions
diff --git a/src/tsg_send_log.cpp b/src/tsg_send_log.cpp
index 198ea53..c676f37 100644
--- a/src/tsg_send_log.cpp
+++ b/src/tsg_send_log.cpp
@@ -258,45 +258,6 @@ static int set_tcp_isn(struct tsg_log_instance_t *_instance, struct TLD_handle_t
return 1;
}
-static int set_linkinfo(struct tsg_log_instance_t *_instance, struct TLD_handle_t *_handle, const struct streaminfo *a_stream)
-{
- const char *linkinfo=(const char *)session_mac_linkinfo_get(a_stream);
- if(linkinfo==NULL)
- {
- return 0;
- }
-
- cJSON *item=NULL;
- cJSON *object=cJSON_Parse(linkinfo);
- if(object)
- {
- item=cJSON_GetObjectItem(object, "common_direction");
- if(item!=NULL)
- {
- TLD_append(_handle, (char *)"common_direction", (void *)(long)(item->valueint), TLD_TYPE_LONG);
- }
-
- item=cJSON_GetObjectItem(object, "common_egress_link_id");
- if(item!=NULL)
- {
- TLD_append(_handle, (char *)"common_egress_link_id", (void *)(long)(item->valueint), TLD_TYPE_LONG);
- }
-
- item=cJSON_GetObjectItem(object, "common_ingress_link_id");
- if(item!=NULL)
- {
- TLD_append(_handle, (char *)"common_ingress_link_id", (void *)(long)(item->valueint), TLD_TYPE_LONG);
- }
-
- cJSON_Delete(object);
- object=NULL;
-
- return 1;
- }
-
- return 0;
-}
-
static int set_asn(struct TLD_handle_t *_handle, const struct streaminfo *a_stream, char *field_name, struct asn_info *asn_info)
{
if(asn_info!=NULL)
@@ -348,6 +309,26 @@ static int set_direction(struct tsg_log_instance_t *_instance, struct TLD_handle
return 0;
}
+static int set_link_id(struct tsg_log_instance_t *_instance, struct TLD_handle_t *_handle, const struct streaminfo *a_stream)
+{
+ unsigned int link_id=0;
+ int link_id_size=sizeof(unsigned int);
+ int ret=MESA_get_stream_opt(a_stream, MSO_STREAM_INBOND_LINK_ID, &link_id, &link_id_size);
+ if(ret>=0 && link_id_size>0)
+ {
+ TLD_append(_handle, (char *)"common_in_link_id", (void *)(long)link_id, TLD_TYPE_LONG);
+ }
+
+ link_id_size=sizeof(unsigned int);
+ ret=MESA_get_stream_opt(a_stream, MSO_STREAM_OUTBOND_LINK_ID, &link_id, &link_id_size);
+ if(ret>=0 && link_id_size>0)
+ {
+ TLD_append(_handle, (char *)"common_out_link_id", (void *)(long)link_id, TLD_TYPE_LONG);
+ }
+
+ return 1;
+}
+
static int set_address_list(struct tsg_log_instance_t *_instance, struct TLD_handle_t *_handle, const struct streaminfo *a_stream)
{
unsigned short tunnel_type=0;
@@ -1797,12 +1778,8 @@ int TLD_append_streaminfo(struct tsg_log_instance_t *instance, struct TLD_handle
return -1;
}
- int ret=set_linkinfo(_instance, _handle, a_stream);
- if(ret==0)
- {
- set_direction(_instance, _handle, a_stream);
- }
-
+ set_link_id(_instance, _handle, a_stream);
+ set_direction(_instance, _handle, a_stream);
set_app_id(_instance, _handle, a_stream);
set_tcp_isn(_instance, _handle, a_stream);
set_tuple4(_instance, _handle, a_stream);