]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4508: [Multiprocess] thread: get_relative_instance_number now zero...
authorMichael Matirko (mmatirko) <mmatirko@cisco.com>
Tue, 12 Nov 2024 18:14:46 +0000 (18:14 +0000)
committerSteven Baigal (sbaigal) <sbaigal@cisco.com>
Tue, 12 Nov 2024 18:14:46 +0000 (18:14 +0000)
Merge in SNORT/snort3 from ~MMATIRKO/snort3:mp_id to master

Squashed commit of the following:

commit 4ac2befd5591bd5526f84b8d2d483e16d98de1e9
Author: Michael Matirko <mmatirko@cisco.com>
Date:   Fri Nov 1 20:42:56 2024 -0400

    thread: get_relative_instance_number now zero-based

src/flow/flow_cache.cc
src/main/thread.cc
src/network_inspectors/appid/appid_debug.cc
src/network_inspectors/appid/test/appid_debug_test.cc
src/network_inspectors/appid/test/appid_session_api_test.cc
src/packet_io/packet_tracer.cc

index 9e9278990561460d98e7d6e97815669325758166..e459af2f38d5026f0582b089a072d5848b1e44a0 100644 (file)
@@ -880,16 +880,16 @@ void FlowCache::output_flow(std::fstream& stream, const Flow& flow, const struct
     switch ( flow.key->pkt_type )
     {
         case PktType::IP:
-            out << "Instance-ID: " << get_relative_instance_number() << " IP " << flow.key->addressSpaceId << ": " << src_ip << " " << dst_ip;
+            out << "Instance-ID: " << get_relative_instance_number() + 1<< " IP " << flow.key->addressSpaceId << ": " << src_ip << " " << dst_ip;
             break;
 
         case PktType::ICMP:
-            out << "Instance-ID: " << get_relative_instance_number() << " ICMP " << flow.key->addressSpaceId << ": " << src_ip << " type " << src_port << " "
+            out << "Instance-ID: " << get_relative_instance_number() + 1 << " ICMP " << flow.key->addressSpaceId << ": " << src_ip << " type " << src_port << " "
                 << dst_ip;
             break;
 
         case PktType::TCP:
-            out << "Instance-ID: " << get_relative_instance_number() << " TCP " << flow.key->addressSpaceId << ": " << src_ip << "/" << src_port << " "
+            out << "Instance-ID: " << get_relative_instance_number() + 1 << " TCP " << flow.key->addressSpaceId << ": " << src_ip << "/" << src_port << " "
                 << dst_ip << "/" << dst_port;
             if (flow.session)
             {
@@ -900,7 +900,7 @@ void FlowCache::output_flow(std::fstream& stream, const Flow& flow, const struct
             break;
 
         case PktType::UDP:
-            out << "Instance-ID: " << get_relative_instance_number() << " UDP " << flow.key->addressSpaceId << ": "<< src_ip << "/" << src_port << " "
+            out << "Instance-ID: " << get_relative_instance_number() + 1 << " UDP " << flow.key->addressSpaceId << ": "<< src_ip << "/" << src_port << " "
                 << dst_ip << "/" << dst_port;
             break;
 
index b39741bb6bfa29834f119dd1a5c913ddb422effb..d288291edcd8d8f8f3ed7fb33d452e4288143e01 100644 (file)
@@ -56,10 +56,10 @@ unsigned get_instance_id()
 { return instance_id; }
 
 unsigned get_relative_instance_number()
-{ 
-    // Added +1 here so we get instance numbers starting from 1 for display purposes
+{
+    // Maintain the zero-based counting that we previously used; first pkt thread = 0
     const SnortConfig* sc = SnortConfig::get_conf();
-    return instance_id + sc->id_offset + 1;
+    return instance_id + sc->id_offset;
 }
 
 SThreadType get_thread_type()
index efaff36da9524b7568ce3b28654b811ef0b497cf..7f027f7a94ac1955bb296c7188b2faa588937a4c 100644 (file)
@@ -181,7 +181,7 @@ void AppIdDebug::activate(const uint32_t* ip1, const uint32_t* ip2, uint16_t por
         << dipstr << " " << dport << " "
         << std::to_string(to_utype(protocol))
         << " AS=" << address_space_id
-        << " ID=" << get_instance_id();
+        << " ID=" << get_relative_instance_number();
 
     if (inter_group_flow)
         oss << " GR=" << sgroup << "-" << dgroup;
index 076391513a7256fdafe2b5f0a4b6753eeac78342..db4ef4b00064f0760cf7f4cecdc8aea70971a064 100644 (file)
@@ -41,6 +41,7 @@ THREAD_LOCAL bool TimeProfilerStats::enabled = false;
 namespace snort
 {
 unsigned get_instance_id() { return 3; }
+unsigned get_relative_instance_number() { return 3; }
 
 Packet::Packet(bool) {}
 Packet::~Packet() = default;
index ee0b2881a0fd7b826516fe71c2f2dcecaec43ade..baf5bac6e76de29ae828f475132c45460edc123f 100644 (file)
@@ -54,6 +54,11 @@ namespace snort
     {
         return 0;
     }
+
+    unsigned get_relative_instance_number()
+    {
+        return 0;
+    }
 }
 
 void AppIdSession::set_ss_application_ids(AppId service_id, AppId client_id, AppId payload_id,
index bac33bd3450bc30a36362a3048c9c9935169a406..9315b56c25209f02e91e39a301fdff65b3ae4cd3 100644 (file)
@@ -402,7 +402,7 @@ void PacketTracer::add_ip_header_info(const Packet& p)
             << dipstr << " " << dport << " "
             << std::to_string(to_utype(proto))
             << " AS=" << p.pkth->address_space_id
-            << " ID=" << get_instance_id();
+            << " ID=" << get_relative_instance_number();
 
             if (p.is_inter_group_flow())
             {
@@ -426,7 +426,7 @@ void PacketTracer::add_ip_header_info(const Packet& p)
             << dipstr << ":" << dport << " "
             << "proto " << std::to_string(to_utype(proto))
             << " AS=" << p.pkth->address_space_id
-            << " ID=" << get_instance_id();
+            << " ID=" << get_relative_instance_number();
 
             if (p.is_inter_group_flow())
             {
@@ -507,7 +507,7 @@ void PacketTracer::add_eth_header_info(const Packet& p)
             std::ostringstream oss;
             oss << eh->to_string()
                 << " AS=" << p.pkth->address_space_id
-                << " ID=" << get_instance_id();
+                << " ID=" << get_relative_instance_number();
 
             if (p.is_inter_group_flow())
             {