detect: packet match micro optimization

pull/3739/head
Victor Julien 8 years ago
parent 7497c633c4
commit bd31e4e332

@ -672,21 +672,19 @@ static inline int DetectRunInspectRulePacketMatches(
SigMatchData *smd = s->sm_arrays[DETECT_SM_LIST_MATCH]; SigMatchData *smd = s->sm_arrays[DETECT_SM_LIST_MATCH];
SCLogDebug("running match functions, sm %p", smd); SCLogDebug("running match functions, sm %p", smd);
if (smd != NULL) { while (1) {
while (1) { KEYWORD_PROFILING_START;
KEYWORD_PROFILING_START; if (sigmatch_table[smd->type].Match(tv, det_ctx, p, s, smd->ctx) <= 0) {
if (sigmatch_table[smd->type].Match(tv, det_ctx, p, s, smd->ctx) <= 0) { KEYWORD_PROFILING_END(det_ctx, smd->type, 0);
KEYWORD_PROFILING_END(det_ctx, smd->type, 0); SCLogDebug("no match");
SCLogDebug("no match"); return 0;
return 0;
}
KEYWORD_PROFILING_END(det_ctx, smd->type, 1);
if (smd->is_last) {
SCLogDebug("match and is_last");
break;
}
smd++;
} }
KEYWORD_PROFILING_END(det_ctx, smd->type, 1);
if (smd->is_last) {
SCLogDebug("match and is_last");
break;
}
smd++;
} }
} }
return 1; return 1;

Loading…
Cancel
Save