MeshCore C-Block Interlink ID System¶
MeshCore supports 1-byte Repeater IDs today. Because of this, when two cities connect you are often met with overlapping Repeater IDs, making it impossible to know message paths.
To combat this, Ottawa and Montreal have reserved the C-block IDs (C0-CF) for inter-city links. When a receiver sees a C-block ID in the message path, it knows exactly where city boundaries are and can isolate local hops from remote ones.
Reserved C-Block Ranges¶
| Range | Corridor |
|---|---|
CC - CF |
Ottawa ↔ Montreal Interlinks |
C6 - CB |
Montreal ↔ Quebec City Interlinks |
C0 - C5 |
Available for future corridors |
Step 1: Ottawa → Montreal¶
A user in Ottawa sends a message. It traverses local Ottawa repeaters, crosses the Ottawa-Montreal interlink, and arrives at Montreal's local repeaters.
AA→
AB→
AC→
CC→
CD→
AA→
AB→
AC
● Ottawa (origin)
AA Repeater, Ottawa
AB Repeater, Ottawa
AC Repeater, Ottawa
↓
● Interlink: Ottawa ↔ Montreal (CC-CF)
CC Interlink Repeater 1
CD Interlink Repeater 2
↓
● Montreal (destination)
AA Repeater, Montreal
AB Repeater, Montreal
AC Repeater, Montreal
How a Montreal user reads this path
01 — Scan the message path for any C-block IDs
02 — Found
CC, CD in the CC-CF range. The message crossed the Ottawa ↔ Montreal corridor. origin: ottawa
03 — Ignore everything above the C-block boundary. The IDs
AA, AB, AC above the interlink are Ottawa's local hops, not Montreal's, even though the IDs overlap. ignored
04 — Focus on local path below the C-block.
AA → AB → AC after the CC-CF interlink are definitively Montreal repeaters. local path
Step 2: The message continues to Quebec City¶
That same message continues from Montreal. It traverses Montreal's local repeaters, crosses the Montreal-Quebec City interlink, and arrives at Quebec City's local repeaters.
AA→
AB→
AC→
CC→
CD→
AA→
AB→
AC→
C8→
C9→
AA→
AB→
AC
● Ottawa (origin)
AA Repeater, Ottawa
AB Repeater, Ottawa
AC Repeater, Ottawa
↓
● Interlink: Ottawa ↔ Montreal (CC-CF)
CC Interlink Repeater 1
CD Interlink Repeater 2
↓
● Montreal (transit)
AA Repeater, Montreal
AB Repeater, Montreal
AC Repeater, Montreal
↓
● Interlink: Montreal ↔ Quebec City (C6-CB)
C8 Interlink Repeater 1
C9 Interlink Repeater 2
↓
● Quebec City (destination)
AA Repeater, Quebec City
AB Repeater, Quebec City
AC Repeater, Quebec City
How a Quebec City user reads this path
01 — Scan the message path for any C-block IDs
02 — Found
CC, CD in the CC-CF range. The message crossed the Ottawa ↔ Montreal corridor. origin: ottawa
03 — Found
C8, C9 in the C6-CB range. The message also crossed the Montreal ↔ Quebec City corridor. transit: montreal
04 — Ignore everything above the last C-block boundary. All IDs before
C8/C9 belong to Ottawa and Montreal. The overlapping AA, AB, AC are NOT local. ignored
05 — Focus on local path below the last C-block.
AA → AB → AC after the C6-CB interlink are definitively Quebec City repeaters. local path
ℹ️ — The presence of two C-block ranges tells the user exactly how many city boundaries the message crossed and which corridor each belongs to. Full provenance in a 1-byte ID system.