Tom Fifield b0e8321514 Only send Neighbours if we have some to send. (#7493)
* Only send Neighbours if we have some to send.

The original intent of NeighborInfo was that when a NeighbourInfo
was sent all of the nodes that saw it would reply with NeighbourInfo.
So, NeighbourInfo was sent even if there were no hop-zero nodes in
the NodeDB.

Since 2023, when this was implemented, our understanding of running city-wide
meshes has improved substantially. We have taken steps to reduce the impact
of NeighborInfo over LoRa.

This change aligns with those ideas: we will now only send NeighborInfo
if we have some neighbors to contribute.

The impact of this change is that a node must first see another directly
connected node in another packet type before NeighborInfo is sent. This means
that a node with no neighbors is no longer able to trigger other nodes
to broadcast NeighborInfo. It will, however, receive the regular periodic
broadcast of NeighborInfo, and will be able to send NeighborInfo if it
has at least 1 neighbor.

* Include all the things

* AvOid memleak
2025-08-28 18:45:46 -05:00
2025-08-19 11:30:19 -05:00
2025-08-26 06:31:38 -05:00
2025-08-27 06:02:54 -05:00
2021-10-09 17:15:12 +11:00
2024-09-24 15:24:08 -05:00
2025-08-20 05:53:20 -05:00
2025-08-27 15:18:26 -05:00
2024-11-28 06:26:51 -06:00
2024-09-04 15:33:28 -07:00
2025-06-19 20:35:40 -05:00
2025-01-13 12:24:05 +08:00
2025-05-07 06:28:18 -05:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt

Languages
C++ 67.2%
C 30.9%
Python 1.1%
Shell 0.3%
Batchfile 0.3%
Other 0.1%