case PKT_SRC_CAPTURE_TIMEOUT:
pkt_src_str = "capture timeout flush";
break;
+ case PKT_SRC_SHUTDOWN_FLUSH:
+ pkt_src_str = "shutdown flush";
+ break;
}
DEBUG_VALIDATE_BUG_ON(pkt_src_str == NULL);
return pkt_src_str;
PKT_SRC_DETECT_RELOAD_FLUSH,
PKT_SRC_CAPTURE_TIMEOUT,
PKT_SRC_DECODER_GENEVE,
+ PKT_SRC_SHUTDOWN_FLUSH,
};
#include "source-nflog.h"
static inline void FlowWorkerProcessLocalFlows(ThreadVars *tv, FlowWorkerThreadData *fw, Packet *p)
{
uint32_t max_work = 2;
- if (PKT_IS_PSEUDOPKT(p))
+ if (p->pkt_src == PKT_SRC_SHUTDOWN_FLUSH)
max_work = 0;
FLOWWORKER_PROFILING_START(p, PROFILE_FLOWWORKER_FLOW_EVICTED);
Packet *p = PacketGetFromAlloc();
if (p != NULL) {
p->flags |= PKT_PSEUDO_STREAM_END;
- PKT_SET_SRC(p, PKT_SRC_DETECT_RELOAD_FLUSH);
+ PKT_SET_SRC(p, PKT_SRC_SHUTDOWN_FLUSH);
PacketQueue *q = tv->stream_pq;
SCMutexLock(&q->mutex_q);
PacketEnqueue(q, p);
Packet *p = PacketGetFromAlloc();
if (p != NULL) {
p->flags |= PKT_PSEUDO_STREAM_END;
- PKT_SET_SRC(p, PKT_SRC_DETECT_RELOAD_FLUSH);
+ PKT_SET_SRC(p, PKT_SRC_SHUTDOWN_FLUSH);
PacketQueue *q = tv->stream_pq;
SCMutexLock(&q->mutex_q);
PacketEnqueue(q, p);