BMC平台管理功能:
-
- 系统接口:系统接口是系统软件向 BMC 发送和接收消息的接口。
- 消息处理程序:消息处理程序为消息配置通道特征和用户权限,也就是说消息处理程序主要为消息进行分类和发送
- 系统事件日志接口:这个接口允许系统端访问SEL,也可以IPMB或者其他的外部接口访问SEL
- 事件生成器:BMC还可以在内部充当事件生成器,将其内部生成的事件消息发送到其事件接收器功能。
- 传感器数据记录存储接口:BMC允许通过IPMB或者系统接口访问SDR存储库里面的内容
- IPMB接口:IPMB使BMC能够接受来自系统中其他管理控制器的IPMI请求消息. 包含 IPMB 接口支持的 BMC 还为系统软件提供了使用 BMC 作为通信控制器向 IPMB 发送和接收消息的功能
- IPMB事件接收程序:事件消息可以从系统发送到 BMC,也可以从其他控制器 IPMB 发送到 BMC
- 私有总线控制器:BMC 可以作为通信控制器进行服务器服务器,该控制器提供对专用管理总线的访问,并通过读写命令提供对 FRU SEEPRAM 和其他非智能设备的访问。
- 可替换单元信息接口:BMC 提供对基本系统板的 FRU 信息的访问
- OEM 命令:
- 看门狗:
- 串行/调制解调 接口:BMC 可以提供串行/调制解调器接口,允许它通过与 BMC 的串行连接接收 IPMI 消息。
- 串行端口共享:官方说明上说,这个串行端口共享机制允许基板上的串行控制器和BMC的串行控制器之间共享同一个串行连接器
- 网络接口:网络控制器的接口专用于BMC,因此没有像串行端口共享那样用于协调系统软件访问和BMC访问之间的网络控制器共享的特殊命令
- PCI 管理总线接口:外设部件互连标准总线接口
- 平台事件过滤:
- 警报处理:
卫星控制器所需功能:
所有卫星管理控制器都需要实施强制性的 IPM 设备命令。
消息接口
消息接口的定义了各类消息的数据格式和种类。
消息接口中的消息都是具有特定特征的。
消息接口是”请求/响应”接口,请求消息用来启动操作或者设置数据,相应消息用来给请求者返回信息.
一个消息的常见组成部分如下:
-
- Network Function (NetFn) (网络功能描述): 一个表示消息的功能类的字段
- Request/Response identifier(请求/相应标识): 在IPMB协议中,请求/相应标识符与网络功能代码合并,也就是”偶数”网络功能代码表示消息请求,”奇数”网络功能代码表示响应消息。
- Requester’s ID(请求者ID): 这个ID用于标识请求来源的信息,这个ID必须足够明确以便于响应能够正确的返回给请求者,拿IPMB来说(官方文档这么说的):请求者ID由请求者设备的从地址和LUN组成
- Responder’s ID(响应方ID): 标识请求的响应方的字段。
- Command(命令):命令在给定的网络功能中是唯一的。命令值的范围可以从 00h 到 FDh
- Data(数据):Data 字段包含请求或响应的附加参数(如果有)。
补充:IPMI中的LUN字段
在IPMI的上下文中,FUN用于命令的网络层头部,与Net Function字段共同作用来精确指定要访问的目标。具体来说,IPMI命令结构中,Net Function字段占用了6位,定义了要访问的功能类别,而LUN字段占用剩下的2位,可以理解为子地址或特定功能的标识符。
网络功能
下表定义了支持的网络功能
完成代码
完成代码一般指的是服务器或BMC接收到响应后的回应字段的一部分,用于指示命令的完成情况。
Sensor Owner Identification
对于SDR和SEL等信息除了要包含Requester’s ID/ Responder’s ID之外,还要包含用于识别 Sensor Owner 的信息,例如,在SDR中,Sensor Owner ID 就存放在Record ‘KEY’ Fields字段中。
Software IDs
当系统软件通过系统接口发出事件消息时,以及当远程控制台软件向 BMC 发送消息时,将使用SWID来标识这些信息。
Isolation from Message Content
SEL、SDR和事件相关的命令与信息内容之间是隔离的,也就是说,也就是说,事件接收器设备接收并路由事件消息,但不解释它们。同样,SEL 和 SDR 设备分别检索和存储日志条目和传感器数据记录,而不解释其内容。
BMC消息传递接口
BMC的消息传递接口主要包括 System Interface、IPMB、LAN Interface、serial/modem Interface、ICMB、PCI management bus等接口。
IPMI system interfaces:
- Keyboard Controller Style(KCS): 8742接口被用作传统键盘接口
- System Management Interface Chip (SMIC): 3 I/O 端口接口,可以使用简单的 ASIC、FPGA 或分立逻辑器件来实现。
- Block Transfer(BT): 这个接口的性能更高,