When you run the following command to display the GUID, it displays the incorrect GUID. The last field (six bytes called the node) are reversed (little-endian) when they shouldn't be.
[root@dhcp57-201 ~]# ipmitool -vvv mc guid -vvv
Using ipmi device 0
Set IPMB address to 0x20
Sending request to System Interface
Got message: type = 1
channel = 0xf
msgid = 0
netfn = 0x7
cmd = 0x37
data_len = 17
data = 0080c27a35d21db2118000001a4bbcba9e
System GUID : 357ac280-1dd2-11b2-8000-9ebabc4b1a00
[root@dhcp57-201 ~]#
When you compare the raw data returned to the system GUID above, you can see that the first three fields get reversed as they should, but also the last 6 bytes get reversed when they should not.
You can reference the SMBIOS spec and see that the UUID should only use little-endian byte encoding for the first three fields. http://www.dmtf.org/standards/published_documents/DSP0134_2.6.0.pdf
I have attached a patch to lib/ipmi_mc.c that does not reverse the order of the last 6 bytes. Let me know if you have any questions.
Thanks!
/Kipp
patch for ipmi_mc.c
Hi Kipp. As a new maintainer of ipmitool I've been browsing through code and found commit [4787c3] that contains this patch.
It looks to me like you fixed a bug in your BMC here, not in ipmitool.
If you open IPMI Specification 2.0 rev 1.1, section 20.8 (Get Device GUID Command), you'll see that it says the following:
"Note that the individual fields within the GUID are stored least-significant byte first, and in the order illustrated in the following table. This is the reverse of convention described in [RFC4122] where GUID bytes are transmitted in ‘network order’ (most-significant byte first) starting with the time low field."
It looks like your BMC returned data not compliant to IPMI specification and then you 'fixed' that with this patch.
Am I correct here?
Do you have an account on GitHub where all the development for ipmitool has recently moved?
Related
Commit: [4787c3]
This fix has been added to the CVS tree. Please test it and close this issue if you agree it's fixed.
Thanks for adding the patch. I tested it, and all is well.
Cheers!
/Kipp