查看问题详情

编号项目分类查看权限最后更新
0000627Anolis OS 8- cloud kernel 4.19public2022-02-16 13:36
报告员yqyang 分派给Shiloong  
优先级urgent严重性minor出现频率always
状态 assigned处理状况open 
平台aarch64操作系统Anolis OS操作系统版本8
产品版本8.2-rc1 
标题0000627: 华为taishan2280V2板载网卡(海思hns3芯片)6081端口不通,需更新kernel或升级网卡驱动以支持小于65B报文中显示VLAN标签
描述【环境】anolis8.2 aarch64 系统+taishan2280V2板载网卡(海思hns3芯片)
1. 测试小于64B的数据包(有Vlan标签)通过板载网卡发送到4789或6081这两个端口时没有vlan标签,大于64B的数据包正常
2. NC工具64字节包含以下大小包也收不到
问题重现步骤【环境】anolis8.2 系统+taishan2280V2板载网卡(海思hns3芯片)
【复现步骤】
当时抓的是UDP 6081
UDP测试
client端:

  #~ echo "Hello from PC" | nc -w1 -uv xx.xxx.100.174 6081
  
server端:

  #~ nc -u -l -p 6081

某台主机抓包: tcpdump -envi bond0 udp port 6081 -vvv
【结果】
1. 测试小于64B的数据包(有Vlan标签)通过板载网卡发送到4789或6081这两个端口时没有vlan标签,大于64B的数据包正常
2. NC工具64字节包含以下大小包也收不到
(具体故障现象可查看附件抓图)
【期望结果】小于64B的数据包也正常带有VLAN标签。
附注此处附上华为官方给到的现象原因分析和解决办法,可作为参考:
问题原因:
1.小包不带vlan,大包带vlan的原因如下:
芯片对于隧道报文端口6081、4789、需要最少65字节才能解析(此为协议规范),由于发的报文小于65字节,不满足隧道报文格式(每家网卡厂商对隧道报文的解析不同),华为板载网卡(海思hns3芯片按照正常报文协议进行处理,因此认为报文小于65字节是个异常报文,没添加上vlan,此问题为非问题,为解决客户需求,华为可输出驱动协助解决。

解决方案:
修改驱动,对于小于65字节的隧道报文,驱动pad到65字节,避免芯片无法解析。2对于6081无论小包还是大包,nc工具都收不到的原因如下
(小包还有问题1的原因,解决问题1后,原因与大包相同)驱动不支持随道报文的checksum卸载功能,导致发出去的报文实际checksum是不对的,因此nc收不到。

解决方案:
修改驱动去掉隧道报文的checksum硬件卸载能力,此功能交由内核处理,保证checksum是正确的内部计划:
针对CentOS,930发布给兼容性测试组。具体上架时间需兼容性评估。
2021.9.17日linuxmergewindow开了后推社区。
标签没加标签.

活动

yqyang

2022-02-09 18:39

报告者  

图片1.png (17,256 字节)   
图片1.png (17,256 字节)   
图片2.png (19,027 字节)   
图片2.png (19,027 字节)   

jacobwang

2022-02-16 13:34

经理   ~0000895

最后编辑: 2022-02-16 13:35

hns3的驱动,应该是上游社区合进去了;
请飞能查看注释,如果有不清晰的可以同统信内核同学沟通。

问题历史

日期 用户名 字段 更改
2022-02-09 18:39 yqyang 新建问题
2022-02-09 18:39 yqyang 状态 新建 => 已分配
2022-02-09 18:39 yqyang 分派给 => jacobwang
2022-02-09 18:39 yqyang 添加了以下文件:: 图片1.png
2022-02-09 18:39 yqyang 添加了以下文件:: 图片2.png
2022-02-09 18:41 yqyang 描述已修改
2022-02-09 18:41 yqyang 问题重现步骤已修改
2022-02-09 18:41 yqyang 附注已修改
2022-02-16 13:34 jacobwang 注释已添加: 0000895
2022-02-16 13:35 jacobwang 注释已编辑: 0000895
2022-02-16 13:36 jacobwang 分派给 jacobwang => Shiloong