Send Message 命令详情
更新时间:2025/06/26
在Gitcode上查看源码

修订记录

openUBMC版本号修订日期修订人修订内容
25.062025/06/26pengqiang-gs初稿,新增命令详情

基本信息

功能说明

标准命令,发送消息到指定通道,一般用来桥接转发消息。 The Send Message command is used for bridging IPMI messages between channels, and between the system management software (SMS) and a given channel.

权限

ReadOnly

命令信息

请求信息

字节顺序域取值说明
1Channel Number
[7:6]
 00b = No tracking. The BMC reformats the message for the selected channel but does not track the originating channel, sequence number, or address information. This option is typically used when software sends a message from the system interface to another media. Software will typically use ‘no tracking’ when it delivers sends a message from the system interface to another channel, such as IPMB. In this case, software will format the encapsulated message so that when it appears on the other channel, it will appear to have been directly originated by BMC LUN 10b. See 6.12.1, BMC LUN 10b Routing.
 01b = Track Request. The BMC records the originating channel, sequence number, and addressing information for the requester, and then reformats the message for the protocol of the destination channel. When a response is returned, the BMC looks up the requester’s information and format the response message with the framing and destination address information and reformats the response for delivery back to the requester. This option is used for delivering IPMI Request messages from non-SMS (non-system interface) channels. See 6.12.3, Send Message Command with Response Tracking.
 10b = Send Raw. (optional) This option is primarily provided for test purposes. It may also be used for proprietary messaging purposes. The BMC simply delivers the encapsulated data to the selected channel in place of the IPMI Message data. Note that if the channel uses sessions, the first byte of the Message Data field must be a Session Handle. The BMC should return a non-zero completion code if an attempt is made to use this option for a given channel and the option is not supported. It is recommended that completion code CCh be returned for this condition.
 11b = reserved
[5]
 1b = Send message with encryption. BMC will return an error completion code if this encryption is unavailable.
 0b = Encryption not required. The message will be sent unencrypted if that option is available under the given session. Otherwise, the message will be sent encrypted.
[4]
 1b = Send message with authentication. BMC will return an error completion code if this authentication is unavailable.
 0b = Authentication not required. Note behavior is dependent on whether authentication is used is depending on whether the target channel is running an IPMI v1.5 or IPMI v2.0/RMCP+ session, as follows:

 IPMI v1.5 sessions will default to sending the message with authentication if that option is available for the session.

 IPMI v2.0/RMCP+ sessions will send the message unauthenticated if that option is available under the session. Otherwise, the message will be sent with authentication.
[3:0] channel number to send message to.
2Message Data. Format dependent on target channel type. See Message Data for Send Message Command

响应信息

字节顺序域取值说明
1Completion Code
generic, plus additional command-specific completion codes:
 80h = Invalid Session Handle. The session handle does not match up with any currently active sessions for this channel.

If channel medium = IPMB, SMBus, or PCI Management Bus:(This status is recommended for applications that need to access low-level I2C or SMBus devices.)
 81h = Lost Arbitration
 82h = Bus Error
 83h = NAK on Write
2:NResponse Data
This data will only be present when using the Send Message command to originate requests from IPMB or PCI Management Bus to other channels such as LAN or serial/modem. It is not present in the response to a Send Message command delivered via the System Interface.

Note:
The BMC does not parse messages that are encapsulated in a Send Message command. Therefore, it does not know what privilege level should associated with an encapsulated message. Thus, messages that are sent to a session using the Send Message command are always output using the Authentication Type that was negotiated when the session was activated.

命令样例

样例1:发送消息到指定通道1

  • 请求:
  • 响应:

返回到索引