summaryrefslogtreecommitdiff
path: root/src/dealpkt/plug_support.c
diff options
context:
space:
mode:
authoryangwei <[email protected]>2023-08-04 20:58:43 +0800
committeryangwei <[email protected]>2023-08-04 20:58:43 +0800
commitcaf538bd503a37965a525623357d869e7451cdfc (patch)
tree89f379fe5acf9d0d6595e7da48fc5d4a1edf8909 /src/dealpkt/plug_support.c
parent8efcbf4ab132d8bae84c5e2cf5c7b58f1da33fb0 (diff)
✨ feat(tcp flow stat): 增加c2s和s2c syn计数
Diffstat (limited to 'src/dealpkt/plug_support.c')
-rw-r--r--src/dealpkt/plug_support.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/dealpkt/plug_support.c b/src/dealpkt/plug_support.c
index d6d0afa..66aa2ac 100644
--- a/src/dealpkt/plug_support.c
+++ b/src/dealpkt/plug_support.c
@@ -1693,6 +1693,33 @@ int MESA_get_stream_opt(const struct streaminfo *pstream, enum MESA_stream_opt o
}
break;
+ case MSO_STREAM_C2S_SYN_NUM:
+ case MSO_STREAM_S2C_SYN_NUM:
+ if ((STREAM_TYPE_TCP != pstream->type) || pdetail_pr->flow_stat == NULL || *opt_val_len != sizeof(unsigned int))
+ {
+ sapp_runtime_log(RLOG_LV_INFO, "%s,MESA_get_stream_opt() MSO_STREAM_C2S_SYN_NUM error: stream type is not tcp or empyt flow_stat!\n", printaddr(&pstream->addr, pstream->threadnum));
+ ret = -1;
+ break;
+ }
+ unsigned int *syn_cnt = (unsigned int *)opt_val;
+ if (opt == MSO_STREAM_C2S_SYN_NUM)
+ {
+ *syn_cnt = pdetail_pr->flow_stat->C2S_syn_pkt;
+ *opt_val_len = sizeof(*syn_cnt);
+ ret = 0;
+ }
+ else if (opt == MSO_STREAM_S2C_SYN_NUM)
+ {
+ *syn_cnt = pdetail_pr->flow_stat->S2C_syn_pkt;
+ *opt_val_len = sizeof(*syn_cnt);
+ ret = 0;
+ }
+ else
+ {
+ ret = -1;
+ }
+ break;
+
default:
sapp_runtime_log(RLOG_LV_INFO, "%s,MESA_get_stream_opt() error:unsupport MESA_stream_opt type:%d!\n",printaddr(&pstream->addr, pstream->threadnum), (int)opt);
ret = -1;