Let's say I would like to send Get Device Id
command from LAN
channel to IPMB
channel via BMC
with message tracking
, I need to go through those steps:
- Encapsulate
Get Device Id
command inSend Message
command - Send
Send Message
command fromLAN
toBMC
providing required data like targetIPMB
address, all thoseNetFn
s,LUN
s and most relevant in this case: request-uniqueSequence Number
andmessage tracking
parameter bit set
Here starts my confusion.. because I saw 2 different solutions how BMC
handle this kind of requests:
A
Response on Get Device Id
comes back in the Send Message
response
B
Separate Send Message
and IPMB
responses
, which turns out dependent on BMC
producer.
So I need some experts knowledge:
Is this how IPMI
standard stands for, that BMC
implementation can provide A
and/or B
?
Or this is misguided interpretation of BMC
producers?
In my opinion and the way I understand IPMI 2.0 spec
, only B
solution is one and only compatible flow how it should work as confirmed in 6.13.4 Bridged Request Example
:
When a request message is bridged to another channel by encapsulating it in a Send Message command (from a source channel other than the system interface), the BMC immediately returns a response to the Send Message command itself. Meanwhile, the request is extracted from the Send Message command and forwarded to the specified target channel.
IPMI 2.0 spec
even provide example description:
For example, suppose a Get Device ID command has been encapsulated request in Send Message command directed to the IPMB from a LAN channel. The BMC will immediately send a response to the Send Message command back on LAN. The BMC will extract the encapsulated Get Device ID message content and format it as a Get Device ID request for IPMB. The target device on IPMB responds with a Get Device ID response message in IPMB format. The BMC takes the tracking information that was stored when the Send Message command was issued, and uses it to create a Get Device ID response in LAN format.