otMacCounters

#include <link.h>

Represents the MAC layer counters.

Summary

Public attributes

mRxAddressFiltered
uint32_t
The total number of frames dropped by MAC Filter module, for example received from denylisted node.
mRxBeacon
uint32_t
The total number of MAC Beacon frames received.
mRxBeaconRequest
uint32_t
The total number of MAC Beacon Request frames received.
mRxBroadcast
uint32_t
The total number of broadcast frames received.
mRxData
uint32_t
The total number of MAC Data frames received.
mRxDataPoll
uint32_t
The total number of MAC Data Poll frames received.
mRxDestAddrFiltered
uint32_t
The total number of frames dropped by destination address check, for example received frame for other node.
mRxDuplicated
uint32_t
The total number of frames dropped due to duplication, that is when the frame has been already received.
mRxErrFcs
uint32_t
The total number of frames dropped due to invalid FCS.
mRxErrInvalidSrcAddr
uint32_t
The total number of frames dropped due to invalid source address.
mRxErrNoFrame
uint32_t
The total number of frames dropped because of missing or malformed content.
mRxErrOther
uint32_t
The total number of frames dropped due to other error.
mRxErrSec
uint32_t
The total number of frames dropped due to security error.
mRxErrUnknownNeighbor
uint32_t
The total number of frames dropped due to unknown neighbor.
mRxOther
uint32_t
The total number of other types of frames received.
mRxTotal
uint32_t
The total number of received frames.
mRxUnicast
uint32_t
The total number of unicast frames received.
mTxAckRequested
uint32_t
The total number of unique MAC frame transmission requests with requested acknowledgment.
mTxAcked
uint32_t
The total number of unique MAC frame transmission requests that were acked.
mTxBeacon
uint32_t
The total number of unique MAC Beacon frame transmission requests.
mTxBeaconRequest
uint32_t
The total number of unique MAC Beacon Request frame transmission requests.
mTxBroadcast
uint32_t
The total number of unique broadcast MAC frame transmission requests.
mTxData
uint32_t
The total number of unique MAC Data frame transmission requests.
mTxDataPoll
uint32_t
The total number of unique MAC Data Poll frame transmission requests.
mTxDirectMaxRetryExpiry
uint32_t
The total number of unique MAC transmission packets that meet maximal retry limit for direct packets.
mTxErrAbort
uint32_t
The total number of unique MAC transmission request failures cause by an abort error.
mTxErrBusyChannel
uint32_t
The total number of unique MAC transmission requests failures caused by a busy channel (a CSMA/CA fail).
mTxErrCca
uint32_t
The total number of CCA failures.
mTxIndirectMaxRetryExpiry
uint32_t
The total number of unique MAC transmission packets that meet maximal retry limit for indirect packets.
mTxNoAckRequested
uint32_t
The total number of unique MAC frame transmission requests without requested acknowledgment.
mTxOther
uint32_t
The total number of unique other MAC frame transmission requests.
mTxRetry
uint32_t
The total number of MAC retransmission attempts.
mTxTotal
uint32_t
The total number of unique MAC frame transmission requests.
mTxUnicast
uint32_t
The total number of unique unicast MAC frame transmission requests.

Public attributes

mRxAddressFiltered

uint32_t otMacCounters::mRxAddressFiltered

The total number of frames dropped by MAC Filter module, for example received from denylisted node.

mRxBeacon

uint32_t otMacCounters::mRxBeacon

The total number of MAC Beacon frames received.

mRxBeaconRequest

uint32_t otMacCounters::mRxBeaconRequest

The total number of MAC Beacon Request frames received.

mRxBroadcast

uint32_t otMacCounters::mRxBroadcast

The total number of broadcast frames received.

mRxData

uint32_t otMacCounters::mRxData

The total number of MAC Data frames received.

mRxDataPoll

uint32_t otMacCounters::mRxDataPoll

The total number of MAC Data Poll frames received.

mRxDestAddrFiltered

uint32_t otMacCounters::mRxDestAddrFiltered

The total number of frames dropped by destination address check, for example received frame for other node.

mRxDuplicated

uint32_t otMacCounters::mRxDuplicated

The total number of frames dropped due to duplication, that is when the frame has been already received.

This counter may be incremented, for example when ACK frame generated by the receiver hasn't reached transmitter node which performed retransmission.

mRxErrFcs

uint32_t otMacCounters::mRxErrFcs

The total number of frames dropped due to invalid FCS.

mRxErrInvalidSrcAddr

uint32_t otMacCounters::mRxErrInvalidSrcAddr

The total number of frames dropped due to invalid source address.

mRxErrNoFrame

uint32_t otMacCounters::mRxErrNoFrame

The total number of frames dropped because of missing or malformed content.

mRxErrOther

uint32_t otMacCounters::mRxErrOther

The total number of frames dropped due to other error.

mRxErrSec

uint32_t otMacCounters::mRxErrSec

The total number of frames dropped due to security error.

This counter may be incremented, for example when lower than expected Frame Counter is used to encrypt the frame.

mRxErrUnknownNeighbor

