ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
通过查看 MAC 统计信息可以了解 DUT 和链路伙伴之间是否存在错误,从而验证以太网数据包的基本发送和接收是否成功。请注意,即使发生了数据包的基本发送和接收,也可能存在限制网络吞吐量的错误。本节将讨论一些错误和解决方案。
通过查看 MAC 统计信息可以了解发送、接收的数据包数以及因错误而丢弃的数据包数。请注意,MAC 统计信息是直接在接口上监视数据包的结果。
检查接口统计信息时无需分析单个数据包的粒度。需要注意的主要行为是 RX 和 TX 正常帧计数递增,以及确认未检测到 CRC、对齐等错误。
递增 TX 和 RX 正常帧统计信息寄存器表明在 MAC 和 PHY 之间发送和接收数据包的行为正常。这也表明 MAC-PHY TX 和 RX 时钟的行为正常。
如果 MAC 统计信息错误计数器不断增加,则表明数据包在接口上不断丢弃。例如,RX CRC 错误计数器为非零值表明接收到的数据包具有 CRC 校验和错误,因此在接口上丢弃了这些数据包。
以下 MAC 统计信息适用于 TI EVM 直接连接另一电路板(通过在两个链路伙伴之间连接以太网电缆)的情况。两个链路伙伴的任一链路都没有运行 DHCP 服务器来动态分配 IP 地址。如节 3所述,无需获取 IP 地址即可检查数据包流量。在检查此层级的流量时,关键在于确定在基本数据包发送和接收期间没有观察到错误。
一旦检测到接口上有链路为 up 状态并初始化了 MAC 驱动程序,便会启动网络通信以尝试获取 IP 地址。以下 TX 和 RX 就是此网络通信的结果,表示已发送和接收的数据包数量。
具体来说,MAC 统计信息中的 TX 数据包数量的示例信息片段是两个链路伙伴之间连接以太网电缆的结果。一旦检测到接口上有链路为 up 状态,Linux 内核便会尝试获取 IP 地址。tx_broadcast_frames 统计信息中报告的一些帧是来自 DUT 的 DHCP 请求帧,用于获取 IPv4 地址。此外,如果 tx_good_frames 统计信息在递增,这充分表明数据包已从 DUT 的 MAC 发送到线路上。
A portion of an example ethool -S <interface> output showing the TX MAC statistics:
tx_good_frames: 19
tx_broadcast_frames: 2
tx_multicast_frames: 17
根据 MAC 统计信息中的以下 RX 结果可以看出,在连接以太网电缆后也接收到数据包。这些特定统计信息表明 MAC 正确接收了一些数据包。在此示例中,没有为平台分配 IP 地址。在此层级,使用的实际以太网协议并不重要。主要目标是确认未接收到损坏的数据包以及正确发送了数据包。
A portion of an example ethtool -S <interface name> output showing RX MAC statistics:
rx_good_frames: 104
rx_broadcast_frames: 10
rx_multicast_frames: 94
下一个示例详细介绍了 MAC 统计信息中的 RX 错误结果。这里没有检测到错误。但是,如果这些错误统计信息在递增,则表明存在导致数据包在接口上被丢弃的特定错误。对于用作 DUT 的米6体育平台手机版_好二三四 (TI) 处理器,每个 MAC 统计信息计数器的定义可在特定处理器的相应技术参考手册 (TRM) 中找到。
Portion of sample ethtool -S <interface name> showing RX error statistics:
rx_crc_errors: 0
rx_align_code_errors: 0
rx_oversized_frames: 0
rx_jabber_frames: 0
rx_undersized_frames: 0
调试建议:
章节摘要:
ethtool -S <interface name>
结果提供了有关发送和接收过程的数据。ethtool
查看,无需获取 IP 地址。