diff --git a/src/source-nfq.c b/src/source-nfq.c index cad4e2c7d7..5293f2529a 100644 --- a/src/source-nfq.c +++ b/src/source-nfq.c @@ -1186,9 +1186,6 @@ TmEcode NFQSetVerdict(Packet *p) */ TmEcode VerdictNFQ(ThreadVars *tv, Packet *p, void *data) { - /* update counters */ - CaptureStatsUpdate(tv, p); - /* if this is a tunnel packet we check if we are ready to verdict * already. */ if (IS_TUNNEL_PKT(p)) { diff --git a/src/source-windivert.c b/src/source-windivert.c index 6a3d366015..5625b7f0f5 100644 --- a/src/source-windivert.c +++ b/src/source-windivert.c @@ -748,9 +748,6 @@ static TmEcode WinDivertVerdictHelper(ThreadVars *tv, Packet *p) SCEnter(); WinDivertThreadVars *wd_tv = WinDivertGetThread(p->windivert_v.thread_num); - /* update counters */ - CaptureStatsUpdate(tv, p); - #ifdef COUNTERS WinDivertQueueVars *wd_qv = WinDivertGetQueue(wd_tv->thread_num); #endif /* COUNTERS */ diff --git a/src/tmqh-packetpool.c b/src/tmqh-packetpool.c index 5d77e41624..90d52bf787 100644 --- a/src/tmqh-packetpool.c +++ b/src/tmqh-packetpool.c @@ -370,6 +370,8 @@ void TmqhOutputPacketpool(ThreadVars *t, Packet *p) if (IS_TUNNEL_ROOT_PKT(p)) { SCLogDebug("IS_TUNNEL_ROOT_PKT == TRUE"); + CaptureStatsUpdate(t, p); + const uint16_t outstanding = TUNNEL_PKT_TPR(p) - TUNNEL_PKT_RTV(p); SCLogDebug("root pkt: outstanding %u", outstanding); if (outstanding == 0) { @@ -429,6 +431,9 @@ void TmqhOutputPacketpool(ThreadVars *t, Packet *p) SCSpinUnlock(lock); SCLogDebug("tunnel stuff done, move on (proot %d)", proot); + + } else { + CaptureStatsUpdate(t, p); } SCLogDebug("[packet %p][%s] %s", p,