diff options
| author | 刘学利 <[email protected]> | 2023-10-10 01:56:09 +0000 |
|---|---|---|
| committer | 杨威 <[email protected]> | 2023-10-10 01:56:09 +0000 |
| commit | afd47a860848c2609aa6d2dfc00796bd3a686e26 (patch) | |
| tree | b90bb7df36fda5323af289a1abfe494fc6180a02 /src/tsg_send_log.cpp | |
| parent | fb1fb4d3671ebf3bbc049f247410732e3d4080e7 (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.cpp | 67 |
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); |
