diff --git a/src/flow.c b/src/flow.c index e40a1ce7dd80..7bfa80ea0a9b 100644 --- a/src/flow.c +++ b/src/flow.c @@ -482,7 +482,13 @@ void FlowHandlePacketUpdate(Flow *f, Packet *p, ThreadVars *tv, DecodeThreadVars SCLogDebug("pkt %p FLOW_PKT_ESTABLISHED", p); p->flowflags |= FLOW_PKT_ESTABLISHED; - FlowUpdateState(f, FLOW_STATE_ESTABLISHED); + if ( +#ifdef CAPTURE_OFFLOAD + (f->flow_state != FLOW_STATE_CAPTURE_BYPASSED) && +#endif + (f->flow_state != FLOW_STATE_LOCAL_BYPASSED)) { + FlowUpdateState(f, FLOW_STATE_ESTABLISHED); + } } if (f->flags & FLOW_ACTION_DROP) {