-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create 2024-03-28-MQTT_Default_Presets #9
Open
b8b8
wants to merge
1
commit into
meshtastic:main
Choose a base branch
from
b8b8:patch-1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+61
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
|
||
Start Date: 2024-03-28 | ||
RFC PR: Meshtastic/rfcs#0000 | ||
Affected Components: (e.g., Firmware, all clients) | ||
#Summary | ||
Currently, many people turn on the MQTT settings and unknowingly flood the local mesh with traffic while also uploading other people's traffic to the internet. My proposal is that a second set of modem presets are used for this. This will force a segregation between the people that want to use the online features and those that don’t by default. RF packets on this new setting would still be meshed to other users with this same setting but with these users only, thereby not piggybacking on the default long/fast mesh. | ||
|
||
#Motivation | ||
[Why are we doing this? What problem does it solve or what use cases does it support? Discuss the benefits for the different components of the Meshtastic ecosystem, including end-users, developers, and core maintainers.] | ||
A single user can currently flood the local public network with out-of-region traffic that gets propagated through the mesh, cluttering up maps and reducing limited bandwidth on long/fast. By focusing on modem presets tailored to higher traffic (and shorter range) this new mesh can more easily handle the influx of traffic. The shorter range will be compensated for by the assumption that there will be more like-minded people in each region passing on the traffic to MQTT. | ||
|
||
#Ecosystem Impact | ||
[Explain how this change will affect the various components of the Meshtastic ecosystem, including firmware, phone, desktop, and web applications. Address any coordination required among these components.] | ||
The two separate "default" meshes in each region will have incompatible modem settings. | ||
Private channel settings won’t be affected. | ||
No hardware or application changes other than setting the new modem preset which will enforce MQTT traffic off the default long/fast preset. | ||
|
||
|
||
#Protocol Buffer Changes | ||
[Detail the changes proposed to Meshtastic's protocol buffer definitions, if any. Explain how these changes will be managed and propagated across the different applications and firmware.] | ||
None. | ||
|
||
#Technical Details | ||
[Provide a more in-depth technical explanation of the proposed changes, focusing on the high-level architecture and how different components of the ecosystem will interact with these changes. This section should explain your proposed solution in enough detail that someone familiar with the Meshtastic ecosystem can understand the design and implementation of the feature.] | ||
None required. There will just be new modem presets when MQTT is turned on. Short/Fast or Medium/Fast would be good candidates. | ||
|
||
#Compatibility Considerations | ||
[Discuss how the proposed changes will affect backward compatibility across the ecosystem. Include strategies for handling compatibility issues. Discuss whether this change requires any version bumps.] | ||
All users wanting to continue to use MQTT will need to update to the latest firmware and the their local RF mesh will lose range (at the expense of increased bandwidth) so additional RF nodes may be required for the same coverage where internet is not available to fall back to. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can't enforce this for people running older firmware. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @GUVWAF There is a non-elegant way we can, sort of. Will talk to you offline. |
||
|
||
#Security Considerations | ||
[Address any security implications of the proposed changes, especially those that might arise from modifications in protocol buffers and cross-component communication.] | ||
None | ||
|
||
#Performance Considerations | ||
[Evaluate how the change will impact the performance of various components in the ecosystem, including the efficiency and responsiveness of Meshtastic devices and applications.] | ||
The performance of MQTT users would be increased as they have more available bandwidth. | ||
Performance of Non-MQTT (default long/fast) would be increased as there would be no out of region packets passed along the public mesh. | ||
|
||
#Drawbacks | ||
[Discuss the potential downsides or limitations of the proposal. Why might this change be controversial or challenging to implement?] | ||
The new setup wouldn’t allow piggybacking off the established long/fast networks in different regions. The new setup would lock MQTT users out of local RF only user's network. | ||
|
||
#Rationale and Alternatives | ||
Disable MQTT by default on all channels but allow an override with a warning pop-up that they may flood the local mesh with traffic. | ||
|
||
#Why is this approach the best option? | ||
People wanting to talk over the internet are now able to only talk and view data from others thinking the same. People wanting local mesh only do not have to deal with increased traffic. | ||
|
||
#What other solutions were considered, and why were they not chosen? | ||
N/A | ||
|
||
#What would be the impact of not implementing this change? | ||
Continued increased traffic on long/fast, unconsented traffic sent to the internet possibly by default. | ||
|
||
#What aspects of the proposal need further discussion or exploration during the RFC process? | ||
Whether or not this should pertain to all default modem setups thereby MQTT only working with private meshes or just the default long/fast public preset. | ||
|
||
#Are there technical challenges or uncertainties that need to be addressed? | ||
Probably not. | ||
|
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The modem preset applies to all channels, so if someone has LongFast with MQTT downlink enabled, also private channels will be affected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do this only if they are using the public key? Nobody really uses the other presets.