低延迟以太网10G MAC用户指南

ID 683426
日期 10/31/2016
Public
文档目录

4.11. 统计寄存器

带有前缀tx_的统计计数器收集TX数据路径上的统计数据;带有前缀rx_的统计计数器收集RX数据路径上的统计数据。计数器收集下列帧的统计数据:

  • 良好帧 — 具有有效帧长度的无错误帧。
  • 错误帧 — 包含错误的帧或具有无效帧长度的帧。
  • 无效帧—MAC IP核或其当前配置不支持的帧。例如,若配置MAC接收所有单播帧,则认为单播帧有效,由于地址过滤被禁用。MAC丢弃无效帧。

大多数统计计数器为36比特宽并占据2个偏移量。用户应用程序必须首先读取较低32位,接着再读取较高4位。

  • 较低32位的计数器会占用第一个偏移。
  • 较高4位的计数器会占用第二个偏移的位3:0。
  • 第二个偏移处的位31:5处于保留状态。

使用统计计数器时,考量下列指导原则:

  • MAC IP核接收或发送背对背过小帧时,基于存储器的统计计数器可能不准确。TX数据路径上,可使能padding以避免这种情况。过小帧是小于64字节的帧。
  • 当TX和RX数据路径正在复位时,不要访问统计计数器。否则将导致无法预知的后果。

表 28.  TX和RX统计寄存器
字偏移量 寄存器名称 说明 访问权限 HW复位值
0x0140 tx_stats_clr
  • Bit 0—将此寄存器设置为1以清零所有TX统计计数器。所有计数器被清零后,IP核清零该位。
  • Bits 31:1—保留。
RWC 0x0
0x01C0 rx_stats_clr
  • Bit 0—将此寄存器设置为1以清零所有RX统计计数器。所有计数器被清零后,IP核清零该位。
  • Bits 31:1—保留。
