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) static void FlowUpdate(ThreadVars *tv, StreamTcpThread *stt, Packet *p)
{ {
FlowHandlePacketUpdate(p->flow, 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) 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'. */ * by the other thread modules before packet 'p'. */
PacketEnqueue(preq, x); 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 */ /* handle Detect */
@ -252,6 +253,8 @@ const char *ProfileFlowWorkerIdToString(enum ProfileFlowWorkerId fwi)
return "flow"; return "flow";
case PROFILE_FLOWWORKER_STREAM: case PROFILE_FLOWWORKER_STREAM:
return "stream"; return "stream";
case PROFILE_FLOWWORKER_APPLAYERUDP:
return "app-layer";
case PROFILE_FLOWWORKER_DETECT: case PROFILE_FLOWWORKER_DETECT:
return "detect"; return "detect";
case PROFILE_FLOWWORKER_SIZE: case PROFILE_FLOWWORKER_SIZE:

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

Loading…
Cancel
Save