[device/celestica]: Fix sfp index on dx010 platform api (#4346)
This commit is contained in:
parent
c56752a5f8
commit
e75da77f35
@ -56,8 +56,7 @@ class Chassis(ChassisBase):
|
|||||||
thermal = Thermal(index)
|
thermal = Thermal(index)
|
||||||
self._thermal_list.append(thermal)
|
self._thermal_list.append(thermal)
|
||||||
# sfp index start from 1
|
# sfp index start from 1
|
||||||
self._sfp_list.append(None)
|
for index in range(0, NUM_SFP):
|
||||||
for index in range(1, NUM_SFP+1):
|
|
||||||
sfp = Sfp(index)
|
sfp = Sfp(index)
|
||||||
self._sfp_list.append(sfp)
|
self._sfp_list.append(sfp)
|
||||||
for index in range(0, NUM_COMPONENT):
|
for index in range(0, NUM_COMPONENT):
|
||||||
@ -159,3 +158,24 @@ class Chassis(ChassisBase):
|
|||||||
self._watchdog = Watchdog()
|
self._watchdog = Watchdog()
|
||||||
|
|
||||||
return self._watchdog
|
return self._watchdog
|
||||||
|
|
||||||
|
def get_sfp(self, index):
|
||||||
|
"""
|
||||||
|
Retrieves sfp represented by (1-based) index <index>
|
||||||
|
Args:
|
||||||
|
index: An integer, the index (1-based) of the sfp to retrieve.
|
||||||
|
The index should be the sequence of a physical port in a chassis,
|
||||||
|
starting from 1.
|
||||||
|
For example, 1 for Ethernet0, 2 for Ethernet4 and so on.
|
||||||
|
Returns:
|
||||||
|
An object dervied from SfpBase representing the specified sfp
|
||||||
|
"""
|
||||||
|
sfp = None
|
||||||
|
|
||||||
|
try:
|
||||||
|
# The index will start from 1
|
||||||
|
sfp = self._sfp_list[index-1]
|
||||||
|
except IndexError:
|
||||||
|
sys.stderr.write("SFP index {} out of range (1-{})\n".format(
|
||||||
|
index, len(self._sfp_list)))
|
||||||
|
return sfp
|
||||||
|
@ -100,7 +100,7 @@ class Sfp(SfpBase):
|
|||||||
def __init__(self, sfp_index):
|
def __init__(self, sfp_index):
|
||||||
# Init index
|
# Init index
|
||||||
self.index = sfp_index
|
self.index = sfp_index
|
||||||
self.port_num = self.index
|
self.port_num = self.index + 1
|
||||||
|
|
||||||
# Init eeprom path
|
# Init eeprom path
|
||||||
eeprom_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom'
|
eeprom_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom'
|
||||||
@ -593,7 +593,7 @@ class Sfp(SfpBase):
|
|||||||
reg_value = int(content, 16)
|
reg_value = int(content, 16)
|
||||||
|
|
||||||
# Determind if port_num start from 1 or 0
|
# Determind if port_num start from 1 or 0
|
||||||
bit_index = self.port_num - 1 if self.PORT_START == 1 else self.port_num
|
bit_index = self.index
|
||||||
|
|
||||||
# Mask off the bit corresponding to our port
|
# Mask off the bit corresponding to our port
|
||||||
mask = (1 << bit_index)
|
mask = (1 << bit_index)
|
||||||
@ -710,7 +710,7 @@ class Sfp(SfpBase):
|
|||||||
reg_value = int(content, 16)
|
reg_value = int(content, 16)
|
||||||
|
|
||||||
# Determind if port_num start from 1 or 0
|
# Determind if port_num start from 1 or 0
|
||||||
bit_index = self.port_num - 1 if self.PORT_START == 1 else self.port_num
|
bit_index = self.index
|
||||||
|
|
||||||
# Mask off the bit corresponding to our port
|
# Mask off the bit corresponding to our port
|
||||||
mask = (1 << bit_index)
|
mask = (1 << bit_index)
|
||||||
@ -823,7 +823,7 @@ class Sfp(SfpBase):
|
|||||||
reg_value = int(content, 16)
|
reg_value = int(content, 16)
|
||||||
|
|
||||||
# Determind if port_num start from 1 or 0
|
# Determind if port_num start from 1 or 0
|
||||||
bit_index = self.port_num - 1 if self.PORT_START == 1 else self.port_num
|
bit_index = self.index
|
||||||
|
|
||||||
# Mask off the bit corresponding to our port
|
# Mask off the bit corresponding to our port
|
||||||
mask = (1 << bit_index)
|
mask = (1 << bit_index)
|
||||||
@ -907,7 +907,7 @@ class Sfp(SfpBase):
|
|||||||
reg_value = int(content, 16)
|
reg_value = int(content, 16)
|
||||||
|
|
||||||
# Determind if port_num start from 1 or 0
|
# Determind if port_num start from 1 or 0
|
||||||
bit_index = self.port_num - 1 if self.PORT_START == 1 else self.port_num
|
bit_index = self.index
|
||||||
|
|
||||||
# Mask off the bit corresponding to our port
|
# Mask off the bit corresponding to our port
|
||||||
mask = (1 << bit_index)
|
mask = (1 << bit_index)
|
||||||
@ -942,4 +942,4 @@ class Sfp(SfpBase):
|
|||||||
Returns:
|
Returns:
|
||||||
A boolean value, True if device is operating properly, False if not
|
A boolean value, True if device is operating properly, False if not
|
||||||
"""
|
"""
|
||||||
return self.get_presence() and self.get_transceiver_bulk_status()
|
return self.get_presence() and not self.get_reset_status()
|
||||||
|
Reference in New Issue
Block a user