[Mellanox] Update the sfp platform API to get the ext_specification_compliance with new way (#5123)
Update the platform API implementation with calling dedicated parse function which defined in the platform-common as defined by https://github.com/Azure/sonic-platform-common/pull/112
This commit is contained in:
parent
893d0d8638
commit
bf3c901c6c
@ -30,7 +30,7 @@ except ImportError as e:
|
|||||||
|
|
||||||
# definitions of the offset and width for values in XCVR info eeprom
|
# definitions of the offset and width for values in XCVR info eeprom
|
||||||
XCVR_INTFACE_BULK_OFFSET = 0
|
XCVR_INTFACE_BULK_OFFSET = 0
|
||||||
XCVR_INTFACE_BULK_WIDTH_QSFP = 65
|
XCVR_INTFACE_BULK_WIDTH_QSFP = 20
|
||||||
XCVR_INTFACE_BULK_WIDTH_SFP = 21
|
XCVR_INTFACE_BULK_WIDTH_SFP = 21
|
||||||
XCVR_TYPE_OFFSET = 0
|
XCVR_TYPE_OFFSET = 0
|
||||||
XCVR_TYPE_WIDTH = 1
|
XCVR_TYPE_WIDTH = 1
|
||||||
@ -59,6 +59,8 @@ XCVR_HW_REV_OFFSET = 56
|
|||||||
XCVR_HW_REV_WIDTH_OSFP = 2
|
XCVR_HW_REV_WIDTH_OSFP = 2
|
||||||
XCVR_HW_REV_WIDTH_QSFP = 2
|
XCVR_HW_REV_WIDTH_QSFP = 2
|
||||||
XCVR_HW_REV_WIDTH_SFP = 4
|
XCVR_HW_REV_WIDTH_SFP = 4
|
||||||
|
XCVR_EXT_SPECIFICATION_COMPLIANCE_OFFSET = 64
|
||||||
|
XCVR_EXT_SPECIFICATION_COMPLIANCE_WIDTH = 1
|
||||||
XCVR_VENDOR_SN_OFFSET = 68
|
XCVR_VENDOR_SN_OFFSET = 68
|
||||||
XCVR_VENDOR_SN_WIDTH = 16
|
XCVR_VENDOR_SN_WIDTH = 16
|
||||||
XCVR_VENDOR_DATE_OFFSET = 84
|
XCVR_VENDOR_DATE_OFFSET = 84
|
||||||
@ -827,8 +829,11 @@ class SFP(SfpBase):
|
|||||||
for key in qsfp_compliance_code_tup:
|
for key in qsfp_compliance_code_tup:
|
||||||
if key in sfp_interface_bulk_data['data']['Specification compliance']['value']:
|
if key in sfp_interface_bulk_data['data']['Specification compliance']['value']:
|
||||||
compliance_code_dict[key] = sfp_interface_bulk_data['data']['Specification compliance']['value'][key]['value']
|
compliance_code_dict[key] = sfp_interface_bulk_data['data']['Specification compliance']['value'][key]['value']
|
||||||
if sfp_interface_bulk_data['data']['Extended Specification compliance']['value'] != "Unspecified":
|
sfp_ext_specification_compliance_raw = self._read_eeprom_specific_bytes(offset + XCVR_EXT_SPECIFICATION_COMPLIANCE_OFFSET, XCVR_EXT_SPECIFICATION_COMPLIANCE_WIDTH)
|
||||||
compliance_code_dict['Extended Specification compliance'] = sfp_interface_bulk_data['data']['Extended Specification compliance']['value']
|
if sfp_ext_specification_compliance_raw is not None:
|
||||||
|
sfp_ext_specification_compliance_data = sfpi_obj.parse_ext_specification_compliance(sfp_ext_specification_compliance_raw[0 : 1], 0)
|
||||||
|
if sfp_ext_specification_compliance_data['data']['Extended Specification compliance']['value'] != "Unspecified":
|
||||||
|
compliance_code_dict['Extended Specification compliance'] = sfp_ext_specification_compliance_data['data']['Extended Specification compliance']['value']
|
||||||
transceiver_info_dict['specification_compliance'] = str(compliance_code_dict)
|
transceiver_info_dict['specification_compliance'] = str(compliance_code_dict)
|
||||||
|
|
||||||
transceiver_info_dict['nominal_bit_rate'] = str(sfp_interface_bulk_data['data']['Nominal Bit Rate(100Mbs)']['value'])
|
transceiver_info_dict['nominal_bit_rate'] = str(sfp_interface_bulk_data['data']['Nominal Bit Rate(100Mbs)']['value'])
|
||||||
|
Loading…
Reference in New Issue
Block a user