Open
[需求]: 支持 BMC 作为 MCTP EP 接收并响应请求 #5
黄志毓Add on  23 days ago
黄志毓
黄志毓Collaborators
23 days ago Create

所属版本

openUBMC 26.12

版本分支

openUBMC main

简要说明

mctpd 须支持 BMC 作为 PCIe EP 接收对端主动发起的 MCTP 请求(TO=1),经 VDM 驱动收包后完成重组、识别并应答。Control 类消息由框架直接响应,应用类消息(PLDM)交给上层业务处理。所有响应须经共享 MCTP 数据面的统一 TX 返回,保留 Tag、TO=0、回填上层关联字段。

前置条件

BMC运行正常、IMU正常运行

系统用户

开发人员,运维人员

主成功场景

  1. 对端主动发来 MCTP 请求(TO=1),经 VDM 驱动收包后进入 mctpd 统一 transport

  2. mctpd 完成重组,按 Message Type 识别消息类型(Control 或 PLDM)

  3. Control 类消息由 mctpd 核心直接响应

  4. PLDM 类非控制消息经分发到注册的 responder handler 处理

  5. 响应经共享 MCTP 数据面的统一 TX 返回,设置 TO=0、保留请求 Tag、按当前有效路由与 Control 规则封装

非功能需求类型

(1)可靠性要求:进程异常退出后自动拉起并重新执行 MCTP 自发现流程恢复 EID 与路由表,不依赖持久化存储;普通事务为瞬态,进程退出即失效,重启后不伪装在途事务延续;MCTP 基础传输不保证重传送达,上层重试有限
(2)可维护性要求:提供统一日志(带 system_id 前缀区分多实例)和诊断信息
(3)可测试性要求:支持模拟对端请求验证 TO=1 方向的收包/重组/分发/响应全链路;UT/IT 须扩展覆盖 responder 新增能力
(4)性能要求:Control responder 应答时限满足 DSP0238 上限 120ms
(5)兼容性要求(和以前版本及周边配套):requester 外部行为须回归通过,既有消息类型处理与 Tag 管理不受影响
(6)安全要求:NA
(7)韧性要求:按 system_id 隔离实例,单 system 故障不影响其他 system;读异常不崩溃主服务;EID 注册表与 msg_tag 有界,满则拒绝新增

兼容性影响评估

NA

扩展场景(含异常场景)

NA

周边依赖

NA

约束

NA

likedislike
openUBMC-robotopenUBMC-robotCollaborators
23 days ago Added label: sig/sig-component-drivers
openUBMC-robot
openUBMC-robotCollaborators
23 days ago Comments:

欢迎来到 openUBMC 社区

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

机器人使用手册

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

联系指引

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

likedislike
openUBMC-robot
openUBMC-robotCollaborators
23 days ago Comments:

Issue 工作流介绍

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

类型 上个状态 下个状态 评论命令 谁可以操作
需求 待办的 已接纳 /todo2accepted SIG组: sig-release-management (maintainer)
需求 已接纳 开发中 /accepted2developing 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 开发中 待验收 /developing2UAT 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 待验收 已完成 /UAT2done SIG组: sig-QA (maintainer,committer)
需求 待办的 已挂起 /todo2suspended SIG组: sig-release-management (maintainer)
需求 已挂起 已接纳 /suspended2accepted SIG组: sig-release-management (maintainer)
需求 待办的 已拒绝 /todo2rejected SIG组: sig-release-management (maintainer)
需求 已拒绝 已接纳 /rejected2accepted SIG组: sig-release-management (maintainer)
likedislike
黄志毓黄志毓Collaborators
23 days ago Modify description of issue
黄志毓黄志毓Collaborators
18 days ago associated Kanban: openUBMC 26.12需求看板
wangjianCollaborators
14 days ago Comments:

/todo2accepted

likedislike
openUBMC-robotopenUBMC-robotCollaborators
14 days ago changed custom state from 待办的 to 已接纳
Bbyosoft_chenjieCollaborators
4 days ago Assign chzhpfoxjay_123 as responsible person
byosoft_wupengfeibyosoft_wupengfei
1 day ago Associated pull request
byosoft_wupengfeibyosoft_wupengfei
6 hours ago Associated pull request