使用巨型数据包时出现 RX 错误

使用巨型数据包时出现 RX 错误

我们有一个通过 UDP 输出高速数据的设备,直接连接到处理器(无交换机)。处理器运行的是 CentOS 6.6。连接是千兆以太网。当我们使用 1400 字节范围内的数据包大小时,一切都运行良好。当我们切换到巨型数据包(数据包大小略小于 9000 字节)时,我们有时会收到接收错误。有时,我的意思是如果启动时没有接收错误,它们最终不会开始发生,但如果启动时有接收错误,它们不会停止。当我们收到错误时,只有部分数据会通过。在接口上运行 ethtool -S 会产生以下非零值:

rx_packets:        4752316
tx_packets:        7407
rx_bytes:             42021872746
tx_bytes:             477144
rx_broadcast:    34
tx_broadcast:    8
tx_multicast:      37
rx_errors:            6161970
rx_crc_errors:   3080985
rx_csum_offload_good:               7325
rx_header_split:              4752250

我们尝试更换设备和电缆,但没有任何变化。我们还升级到了最新的 e1000e 驱动程序。同样的场景在我们的一台运行 CentOS 6.6 的测试机器上也能正常工作。两个系统都使用 Intel 82574L 以太网控制器。有人对如何解决这个问题有什么建议吗?

相关内容