Skip to content

Commit

Permalink
[eeprom]: Add DB checksum field. (sonic-net#69)
Browse files Browse the repository at this point in the history
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
  • Loading branch information
nazariig authored and jleveque committed Dec 4, 2019
1 parent 3c221be commit 6ad48b8
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions sonic_platform_base/sonic_eeprom/eeprom_tlvinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,15 @@ def read_eeprom_db(self):
self.__print_db(client, self._TLV_CODE_VENDOR_EXT, num_vendor_ext)

self.__print_db(client, self._TLV_CODE_CRC_32)

print("")

is_valid = client.hget('EEPROM_INFO|Checksum', 'Valid')
if is_valid != '1':
print("(*** checksum invalid)")
else:
print("(checksum valid)")

return 0

def update_eeprom_db(self, e):
Expand Down Expand Up @@ -379,6 +388,15 @@ def update_eeprom_db(self, e):
client.hmset('EEPROM_INFO|{}'.format(hex(self._TLV_CODE_VENDOR_EXT)), fvs)
fvs.clear()

(is_valid, valid_crc) = self.is_checksum_valid(e)
if is_valid:
fvs['Valid'] = '1'
else:
fvs['Valid'] = '0'

client.hmset('EEPROM_INFO|Checksum', fvs)
fvs.clear()

fvs['Initialized'] = '1'
client.hmset('EEPROM_INFO|State', fvs)
return 0
Expand Down

0 comments on commit 6ad48b8

Please sign in to comment.