diff --git a/sonic_platform_base/sfp_base.py b/sonic_platform_base/sfp_base.py index 5d8487774..95436cbde 100644 --- a/sonic_platform_base/sfp_base.py +++ b/sonic_platform_base/sfp_base.py @@ -289,6 +289,16 @@ def get_power_override(self): """ raise NotImplementedError + def get_power_override_support(self): + """ + Retrieves whether power override is supported by this SFP + + Returns: + bool: True if power override is supported, False if not supported + None: if not implemented or xcvr_api is not available + """ + return None + def get_temperature(self): """ Retrieves the temperature of this SFP diff --git a/sonic_platform_base/sonic_xcvr/sfp_optoe_base.py b/sonic_platform_base/sonic_xcvr/sfp_optoe_base.py index 921f14054..43af07854 100644 --- a/sonic_platform_base/sonic_xcvr/sfp_optoe_base.py +++ b/sonic_platform_base/sonic_xcvr/sfp_optoe_base.py @@ -261,6 +261,16 @@ def rx_disable_channel(self, channel, disable): api = self.get_xcvr_api() return api.rx_disable_channel(channel, disable) if api is not None else None + def get_power_override_support(self): + """ + Retrieves whether power override is supported by this SFP + + Returns: + bool: True if power override is supported, False if not supported + None: if xcvr_api is not available + """ + api = self.get_xcvr_api() + return api.get_power_override_support() if api is not None else None def get_power_override(self): api = self.get_xcvr_api()