已关闭
[缺陷]: SDI卡 VLAN 未就绪时 IPv4 配置持续失败 #414
konglei创建于  14 天前关闭于  7 天前
konglei
14 天前 创建

感谢您为社区报告缺陷!请按照以下提示提供详细信息,以便我们更好地理解并跟进。

版本分支

openUBMC LTS

问题发现版本

openUBMC 25.3

严重程度

一般

复现类型

有条件必然复现

环境信息

待补充

预置条件

BMC 运行正常,已启动 DPU/SDI 卡在位且已被识别 EthernetInterfaces 的 VLANId 属性未配置 / 获取失败(如未启用 VLAN)

复现步骤

  • BMC 上电,等待 DPU/SDI 卡在位并完成识别
  • 保持 EthernetInterfaces 的 VLANId 未就绪(未配置 VLAN)
  • 触发 SDI 卡 IPv4 配置流程(update_info_task → set_sdi_ipv4)
  • 观察 SDI 卡 IPv4 配置结果与日志

实际结果及影响

  • get_eth_vlan 返回 nil 时,vlan = nil
  • set_sdi_ipv4 中 string.pack('H', nil) 抛异常,被 pcall 捕获后返回 false
  • while 循环按 SET_IPV4_MAX_TIMES(10) 重试(每次 sleep 200ms,约 20s)后超时退出
  • SDI 卡 BMC 侧 IPv4 始终配置失败,即使 ipv4/mask 已就绪

预期结果

VLAN 未就绪时做兜底处理(如 vlan 兜底为 0),SDI 卡 IPv4 能正常完成配置。

问题定位情况

位置:src/lualib/dpu_service/dpu_service.lua 的 set_sdi_ipv4
根因:vlan = get_eth_vlan(bus) 无兜底,if ipv4 and mask and vlan and ... 在 vlan 为 nil 时短路为 false,导致条件恒不成立、循环只重试不配置;同时 string.pack('H', nil) 直接抛异常使 set 失败
修复方向:vlan 读取失败兜底为 0(get_eth_vlan(bus) or 0);ipv4/mask 为 nil 时由 dal_addr_pack 兜底为 0.0.0.0 先写占位,后续经 OnIpv4PropertiesChanged 回调更新为真实 IP

likedislike
openUBMC-robot
openUBMC-robot成员
14 天前 评论:

注意

此 Issue 需要负责人。 如果没有指派时, WeberChen 是默认的负责人

likedislike
openUBMC-robotopenUBMC-robot成员
14 天前 将 WeberChen 设为负责人
openUBMC-robotopenUBMC-robot成员
14 天前 添加了label:sig/sig-hardware
openUBMC-robot
openUBMC-robot成员
14 天前 评论:

欢迎来到 openUBMC 社区

Hey @quanwudi , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-hardware ,
维护者是: @changxingOpenUBMC, @nathanael, @xiaoxinglxs, @yelvsub ,
优秀贡献者是: @dli_bmc, @huangjiapei, @weiziang, @yelmh .

likedislike
openUBMC-robot
openUBMC-robot成员
14 天前 评论:

Issue 工作流介绍

社区的需求和缺陷的工作流状态处于纳管中。

类型 上个状态 下个状态 评论命令 谁可以操作
缺陷 待修复 修复中 /todo2fixing 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 修复中 待验收 /fixing2UAT 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 待验收 已修复 /UAT2done SIG组: sig-QA (maintainer,committer)
缺陷 待修复 已挂起 /todo2suspended 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 待修复 已拒绝 /todo2rejected 仓库成员角色: Maintainer, Committer, Contributor, Owner
likedislike
Kkonglei
14 天前 修改了issue 的描述
Kkonglei
14 天前 修改标题为 “[缺陷]: SDI卡 VLAN 未就绪时 IPv4 配置持续失败”,原标题为“[缺陷]: ”
Kkonglei
14 天前 关联了pull request:SDI卡 VLAN 未就绪时 IPv4 配置持续失败
yufei成员
14 天前 评论:

PR #561 已提交修复并通过代码检视(approved),推进缺陷流程。

likedislike
yufei成员
14 天前 评论:

/todo2fixing

likedislike
openUBMC-robotopenUBMC-robot成员
14 天前 issue状态由 待修复 改变为 修复中
zhangyuxian3成员
14 天前 评论:

/todo2fixing

likedislike
openUBMC-robot
openUBMC-robot成员
14 天前 评论:

Issue 工作流提示

命令 /todo2fixing 是把 待修复 更改为 修复中 ,但当前Issue的工作流状态是 修复中 ,请先更改成 待修复

likedislike
Kkonglei
14 天前 关联了pull request:SDI卡 VLAN 未就绪时 IPv4 配置持续失败
Zzhaoxiang成员
9 天前 关联了看板:openUBMC 25.12 LTS SP3缺陷看板
yuanjia
yuanjia成员
9 天前 评论:

/fixing2UAT

likedislike
openUBMC-robotopenUBMC-robot成员
9 天前 issue状态由 修复中 改变为 待验收
openUBMC-robotopenUBMC-robot成员
9 天前 关联了看板:openUBMC 25.12 LTS 缺陷看板
Zzhaoxiang成员
7 天前 移除了看板:openUBMC 25.12 LTS 缺陷看板
ZDYM
ZDYM成员
7 天前 评论:

/UAT2done

likedislike
openUBMC-robotopenUBMC-robot成员
7 天前 issue状态由 待验收 改变为 已修复
openUBMC-robotopenUBMC-robot成员
7 天前 关闭了 issue
hid18451357
7 天前 评论:

内部已回归

likedislike