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

时间:2017-05-30 04:33:07

标签: nic dpdk

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

your previous question here中指出需要正确设置以太网报头,尤其是Ethertype。

有些Ethertypes暗示你有一个固定长度的帧,所以如果给定的Ethertype的预期长度与你的实际帧大小不匹配,82599会识别这些帧并丢弃它们。