flow/worker: minor refactor for app-layer callsite

pull/8951/head
Victor Julien 2 years ago
parent 8a535a0b89
commit 6154bab49f

@ -552,24 +552,24 @@ static TmEcode FlowWorker(ThreadVars *tv, Packet *p, void *data)
SCLogDebug("packet %"PRIu64" has flow? %s", p->pcap_cnt, p->flow ? "yes" : "no"); SCLogDebug("packet %"PRIu64" has flow? %s", p->pcap_cnt, p->flow ? "yes" : "no");
/* handle TCP and app layer */ /* handle TCP and app layer */
if (p->flow && PKT_IS_TCP(p)) { if (p->flow) {
SCLogDebug("packet %"PRIu64" is TCP. Direction %s", p->pcap_cnt, PKT_IS_TOSERVER(p) ? "TOSERVER" : "TOCLIENT"); if (PKT_IS_TCP(p)) {
SCLogDebug("packet %" PRIu64 " is TCP. Direction %s", p->pcap_cnt,
PKT_IS_TOSERVER(p) ? "TOSERVER" : "TOCLIENT");
DEBUG_ASSERT_FLOW_LOCKED(p->flow); DEBUG_ASSERT_FLOW_LOCKED(p->flow);
/* if detect is disabled, we need to apply file flags to the flow /* if detect is disabled, we need to apply file flags to the flow
* here on the first packet. */ * here on the first packet. */
if (detect_thread == NULL && if (detect_thread == NULL &&
((PKT_IS_TOSERVER(p) && (p->flowflags & FLOW_PKT_TOSERVER_FIRST)) || ((PKT_IS_TOSERVER(p) && (p->flowflags & FLOW_PKT_TOSERVER_FIRST)) ||
(PKT_IS_TOCLIENT(p) && (p->flowflags & FLOW_PKT_TOCLIENT_FIRST)))) (PKT_IS_TOCLIENT(p) && (p->flowflags & FLOW_PKT_TOCLIENT_FIRST)))) {
{
DisableDetectFlowFileFlags(p->flow); DisableDetectFlowFileFlags(p->flow);
} }
FlowWorkerStreamTCPUpdate(tv, fw, p, detect_thread, false); FlowWorkerStreamTCPUpdate(tv, fw, p, detect_thread, false);
/* handle the app layer part of the UDP packet payload */ /* handle the app layer part of the UDP packet payload */
} else if (p->flow && p->proto == IPPROTO_UDP) { } else if (p->proto == IPPROTO_UDP && !PacketCheckAction(p, ACTION_DROP)) {
if (!PacketCheckAction(p, ACTION_DROP)) {
FLOWWORKER_PROFILING_START(p, PROFILE_FLOWWORKER_APPLAYERUDP); FLOWWORKER_PROFILING_START(p, PROFILE_FLOWWORKER_APPLAYERUDP);
AppLayerHandleUdp(tv, fw->stream_thread->ra_ctx->app_tctx, p, p->flow); AppLayerHandleUdp(tv, fw->stream_thread->ra_ctx->app_tctx, p, p->flow);
FLOWWORKER_PROFILING_END(p, PROFILE_FLOWWORKER_APPLAYERUDP); FLOWWORKER_PROFILING_END(p, PROFILE_FLOWWORKER_APPLAYERUDP);

Loading…
Cancel
Save