开发者
资源
mlx网卡与存储ROCE逻辑链路异常重置问题案例分析

mlx网卡与存储ROCE逻辑链路异常重置问题案例分析

案例分享鲲鹏硬件

发表于 2026/06/29

0

1 问题现象描述

硬件配置

  • 型号:S920X00
  • 配置:HP382网卡

问题现象

实验室环境交换机模拟丢报文,运行复现出主机链路闪断现象,同时主机侧有10秒左右的归零现象。



2 关键过程与根因分析

关键过程

Step 1:实验室复现

在存储侧进行打桩,针对向主机发送的Send Only Invalidate(IO结束的最后一个请求)请求,存储侧丢弃主机侧对send inv请求答复的ACK。

Step 2:问题分析

主机ACK报文丢失后,存储发起重传,主机接收到存储的重传报文后,不再发送ACK请求。导致Send Only Invalidate请求的重传报文达到最大请求次数4次(每次2秒左右),存储向主机发送链路重置请求,链路进行重置。

Step 3:协议分析

从协议规范来看,网卡侧是需要正常回复来自存储侧的重传ACK报文的。

1823网卡实现机制:按照海思网卡团队分析是需要支持正常回复ACK的,实验室验证确认。

Step 4:厂商沟通

与mlx原厂沟通,mlx网卡不一定完全按照协议实现,当前网卡固件在ib场景已经稳定使用多年,不会再去修复该场景。如果对链路稳定性有更高要求,建议上层软件层面优化解决。

根因分析

mlx网卡该场景实现机制未完全按照IB协议实现。存储侧丢弃ACK后,mlx网卡未能正确回复重传ACK,导致链路重置。



3 结论、解决方案及效果

结论

mlx网卡在ROCE场景下未完全按照IB协议实现,存储侧丢包时无法正确处理重传,导致链路异常重置。

解决方案

上层软件优化解决

效果

通过软件层面的优化可以规避该问题。



4 经验总结与预防措施

经验总结

  1. mlx网卡在某些场景下未完全按照IB协议实现
  2. 上层软件需要做好异常场景的处理

预防措施

  1. 对链路稳定性要求高的场景需要评估网卡选型
  2. 上层软件做好重传和链路异常的处理

本页内容