Comments (7)
Sounds like a very good idea to me.
from firmware.
I see two issues with dropping them:
- it's hard to debug, you raise your hop limit and things starts not working because your neighbors configured it, you don't get any error message and it still kinda work, as zero-hop messages, so it's flaky and extremely hard to debug.
- it actually promote worst routing topologies, because you don't relay the message other nodes in the mesh that are closer and in worst position to relay the message might relay the message instead. Relaying with a lower number will make anyone else who heard the original 7 hop and your 3 hop relay, cancel their own relay attempt.
from firmware.
A solution with less knobs could be to compute the next hop as min(msg.current_hop -1, node.hop_limit)
so if you have MAX_HOP set to 3 and you receive a message with 6, you would relay with 3.
from firmware.
A solution with less knobs could be to compute the next hop as
min(msg.current_hop -1, node.hop_limit)
so if you have MAX_HOP set to 3 and you receive a message with 6, you would relay with 3.
Possibly. But if big-hop packets were simply dropped and not forwarded by nodes using the option I suggested it might encourage people not to use mesh-unfriendly settings in the first place. Although I do understand that in a few very special circumstances using a large hop count might be beneficial. So in those areas people could simply leave the option unticked.
from firmware.
This is similar to #3833
from firmware.
This is similar to #3833
Indeed. Although of course a repeater with ‘don’t decrypt’ enabled (as most routers seem to be) won’t do this. But I was thinking more of general nodes in the mesh, as opposed to routers and repeaters.
from firmware.
@Jorropo Has two valid points as to why this would not be desirable.
With the next-hop router (#2856), excess rebroadcasts due to high hop limits will be avoided for DMs already. Furthermore, already now the hop limit for ACKs and responses will be dynamically adapted based on the amount of hops that was required.
I'm converting this into a discussion. Don't think it's needed to implement this in the firmware. In my opinion you should either educate the people using your public mesh, or move to a private one. The hop limit is only one configuration setting that users can set wrongly/too aggressive. Enabling MQTT downlink or setting high update intervals for telemetry, position, etc. are also very important factors that contribute to the channel utilization.
from firmware.
Related Issues (20)
- [Bug]: ESP32-S3 Boards with Native USB Not Booting without USB Host Serial HOT 7
- Nano G2 Ultra doesn't shows direct message HOT 2
- [Feature Request]: Root topic by channel or similar solution … HOT 5
- [Bug]: When trrying to compile rak11310 it errors out. HOT 1
- [Feature Request]: add trackerd to CI/CD compilation
- [Feature Request]: Stronger cryptographic guarantees and discussion of threat model
- [Bug]: Lillygo T-Lora T3S3 stuck in reboot un update HOT 1
- [Bug]: missing integrity checks let attacker forge arbitrary message content using a known plaintext attack and replaying messages even when PSK is not known HOT 4
- [Bug]: nonces are only randomized with 31 bits, this make it rare but possible to see duplicated nonces in the wild threatening confidentiality of messages HOT 3
- [Bug]: Screen reverting back to last message after setFrame reload HOT 6
- [Bug]: rak4631 no lock on GPS results in shutdown at first position broadcast interval HOT 2
- [Bug]: Telemetry Module Issues BME680 on Heltec V3 HOT 3
- [Bug]: MQTT messages bug on Android and WWW
- [Bug]: Altitude problems in Android app and in MQTT HOT 3
- [Bug]: [RadioIf] Can not send yet, busyRx HOT 7
- [Bug]: uBlox M10 GPS doesn't sleep if device is switched off HOT 4
- Mystery led flashing after upgrade to ver 2.3.11 [Bug]: HOT 13
- [Bug]: WiFi MQTT Not Working After Enabling Bluetooth MQTT Proxy on Phone HOT 7
- [Bug]: heltec-wsl-v3 / can't compile - ButtonThread.cpp.o HOT 2
- [Bug]: Odd behavior of GPS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firmware.