Noticed reading System GUID command is returning invalid value. IPMItool is not returing the data in the correct format.
Sytem GUID
61a39523-78f2-11e5-9862-e6402cfc3223
./ipmitool -I lanplus -H x.x.xxx.xxx -P 0penBmc -C 1 mc guid System GUID : 2cfc3223-e640-9862-e511-f2782395a361
Expected
2332fc2c40e6-6298-e511-f278-2395a361
Issue noticed is the below structure defined in ./include/ipmitool/ipmimc.h is not as per IPMI specification (Refer to section 20.8)
/* Structure follow the IPMI V.2 Rev 1.0
See Table 20-10 /
struct ipmi_guid_t {
uint32_t time_low; / timestamp low field /
uint16_t time_mid; / timestamp middle field /
uint16_t time_hi_and_version; / timestamp high field and version number /
uint8_t clock_seq_hi_variant;/ clock sequence high field and variant /
uint8_t clock_seq_low; / clock sequence low field /
uint8_t node[6]; / node */
} ATTRIBUTE_PACKING;
As per specification the structure should have been defined as
struct ipmi_guid_t {
uint8_t node[6]; / node /
uint8_t clock_seq_low; / clock sequence low field /
uint8_t clock_seq_hi_variant;/ clock sequence high field and variant /
uint16_t time_hi_and_version; / timestamp high field and version number /
uint16_t time_mid; / timestamp middle field /
uint32_t time_low; / timestamp low field /
} ATTRIBUTE_PACKING;
Reported by: Devender Original Ticket: ipmitool/bugs/501
Noticed reading System GUID command is returning invalid value. IPMItool is not returing the data in the correct format.
Sytem GUID 61a39523-78f2-11e5-9862-e6402cfc3223
./ipmitool -I lanplus -H x.x.xxx.xxx -P 0penBmc -C 1 mc guid System GUID : 2cfc3223-e640-9862-e511-f2782395a361
Expected 2332fc2c40e6-6298-e511-f278-2395a361
Issue noticed is the below structure defined in ./include/ipmitool/ipmimc.h is not as per IPMI specification (Refer to section 20.8) /* Structure follow the IPMI V.2 Rev 1.0
As per specification the structure should have been defined as struct ipmi_guid_t { uint8_t node[6]; / node / uint8_t clock_seq_low; / clock sequence low field / uint8_t clock_seq_hi_variant;/ clock sequence high field and variant / uint16_t time_hi_and_version; / timestamp high field and version number / uint16_t time_mid; / timestamp middle field / uint32_t time_low; / timestamp low field / } ATTRIBUTE_PACKING;