网讯1860网卡网络流控导致网络异常问题

1、背景介绍

目前使用的飞腾平台中采用国产化WX1860千兆网卡芯片,交换芯片采用盛科的CTC8096。示意图如下:

当其中一块飞腾系统异常时,发现整个平台内所有的千兆网均出现异常,任意两个飞腾千兆网均无法ping通。

2、问题排查

一、测试场景及现象

测试场景1:

将机器1的flow control关闭,然后机器1执行xdma设备的命令复现机器1系统异常,此时其他7台机器能正常通信,且通过ethtool -S ens4f1 | grep flow命令查看,此计数没有增加。

测试场景2:

八台机器都采用默认配置,即flow control开启,然后机器1执行xdma设备的命令复现系统异常,其他七台机器通过ethtool -S ens4f1 | grep flow命令查看rx flow报文计数一直在增长,此时八台设备均不通。然后将设备2和设备3的flow control功能关闭,设备2和3之间能相互通信,这两个设备flow control报文没有再增加。

二、测试结论

根据以上信息可以得出如下结论:应该是交换芯片CTC8096不支持解析flow control报文,把flow  control报文进行广播发送(pause 报文的MAC地址是一个特定的组播MAC地址),导致接在此交换芯片CTC8096上的其它设备收到问题网卡发送的 flow control,进而导致其他的主机也不通。

当某一块飞腾系统异常时,网卡会发送flow control报文。

3、解决办法

关闭WX1860网卡的流控

ethtool -A 网口名 autoneg off rx off tx off

参考命令

关闭flow control:ethtool -A 网口名 autoneg off rx off tx off

查看flow control状态:ethtool -a 网口名

查看flow control 数量统计:ethtool -S 网口名 | grep rx_flow

查看组播统计:ethtool -S 网口名 | grep rx_multicast

查看网口所有统计:ethtool -S 网口名

 

### 安装 wx1860a2 网卡驱动程序 对于在 CentOS 7 上安装特定型号的网卡驱动,如 wx1860a2 型号,通常需要遵循一系列标准程来确保兼容性和稳定性。由于官方资源可能不直接提供该型号的具体支持文件,因此建议采取以下措施: #### 准备工作 确认已经更新了系统中的软件包列表以及现有驱动版本至最新状态[^1]。 ```bash sudo yum update -y ``` #### 获取驱动源码或预编译模块 如果官方网站或其他可靠渠道提供了针对此款网卡的 Linux 驱动,则应优先考虑这些来源。然而,在当前情况下,淘宝链接指向了一个可能是第三方卖家提供的页面[^3],这并非理想的选择用于获取稳定可靠的驱动程序。更推荐的做法是从设备制造商处寻找官方发布的Linux驱动支持文档和二进制文件;如果没有现成的支持,可以尝试联系厂商的技术支持部门询问是否有计划增加对这款网卡的支持。 #### 编译并加载自定义内核模块(假设已获得源代码) 当成功找到合适的驱动源码之后,按照如下步骤操作: - 解压下载到本地计算机上的压缩包; - 进入解压后的目录执行配置命令: ```bash cd /path/to/unpacked/driver/source/ make && make install ``` - 加载新构建好的模块 ```bash modprobe <module_name> ``` 请注意替换 `<module_name>` 为实际编译出来的模块名称。 考虑到上述过程涉及较多不确定因素,强烈建议先通过社区论坛、邮件列表等方式验证其他用户的经验分享,以减少潜在风险。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值