Relaying: rebroadcast other Nodes' packets #36

Open
opened 2026-10-05 20:07:22 +00:00 by twisla · 0 comments
Owner

What

Relaying (CONTEXT.md): rebroadcast a packet heard from another Node so it travels further, as a Meshtastic Client does.

What's known

  • Meshtastic floods: a Node relays a packet it hasn't seen, with the hop limit lowered by one, unless it's 0. Duplicates are recognised by sender and packet ID (#24).
  • To keep neighbours from all relaying at once, each waits a delay that depends on how well it heard the packet: the Node that heard it worst, so is probably furthest, goes first. Hearing someone else relay it cancels ours.
  • Newer firmware adds next-hop routing for Direct Messages (the header's next hop and relay node bytes, which M3 already reads).
  • Relaying spends the Duty Cycle Budget (#32) and battery, for other people's traffic.
  • This Cardputer hears about 15 dB worse than it should (#20): a poor relay until that's understood.

Questions

  1. Relay from the first release, or a setting that's off until our own traffic is proven?
  2. Follow Meshtastic's delays exactly, or approximately?
  3. Next-hop routing: now, or flooding only?
  4. A role setting (Client, Client Mute) as Meshtastic has?

Related

CONTEXT.md (Relaying), lib/meshtastic/src/meshtastic_header.h (hop limit, next hop, relay node), #31, #32, #30, #20.

## What Relaying (CONTEXT.md): rebroadcast a packet heard from another Node so it travels further, as a Meshtastic Client does. ## What's known - Meshtastic floods: a Node relays a packet it hasn't seen, with the hop limit lowered by one, unless it's 0. Duplicates are recognised by sender and packet ID (#24). - To keep neighbours from all relaying at once, each waits a delay that depends on how well it heard the packet: the Node that heard it worst, so is probably furthest, goes first. Hearing someone else relay it cancels ours. - Newer firmware adds next-hop routing for Direct Messages (the header's next hop and relay node bytes, which M3 already reads). - Relaying spends the Duty Cycle Budget (#32) and battery, for other people's traffic. - This Cardputer hears about 15 dB worse than it should (#20): a poor relay until that's understood. ## Questions 1. Relay from the first release, or a setting that's off until our own traffic is proven? 2. Follow Meshtastic's delays exactly, or approximately? 3. Next-hop routing: now, or flooding only? 4. A role setting (Client, Client Mute) as Meshtastic has? ## Related CONTEXT.md (Relaying), `lib/meshtastic/src/meshtastic_header.h` (hop limit, next hop, relay node), #31, #32, #30, #20.
twisla added this to the M5 Mesh transmit milestone 2026-10-05 20:07:22 +00:00
twisla added the
kind
feature
area/loraarea/power
status
blocked
priority
medium
labels 2026-10-05 20:07:22 +00:00
twisla added a new dependency 2026-10-05 20:07:22 +00:00
twisla added a new dependency 2026-10-05 20:07:22 +00:00
twisla added a new dependency 2026-10-05 20:07:24 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: twisla/roro9stack#36