Data Response to SED after normal Thread UDP message #11613
-
|
Hello, Let's assume I have a Router and an SED device in a network. With the poll period the SED asks it's parent for new messages. The Acknowledge of the parent includes the bit that tells the SED if data is waiting or not. I always imagined that this specific ACK with the additional information is always sent by the parent no matter if the message from the SED is a data request or any other message. Now I checked some occurances of this situation and saw that a normal Thread UDP message that is sent from the SED to the parent does start this action. The waiting message is sent on the next data request instead of immediately. Is that behavior intentional or do I have to configure something in a different way to make that work? The worst thing would be that this is intentional behavior. Thanks, BR |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
@ArminBreiteneder-eaton, let me share some background/information on this. The parent of a Sleepy End Device (SED) can indicate that it has frames queued for the child by setting the "frame-pending" bit in the Ack frame sent to that child. The behavior of this feature evolved with different Thread specification versions:
You can read about this in the Thread specification, Section 3.2.6.2, "Enhanced Frame Pending." An important point is that setting the "frame-pending" bit only informs the child that a frame is queued. The child still controls when it wants to retrieve the frame. It is up to the child to send a "Data Request" (poll) to retrieve it. Here is a direct quote from the specification:
This is already implemented and supported by OpenThread (when built as Thread version 1.2 or later):
|
Beta Was this translation helpful? Give feedback.
@ArminBreiteneder-eaton, let me share some background/information on this.
The parent of a Sleepy End Device (SED) can indicate that it has frames queued for the child by setting the "frame-pending" bit in the Ack frame sent to that child.
The behavior of this feature evolved with different Thread specification versions:
In Thread 1.1 and earlier, the parent would only set the "frame-pending" bit in the Ack sent in response to a "Data Request" (poll) frame from the child.
Thread 1.2 (and later) introduced the "Enhanced Frame Pending" mechanism. With this enhancement, the parent must set the "frame-pending" bit in the Ack not only for a "Data Request" but also in response to a regular …