diff --git a/sonic_platform_base/sonic_xcvr/api/public/cmis.py b/sonic_platform_base/sonic_xcvr/api/public/cmis.py index 621b557..06cf842 100644 --- a/sonic_platform_base/sonic_xcvr/api/public/cmis.py +++ b/sonic_platform_base/sonic_xcvr/api/public/cmis.py @@ -2059,7 +2059,7 @@ def get_application_advertisement(self): key = "{}_{}".format(consts.HOST_ELECTRICAL_INTERFACE, app) val = dic.get(key) - if val in [None, 'Unknown', 'Undefined']: + if val in [None, 'End']: continue buf['host_electrical_interface_id'] = val @@ -2068,7 +2068,7 @@ def get_application_advertisement(self): continue key = "{}_{}".format(prefix, app) val = dic.get(key) - if val in [None, 'Unknown']: + if val in [None]: continue buf['module_media_interface_id'] = val diff --git a/sonic_platform_base/sonic_xcvr/codes/public/sff8024.py b/sonic_platform_base/sonic_xcvr/codes/public/sff8024.py index c6a7e6e..8a47fde 100644 --- a/sonic_platform_base/sonic_xcvr/codes/public/sff8024.py +++ b/sonic_platform_base/sonic_xcvr/codes/public/sff8024.py @@ -267,7 +267,8 @@ class Sff8024(XcvrCodes): 80: '400GAUI-4-L C2M (Annex 120G)', 81: '800G S C2M (placeholder)', 82: '800G L C2M (placeholder)', - 83: 'OTL4.2' + 83: 'OTL4.2', + 255: 'End' } # MMF media interface IDs @@ -387,7 +388,12 @@ class Sff8024(XcvrCodes): 84: 'FOIC2.4-DO (G.709.3/Y.1331.3)', 85: '400GBASE-DR4-2 (placeholder)', 86: '800GBASE-DR8 (placeholder)', - 87: '800GBASE-DR8-2 (placeholder)' + 87: '800GBASE-DR8-2 (placeholder)', + 102: 'FLEXO-8e-DO-16QAM/FOIC8e.8-DO', + 151: "100G-DR1-LPO", + 152: "200G-DR2-LPO", + 153: "400G-DR4-LPO", + 154: "800G-DR8-LPO", } # Passive and Linear Active Copper Cable and Passive Loopback media interface codes diff --git a/sonic_platform_base/sonic_xcvr/fields/xcvr_field.py b/sonic_platform_base/sonic_xcvr/fields/xcvr_field.py index a9e0fd5..21d4780 100644 --- a/sonic_platform_base/sonic_xcvr/fields/xcvr_field.py +++ b/sonic_platform_base/sonic_xcvr/fields/xcvr_field.py @@ -238,7 +238,7 @@ def decode(self, raw_data, **decoded_deps): if mask is not None: code &= mask code >>= self.start_bitpos - return self.code_dict.get(code, "Unknown") + return self.code_dict.get(code, "Unknown: {}".format(code)) class HexRegField(RegField): """