Add original hop limit to header to determine hops used - #3321
Merged
Conversation
Contributor
🤖 Pull request artifactsempty string
|
thebentern
added a commit
to meshtastic/artifacts
that referenced
this pull request
Mar 3, 2024
thebentern
approved these changes
Mar 3, 2024
thebentern
reviewed
Mar 3, 2024
thebentern
approved these changes
Mar 3, 2024
GUVWAF
added a commit
to GUVWAF/Meshtastic-device
that referenced
this pull request
Mar 20, 2024
…tastic#3321)" This reverts commit 585805c.
jeek
pushed a commit
to jeek/Meshtastic-Exploiteers-Hacker-Pager
that referenced
this pull request
Jun 30, 2026
) * Set `hop_start` in header to determine how many hops each packet traveled * Set hopLimit of response according to hops used by request * Identify neighbors based on `hopStart` and `hopLimit` * NeighborInfo: get all packets and assume a default broadcast interval * Add fail-safe in case node in between is running modified firmware * Add `viaMQTT` and `hopsAway` to NodeInfo * Replace `HOP_RELIABLE` with hopStart for repeated packet --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds the original hop limit of a packet (
hopStart) to the unencrypted header using the three remaining bits such that we can derive with how many hops each packet was received. This will be saved in the NodeInfo ashopsAway. AlsoviaMQTTis now saved in the NodeInfo.Using this, we can adapt the
hopLimitof a response and real ACK to more or less hops if needed. This is implemented withRoutingModule::getHopLimitForResponse(). If the amount of hops used for the request was more than our setting, we use the amount of hops that was used for the request. When it used less than our setting, I chose a margin of 2 more hops for the response in case the path back is different.This also allows us to determine neighbors even if others don’t have the NeighborInfo Module enabled, which is implemented as well.
Closes #3239.