ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
通過查看 MAC 統(tǒng)計信息可以了解 DUT 和鏈路伙伴之間是否存在錯誤,從而驗證以太網數(shù)據(jù)包的基本發(fā)送和接收是否成功。請注意,即使發(fā)生了數(shù)據(jù)包的基本發(fā)送和接收,也可能存在限制網絡吞吐量的錯誤。本節(jié)將討論一些錯誤和解決方案。
通過查看 MAC 統(tǒng)計信息可以了解發(fā)送、接收的數(shù)據(jù)包數(shù)以及因錯誤而丟棄的數(shù)據(jù)包數(shù)。請注意,MAC 統(tǒng)計信息是直接在接口上監(jiān)視數(shù)據(jù)包的結果。
檢查接口統(tǒng)計信息時無需分析單個數(shù)據(jù)包的粒度。需要注意的主要行為是 RX 和 TX 正常幀計數(shù)遞增,以及確認未檢測到 CRC、對齊等錯誤。
遞增 TX 和 RX 正常幀統(tǒng)計信息寄存器表明在 MAC 和 PHY 之間發(fā)送和接收數(shù)據(jù)包的行為正常。這也表明 MAC-PHY TX 和 RX 時鐘的行為正常。
如果 MAC 統(tǒng)計信息錯誤計數(shù)器不斷增加,則表明數(shù)據(jù)包在接口上不斷丟棄。例如,RX CRC 錯誤計數(shù)器為非零值表明接收到的數(shù)據(jù)包具有 CRC 校驗和錯誤,因此在接口上丟棄了這些數(shù)據(jù)包。
以下 MAC 統(tǒng)計信息適用于 TI EVM 直接連接另一電路板(通過在兩個鏈路伙伴之間連接以太網電纜)的情況。兩個鏈路伙伴的任一鏈路都沒有運行 DHCP 服務器來動態(tài)分配 IP 地址。如節(jié) 3所述,無需獲取 IP 地址即可檢查數(shù)據(jù)包流量。在檢查此層級的流量時,關鍵在于確定在基本數(shù)據(jù)包發(fā)送和接收期間沒有觀察到錯誤。
一旦檢測到接口上有鏈路為 up 狀態(tài)并初始化了 MAC 驅動程序,便會啟動網絡通信以嘗試獲取 IP 地址。以下 TX 和 RX 就是此網絡通信的結果,表示已發(fā)送和接收的數(shù)據(jù)包數(shù)量。
具體來說,MAC 統(tǒng)計信息中的 TX 數(shù)據(jù)包數(shù)量的示例信息片段是兩個鏈路伙伴之間連接以太網電纜的結果。一旦檢測到接口上有鏈路為 up 狀態(tài),Linux 內核便會嘗試獲取 IP 地址。tx_broadcast_frames 統(tǒng)計信息中報告的一些幀是來自 DUT 的 DHCP 請求幀,用于獲取 IPv4 地址。此外,如果 tx_good_frames 統(tǒng)計信息在遞增,這充分表明數(shù)據(jù)包已從 DUT 的 MAC 發(fā)送到線路上。
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
根據(jù) MAC 統(tǒng)計信息中的以下 RX 結果可以看出,在連接以太網電纜后也接收到數(shù)據(jù)包。這些特定統(tǒng)計信息表明 MAC 正確接收了一些數(shù)據(jù)包。在此示例中,沒有為平臺分配 IP 地址。在此層級,使用的實際以太網協(xié)議并不重要。主要目標是確認未接收到損壞的數(shù)據(jù)包以及正確發(fā)送了數(shù)據(jù)包。
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 統(tǒng)計信息中的 RX 錯誤結果。這里沒有檢測到錯誤。但是,如果這些錯誤統(tǒng)計信息在遞增,則表明存在導致數(shù)據(jù)包在接口上被丟棄的特定錯誤。對于用作 DUT 的德州儀器 (TI) 處理器,每個 MAC 統(tǒng)計信息計數(shù)器的定義可在特定處理器的相應技術參考手冊 (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
調試建議:
章節(jié)摘要:
ethtool -S <interface name>
結果提供了有關發(fā)送和接收過程的數(shù)據(jù)。ethtool
查看,無需獲取 IP 地址。