From: Steve Chew (stechew) Date: Mon, 14 Nov 2022 22:34:06 +0000 (+0000) Subject: Pull request #3665: main: Update to improve performance by making packet tracer check... X-Git-Tag: 3.1.47.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3546e0029765e61fd097828370c002896886b0cc;p=thirdparty%2Fsnort3.git Pull request #3665: main: Update to improve performance by making packet tracer checks before calling function. Merge in SNORT/snort3 from ~STECHEW/snort3:improve_packet_dump to master Squashed commit of the following: commit 02022fff536a86af52b7a28d7a66bc80899c8b4a Author: Steve Chew Date: Mon Nov 14 10:23:06 2022 -0500 main: Update to improve performance by making packet tracer checks before calling function. --- diff --git a/src/main/analyzer.cc b/src/main/analyzer.cc index 9003760c0..ea18f3f4b 100644 --- a/src/main/analyzer.cc +++ b/src/main/analyzer.cc @@ -300,23 +300,17 @@ static DAQ_Verdict distill_verdict(Packet* p) static void packet_trace_dump(Packet* p, DAQ_Verdict verdict, bool msg_was_held) { - if (PacketTracer::is_active()) - { - PacketTracer::log("Policies: Network %u, Inspection %u, Detection %u\n", - get_network_policy()->user_policy_id, get_inspection_policy()->user_policy_id, - get_ips_policy()->user_policy_id); - - if (p->active->packet_retry_requested()) - PacketTracer::log("Verdict: Queuing for Retry\n"); - else if (msg_was_held) - PacketTracer::log("Verdict: Holding for Detection\n"); - else - PacketTracer::log("Verdict: %s\n", SFDAQ::verdict_to_string(verdict)); - PacketTracer::dump(p); - } + PacketTracer::log("Policies: Network %u, Inspection %u, Detection %u\n", + get_network_policy()->user_policy_id, get_inspection_policy()->user_policy_id, + get_ips_policy()->user_policy_id); - if (PacketTracer::is_daq_activated()) - PacketTracer::daq_dump(p); + if (p->active->packet_retry_requested()) + PacketTracer::log("Verdict: Queuing for Retry\n"); + else if (msg_was_held) + PacketTracer::log("Verdict: Holding for Detection\n"); + else + PacketTracer::log("Verdict: %s\n", SFDAQ::verdict_to_string(verdict)); + PacketTracer::dump(p); } void Analyzer::add_to_retry_queue(DAQ_Msg_h daq_msg) @@ -366,7 +360,11 @@ void Analyzer::post_process_daq_pkt_msg(Packet* p) DataBus::publish(FINALIZE_PACKET_EVENT, event); } - packet_trace_dump(p, verdict, msg_was_held); + if (PacketTracer::is_active()) + packet_trace_dump(p, verdict, msg_was_held); + + if (PacketTracer::is_daq_activated()) + PacketTracer::daq_dump(p); if (verdict == DAQ_VERDICT_BLOCK or verdict == DAQ_VERDICT_BLACKLIST) p->active->send_reason_to_daq(*p); @@ -381,7 +379,11 @@ void Analyzer::post_process_daq_pkt_msg(Packet* p) } else { - packet_trace_dump(p, verdict, msg_was_held); + if (PacketTracer::is_active()) + packet_trace_dump(p, verdict, msg_was_held); + + if (PacketTracer::is_daq_activated()) + PacketTracer::daq_dump(p); } }