uint32_t otMacCounters::mRxErrUnknownNeighbor

The total number of frames dropped due to unknown neighbor.

mRxOther

uint32_t otMacCounters::mRxOther

The total number of other types of frames received.

mRxTotal

uint32_t otMacCounters::mRxTotal

The total number of received frames.

This counter counts all frames reported by the platform's radio driver, including frames that were dropped, for example because of an FCS error.

mRxUnicast

uint32_t otMacCounters::mRxUnicast

The total number of unicast frames received.

mTxAckRequested

uint32_t otMacCounters::mTxAckRequested

The total number of unique MAC frame transmission requests with requested acknowledgment.

mTxAcked

uint32_t otMacCounters::mTxAcked

The total number of unique MAC frame transmission requests that were acked.

mTxBeacon

uint32_t otMacCounters::mTxBeacon

The total number of unique MAC Beacon frame transmission requests.

mTxBeaconRequest

uint32_t otMacCounters::mTxBeaconRequest

The total number of unique MAC Beacon Request frame transmission requests.

mTxBroadcast

uint32_t otMacCounters::mTxBroadcast

The total number of unique broadcast MAC frame transmission requests.

mTxData

uint32_t otMacCounters::mTxData

The total number of unique MAC Data frame transmission requests.

mTxDataPoll

uint32_t otMacCounters::mTxDataPoll

The total number of unique MAC Data Poll frame transmission requests.

mTxDirectMaxRetryExpiry

uint32_t otMacCounters::mTxDirectMaxRetryExpiry

The total number of unique MAC transmission packets that meet maximal retry limit for direct packets.

mTxErrAbort

uint32_t otMacCounters::mTxErrAbort

The total number of unique MAC transmission request failures cause by an abort error.

mTxErrBusyChannel

uint32_t otMacCounters::mTxErrBusyChannel

The total number of unique MAC transmission requests failures caused by a busy channel (a CSMA/CA fail).

mTxErrCca

uint32_t otMacCounters::mTxErrCca

The total number of CCA failures.

The meaning of this counter can be different and it depends on the platform's radio driver capabilities.

If OT_RADIO_CAPS_CSMA_BACKOFF is enabled, this counter represents the total number of full CSMA/CA failed attempts and it is incremented by one also for each retransmission (in case of a CSMA/CA fail).

If OT_RADIO_CAPS_TRANSMIT_RETRIES is enabled, this counter represents the total number of full CSMA/CA failed attempts and it is incremented by one for each individual data frame request (regardless of the amount of retransmissions).

mTxIndirectMaxRetryExpiry

uint32_t otMacCounters::mTxIndirectMaxRetryExpiry

The total number of unique MAC transmission packets that meet maximal retry limit for indirect packets.

mTxNoAckRequested

uint32_t otMacCounters::mTxNoAckRequested

The total number of unique MAC frame transmission requests without requested acknowledgment.

mTxOther

uint32_t otMacCounters::mTxOther

The total number of unique other MAC frame transmission requests.

This counter is currently used for counting out-of-band frames.

mTxRetry

uint32_t otMacCounters::mTxRetry

The total number of MAC retransmission attempts.

Note that this counter is incremented by one for each retransmission attempt that may be triggered by lack of acknowledgement, CSMA/CA failure, or other type of transmission error. The mTxRetry counter is incremented both for unicast and broadcast MAC frames.

Modify the following configuration parameters to control the amount of retransmissions in the system:

  • OPENTHREAD_CONFIG_MAC_DEFAULT_MAX_FRAME_RETRIES_DIRECT
  • OPENTHREAD_CONFIG_MAC_DEFAULT_MAX_FRAME_RETRIES_INDIRECT
  • OPENTHREAD_CONFIG_MAC_TX_NUM_BCAST
  • OPENTHREAD_CONFIG_MAC_MAX_CSMA_BACKOFFS_DIRECT
  • OPENTHREAD_CONFIG_MAC_MAX_CSMA_BACKOFFS_INDIRECT

Currently, this counter is invalid if the platform's radio driver capability includes OT_RADIO_CAPS_TRANSMIT_RETRIES.

mTxTotal

uint32_t otMacCounters::mTxTotal

The total number of unique MAC frame transmission requests.

Note that this counter is incremented for each MAC transmission request only by one, regardless of the amount of CCA failures, CSMA-CA attempts, or retransmissions.

This increment rule applies to the following counters:

  • mTxUnicast
  • mTxBroadcast
  • mTxAckRequested
  • mTxNoAckRequested
  • mTxData
  • mTxDataPoll
  • mTxBeacon
  • mTxBeaconRequest
  • mTxOther
  • mTxErrAbort
  • mTxErrBusyChannel

The following equations are valid:

  • mTxTotal = mTxUnicast + mTxBroadcast
  • mTxTotal = mTxAckRequested + mTxNoAckRequested
  • mTxTotal = mTxData + mTxDataPoll + mTxBeacon + mTxBeaconRequest + mTxOther

mTxUnicast

uint32_t otMacCounters::mTxUnicast

The total number of unique unicast MAC frame transmission requests.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.