[网络丢包]网卡MISX和MSI之争

1.背景

  • 操作系统ubuntu server 16.04和ubuntu server 18.04;
  • 8个网口,其中7个作为数据输入,1个网口作为数据输出,PHY芯片为82574,1000Mbps全双工;

2.现象

  • 1台设备源出500Mbps码率,过交换机后,7个网口接收正常;
  • 2台设备源出500Mbps码率,过交换机后,不同的主板可能出现:1>7个网口接收正常;1>其中几个网口接收正常,几个网口(如:eth2,eth7)会丢包,且无论如何重启丢包网口固定;

3.测试验证

  • 将在异常网口(如:eth2)上的流用正常网口(如:eth0)进行接收,数据不丢包;
  • 进行了帧间隙IFG测试,1台设备时帧间隙都保持到12Byte以上;
  • 进行了帧间隙IFG测试,1台设备时大部分数据的帧间隙都保持到12Byte以上,少量数据帧间隙在8Byte;
  • 异常网口(如:eth2,eth7)使用/proc/net/dev进行查看fifo和drop字段有溢出和丢包;
  • 调试驱动程序:网卡驱动e1000e在进行驱动加载时,配置网卡模式时出问题的网卡配置MSI-X模式失败,而被自动切换到MSI模式;
  • 将其他几个网口的驱动禁用,问题网卡一样无法配置MSI-X模式,而被自动切换到MSI模式,数据也会出现丢失;
  • 将MSI-X模式的网卡的中断绑定到CPU1,将MSI模式的网卡绑定到CPU0,为问题网卡分配充分的CPU资源,数据也会出现丢失;

4.结论

​ 由于没有能采集这么高PCIE信号的仪器,最终只能不了了之。但基于以上实验,做了针对该现象的个人猜测:PCIE时序问题(偏差,PHY时钟问题等),导致的无法配置MSI-X模式。但丢包的原因可能是两台设备流叠加后,帧间隙出现小于12Byte的情况(实际使用示波器采集也确实出现帧间隙为8Byte的情况),而MIS模式的网卡无法完全接收这种情况的数据。

5.后续

​ 20180613:厂家进行了PHY芯片的更换,测试网卡不再丢包,问题解决;

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷咪哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值