Hello,
We are using the SimpleLink CC13x2 26x2 SDK 4.20.01.04 stack and have a deployment with several dozen routers in a small space (high congestion) periodically send data to the coordinator. APS acknowledgments are disabled.
We are seeing a lot of route discoveries taking place in the sniffer capture (not continuously, but much more regularly than we would like). Just prior to most of these route discoveries, a middle hop in a route sends a Network Status packet back to a message originator, either with a "Non-tree Link Failure" or a "No Route Available" status code, and the message originator sends a route discovery broadcast to create a new route. The middle hop did have a good route though - it was routing packets to the coordinator just fine before it sent the Network Status packet to one of the message originators.
I'm speculating that if the middle-hop router fails to receive a MAC ACK from the coordinator, it sends a Network Status packet back to the message originator. Further, if the message originator receives a Network Status packet indicating an error, I'm speculating that it sends a route discovery broadcast to create a new route. Is that accurate?
If this is the case, we would like to make the network much more tolerant of packet failures and not request a new route because a single packet failed.
We found the MAX_MISSING_MAC_ACK_LINK_FAILURE define. Does this value also set the number of MAC retries? If not, I assume if we changed the MAX_MISSING_MAC_ACK_LINK_FAILURE from 3 to 21, then the middle hop router might not send the Network Status packet until 7 different packets failed?? If that is not correct, does anyone know what this value does?
Are there any other stack values we could change in our routers that would cause them to be more tolerant of packet failures and not request a new route if one packet (3 retries) fails?