otRadioFrame Struct Reference

This structure represents an IEEE 802.15.4 radio frame.

#include <include/openthread/platform/radio.h>

Public Attributes

uint8_t * mPsdu
 The PSDU.
 
uint16_t mLength
 Length of the PSDU.
 
uint8_t mChannel
 Channel used to transmit/receive the frame.
 
uint8_t mRadioType
 Radio link type - should be ignored by radio driver.
 
union {
   struct {
      const otMacKey *   mAesKey
 The key used for AES-CCM frame security.
 
      otRadioIeInfo *   mIeInfo
 The pointer to the Header IE(s) related information.
 
      uint32_t   mTxDelay
 The delay time for this transmission (based on mTxDelayBaseTime).
 
      uint32_t   mTxDelayBaseTime
 The base time for the transmission delay.
 
      uint8_t   mMaxCsmaBackoffs
 Maximum number of backoffs attempts before declaring CCA failure.
 
      uint8_t   mMaxFrameRetries
 Maximum number of retries allowed after a transmission failure.
 
      otMacKeyRef   mAesKeyRef
 The key reference used for AES-CCM frame security.
 
      bool   mIsARetx: 1
 Indicates whether the frame is a retransmission or not.
 
      bool   mCsmaCaEnabled: 1
 Set to true to enable CSMA-CA for this packet, false otherwise.
 
      bool   mCslPresent: 1
 Set to true if CSL header IE is present.
 
      bool   mIsSecurityProcessed: 1
 True if SubMac should skip the AES processing of this frame.
 
   }   mTxInfo
 Structure representing radio frame transmit information.
 
   struct {
      uint64_t   mTimestamp
 The timestamp when the frame was received in microseconds.
 
      uint32_t   mAckFrameCounter
 ACK security frame counter (applicable when mAckedWithSecEnhAck is set).
 
      uint8_t   mAckKeyId
 ACK security key index (applicable when mAckedWithSecEnhAck is set).
 
      int8_t   mRssi
 Received signal strength indicator in dBm for received frames.
 
      uint8_t   mLqi
 Link Quality Indicator for received frames.
 
      bool   mAckedWithFramePending: 1
 This indicates if this frame was acknowledged with frame pending set.
 
      bool   mAckedWithSecEnhAck: 1
 This indicates if this frame was acknowledged with secured enhance ACK.
 
   }   mRxInfo
 Structure representing radio frame receive information.
 
mInfo
 The union of transmit and receive information for a radio frame.

This structure represents an IEEE 802.15.4 radio frame.

Member Data Documentation

◆ mIsARetx

bool otRadioFrame::mIsARetx

Indicates whether the frame is a retransmission or not.

If the platform layer does not provide OT_RADIO_CAPS_TRANSMIT_SEC capability, it can ignore this flag.

If the platform provides OT_RADIO_CAPS_TRANSMIT_SEC capability, then platform is expected to handle tx security processing and assignment of frame counter. In this case the following behavior is expected:

When mIsARetx is set, it indicates that OpenThread core has already set the frame counter and key id (if security is enabled) in the prepared frame. The counter is ensured to match the counter value from the previous attempts of the same frame. The platform should not assign or change the frame counter (but may still need to perform security processing depending on mIsSecurityProcessed flag).

If mIsARetx is not set, then the frame counter and key id are not set in the frame by OpenThread core and it is the responsibility of the radio platform to assign them. The platform should update the frame (assign counter and key id) even if the transmission gets aborted or fails (e.g., channel access error).

◆ mTimestamp

uint64_t otRadioFrame::mTimestamp

The timestamp when the frame was received in microseconds.

The value SHALL be the time when the SFD was received when TIME_SYNC or CSL is enabled. Otherwise, the time when the MAC frame was fully received is also acceptable.


The documentation for this struct was generated from the following file:
  • include/openthread/platform/radio.h