在什么情况下 NIC 会报告 rx_length_error?

In what case would NIC report a rx_length_error?

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

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

感谢您的帮助!

your previous question here 中指出需要正确设置以太网 header,尤其是以太网类型。

一些以太网类型暗示您有一个固定长度的帧,因此 82599 识别这些帧并在给定以太网类型的预期长度与您的实际帧大小不匹配时丢弃它们。