flow worker: move UDP app-layer into main function

This way it's more clean what happens and we can profile it.
pull/2118/head
Victor Julien 9 years ago
parent e09643c396
commit c1f679d3f3

@ -73,11 +73,6 @@ typedef struct FlowWorkerThreadData_ {
static void FlowUpdate(ThreadVars *tv, StreamTcpThread *stt, Packet *p)
{
FlowHandlePacketUpdate(p->flow, p);
/* handle the app layer part of the UDP packet payload */
if (p->proto == IPPROTO_UDP) {
AppLayerHandleUdp(tv, stt->ra_ctx->app_tctx, p, p->flow);
}
}
static TmEcode FlowWorkerThreadInit(ThreadVars *tv, void *initdata, void **data)
@ -206,6 +201,12 @@ TmEcode FlowWorker(ThreadVars *tv, Packet *p, void *data, PacketQueue *preq, Pac
* by the other thread modules before packet 'p'. */
PacketEnqueue(preq, x);
}
/* handle the app layer part of the UDP packet payload */
} else if (p->flow && p->proto == IPPROTO_UDP) {
FLOWWORKER_PROFILING_START(p, PROFILE_FLOWWORKER_APPLAYERUDP);
AppLayerHandleUdp(tv, fw->stream_thread->ra_ctx->app_tctx, p, p->flow);
FLOWWORKER_PROFILING_END(p, PROFILE_FLOWWORKER_APPLAYERUDP);
}
/* handle Detect */
@ -252,6 +253,8 @@ const char *ProfileFlowWorkerIdToString(enum ProfileFlowWorkerId fwi)
return "flow";
case PROFILE_FLOWWORKER_STREAM:
return "stream";
case PROFILE_FLOWWORKER_APPLAYERUDP:
return "app-layer";
case PROFILE_FLOWWORKER_DETECT:
return "detect";
case PROFILE_FLOWWORKER_SIZE:

@ -21,6 +21,7 @@
enum ProfileFlowWorkerId {
PROFILE_FLOWWORKER_FLOW = 0,
PROFILE_FLOWWORKER_STREAM,
PROFILE_FLOWWORKER_APPLAYERUDP,
PROFILE_FLOWWORKER_DETECT,
PROFILE_FLOWWORKER_SIZE
};

Loading…
Cancel
Save