From: Mike Stepanek (mstepane) Date: Tue, 7 Apr 2020 11:29:37 +0000 (+0000) Subject: Merge pull request #2134 in SNORT/snort3 from ~DERAMADA/snort3:fix_active_hold to... X-Git-Tag: 3.0.1-2~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28b9c2e081f56cc168f485ece8a1ddb3747e0101;p=thirdparty%2Fsnort3.git Merge pull request #2134 in SNORT/snort3 from ~DERAMADA/snort3:fix_active_hold to master Squashed commit of the following: commit a6ab217cd37c03e92fd8815de32e0453dca72fd4 Author: deramada Date: Mon Apr 6 09:45:41 2020 -0400 packet_io: revert hold_packet to bool --- diff --git a/src/packet_io/active.cc b/src/packet_io/active.cc index 8b4e9248e..0c958542f 100644 --- a/src/packet_io/active.cc +++ b/src/packet_io/active.cc @@ -586,20 +586,22 @@ bool Active::retry_packet(const Packet* p) return true; } -void Active::hold_packet(const Packet* p) +bool Active::hold_packet(const Packet* p) { if (active_action >= ACT_HOLD) - return; + return false; // FIXIT-L same semi-arbitrary heuristic as the retry queue logic - reevaluate later if (!p->daq_instance || p->daq_instance->get_pool_available() < p->daq_instance->get_batch_size()) { active_counts.holds_denied++; - return; + return false; } active_action = ACT_HOLD; active_counts.holds_allowed++; + + return true; } void Active::cancel_packet_hold() diff --git a/src/packet_io/active.h b/src/packet_io/active.h index fd0c17f90..52fdefdc8 100644 --- a/src/packet_io/active.h +++ b/src/packet_io/active.h @@ -96,7 +96,7 @@ public: void drop_packet(const Packet*, bool force = false); void daq_drop_packet(const Packet*); bool retry_packet(const Packet*); - void hold_packet(const Packet*); + bool hold_packet(const Packet*); void cancel_packet_hold(); void allow_session(Packet*); diff --git a/src/packet_io/sfdaq_instance.cc b/src/packet_io/sfdaq_instance.cc index 701b4c05a..b23874f78 100644 --- a/src/packet_io/sfdaq_instance.cc +++ b/src/packet_io/sfdaq_instance.cc @@ -168,7 +168,7 @@ bool SFDAQInstance::start() pool_available = mpool_info.available; assert(pool_size == pool_available); if (SnortConfig::log_verbose()) - LogMessage("DAQ pool size: %d\n", pool_size); + LogMessage("DAQ instance %d pool size: %d\n", get_instance_id(), pool_size); dlt = daq_instance_get_datalink_type(instance); get_tunnel_capabilities();