RWC 0x0
0x0142 tx_stats_framesOK 36-bit统计计数器,收集成功接收或发送的帧数目,包括控制帧。 RO 0x0
0x0143
0x01C2 rx_stats_framesOK
0x01C3
0x0144 tx_stats_framesErr 36-bit统计计数器,收集接收或发送的错误帧的数目,包括控制帧。 RO 0x0
0x0145
0x01C4 rx_stats_framesErr
0x01C5
0x01C6 rx_stats_framesCRCErr 36-bit统计计数器,收集具有CRC错误的RX帧的数目。 RO 0x0
0x01C7
0x0148 tx_stats_octetsOK 64-bit统计计数器,收集负载长度,包括控制帧中的字节。载荷长度是被接收或被发送的数据和填充字节的数目。如果tx_vlan_detection[0]rx_vlan_detection[0]寄存器位被设置为1,则VLAN和堆栈式VLAN标签分别计作TX载荷或RX载荷的一部分。 RO 0X0
0X0149
0x01C8 rx_stats_octetsOK
0x01C9
0x014A tx_stats_pauseMACCtrl_Frames 36-bit统计计数器,收集接收或发送的有效暂停帧的数目。 RO 0x0
0x014B
0x01CA rx_stats_pauseMACCtrl_Frames
0x01CB
0x014C tx_stats_ifErrors 36-bit统计计数器,收集接收或发送的无效帧以及有错误的帧的数目。 RO 0X0
0x014D
0x01CC rx_stats_ifErrors
0x01CD
0x014E tx_stats_unicast_FramesOK 36-bit统计计数器,收集接收或发送的良好的单播帧数量,不包括控制帧。 RO 0X0
0x014F
0x01CE rx_stats_unicast_FramesOK
0x01CF
0X0150 tx_stats_unicast_FramesErr 36-bit统计计数器,收集接收或发送的具有错误的单播帧数量,不包括控制帧。 RO 0X0
0X0151
0x01D0 rx_stats_unicast_FramesErr
0x01D1
0X0152 tx_stats_multicast_FramesOK 36-bit统计计数器,收集接收或发送的良好的组播帧数量,不包括控制帧。 RO 0X0
0X0153
0x01D2 rx_stats_multicast_FramesOK
0x01D3
0x0154 tx_stats_multicast_FramesErr 36-bit统计计数器,收集接收或发送的有错误的组播帧数量,不包括控制帧。 RO 0x0
0x0155
0x01D4 rx_stats_multicast_FramesErr
0x01D5
0x0156 tx_stats_broadcast_FramesOK 36-bit统计计数器,收集接收或发送的良好的广播帧数量,不包括控制帧。 RO 0x0
0x0157
0x01D6 rx_stats_broadcast_FramesOK
0x01D7
0X0158 tx_stats_broadcast_FramesErr 36-bit统计计数器,收集接收或发送的具有错误的广播帧数量,不包括控制帧。 RO 0x0
0x0159
0x01D8 rx_stats_broadcast_FramesErr
0x01D9
0x015A tx_stats_etherStatsOctets 64-bit统计计数器,收集接收或发送的八位字节(octets)的总数目。该计数包括良好,错误的以及无效帧。 RO 0x0
0x015B
0x01DA rx_stats_etherStatsOctets
0x01DB
0x015C tx_stats_etherStatsPkts 36-bit统计计数器,收集接收或发送的良好帧、出错帧和无效帧的总数量。 RO 0X0
0x015D
0x01DC rx_stats_etherStatsPkts
0x01DD
0x015E tx_stats_etherStatsUndersizePkts 36-bit统计计数器,收集过小TX或RX帧的数量。 RO 0x0
0x015F
0x01DE rx_stats_etherStatsUndersizePkts
0x01DF
0x0160 tx_stats_etherStatsOversizePkts 36-bit统计计数器,收集其长度超过指定最大帧长度的TX或RX帧的数量。 RO 0x0
0x0161
0x01E0 rx_stats_etherStatsOversizePkts
0x01E1
0x0162 tx_stats_etherStatsPkts64Octets 36-bit统计计数器,收集64-byte TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0x0
0x0163
0x01E2 rx_stats_etherStatsPkts64Octets
0x01E3
0x0164 tx_stats_etherStatsPkts65to127Octets 36-bit统计计数器,收集长度介于65至127-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0x0
0x0165
0x01E4 rx_stats_etherStatsPkts65to127Octets
0x01E5
0x0166 tx_stats_etherStatsPkts128to255Octets 36-bit统计计数器,收集长度介于128至255-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0x0
0x0167
0x01E6 rx_stats_etherStatsPkts128to255Octets
0x01E7
0x0168 tx_stats_etherStatsPkts256to511Octets 36-bit统计计数器,收集长度介于256至511-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0X0
0x0169
0x01E8 rx_stats_etherStatsPkts256to511Octets
0x01E9
0x016A tx_stats_etherStatsPkts512to1023Octets 36-bit统计计数器,收集长度介于512至1,023-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0x0
0x016B
0x01EA rx_stats_etherStatsPkts512to1023Octets
0x01EB
0x016C tx_stats_etherStatPkts1024to1518Octets 36-bit统计计数器,收集长度介于1,024至1,518-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0X0
0x016D
0x01EC rx_stats_etherStatPkts1024to1518Octets
0x01ED
0x016E tx_stats_etherStatsPkts1519toXOctets 36-bit统计计数器,收集长度介于大于或等于1,519-byte的TX或RX帧的数量,包括CRC字段,但不包括前导码和SFD字节。该计数包括良好的,有错误的以及无效帧。 RO 0x0
0x016F
0x01EE rx_stats_etherStatsPkts1519toXOctets
0x01EF
0x01F0 rx_stats_etherStatsFragments 36-bit统计计数器,收集长度小于64字节以及具有CRC错误的RX帧的总数量。 RO 0x0
0x01F1
0x01F2 rx_stats_etherStatsJabbers 36-bit统计计数器,收集超大以及具有CRC错误的RX帧的数量。 RO 0x0
0x01F3
0x01F4 rx_stats_etherStatsCRCErr 36-bit统计计数器,收集其长度在64和寄存器中所指定最大帧长度之间且具有CRC错误的RX帧的数量。MAC不会丢弃这些帧。 RO 0x0
0x01F5
0x0176 tx_stats_unicastMACCtrlFrames 36-bit统计计数器,收集有效TX或RX单播控制帧的数量。 RO 0x0
0x0177
0x01F6 rx_stats_unicastMACCtrlFrames
0x01F7
0x0178 tx_stats_multicastMACCtrlFrames 36-bit统计计数器,收集有效TX或RX组播控制帧的数量。 RO 0x0
0x0179
0x01F8 rx_stats_multicastMACCtrlFrames
0x01F9
0x017A tx_stats_broadcastMACCtrlFrames 36-bit统计计数器,收集有效TX或RX广播控制帧的数量。 RO 0x0
0x017B
0x01FA rx_stats_broadcastMACCtrlFrames
0x01FB
0x017C tx_stats_PFCMACCtrlFrames 36-bit统计计数器,收集有效TX或RX PFC帧的数量。 RO 0x0
0x017D
0x01FC rx_stats_PFCMACCtrlFrames
0x01FD