The 'mc guid' command processes GUIDs incorrectly #25
Comments
The openbmc implementation agrees with the IPMI standard. Those are implemented with bona-fide GUIDs though. For some other implementations of BMC firmware I have seen, it is simply 16 random bytes, so order doesn't make sense unless you are trying to actually interpret the values in the rfc4122 format. I would lean toward making ipmitool correct. Urge the BMC implementations to fix themselves. |
Ok, I now see that I wasn't completely correct in my analysis of the problem. As for the |
Comparison of GUID/UUID representation in IPMI/SMBIOS/RFC4122: Textual GUID: {00112233-4455-6677-8899-AABBCCDDEEFF}
This brings up yet another question of the same nature ("does anyone use it at all?"). @vmauery, does the |
I'm leaning towards adding an argument to What I haven't decided on yet is whether I should force default behavior to IPMI-compliant (to give users a hint that there is something wrong with the BMCs) or to leave it as is and only add an option to switch to IPMI-compliant behavior (to make it more transparent for the current installations). At least some quite recent versions of AMI MegaRAC implement GUIDs in such a way that they are 'properly' displayed by ipmitool, which is, as I've shown above, is a broken way as of now. |
@bparthiban, I'd like to invite you and any of your engineers to join this discussion. |
Another interesting observation is that |
I'm going to add an optional argument to |
Timestamp decoding is also done incorrectly in
|
I've decided to implement automatic detection of GUID encoding as the default behavior. For Lenovo IMM the output now looks like this:
|
@devenrao, I thought you may be interested as it addresses the ticket you raised back on SourceForge. |
Ok, I guess this is now mature enough. So now it will be merged into master. |
Commit 4787c3d (also see SourceForge discussion) back from 2008 looks to have been incorrect.
It reversed the byte order of the
time low
field of GUID justifying it by SMBIOS specification and overlooking the fact that IPMI specification directly states that IPMI-compliant devices must send bytes for that field in the order opposite to RFC4122 (and based on it SMBIOS):Here is an excerpt from IPMI v2.0 specification rev 1.1:
However for the past 10 years since that commit nobody seems to have complained about that, which indicates to me that either:
Comments are welcome.
The text was updated successfully, but these errors were encountered: