The sorting algorithm used to select which downlink path is to be used to transmit a downlink should take into account more than just SNR, and invalid RSSI/SNR pairs should not be given any priority.
Why is this an experimental feature ?
The algorithm change sits at the core of the Network Server, and can affect all of the downlink flow: Join Accept, MAC commands, application data downlinks. As such, we should be able to toggle it on and off on demand.
Which feature flags are associated with this feature ?
ns.down.path.use_wanted_rssi - Enable the RSSI+SNR downlink path evaluation
ns.down.path.ignore_invalid_metadata - Skip invalid RSSI+SNR pairs (give them the lowest priority, just above Packet Broker)
When should this feature be dropped, or become baseline ?
On average, if this selection scheme is more efficient, we should see less downlinks being transmitted (since MAC commands actually reach the end devices, and acknowledgements are not required).
How do you propose to test this?
Enable it and compare the baseline downlinks sent with the number of downlinks scheduled afterwards. Under the assumption of steady downlink rate, any change may be assumed to be caused by the algorithm change proposed here.
Summary
References https://github.com/TheThingsNetwork/lorawan-stack/pull/4812
The sorting algorithm used to select which downlink path is to be used to transmit a downlink should take into account more than just SNR, and invalid
RSSI/SNR
pairs should not be given any priority.Why is this an experimental feature ?
The algorithm change sits at the core of the Network Server, and can affect all of the downlink flow: Join Accept, MAC commands, application data downlinks. As such, we should be able to toggle it on and off on demand.
Which feature flags are associated with this feature ?
ns.down.path.use_wanted_rssi
- Enable the RSSI+SNR downlink path evaluationns.down.path.ignore_invalid_metadata
- Skip invalid RSSI+SNR pairs (give them the lowest priority, just above Packet Broker)When should this feature be dropped, or become baseline ?
On average, if this selection scheme is more efficient, we should see less downlinks being transmitted (since MAC commands actually reach the end devices, and acknowledgements are not required).
How do you propose to test this?
Enable it and compare the baseline downlinks sent with the number of downlinks scheduled afterwards. Under the assumption of steady downlink rate, any change may be assumed to be caused by the algorithm change proposed here.
Environment
v3.16.0