otMacCounters

#include <link.h>

表示 MAC 层计数器。

摘要

公共属性

mRxAddressFiltered
uint32_t
MAC 过滤器模块丢弃的帧总数,例如,从已列入拒绝名单的节点收到的帧总数。
mRxBeacon
uint32_t
已接收的 MAC 信标帧总数。
mRxBeaconRequest
uint32_t
收到的 MAC 信标请求帧总数。
mRxBroadcast
uint32_t
收到的广播帧总数。
mRxData
uint32_t
接收到的 MAC 数据帧总数。
mRxDataPoll
uint32_t
收到的 MAC 数据轮询帧总数。
mRxDestAddrFiltered
uint32_t
目标地址检查所丢弃的帧总数,例如接收其他节点的帧。
mRxDuplicated
uint32_t
因重复而丢失的帧总数,即收到帧时的总帧数。
mRxErrFcs
uint32_t
由于 FCS 无效而丢失的帧总数。
mRxErrInvalidSrcAddr
uint32_t
由于来源地址无效而丢弃的帧总数。
mRxErrNoFrame
uint32_t
因内容缺失或格式错误而丢弃的帧总数。
mRxErrOther
uint32_t
因其他错误而丢失的帧总数。
mRxErrSec
uint32_t
因安全错误而丢弃的帧总数。
mRxErrUnknownNeighbor
uint32_t
因未知相邻而丢失的帧总数。
mRxOther
uint32_t
收到的其他类型的帧的总数。
mRxTotal
uint32_t
已接收的帧总数。
mRxUnicast
uint32_t
收到的单播帧总数。
mTxAckRequested
uint32_t
已请求确认的唯一 MAC 帧传输请求的总数。
mTxAcked
uint32_t
已确认的唯一 MAC 帧传输请求的总数。
mTxBeacon
uint32_t
不重复的 MAC 信标帧传输请求的总数。
mTxBeaconRequest
uint32_t
不重复的 MAC 信标请求帧传输请求的总数。
mTxBroadcast
uint32_t
唯一广播 MAC 帧传输请求的总数。
mTxData
uint32_t
唯一 MAC 数据帧传输请求的总数。
mTxDataPoll
uint32_t
唯一 MAC 数据轮询帧传输请求的总数。
mTxDirectMaxRetryExpiry
uint32_t
满足直接数据包最大重试限制的唯一 MAC 传输数据包的总数。
mTxErrAbort
uint32_t
因中止错误而导致的唯一 MAC 传输请求失败的总数。
mTxErrBusyChannel
uint32_t
因繁忙信道(CSMA/CA 失败)而导致的唯一 MAC 传输请求失败的总数。
mTxErrCca
uint32_t
CCA 失败的总次数。
mTxIndirectMaxRetryExpiry
uint32_t
满足间接数据包的最大重试限制的唯一 MAC 传输数据包的总数。
mTxNoAckRequested
uint32_t
未请求确认的唯一 MAC 帧传输请求的总数。
mTxOther
uint32_t
唯一其他 MAC 帧传输请求的总数。
mTxRetry
uint32_t
MAC 重新传输尝试的总次数。
mTxTotal
uint32_t
唯一 MAC 帧传输请求的总数。
mTxUnicast
uint32_t
唯一单播 MAC 帧传输请求的总数。

公共属性

mRxAddressFiltered

uint32_t otMacCounters::mRxAddressFiltered

MAC 过滤器模块丢弃的帧总数,例如,从已列入拒绝名单的节点收到的帧总数。

mRxBeacon

uint32_t otMacCounters::mRxBeacon

已接收的 MAC 信标帧总数。

mRxBeaconRequest

uint32_t otMacCounters::mRxBeaconRequest

收到的 MAC 信标请求帧总数。

mRxBroadcast

uint32_t otMacCounters::mRxBroadcast

收到的广播帧总数。

mRxData

uint32_t otMacCounters::mRxData

接收到的 MAC 数据帧总数。

mRxDataPoll

uint32_t otMacCounters::mRxDataPoll

收到的 MAC 数据轮询帧总数。

mRxDestAddrFiltered

uint32_t otMacCounters::mRxDestAddrFiltered

目标地址检查所丢弃的帧总数,例如接收其他节点的帧。

mRxDuplicated

uint32_t otMacCounters::mRxDuplicated

因重复而丢失的帧总数,即收到帧时的总帧数。

此计数器可能会递增,例如,当接收器生成的 ACK 帧尚未到达执行重新传输的发送器节点时。

mRxErrFcs

uint32_t otMacCounters::mRxErrFcs

由于 FCS 无效而丢失的帧总数。

mRxErrInvalidSrcAddr

uint32_t otMacCounters::mRxErrInvalidSrcAddr

