Con l’arrivo del nuovo firmware MeshCore v1.16, vengono introdotti alcuni comandi molto interessanti dedicati soprattutto alla gestione dei repeater e del traffico radio generato in modalità Flood.
Si tratta di novità importanti perché permettono ai gestori dei ripetitori di controllare meglio la propagazione dei pacchetti, riducendo il rischio di traffico eccessivo, instradamenti non desiderati e possibili congestioni della rete, soprattutto in scenari dove sono presenti molti repeater attivi.
L’obiettivo principale è quello di rendere la rete MeshCore più ordinata, più efficiente e più coerente con il concetto di Regional Scope, cioè la possibilità di limitare o organizzare la propagazione dei pacchetti in base a una determinata area geografica.
Il nuovo parametro flood.max.unscoped
Uno dei comandi più interessanti introdotti con il firmware v1.16 è:
flood.max.unscoped
Questo parametro consente di impostare il numero massimo di HOP che un repeater accetterà per qualsiasi pacchetto inviato in modalità FLOOD ma senza Regional Scope.
In pratica, quando un pacchetto Flood non contiene uno scope geografico definito, il repeater potrà decidere fino a quanti passaggi accettarlo prima di bloccarlo.
Questa funzione rappresenta un’alternativa molto più precisa rispetto al comando:
denyf *
che risulta troppo generico perché lavora con una logica “tutto o niente”, bloccando in maniera indiscriminata il traffico Flood.
Con flood.max.unscoped, invece, il comportamento diventa più raffinato: non si blocca tutto, ma si stabilisce un limite operativo per i pacchetti Flood privi di scope.
Comandi principali
Per verificare il valore attualmente impostato:
get flood.max.unscoped
Per impostare un nuovo valore:
set flood.max.unscoped <value>
Dove <value> rappresenta il numero massimo di HOP consentiti per i pacchetti Flood non associati a uno scope regionale.
Attenzione: il default scope resta fondamentale
È importante chiarire un aspetto: utilizzare flood.max.unscoped oppure denyf * può diventare poco utile, o addirittura dannoso, se i gestori dei repeater non iniziano a configurare correttamente il default scope sui propri sistemi.
Ancora oggi molti repeater continuano a generare e inoltrare traffico Flood senza alcun Regional Scope. Questo riguarda, ad esempio:
FLOOD ADVERT
FLOOD REQUEST
FLOOD RESPONSE
e più in generale tutto ciò che viene trasmesso semplicemente come FLOOD.
Questo comportamento è facilmente verificabile dai log del proprio Companion: quando nei log compare solo FLOOD <qualcosa>, significa che quel traffico non sta utilizzando un Regional Scope.
Quando invece un repeater è configurato correttamente con il default scope, il traffico generato dal repeater, come gli advert, dovrebbe apparire come:
TRANSPORT FLOOD
Questo indica che il traffico viene gestito con una logica più ordinata e coerente con la struttura regionale della rete.
Perché configurare region default
Il parametro region default permette di assegnare uno scope predefinito al repeater.
Per una buona propagazione a livello nazionale, i gestori dei repeater italiani dovrebbero iniziare almeno con lo scope:
it
In questo modo il traffico generato dal repeater viene associato allo scope nazionale italiano, evitando che venga trasmesso come Flood completamente privo di riferimento geografico.
Per verificare lo stato attuale del default scope:
region default
In molti casi il valore potrebbe risultare null, cioè non impostato.
Per impostare lo scope nazionale italiano:
region default it
Per salvare la configurazione:
region save
Questa configurazione rappresenta un passaggio importante per migliorare il comportamento generale della rete MeshCore, soprattutto in presenza di più repeater distribuiti sul territorio.
Il nuovo comando region def
Un’altra novità molto utile introdotta con il firmware v1.16 è il comando:
region def <token> [<token> ...]
Questo comando consente di definire le regioni direttamente sul repeater in forma gerarchica, utilizzando una singola linea di comando.
Si tratta di una soluzione più rapida rispetto alla gestione tramite comandi multipli o tramite region load.
Esempio di gerarchia lineare
Con il seguente comando:
region def a b c d e
region save
viene creata una gerarchia lineare in cui ogni Regional Scope eredita i permessi di flood dal precedente.
In questo esempio, la struttura è progressiva:
a → b → c → d → e
Ogni livello è collegato al precedente, formando una catena ordinata.
Esempio di alberatura
È possibile creare anche una struttura più articolata, simile a quella che si otterrebbe con comandi multipli come:
region put a
region put b a
region put c b
region put d c
region put e b
region put f e
La stessa logica può essere espressa con:
region def a b c d|b e f
region save
In questo caso viene creata una struttura ad albero, dove alcuni elementi non seguono semplicemente la catena lineare, ma vengono collegati a specifici rami della gerarchia.
Esempio di struttura piatta
È possibile anche definire una struttura piatta, dove ogni regione è figlia di allowf *
Esempio:
region def a|* b|* c|* d|* e|* f
region save
Questa configurazione può essere utile quando si desidera che più regioni siano gestite allo stesso livello, senza una gerarchia progressiva tra loro.
Considerazioni operative per i gestori dei repeater
Queste nuove funzioni rappresentano un passo avanti importante nella gestione del traffico Flood all’interno della rete MeshCore.
Tuttavia, il punto centrale resta uno: i repeater dovrebbero essere configurati correttamente con un Regional Scope predefinito.
L’adozione del solo parametro flood.max.unscoped, senza impostare anche region default, rischia di limitare il traffico in maniera non ottimale, perché buona parte dei pacchetti potrebbe continuare a essere generata senza scope.
La strada consigliata è quindi:
verificare se il repeater ha già un default scope configurato;
impostare almeno lo scope nazionale
it;salvare la configurazione;
solo dopo valutare l’uso di
flood.max.unscopedper limitare il traffico Flood non correttamente scopato.
Comandi consigliati
Verifica dello scope attuale:
region default
Impostazione dello scope nazionale italiano:
region default it
Salvataggio della configurazione:
region save
Verifica del valore Flood massimo per pacchetti senza scope:
get flood.max.unscoped
Impostazione del valore massimo di HOP per Flood senza scope:
set flood.max.unscoped <value>
Salvataggio finale della configurazione, se richiesto dal contesto operativo:
region save
Conclusione
Il firmware MeshCore v1.16 introduce strumenti molto utili per migliorare la gestione dei repeater e rendere più ordinato il traffico Flood all’interno della rete.
La corretta configurazione del Regional Scope diventa sempre più importante, soprattutto in una rete in crescita come quella italiana, dove la presenza di più repeater richiede regole chiare, coordinate e coerenti.
L’invito per tutti i gestori di repeater è quindi quello di verificare la propria configurazione, impostare almeno il default scope nazionale it e valutare con attenzione i nuovi parametri disponibili.
Un sentito ringraziamento ad Armando per il prezioso contributo tecnico e per la segnalazione di queste importanti novità operative.
