From: Michael Matirko (mmatirko) Date: Tue, 12 Nov 2024 18:14:46 +0000 (+0000) Subject: Pull request #4508: [Multiprocess] thread: get_relative_instance_number now zero... X-Git-Tag: 3.5.2.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b689ef4d3860decc5b05f6505f7871d27286123;p=thirdparty%2Fsnort3.git Pull request #4508: [Multiprocess] thread: get_relative_instance_number now zero-based Merge in SNORT/snort3 from ~MMATIRKO/snort3:mp_id to master Squashed commit of the following: commit 4ac2befd5591bd5526f84b8d2d483e16d98de1e9 Author: Michael Matirko Date: Fri Nov 1 20:42:56 2024 -0400 thread: get_relative_instance_number now zero-based --- diff --git a/src/flow/flow_cache.cc b/src/flow/flow_cache.cc index 9e9278990..e459af2f3 100644 --- a/src/flow/flow_cache.cc +++ b/src/flow/flow_cache.cc @@ -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; diff --git a/src/main/thread.cc b/src/main/thread.cc index b39741bb6..d288291ed 100644 --- a/src/main/thread.cc +++ b/src/main/thread.cc @@ -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() diff --git a/src/network_inspectors/appid/appid_debug.cc b/src/network_inspectors/appid/appid_debug.cc index efaff36da..7f027f7a9 100644 --- a/src/network_inspectors/appid/appid_debug.cc +++ b/src/network_inspectors/appid/appid_debug.cc @@ -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; diff --git a/src/network_inspectors/appid/test/appid_debug_test.cc b/src/network_inspectors/appid/test/appid_debug_test.cc index 076391513..db4ef4b00 100644 --- a/src/network_inspectors/appid/test/appid_debug_test.cc +++ b/src/network_inspectors/appid/test/appid_debug_test.cc @@ -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; diff --git a/src/network_inspectors/appid/test/appid_session_api_test.cc b/src/network_inspectors/appid/test/appid_session_api_test.cc index ee0b2881a..baf5bac6e 100644 --- a/src/network_inspectors/appid/test/appid_session_api_test.cc +++ b/src/network_inspectors/appid/test/appid_session_api_test.cc @@ -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, diff --git a/src/packet_io/packet_tracer.cc b/src/packet_io/packet_tracer.cc index bac33bd34..9315b56c2 100644 --- a/src/packet_io/packet_tracer.cc +++ b/src/packet_io/packet_tracer.cc @@ -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()) {