diff --git a/repeater/engine.py b/repeater/engine.py index fc1f9a1..89bf93f 100644 --- a/repeater/engine.py +++ b/repeater/engine.py @@ -437,7 +437,7 @@ class RepeaterHandler(BaseHandler): return False, "Empty payload" if len(packet.path or []) >= MAX_PATH_SIZE: - return False, "Path at max size" + return False, f"Path length {len(packet.path or [])} exceeds MAX_PATH_SIZE ({MAX_PATH_SIZE})" return True, "" @@ -529,6 +529,11 @@ class RepeaterHandler(BaseHandler): self._last_drop_reason = reason return None + # Check if packet is marked do-not-retransmit + if packet.is_marked_do_not_retransmit(): + self._last_drop_reason = "Marked do not retransmit" + return None + # Check global flood policy global_flood_allow = self.config.get("mesh", {}).get("global_flood_allow", True) if not global_flood_allow: