Replies: 1 comment
-
|
No feedback? No comments? Bad idea? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Add an optional feature to automatically prune stale nodes from the NodeDB to improve routing efficiency and reduce clutter in busy meshes. This is especially useful for fixed routers that should ignore transient or “drive-by” nodes.
Why This Is Needed
Routing stability: Ephemeral nodes cause frequent route recalculations and wasted airtime.
Flash conservation: Prevent NodeDB from growing indefinitely.
Mesh hygiene: Keeps routing tables clean and predictable.
Router specialization: Allows backbone nodes to focus on reliable participants.
Proposed Behavior
Nodes are pruned if:They have been heard ≤ prune_min_hear_count times (default: 1)
They have not been heard for prune_hours (default: 50 hours ≈ 2 days)
Failsafe conditions:Skip pruning if NodeDB has fewer than prune_min_nodes (default: 5)
Skip pruning during first prune_grace_hours after boot (default: 6)
Router protection: Do not prune nodes with ROUTER role by default.
Schedule: Run pruning once per day during housekeeping.
Configuration Interface
Expose new fields in DeviceConfig (protobuf):
CLI examples:
##Short Code Snippet
Here’s an example of where pruning logic hooks into housekeeping:
Benefits
Keeps NodeDB clean without breaking routing tables.
Fully configurable for different mesh types (public vs sensor-heavy).
Safe defaults and failsafe mechanisms prevent accidental over-pruning.
Source
This feature request was a collaboration using ChatGPT, conversation PDF available on request.
Beta Was this translation helpful? Give feedback.
All reactions