Region Management (v1.10.+) CLI commands
Learn how to manage regions in MeshCore using CLI commands introduced in firmware v1.10 and later. This guide covers configuring regional settings, managing region boundaries, and controlling how region-based rules affect mesh traffic to help organise your network and manage packet routing.
Updated 29 October 2026
1. Bulk-Load Region Lists
Load multiple regions and their parent-child relationships interactively.
Commands:
region load
region load <name> [flood_flag]
Parameters:
| Parameter | Description |
|---|---|
name | Name of the region. Use * to represent the wildcard region. |
flood_flag | Optional F flag to enable flooding for the region. |
Notes:
- Indentation defines parent-child relationships, with a maximum depth of 8 levels.
- Finish interactive input with a blank line.
- Running
region loadwithout a name starts interactive mode and cannot be used remotely in this form.
Example: Load a Public Region
region load
#Europe F
region save
This creates the #Europe region with flooding enabled.
Example: Load a Wildcard Region with Flooding
region load
* F
region save
This enables flooding for packets without region transport codes.
Example: Load a Wildcard Region Without Flooding
region load
*
region save
This creates a wildcard region without enabling flooding.
Example: Create Nested Regions
region load
#Europe F
#UK
#London
#Manchester
#France
#Paris
#Lyon
region save
This creates a hierarchy of regions, with #London and #Manchester under #UK, and #Paris and #Lyon under #France.
Example: Wildcard with Nested Regions
region load
* F
#NorthAmerica
#USA
#NewYork
#California
#Canada
#Ontario
#Quebec
region save
This creates a regional hierarchy beneath the wildcard region. The wildcard's flooding setting allows packets without region transport codes to be flooded; it does not automatically mean every region-specific packet will be flooded regardless of its own rules.
2. Save Region Changes
Save changes made to the region configuration since the last reboot.
Command:
region save
Note: Run this command after making changes that you want to persist across reboots.
3. Allow Flooding for a Region
Enable flooding for a specified region.
Command:
region allowf <name>
Parameters:
| Parameter | Description |
|---|---|
name | Region name, or * for the wildcard region. |
Note: Allowing flooding for the wildcard region (*) permits packets without region transport codes to be flooded.
Example:
region allowf #Europe
4. Block Flooding for a Region
Disable flooding for a specified region.
Command:
region denyf <name>
Parameters:
| Parameter | Description |
|---|---|
name | Region name, or * for the wildcard region. |
Note: Blocking flooding for the wildcard region (*) drops packets without region transport codes.
Example:
region denyf #Europe
5. View Information for a Region
Display information about a specific region.
Command:
region get <name>
Parameters:
| Parameter | Description |
|---|---|
name | Region name, or * for the wildcard region. |
Example:
region get #Europe
6. View or Change the Home Region
View or set the home region configured for the node.
Commands:
region home
region home <name>
Parameters:
| Parameter | Description |
|---|---|
name | Name of the region to use as the home region. |
Examples:
region home
region home #UK
The first command displays the current home region. The second sets the home region to #UK.
7. View or Change the Default Scope Region
View or configure the default scope region for the node.
Commands:
region default
region default <name>
region default <null>
Parameters:
| Parameter | Description |
|---|---|
name | Name of the region to use as the default scope. |
<null> | Resets or clears the default scope region. |
Examples:
region default
region default #UK
region default <null>
Use the first command to view the current setting, the second to set a region, and the third to clear the default scope.
8. Create a New Region
Create a region and optionally specify its parent.
Command:
region put <name> [parent_name]
Parameters:
| Parameter | Description |
|---|---|
name | Name of the new region. |
parent_name | Optional parent region. Defaults to the wildcard region (*) when omitted. |
Example:
region put #UK #Europe
This creates #UK as a child of #Europe.
9. Define a Region Hierarchy on One Line
Create or update a region hierarchy using a single command.
Command:
region def <token> [<token> ...]
The command starts with a logical cursor at the wildcard region (*). Each token creates a region beneath the current cursor and moves the cursor to that region.
Token Formats
| Token format | Behaviour |
|---|---|
name | Creates name as a child of the current cursor, then moves the cursor to name. |
| `name | jump` |
name,jump | Alternative syntax for `name |
Important: The jump target must already exist on the node or have been created earlier in the same command. The jump target is where the cursor moves next; it does not become the parent of the region just created.
Example: Create a Linear Hierarchy
region def a b c d e
region save
This creates the following hierarchy:
*
└── a
└── b
└── c
└── d
└── e
Example: Create a Branched Hierarchy
region def a b c d|b e f
region save
This creates the equivalent of the following commands:
region put a
region put b a
region put c b
region put d c
region put e b
region put f e
region save
Example: Create a Flat List
To make each region a direct child of the wildcard region, use |* to return the cursor to the root between regions.
region def a|* b|* c|* d|* e|* f
region save
Example: Handle an Error
region def a b c|nope d
If nope does not exist, the command returns an error similar to:
Err - unknown jump: nope
Regions a, b, and c may already have been created before the error occurs, but d will not be created.
Recovery:
- Run
regionto inspect the current region tree. - Correct the jump target and rerun the command, or repair the hierarchy using
region removeandregion put. - Run
region savewhen the configuration is correct.
Limits and Behaviour
- Each command line is limited to 160 characters on a repeater's serial interface.
- For larger hierarchies, split the definition across multiple
region defcommands. - The cursor resets to
*at the start of each command. Use a token such aschild|ancestorto reposition it. - Each token is split at most once on
|. For example,region def a|b|c|dis not a shorthand for a flat list. - Newly created regions default to flood-allowed, matching the behaviour of
region put. - Existing regions are not automatically removed. If a region already exists, its parent is updated to the current cursor.
- Review the resulting tree before saving changes.
10. Remove a Region
Remove a region from the configuration.
Command:
region remove <name>
Parameters:
| Parameter | Description |
|---|---|
name | Name of the region to remove. |
Important: All child regions must be removed before their parent region can be removed.
Example:
region remove #London
11. View All Regions
List the configured regions, optionally filtering by their flooding permission.
Command:
region list <filter>
Parameters:
| Parameter | Description |
|---|---|
filter | Use allowed to list regions allowed to flood or denied to list regions where flooding is blocked. |
Availability: Serial only.
Firmware requirement: v1.12 or later.
Examples:
region list allowed
region list denied
12. Dump All Regions and Flood Permissions
Display all defined regions and their flooding permissions.
Command:
region
Availability: Serial only on firmware versions older than v1.12.0.
Important Notes
- Save changes: Use
region saveafter making changes you want to retain across reboots. - Region hierarchy: Indentation in
region loadand parent relationships in other commands determine how regions are organised. - Wildcard region: The
*region is used for wildcard/default behaviour, particularly for packets without region transport codes. - Flooding permissions: Use
region allowfandregion denyfto control flooding for individual regions. - Firmware compatibility: Some commands and features depend on firmware version. Check the requirements before using them.
- Review before saving: When using
region def, inspect the resulting tree, especially if a command reports an error, because partial changes may remain.