Skip to content
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

Add route back and SNR lists to RouteDiscovery for traceroute #563

Merged
merged 1 commit into from
Aug 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion meshtastic/mesh.options
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
*User.short_name max_size:5

*RouteDiscovery.route max_count:8
*RouteDiscovery.snr_towards max_count:8
*RouteDiscovery.snr_towards int_size:8
*RouteDiscovery.route_back max_count:8
*RouteDiscovery.snr_back max_count:8
*RouteDiscovery.snr_back int_size:8

# note: this payload length is ONLY the bytes that are sent inside of the Data protobuf (excluding protobuf overhead). The 16 byte header is
# outside of this envelope
Expand Down Expand Up @@ -67,4 +72,4 @@

*ChunkedPayload.chunk_count int_size:16
*ChunkedPayload.chunk_index int_size:16
*ChunkedPayload.payload_chunk max_size:228
*ChunkedPayload.payload_chunk max_size:228
21 changes: 18 additions & 3 deletions meshtastic/mesh.proto
Original file line number Diff line number Diff line change
Expand Up @@ -695,13 +695,28 @@ message User {
}

/*
* A message used in our Dynamic Source Routing protocol (RFC 4728 based)
* A message used in a traceroute
*/
message RouteDiscovery {
/*
* The list of nodenums this packet has visited so far
* The list of nodenums this packet has visited so far to the destination.
*/
repeated fixed32 route = 1;

/*
* The list of SNRs (in dB, scaled by 4) in the route towards the destination.
*/
repeated int32 snr_towards = 2;

/*
* The list of nodenums the packet has visited on the way back from the destination.
*/
repeated fixed32 route_back = 3;

/*
* The list of SNRs (in dB, scaled by 4) in the route back from the destination.
*/
repeated int32 snr_back = 4;
}

/*
Expand Down Expand Up @@ -1850,4 +1865,4 @@ message ChunkedPayloadResponse {
*/
resend_chunks resend_chunks = 4;
}
}
}
4 changes: 2 additions & 2 deletions meshtastic/portnums.proto
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ enum PortNum {

/*
* Provides a traceroute functionality to show the route a packet towards
* a certain destination would take on the mesh.
* a certain destination would take on the mesh. Contains a RouteDiscovery message as payload.
* ENCODING: Protobuf
*/
TRACEROUTE_APP = 70;
Expand Down Expand Up @@ -218,4 +218,4 @@ enum PortNum {
* Currently we limit port nums to no higher than this value
*/
MAX = 511;
}
}
Loading