第5章 管理接口命令集 - 页码100
继续深入分析 AE Enable List 数据结构 以及其在 Asynchronous Event (AE) 配置命令中的应用。
🧠 AE Enable List 数据结构解析(图 92)
AE Enable List 数据结构头部(AE Enable List Header)
字段 | 描述 |
---|---|
NUMAEE | AE Enable 数据结构的数量。若没有 AE Enable 数据结构,则清零此字段(0h)。若为 0h,则表示触发 AEM Ack。 |
AEELVER | AE Enable List 及数据结构的版本号。管理端点应忽略此字段的非零值,并按版本处理数据。 |
AEETL | AE Enable List 数据结构的总长度。等于 AE Enable List Header Length + 各 AE Enable 数据结构的字节长度之和。 |
AEELHL | AE Enable List Header 的长度,通常为 5h(5 字节)。 |
AE Enable List 数据结构体(AE Enable List Body)
字段 | 描述 |
---|---|
AE Enable 0 (AEE0) | 第一个 AE Enable 数据结构。 |
AE Enable 1 (AEE1) | 第二个 AE Enable 数据结构(如果有)。 |
AE Enable N (AEE0) | 最后一个 AE Enable 数据结构。 |
AE Enable 数据结构详细解析(图 93)
这部分数据结构主要用于 启用或禁用异步事件 (AE),并包含多个位字段用于标记特定的 AE 是否被启用。
字段 | 描述 |
---|---|
AE Enable Length (AEEL) | AE Enable 数据结构的长度,通常为 3h。 |
AE Enable Info (AEEI) | AE 启用信息,包含具体的 AE 启用/禁用状态。 |
AE Enable ID (AEEI) | 标识 AE 的 ID,参照 图 63。 |
AE Enable (AESE) | AE 是否启用。若值为 1,则启用该 AE,若为 0,则禁用。 |
📝 关键细节
-
长度限制与溢出:AE Enable List 数据结构必须满足最小长度要求。若 AE Enable List Body 超过 4 KiB,管理端点会返回 Invalid Command Input Data Size 错误。
-
AEM Ack 的行为:若 AE Sync 或 AEM Ack 在 AEM 传输间隔内发生,且当前有正在传输的 AEM,则应停止当前传输,且当前 AE 状态会被丢弃。
-
版本处理:
AEELVER
字段的值用于指示数据结构的版本。管理端点应按该版本来解析数据,但会忽略非零的版本号,并按照数据结构定义进行处理。 -
SR-IOV 和 PCIe 支持:配置中的 SR-IOV 设置允许控制是否启用 SR-IOV 虚拟功能上的 AE。如果不支持 SR-IOV 功能,此字段不会触发错误,但会被忽略。
-
MEB 的使用:当 AE Occurrence List Body 超过 4 KiB 时,必须使用 MEB(Management Endpoint Buffer)来存储和传输响应数据。否则,数据长度超过限制时将会触发错误。
🧩 总结
项目 | 关键含义 |
---|---|
AE Enable List | 启用或禁用特定 AE 事件。 |
AEM Ack | 确认接收 AE,防止重复传输。 |
AE 发生情况 | AE Sync 或 AEM Ack 发生时,未传输的 AE 状态会被丢弃。 |
长度限制 | AE Enable List 的总长度不得超过 4 KiB,否则会返回错误。 |
版本兼容性 | 通过版本号字段 (AEELVER ) 确保正确处理数据结构。 |
这部分内容对于管理端点处理异步事件至关重要,它确保了事件的同步、状态清理以及系统的健壮性。