Skip to content

Transport-mode announce rebroadcast floods flow-controlled RNodes #24

Description

@rinchen

Symptom

With enable_transport, rsReticulum enqueues rebroadcasted mesh announces onto every eligible outbound interface, including flow-controlled BLE RNodes. The host TX mpsc fills while flow-control drains slowly (overnight / busy TCP mesh).

This is distinct from pathless Link flooding (#22). Established-Link bind / fail-closed unattached Link (921eac4) does not cover announce rebroadcast.

Expected

  • Rebroadcast of learned mesh announces should not enqueue onto slow LoRa / KISS-class sinks (RNode name, or bitrate under ~100 kbps). Those ifaces cannot usefully flood a TCP-connected transport leaf and they saturate the RNode TX queue.
  • Local discovery announces (broadcast_local_announce_on_interfaces) must still go out on RNode so the radio is discoverable on RF.

Where

broadcast_announce_on_interfaces in crates/rns-transport/src/actor/mod.rs — currently iterates every iface that interface_allows_announce accepts, with no RF-sink skip.

Suggested direction

Skip RF sinks for rebroadcast only, or rate-limit RF announce rebroadcast equivalently. Either would be enough to sunset mesh-client's local overlay (rsReticulum-announce-rebroadcast-exclude-rf.patch).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions