]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4920: flow: continue retrying when the retry processing is still pending.
authorSteve Chew (stechew) <stechew@cisco.com>
Tue, 30 Sep 2025 20:28:05 +0000 (20:28 +0000)
committerSteve Chew (stechew) <stechew@cisco.com>
Tue, 30 Sep 2025 20:28:05 +0000 (20:28 +0000)
Merge in SNORT/snort3 from ~STECHEW/snort3:retry_still_pending to master

Squashed commit of the following:

commit 135d27bbdfe077633ee897663cc3f7fac507a7ba
Author: Steve Chew <stechew@cisco.com>
Date:   Thu Sep 25 15:40:26 2025 -0400

    flow: continue retrying when the retry processing is still pending.

src/flow/flow_control.cc

index dba4217998fe060d16414d48c57aa341a49b30d1..bacdd1669f3d6ef2439a32a03535b137641485b9 100644 (file)
@@ -571,13 +571,7 @@ unsigned FlowControl::process(Flow* flow, Packet* p, bool new_ha_flow)
         }
         p->filtering_state = flow->filtering_state;
         update_stats(flow, p);
-        if ( p->is_retry() )
-        {
-            RetryPacketEvent retry_event(p);
-            DataBus::publish(intrinsic_pub_id, IntrinsicEventIds::RETRY_PACKET, retry_event);
-            flow->flags.retry_queued = false;
-        }
-        else if ( flow->flags.retry_queued and ( !p->is_cooked() or p->is_defrag() ) )
+        if ( p->is_retry() or (flow->flags.retry_queued and ( !p->is_cooked() or p->is_defrag())) )
         {
             RetryPacketEvent retry_event(p);
             DataBus::publish(intrinsic_pub_id, IntrinsicEventIds::RETRY_PACKET, retry_event);