]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
defrag: add defrag.mgr.tracker_timeout counter
authorVictor Julien <vjulien@oisf.net>
Thu, 23 May 2024 18:42:58 +0000 (20:42 +0200)
committerVictor Julien <victor@inliniac.net>
Tue, 4 Jun 2024 04:28:26 +0000 (06:28 +0200)
Updated by flow manager.

etc/schema.json
src/flow-manager.c

index 3bb9d4de20e0c67d007cc625b7b9edd050a4c565..8bcd1b0d790a51e1c751005a43d755e7a127412a 100644 (file)
                                 }
                             },
                             "additionalProperties": false
+                        },
+                        "mgr": {
+                            "type": "object",
+                            "properties": {
+                                "tracker_timeout": {
+                                    "type": "integer"
+                                }
+                            },
+                            "additionalProperties": false
                         }
                     },
                     "additionalProperties": false
index cd124a3c45e9f65b9769a57c8755d320b1499d84..5bbc2e88b795af8413fc569685692e92e17b9046 100644 (file)
@@ -606,6 +606,7 @@ typedef struct FlowManagerThreadData_ {
     FlowCounters cnt;
 
     FlowManagerTimeoutThread timeout;
+    uint16_t counter_defrag_timeout;
 } FlowManagerThreadData;
 
 static void FlowCountersInit(ThreadVars *t, FlowCounters *fc)
@@ -678,6 +679,7 @@ static TmEcode FlowManagerThreadInit(ThreadVars *t, const void *initdata, void *
     *data = ftd;
 
     FlowCountersInit(t, &ftd->cnt);
+    ftd->counter_defrag_timeout = StatsRegisterCounter("defrag.mgr.tracker_timeout", t);
 
     PacketPoolInit();
     return TM_ECODE_OK;
@@ -875,7 +877,10 @@ static TmEcode FlowManager(ThreadVars *th_v, void *thread_data)
         }
         if (other_last_sec == 0 || other_last_sec < (uint32_t)SCTIME_SECS(ts)) {
             if (ftd->instance == 0) {
-                DefragTimeoutHash(ts);
+                uint32_t defrag_cnt = DefragTimeoutHash(ts);
+                if (defrag_cnt) {
+                    StatsAddUI64(th_v, ftd->counter_defrag_timeout, defrag_cnt);
+                }
                 HostTimeoutHash(ts);
                 IPPairTimeoutHash(ts);
                 HttpRangeContainersTimeoutHash(ts);