From: Juliana Fajardini Date: Thu, 30 Mar 2023 13:40:46 +0000 (-0300) Subject: defrag: clean up existing stats counters X-Git-Tag: suricata-7.0.0-rc2~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a37a88dcd5950344fc0b4529f1731c3dab9f0888;p=thirdparty%2Fsuricata.git defrag: clean up existing stats counters 7a044a99ee14101fbc removed the lines that incremented these defrag counters, but kept the entities themselves. This commit removes counters that we judge too complex to maintain, given the current state of the code, and re-adds incrementing max_hit (memcap related). Related to Task #5816 --- diff --git a/src/decode.c b/src/decode.c index 303459e086..2e4c448eb7 100644 --- a/src/decode.c +++ b/src/decode.c @@ -591,16 +591,10 @@ void DecodeRegisterPerfCounters(DecodeThreadVars *dtv, ThreadVars *tv) dtv->counter_defrag_ipv4_fragments = StatsRegisterCounter("defrag.ipv4.fragments", tv); - dtv->counter_defrag_ipv4_reassembled = - StatsRegisterCounter("defrag.ipv4.reassembled", tv); - dtv->counter_defrag_ipv4_timeouts = - StatsRegisterCounter("defrag.ipv4.timeouts", tv); + dtv->counter_defrag_ipv4_reassembled = StatsRegisterCounter("defrag.ipv4.reassembled", tv); dtv->counter_defrag_ipv6_fragments = StatsRegisterCounter("defrag.ipv6.fragments", tv); - dtv->counter_defrag_ipv6_reassembled = - StatsRegisterCounter("defrag.ipv6.reassembled", tv); - dtv->counter_defrag_ipv6_timeouts = - StatsRegisterCounter("defrag.ipv6.timeouts", tv); + dtv->counter_defrag_ipv6_reassembled = StatsRegisterCounter("defrag.ipv6.reassembled", tv); dtv->counter_defrag_max_hit = StatsRegisterCounter("defrag.max_frag_hits", tv); diff --git a/src/decode.h b/src/decode.h index c3c2a94c9b..b11963bf4e 100644 --- a/src/decode.h +++ b/src/decode.h @@ -716,10 +716,8 @@ typedef struct DecodeThreadVars_ /** frag stats - defrag runs in the context of the decoder. */ uint16_t counter_defrag_ipv4_fragments; uint16_t counter_defrag_ipv4_reassembled; - uint16_t counter_defrag_ipv4_timeouts; uint16_t counter_defrag_ipv6_fragments; uint16_t counter_defrag_ipv6_reassembled; - uint16_t counter_defrag_ipv6_timeouts; uint16_t counter_defrag_max_hit; uint16_t counter_flow_memcap; diff --git a/src/defrag.c b/src/defrag.c index a4c307834f..71cf4204c1 100644 --- a/src/defrag.c +++ b/src/defrag.c @@ -1041,8 +1041,12 @@ Defrag(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p) /* return a locked tracker or NULL */ tracker = DefragGetTracker(tv, dtv, p); - if (tracker == NULL) + if (tracker == NULL) { + if (tv != NULL && dtv != NULL) { + StatsIncr(tv, dtv->counter_defrag_max_hit); + } return NULL; + } Packet *rp = DefragInsertFrag(tv, dtv, tracker, p); DefragTrackerRelease(tracker);