]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3665: main: Update to improve performance by making packet tracer check...
authorSteve Chew (stechew) <stechew@cisco.com>
Mon, 14 Nov 2022 22:34:06 +0000 (22:34 +0000)
committerSteve Chew (stechew) <stechew@cisco.com>
Mon, 14 Nov 2022 22:34:06 +0000 (22:34 +0000)
Merge in SNORT/snort3 from ~STECHEW/snort3:improve_packet_dump to master

Squashed commit of the following:

commit 02022fff536a86af52b7a28d7a66bc80899c8b4a
Author: Steve Chew <stechew@cisco.com>
Date:   Mon Nov 14 10:23:06 2022 -0500

    main: Update to improve performance by making packet tracer checks before calling function.

src/main/analyzer.cc

index 9003760c0b9fc6ca731132464934ab207b4ae475..ea18f3f4b0cec90a0ec0a0b7a5ee4d0221e98845 100644 (file)
@@ -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);
     }
 }