From 1a16fdb727da242a3c258c3566c0994240eeaf85 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Wed, 26 Aug 2026 01:05:01 +0200 Subject: [PATCH] Fixed inbound queue high-water mark initialization order --- RNS/Interfaces/BackboneInterface.py | 4 ---- RNS/Reticulum.py | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/RNS/Interfaces/BackboneInterface.py b/RNS/Interfaces/BackboneInterface.py index de490106..faa07b3f 100644 --- a/RNS/Interfaces/BackboneInterface.py +++ b/RNS/Interfaces/BackboneInterface.py @@ -413,10 +413,6 @@ class BackboneInterface(Interface): with BackboneInterface._ic_job_lock: if BackboneInterface._ic_job_active: return else: - dql = RNS.Reticulum.default_data_queue_length() or RNS.Transport.INBOUND_DA_QUEUE_LENGTH - BackboneInterface.DP_IC_HIGH_WM = max(4, int((BackboneInterface.DP_IC_HIGH_WM_PCT/100.0) * dql)) - BackboneInterface.DP_IC_MID_WM = max(2, int((BackboneInterface.DP_IC_MID_WM_PCT/100.0) * dql)) - BackboneInterface.DP_IC_LOW_WM = max(0, int((BackboneInterface.DP_IC_LOW_WM_PCT/100.0) * dql)) BackboneInterface._ic_job_active = True RNS.log(f"Started dataplane ingress control: High/mid/low water marks are {BackboneInterface.DP_IC_HIGH_WM}/{BackboneInterface.DP_IC_MID_WM}/{BackboneInterface.DP_IC_LOW_WM} packets", RNS.LOG_DEBUG) try: diff --git a/RNS/Reticulum.py b/RNS/Reticulum.py index 60f78755..03881f3b 100755 --- a/RNS/Reticulum.py +++ b/RNS/Reticulum.py @@ -735,6 +735,11 @@ class Reticulum: if self.local_socket_path == None and self.use_af_unix: self.local_socket_path = "default" + dql = RNS.Reticulum.default_data_queue_length() or RNS.Transport.INBOUND_DA_QUEUE_LENGTH + BackboneInterface.BackboneInterface.DP_IC_HIGH_WM = max(4, int((BackboneInterface.BackboneInterface.DP_IC_HIGH_WM_PCT/100.0) * dql)) + BackboneInterface.BackboneInterface.DP_IC_MID_WM = max(2, int((BackboneInterface.BackboneInterface.DP_IC_MID_WM_PCT/100.0) * dql)) + BackboneInterface.BackboneInterface.DP_IC_LOW_WM = max(0, int((BackboneInterface.BackboneInterface.DP_IC_LOW_WM_PCT/100.0) * dql)) + self.__start_local_interface() if self.is_shared_instance or self.is_standalone_instance: