Open
feat: 增加受限 PCIe PLDM responder 与 Base 应答 #13
liuxingsenAdd on 13 days ago
feat: 增加受限 PCIe PLDM responder 与 Base 应答 #13
Open
liuxingsenAdd on 13 days ago
liuxingsenCollaborators
13 days ago

当前PR是否有AI参与:

[ ] 否

[x] 是
__1. AI Agent 平台: OpenAI Codex
__2. AI 模型: gpt-6-astra(历史实现、测试与独立复核);GPT-6(本次PLDM准入修复、测试及33000实测;当前会话未提供更精确型号)
__3. Prompt上下文 : 用户授权接手 SP888-MCTP 联调所需的 BMC 实现,完善 PLDM 请求应答与 Base,并按门禁拆分可独立验证的模块;新增三文件的 Huawei 版权归属已由用户明确确认;本次要求配套SP888 GetTID与GetDateTime,仅在33000验证,PR暂不合入。

PR功能描述 / 为什么需要这个合入:

现有 PLDM 栈按响应解析请求,且缺少保存原路由/Tag/IID的异步回复上下文。本 PR 提供默认关闭、仅接受已登记 PCIe 对端的 responder 及四项 Base 命令;取时模块安装后才可显式启用Type3,不宣告阶段2能力。

修改方案:

按RQ区分编解码头,保留D/完成码;旧requester校验复制后的方向。每次回复独立持有上下文链,最多64项,同来源/Tag不覆盖;注销、地址变化、端点重建和重复/迟到完成失效。250ms闲置巡检与配置对象绑定,旧回调不能清理新配置。Base能力由注册表生成,TID使用稳定配置,版本响应带CRC。新增push_checked仅报告同步协议链提交结果。准入进一步要求已注册的消息类型1(PLDM);只有同路由NC-SI端点时拒绝,PLDM端点撤销后待回复失效。版本1.130.18,保持一个提交。

验证方案:

重新构建独立分支协议核心和Lua绑定,验证请求/最短响应、首字节、头字段和旧PLDM查询。覆盖异步逆序回复、GC保活、64项配额、地址/端点/配置失效、Base位图/CRC/专属错误码与闲置回收。

测试建议:

集成基础传输修复后在目标固件开启;回归Control纳管、既有查询、同Tag双向与跨接口。异步硬件TX完成、完整共享配额和阶段2需继续验收。

自验证报告:

  • 当前提交 cde9269a1af4280a99562f4c32b8f1ab611b4652:PLDM准入负例先复现NC-SI错误授权,修复后16项responder专项和独立分支完整133项通过。此分支本轮只修改Lua/测试及文档,独立测试复用上一轮兼容的原生协议库;pre-commit通过。
  • 另以当前主线139ab8f组合!11(47083fd)、!12(f72e47f)、本PR及此次准入修复,重新编译native和ARM协议库;组合完整188项通过,目标机加载通过。该组合测试不等于此独立分支的远端CI结果。
  • 33000 已通过真实 PCIe VDM 链路完成 GetTID 两次查询(TID=1,最大9.734ms)及 GetDateTime(2026-11-05T06:14:04Z,8.386ms,独立核对宿主UTC时间窗口通过)。未使用参考端,bmc_acceptance=true,stubs=[]。非法长度、未知命令/类型以及两个并发查询均通过;NC-SI返回40字节成功应答,Port1 Connected、0告警,Web/Managers/NetworkAdapters/Storage HTTP200,原硬件数量与身份核对通过。只重启33000。
  • 更新前同一33000的GetTID真实超时,更新后通过。现场mctpd使用可追溯本地版本1.130.18+local.sp888public.8815b8f665b8,不伪造Conan修订。
  • 当前SHA尚无匹配远端流水线;旧ci-successful标签不能作为本提交验证结果。当前PR与主线存在冲突,未宣称可合入。

该PR关联的issue

fixes #13

希望检视人员了解:

按用户要求暂不合入。GetTID由本PR公共Base应答;GetDateTime依赖!12取时业务与本PR接线;实际PCIe收发还需!11共享传输修复。产品开关默认关闭,33000单独启用。先集成!11、!12,再启用!13;已有版本与CHANGELOG须在后续获准合入时按届时主线统一协调,当前主线版本也为1.130.18,不应直接合并覆盖。
本次仅验收公共查询及错误/恢复路径,不代表完整阶段1、PLDM固件升级、事件持久化或阶段2已完成;未纳入!14/!15/!16后续候选。本次没有重新验收真实未授时或时间服务退出场景。相关SP888接入见component_drivers !1469,主动请求工具见qemu_mockup !204。

likedislike
Merge blocked
LliuxingsenCollaborators
13 days ago Created pull request, commit c3575d6c
LliuxingsenCollaborators
13 days ago Associated issue: [任务] 增加受限 PCIe PLDM responder 与 Base 应答
openUBMC-robotopenUBMC-robotCollaborators
13 days ago Added label: sig/sig-component-drivers
openUBMC-robot
openUBMC-robotCollaborators
13 days ago Comments:

欢迎来到 openUBMC 社区

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

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。

联系指引

有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @hzy1010, @leessential .

likedislike
openUBMC-robotopenUBMC-robotCollaborators
13 days ago Added label: ai-co-authored
119 messages are collapsed here。 See more
LliuxingsenCollaborators
4 days ago Modify description of pull request
LliuxingsenCollaborators
4 days ago virtual merging failed, update merge request[project_id: 10582071, iid: 13, target_commit_sha: 139ab8feb0d5ec436491df387f26d5d0ed585c71], message: Conflict detected
LliuxingsenCollaborators
4 days ago Force-pushed 1 commits:cde9269a-feat: 增加受限 PCIe PLDM responder 与 Base 应答
LliuxingsenCollaborators
4 days ago virtual merging failed, update merge request[project_id: 10582071, iid: 13, target_commit_sha: 139ab8feb0d5ec436491df387f26d5d0ed585c71], message: Conflict detected
LliuxingsenCollaborators
4 days ago Modify description of pull request