*/
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)) {
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 */
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) {
SCSpinUnlock(lock);
SCLogDebug("tunnel stuff done, move on (proot %d)", proot);
+
+ } else {
+ CaptureStatsUpdate(t, p);
}
SCLogDebug("[packet %p][%s] %s", p,