metal-stack / go-hal

server hardware abstraction, tries to lower the burden of supporting different server vendors
GNU Affero General Public License v3.0
13 stars 3 forks source link

Redfish endianness encoding changed for Supermicro on newer BIOS versions #57

Open Gerrit91 opened 1 year ago

Gerrit91 commented 1 year ago

With BIOS 4.0 on X11DPT-B boards:

❯ redfishtool -r 10.1.2.14 -u root -p <...> Systems get | grep -i uuid
    "UUID": "BDC26000-8930-11EB-8000-7CC255106B08",
❯ sum -i 10.1.2.14 -u root -p <...> -c GetDmiInfo
Serial Number          {SYSN}    = "E262335X2A00152C"       // string value
UUID                   {SYUU}    = BDC26000-8930-11EB-8000-7CC255106B08 // 4-2-2-2-6 formatted 16-byte hex values
    // Bytes[ 0-3 ]: The low field of the timestamp
    // Bytes[ 4-5 ]: The middle field of the timestamp
    // Bytes[ 6-7 ]: The high field of the timestamp (multiplexed with
    //               the version number)
    // Bytes[ 8-9 ]: The clock sequence (multiplexed with the variant)
    // Bytes[10-15]: The spatially unique node identifier
    // Byte Order  :
    //       UUID {00112233-4455-6677-8899-AABBCCDDEEFF} is stored as
    //       33 22 11 00 55 44 77 66 88 99 AA BB CC DD EE FF

With BIOS 3.8a on X11DPT-B boards:

❯ redfishtool -r 10.1.3.11 -u root -p <...> Systems get | grep -i uuid
    "UUID": "005CB4E7-0989-EB11-8000-7CC255106AFE",
❯ sum -i 10.1.3.11 -u root -p <...> -c GetDmiInfo
UUID                   {SYUU}    = E7B45C00-8909-11EB-8000-7CC255106AFE // 4-2-2-2-6 formatted 16-byte hex values
    // Bytes[ 0-3 ]: The low field of the timestamp
    // Bytes[ 4-5 ]: The middle field of the timestamp
    // Bytes[ 6-7 ]: The high field of the timestamp (multiplexed with
    //               the version number)
    // Bytes[ 8-9 ]: The clock sequence (multiplexed with the variant)
    // Bytes[10-15]: The spatially unique node identifier
    // Byte Order  :
    //       UUID {00112233-4455-6677-8899-AABBCCDDEEFF} is stored as
    //       33 22 11 00 55 44 77 66 88 99 AA BB CC DD EE FF