0

我用dpdk做包传输实验。但是,接收方应用程序根本没有收到任何数据包。从 rte_eth_stats_get() 得到的统计数据显示,所有端口都报告了很多“rx_error”。调试后我发现所有这些错误都是名为“rx_length_error”的错误。谷歌的解释说,如果 MAC 标头中的传入数据包长度字段与数据包长度不匹配,则会发生长度错误。但是,据我所知,MAC 标头中没有长度字段。

所以我的问题是 NIC 如何在没有长度字段的情况下报告这个长度错误?

谢谢您的帮助!

4

1 回答 1

1

您之前的问题中指出,需要正确设置以太网标头,尤其是 Ethertype。

某些 Ethertype 意味着您有一个固定长度的帧,因此如果给定 Ethertype 的预期长度与您的实际帧大小不匹配,82599 会识别这些帧并丢弃它们。

于 2017-05-30T10:09:36.293 回答