From f66c1d0258f53e59029720fccd35725cef555b64 Mon Sep 17 00:00:00 2001 From: Scott Powell Date: Tue, 2 Jun 2026 14:15:33 +1000 Subject: [PATCH] * simplified the new flood.max.unscoped pref --- examples/simple_repeater/MyMesh.cpp | 10 +++------- examples/simple_room_server/MyMesh.cpp | 10 +++------- src/helpers/CommonCLI.cpp | 11 +---------- src/helpers/CommonCLI.h | 2 -- 4 files changed, 7 insertions(+), 26 deletions(-) diff --git a/examples/simple_repeater/MyMesh.cpp b/examples/simple_repeater/MyMesh.cpp index 7f47bd75..c24e297c 100644 --- a/examples/simple_repeater/MyMesh.cpp +++ b/examples/simple_repeater/MyMesh.cpp @@ -429,12 +429,8 @@ void MyMesh::sendFloodReply(mesh::Packet* packet, unsigned long delay_millis, ui bool MyMesh::allowPacketForward(const mesh::Packet *packet) { if (_prefs.disable_fwd) return false; if (packet->isRouteFlood()) { - uint8_t limit = _prefs.flood_max; - if (packet->getRouteType() == ROUTE_TYPE_FLOOD - && _prefs.flood_max_unscoped != FLOOD_MAX_UNSCOPED_UNSET) { - limit = _prefs.flood_max_unscoped; - } - if (packet->getPathHashCount() >= limit) return false; + if (packet->getPathHashCount() >= _prefs.flood_max) return false; + if (packet->getRouteType() == ROUTE_TYPE_FLOOD && packet->getPathHashCount() >= _prefs.flood_max_unscoped) return false; } if (packet->isRouteFlood() && recv_pkt_region == NULL) { MESH_DEBUG_PRINTLN("allowPacketForward: unknown transport code, or wildcard not allowed for FLOOD packet"); @@ -893,7 +889,7 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc _prefs.advert_interval = 1; // default to 2 minutes for NEW installs _prefs.flood_advert_interval = 47; // 47 hours _prefs.flood_max = 64; - _prefs.flood_max_unscoped = FLOOD_MAX_UNSCOPED_UNSET; + _prefs.flood_max_unscoped = 64; _prefs.interference_threshold = 0; // disabled // bridge defaults diff --git a/examples/simple_room_server/MyMesh.cpp b/examples/simple_room_server/MyMesh.cpp index 7520749d..71a3c93a 100644 --- a/examples/simple_room_server/MyMesh.cpp +++ b/examples/simple_room_server/MyMesh.cpp @@ -283,12 +283,8 @@ uint32_t MyMesh::getDirectRetransmitDelay(const mesh::Packet *packet) { bool MyMesh::allowPacketForward(const mesh::Packet *packet) { if (_prefs.disable_fwd) return false; if (packet->isRouteFlood()) { - uint8_t limit = _prefs.flood_max; - if (packet->getRouteType() == ROUTE_TYPE_FLOOD - && _prefs.flood_max_unscoped != FLOOD_MAX_UNSCOPED_UNSET) { - limit = _prefs.flood_max_unscoped; - } - if (packet->getPathHashCount() >= limit) return false; + if (packet->getPathHashCount() >= _prefs.flood_max) return false; + if (packet->getRouteType() == ROUTE_TYPE_FLOOD && packet->getPathHashCount() >= _prefs.flood_max_unscoped) return false; } return true; } @@ -650,7 +646,7 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc _prefs.advert_interval = 1; // default to 2 minutes for NEW installs _prefs.flood_advert_interval = 47; // 47 hours _prefs.flood_max = 64; - _prefs.flood_max_unscoped = FLOOD_MAX_UNSCOPED_UNSET; + _prefs.flood_max_unscoped = 64; _prefs.interference_threshold = 0; // disabled #ifdef ROOM_PASSWORD StrHelper::strncpy(_prefs.guest_password, ROOM_PASSWORD, sizeof(_prefs.guest_password)); diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index 91fd07c4..87922f50 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -121,11 +121,6 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { // sanitise settings _prefs->rx_boosted_gain = constrain(_prefs->rx_boosted_gain, 0, 1); // boolean - // sanitise only if user sets unscoped max - if (_prefs->flood_max_unscoped != FLOOD_MAX_UNSCOPED_UNSET) { - _prefs->flood_max_unscoped = constrain(_prefs->flood_max_unscoped, 0, 64); - } - file.close(); } } @@ -799,11 +794,7 @@ void CommonCLI::handleGetCmd(uint32_t sender_timestamp, char* command, char* rep } else if (memcmp(config, "txdelay", 7) == 0) { sprintf(reply, "> %s", StrHelper::ftoa(_prefs->tx_delay_factor)); } else if (memcmp(config, "flood.max.unscoped", 18) == 0) { - if (_prefs->flood_max_unscoped == FLOOD_MAX_UNSCOPED_UNSET) { - sprintf(reply, "> default (tracks flood.max=%u)", (unsigned)_prefs->flood_max); - } else { - sprintf(reply, "> %d", (uint32_t)_prefs->flood_max_unscoped); - } + sprintf(reply, "> %d", (uint32_t)_prefs->flood_max_unscoped); } else if (memcmp(config, "flood.max", 9) == 0) { sprintf(reply, "> %d", (uint32_t)_prefs->flood_max); } else if (memcmp(config, "direct.txdelay", 14) == 0) { diff --git a/src/helpers/CommonCLI.h b/src/helpers/CommonCLI.h index c1f4d7fb..fedc0534 100644 --- a/src/helpers/CommonCLI.h +++ b/src/helpers/CommonCLI.h @@ -14,8 +14,6 @@ #define ADVERT_LOC_SHARE 1 #define ADVERT_LOC_PREFS 2 -#define FLOOD_MAX_UNSCOPED_UNSET 0xFF - #define LOOP_DETECT_OFF 0 #define LOOP_DETECT_MINIMAL 1 #define LOOP_DETECT_MODERATE 2