由于来源地址无效而丢弃的帧总数。

mRxErrNoFrame

uint32_t otMacCounters::mRxErrNoFrame

因内容缺失或格式错误而丢弃的帧总数。

mRxErrOther

uint32_t otMacCounters::mRxErrOther

因其他错误而丢失的帧总数。

mRxErrSec

uint32_t otMacCounters::mRxErrSec

因安全错误而丢弃的帧总数。

此计数器可能会递增,例如,当使用低于预期的帧计数器来加密帧时。

mRxErrUnknownNeighbor

uint32_t otMacCounters::mRxErrUnknownNeighbor

因未知相邻而丢失的帧总数。

mRxOther

uint32_t otMacCounters::mRxOther

收到的其他类型的帧的总数。

mRxTotal

uint32_t otMacCounters::mRxTotal

已接收的帧总数。

此计数器会统计平台的无线装置驱动程序报告的所有帧,包括由于 FCS 错误等丢失的帧数。

mRxUnicast

uint32_t otMacCounters::mRxUnicast

收到的单播帧总数。

mTxAckRequested

uint32_t otMacCounters::mTxAckRequested

已请求确认的唯一 MAC 帧传输请求的总数。

mTxAcked

uint32_t otMacCounters::mTxAcked

已确认的唯一 MAC 帧传输请求的总数。

mTxBeacon

uint32_t otMacCounters::mTxBeacon

不重复的 MAC 信标帧传输请求的总数。

mTxBeaconRequest

uint32_t otMacCounters::mTxBeaconRequest

不重复的 MAC 信标请求帧传输请求的总数。

mTxBroadcast

uint32_t otMacCounters::mTxBroadcast

唯一广播 MAC 帧传输请求的总数。

mTxData

uint32_t otMacCounters::mTxData

唯一 MAC 数据帧传输请求的总数。

mTxDataPoll

uint32_t otMacCounters::mTxDataPoll

唯一 MAC 数据轮询帧传输请求的总数。

mTxDirectMaxRetryExpiry

uint32_t otMacCounters::mTxDirectMaxRetryExpiry

满足直接数据包最大重试限制的唯一 MAC 传输数据包的总数。

mTxErrAbort

uint32_t otMacCounters::mTxErrAbort

因中止错误而导致的唯一 MAC 传输请求失败的总数。

mTxErrBusyChannel

uint32_t otMacCounters::mTxErrBusyChannel

因繁忙信道(CSMA/CA 失败)而导致的唯一 MAC 传输请求失败的总数。

mTxErrCca

uint32_t otMacCounters::mTxErrCca

CCA 失败的总次数。

此计数器的含义可能有所不同,具体取决于平台的无线装置驱动程序功能。

如果启用了 OT_RADIO_CAPS_CSMA_BACKOFF,则此计数器表示完全 CSMA/CA 失败尝试的总次数,并且每次重新传输时(如果 CSMA/CA 失败)都会增加 1 次。

如果启用了 OT_RADIO_CAPS_TRANSMIT_RETRIES,此计数器表示完全 CSMA/CA 失败尝试的总次数,并且针对每个数据帧请求递增 1(无论重新传输次数如何)。

mTxIndirectMaxRetryExpiry

uint32_t otMacCounters::mTxIndirectMaxRetryExpiry

满足间接数据包的最大重试限制的唯一 MAC 传输数据包的总数。

mTxNoAckRequested

uint32_t otMacCounters::mTxNoAckRequested

未请求确认的唯一 MAC 帧传输请求的总数。

mTxOther

uint32_t otMacCounters::mTxOther

唯一其他 MAC 帧传输请求的总数。

此计数器目前用于计算带外帧的数量。

mTxRetry

uint32_t otMacCounters::mTxRetry

MAC 重新传输尝试的总次数。

请注意,对于每次重新传输尝试(可能因缺少确认、CSMA/CA 失败或其他类型的传输错误而触发),此计数器都会递增 1。对于单播和广播 MAC 帧,mTxRetry 计数器都会递增。

修改以下配置参数,以控制系统中的重新传输量:

  • 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

目前,如果平台的无线装置驱动程序功能包含 OT_RADIO_CAPS_TRANSMIT_RETRIES,则此计数器无效。

mTxTotal

uint32_t otMacCounters::mTxTotal

唯一 MAC 帧传输请求的总数。

请注意,无论 CCA 失败次数、CSMA-CA 尝试次数或重新传输次数是多少,此计数器都针对每个 MAC 传输请求仅增加 1。

此递增规则适用于以下计数器:

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

下列等式有效:

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

mTxUnicast

uint32_t otMacCounters::mTxUnicast

唯一单播 MAC 帧传输请求的总数。

资源

OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源