This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Prioritizing MLE traffic on nRF52840 board

I'm writing an application that transmits data over a mesh network of nRF52840 microcontrollers using OpenThread.  I'd like the microcontrollers to prioritize sending MLE traffic over user/application data.  Is there a way to set priorities for different types of network traffic?  I'm using the nRF Connect SDK.  Thanks!

Parents Reply
  • It doesn't look like it is excluded. I wasn't aware. Have you tested it? I am not sure how this is used. Whether it is used to prioritize what messages to send from one device or whether it is used to prioritize messages in the network in total. I don't imagine it is the last one, since another device can't know whether or not to hold on it's packet, because it doesn't know whether other nodes have any more important messages.

    All nodes in a thread network will listen in to check that there are no ongoing messages before they transmit themselves. So if another node is spamming the network at all times, it will not find a slot to send the message, regardless of that message's priority. At least as far as my understanding goes.

Children
  • Thanks for your reply; I haven't had the chance to properly test the otMessagePriority enumeration, but I wanted to update this ticket to add that I found that in mle.cpp, NewMleMessage creates messages with a priority level of kPriorityNet, which is a level higher than OT_MESSAGE_PRIORITY_HIGH.  So I believe the answer to my original question is that MLE messages are already prioritized over other messages, unless otherwise specified.

Related