From 5e674aaaa7cdf59baa7b36ee0198383b92500b02 Mon Sep 17 00:00:00 2001 From: Juliana Fajardini Date: Thu, 30 Mar 2023 10:40:46 -0300 Subject: [PATCH] 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 (cherry picked from commit a37a88dcd5950344fc0b4529f1731c3dab9f0888) --- src/decode.c | 10 ++-------- src/decode.h | 2 -- src/defrag.c | 6 +++++- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/decode.c b/src/decode.c index 574f91451a..8d0e3feb2e 100644 --- a/src/decode.c +++ b/src/decode.c @@ -584,16 +584,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 e4fed6f646..33655a5842 100644 --- a/src/decode.h +++ b/src/decode.h @@ -706,10 +706,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 010bb02121..e02cd9c073 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); -- 2.47.2