[pddf]: fix Observing the following error while running 'sfputil show lpmode' command. (#12636)
Why I did it Fixes #12634 Observing the following error while running 'sfputil show lpmode' command. AttributeError: 'Sfp' object has no attribute 'get_power_set' Root Cause: get_power_set() is defined for QSFP28 and QSFP+ i.e. Sff8636 and Sff8634. However, the function is not defined in the optoe_base class. How I did it To use get_power_set(), we need to initialise the 'api' via get_xcvr_api() and then use it to run get_power_set().
This commit is contained in:
parent
20cad3b2f5
commit
8788f1cc0f
@ -205,7 +205,9 @@ class PddfSfp(SfpOptoeBase):
|
||||
lpmode = super().get_lpmode()
|
||||
elif xcvr_id == 0x11 or xcvr_id == 0x0d or xcvr_id == 0x0c:
|
||||
# QSFP28, QSFP+, QSFP
|
||||
power_set = self.get_power_set()
|
||||
# get_power_set() is not defined in the optoe_base class
|
||||
api = self.get_xcvr_api()
|
||||
power_set = api.get_power_set()
|
||||
power_override = self.get_power_override()
|
||||
# By default the lpmode pin is pulled high as mentioned in the sff community
|
||||
return power_set if power_override else True
|
||||
@ -343,9 +345,9 @@ class PddfSfp(SfpOptoeBase):
|
||||
elif xcvr_id == 0x11 or xcvr_id == 0x0d or xcvr_id == 0x0c:
|
||||
# QSFP28, QSFP+, QSFP
|
||||
if lpmode is True:
|
||||
self.set_power_override(True, True)
|
||||
status = self.set_power_override(True, True)
|
||||
else:
|
||||
self.set_power_override(True, False)
|
||||
status = self.set_power_override(True, False)
|
||||
|
||||
return status
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user