in src/local_gpu_verifier/src/verifier/attestation/spdm_msrt_resp_msg.py [0:0]
def parse_switch_pdis(self, binary_data):
""" Parses the raw NvSwitch PDIs data of all the 18 NvLinks of the GPU.
Args:
binary_data (bytes): the raw NvSwitch PDI data.
Raises:
ParsingError: it is raised if the length off the data is not a multiple of self.FieldSize["PdiDataSize"]
"""
if len(binary_data) % self.FieldSize['PdiDataSize'] != 0:
raise ParsingError("Invalid size of switch PDI data.")
byte_index = 0
self.OpaqueDataField["OPAQUE_FIELD_ID_SWITCH_PDI"] = []
while byte_index < len(binary_data):
pdi = binary_data[byte_index : byte_index + self.FieldSize['PdiDataSize']]
self.OpaqueDataField["OPAQUE_FIELD_ID_SWITCH_PDI"].append(pdi)
byte_index = byte_index + self.FieldSize['PdiDataSize']