def __init__(self, index): self.__index = index self.__platform = "x86_64-inventec_d6356-r0" self.__hwsku = "INVENTEC-D6356" self.__port_to_i2c_mapping = { 0:22, 1:23, 2:24, 3:25, 4:26, 5:27, 6:28, 7:29, 8:30, 9:31, 10:32, 11:33, 12:34, 13:35, 14:36, 15:37, 16:38, 17:39, 18:40, 19:41, 20:42, 21:43, 22:44, 23:45, 24:46, 25:47, 26:48, 27:49, 28:50, 29:51, 30:52, 31:53, 32:54, 33:55, 34:56, 35:57, 36:58, 37:59, 38:60, 39:61, 40:62, 41:63, 42:64, 43:65, 44:66, 45:67, 46:68, 47:69, 48:14, 49:15, 50:16, 51:17, 52:18, 53:19, 54:20, 55:21 } self.__port_end = len(self.__port_to_i2c_mapping) - 1; self.__presence_attr = None self.__eeprom_path = None if self.__index in range(0, self.__port_end + 1): self.__presence_attr = "/sys/class/swps/port{}/present".format(self.__index) self.__lpmode_attr = "/sys/class/swps/port{}/lpmod".format(self.__index) self.__reset_attr = "/sys/class/swps/port{}/reset".format(self.__index) self.__eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom".format(self.__port_to_i2c_mapping[self.__index]) #print(self.__eeprom_path) SfpBase.__init__(self)
def __init__(self, index): self.__index = index self.__platform = "x86_64-inventec_d7264-r0" self.__hwsku = "INVENTEC-D7264" self.__port_to_i2c_mapping = { 0:100, 1:101, 2:102, 3:103, 4:104, 5:105, 6:106, 7:107, 8:108, 9:109, 10:110, 11:111, 12:112, 13:113, 14:114, 15:115, 16:116, 17:117, 18:118, 19:119, 20:120, 21:121, 22:122, 23:123, 24:124, 25:125, 26:126, 27:127, 28:128, 29:129, 30:130, 31:131, 32:135, 33:134, 34:133, 35:132, 36:139, 37:138, 38:137, 39:136, 40:143, 41:142, 42:141, 43:140, 44:147, 45:146, 46:145, 47:144, 48:151, 49:150, 50:149, 51:148, 52:155, 53:154, 54:153, 55:152, 56:159, 57:158, 58:157, 59:156, 60:163, 61:162, 62:161, 63:160 } self.__port_end = len(self.__port_to_i2c_mapping) - 1; self.__presence_attr = None self.__eeprom_path = None if self.__index in range(0, self.__port_end + 1): self.__presence_attr = "/sys/class/swps/port{}/present".format(self.__index) self.__lpmode_attr = "/sys/class/swps/port{}/lpmod".format(self.__index) self.__reset_attr = "/sys/class/swps/port{}/reset".format(self.__index) self.__eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom".format(self.__port_to_i2c_mapping[self.__index]) SfpBase.__init__(self)
def __init__(self, index, sfp_type, eeprom_path): SfpBase.__init__(self) self.sfp_type = sfp_type self.index = index self.eeprom_path = eeprom_path self.qsfpInfo = sff8436InterfaceId() self.qsfpDomInfo = sff8436Dom() self.sfpInfo = sff8472InterfaceId() self.sfpDomInfo = sff8472Dom(None, 1)
def __init__(self, index, slot): SfpBase.__init__(self) self._index = index self._slot = slot self._sfputil = None sfp = slot.getXcvr() self._eepromPath = EEPROM_PATH.format(sfp.getI2cAddr().bus, sfp.getI2cAddr().address) self.sfp_type = sfp.getType().upper()
def __init__(self, index, sfp_type, eeprom_path, sfp_control, sfp_ctrl_idx): SfpBase.__init__(self) self.sfp_type = sfp_type self.index = index self.eeprom_path = eeprom_path self.sfp_control = sfp_control self.sfp_ctrl_idx = sfp_ctrl_idx self.sfpInfo = sff8436InterfaceId() self.sfpDomInfo = sff8436Dom()
def __init__(self, index, sfp_type, eeprom_path): SfpBase.__init__(self) self.index = index self.eeprom_path = eeprom_path #sfp_type is the native port type and media_type is the transceiver type #media_type will be detected in get_transceiver_info self.sfp_type = sfp_type self.media_type = self.sfp_type self.qsfpInfo = sff8436InterfaceId() self.qsfpDomInfo = sff8436Dom() self.sfpInfo = sff8472InterfaceId() self.sfpDomInfo = sff8472Dom(None, 1)
def __init__(self, index): self.__index = index self.__port_end = len(self.__port_to_i2c_mapping) - 1 self.__presence_attr = None self.__eeprom_path = None if self.__index in range(0, self.__port_end + 1): self.__presence_attr = "/sys/class/swps/port{}/present".format( self.__index) self.__eeprom_path = "/sys/bus/i2c/devices/{}-0050/eeprom".format( self.__port_to_i2c_mapping[self.__index]) SfpBase.__init__(self)
def __init__(self, index): self.__index = index self.__port_end = len(self.__port_to_i2c_mapping) - 1 self.__presence_attr = None self.__eeprom_path = None if self.__index in range(0, self.__port_end + 1): self.__presence_attr = "/sys/class/swps/port{}/present".format(self.__index) self.__lpmode_attr = "/sys/class/swps/port{}/lpmod".format(self.__index) self.__reset_attr = "/sys/class/swps/port{}/reset".format(self.__index) self.__eeprom_path = "{}/{}-0050/eeprom".format(Common.I2C_PREFIX, self.__port_to_i2c_mapping[self.__index]) SfpBase.__init__(self)
def __init__(self, index, sfp_type, eeprom_path, port_i2c_map): SfpBase.__init__(self) self.index = index self.port_num = index self.sfp_type = sfp_type self.eeprom_path = eeprom_path self.port_to_i2c_mapping = port_i2c_map self.port_name = sfp_type + str(index) self.port_to_eeprom_mapping = {} self.port_to_eeprom_mapping[index] = eeprom_path self.info_dict_keys = [ 'type', 'hardware_rev', 'serial', 'manufacturer', 'model', 'connector', 'encoding', 'ext_identifier', 'ext_rateselect_compliance', 'cable_type', 'cable_length', 'nominal_bit_rate', 'specification_compliance', 'vendor_date', 'vendor_oui' ] self.dom_dict_keys = [ 'rx_los', 'tx_fault', 'reset_status', 'power_lpmode', 'tx_disable', 'tx_disable_channel', 'temperature', 'voltage', 'rx1power', 'rx2power', 'rx3power', 'rx4power', 'tx1bias', 'tx2bias', 'tx3bias', 'tx4bias', 'tx1power', 'tx2power', 'tx3power', 'tx4power' ] self.threshold_dict_keys = [ 'temphighalarm', 'temphighwarning', 'templowalarm', 'templowwarning', 'vcchighalarm', 'vcchighwarning', 'vcclowalarm', 'vcclowwarning', 'rxpowerhighalarm', 'rxpowerhighwarning', 'rxpowerlowalarm', 'rxpowerlowwarning', 'txpowerhighalarm', 'txpowerhighwarning', 'txpowerlowalarm', 'txpowerlowwarning', 'txbiashighalarm', 'txbiashighwarning', 'txbiaslowalarm', 'txbiaslowwarning' ] self.dom_supported = False self.dom_temp_supported = False self.dom_volt_supported = False self.dom_rx_power_supported = False self.dom_tx_power_supported = False self.calibration = 0 self._dom_capability_detect()
def __init__(self, sfp_index): # Init index self.index = sfp_index self.port_num = self.index + 1 # Init eeprom path eeprom_path = '/sys/bus/i2c/devices/{0}-0050/eeprom' self.port_to_eeprom_mapping = {} for x in range(self.PORT_START, self.PORT_END + 1): self.port_to_eeprom_mapping[x] = eeprom_path.format( self._port_to_i2c_mapping[x][0]) print "self.port_to_eeprom_mapping[%d]=%s" % ( self.port_num, self.port_to_eeprom_mapping[self.port_num]) self.info_dict_keys = [ 'type', 'hardwarerev', 'serialnum', 'manufacturename', 'modelname', 'Connector', 'encoding', 'ext_identifier', 'ext_rateselect_compliance', 'cable_type', 'cable_length', 'nominal_bit_rate', 'specification_compliance', 'vendor_date', 'vendor_oui' ] self.dom_dict_keys = [ 'rx_los', 'tx_fault', 'reset_status', 'power_lpmode', 'tx_disable', 'tx_disable_channel', 'temperature', 'voltage', 'rx1power', 'rx2power', 'rx3power', 'rx4power', 'tx1bias', 'tx2bias', 'tx3bias', 'tx4bias', 'tx1power', 'tx2power', 'tx3power', 'tx4power' ] self.threshold_dict_keys = [ 'temphighalarm', 'temphighwarning', 'templowalarm', 'templowwarning', 'vcchighalarm', 'vcchighwarning', 'vcclowalarm', 'vcclowwarning', 'rxpowerhighalarm', 'rxpowerhighwarning', 'rxpowerlowalarm', 'rxpowerlowwarning', 'txpowerhighalarm', 'txpowerhighwarning', 'txpowerlowalarm', 'txpowerlowwarning', 'txbiashighalarm', 'txbiashighwarning', 'txbiaslowalarm', 'txbiaslowwarning' ] SfpBase.__init__(self)
def __init__(self, port_num): self.port_num = port_num SfpBase.__init__(self)
def __init__(self, sfp_index, sfp_type): SfpBase.__init__(self) self.index = sfp_index # index is 0-based if sfp_index < self._port_start or sfp_index >= self._port_end: print "Invalid port index %d" % sfp_index return self.is_qsfp_port = True if (sfp_type == 'QSFP' or sfp_type == 'QSFP28') else False self.is_osfp_port = True if (sfp_type == 'OSFP' or sfp_type == 'QSFP-DD') else False self.is_sfp_port = True if (sfp_type == 'SFP') else False path = self.present_path port_path = path.format(self.port_to_i2cbus_0[1], 1) if not os.path.exists(port_path): self.port_to_i2cbus_mapping = self.port_to_i2cbus_1 else: self.port_to_i2cbus_mapping = self.port_to_i2cbus_0 index = (self.index % CPLD_PORT_NUM) + 1 cpld_index = (self.index / CPLD_PORT_NUM) + 1 if cpld_index == 5: path = self.sfpplus_eeprom_path if index == 1: self.port_to_eeprom[self.index] = path.format( self.port_to_i2cbus_mapping[cpld_index]) else: self.port_to_eeprom[self.index] = path.format( self.port_to_i2cbus_mapping[cpld_index + 1]) else: path = self.eeprom_path self.port_to_eeprom[self.index] = path.format( self.port_to_i2cbus_mapping[cpld_index], index) self.info_dict_keys = [ 'type', 'hardwarerev', 'serialnum', 'manufacturename', 'modelname', 'Connector', 'encoding', 'ext_identifier', 'ext_rateselect_compliance', 'cable_type', 'cable_length', 'nominal_bit_rate', 'specification_compliance', 'vendor_date', 'vendor_oui' ] self.dom_dict_keys = [ 'rx_los', 'tx_fault', 'reset_status', 'power_lpmode', 'tx_disable', 'tx_disable_channel', 'temperature', 'voltage', 'rx1power', 'rx2power', 'rx3power', 'rx4power', 'tx1bias', 'tx2bias', 'tx3bias', 'tx4bias', 'tx1power', 'tx2power', 'tx3power', 'tx4power' ] self.threshold_dict_keys = [ 'temphighalarm', 'temphighwarning', 'templowalarm', 'templowwarning', 'vcchighalarm', 'vcchighwarning', 'vcclowalarm', 'vcclowwarning', 'rxpowerhighalarm', 'rxpowerhighwarning', 'rxpowerlowalarm', 'rxpowerlowwarning', 'txpowerhighalarm', 'txpowerhighwarning', 'txpowerlowalarm', 'txpowerlowwarning', 'txbiashighalarm', 'txbiashighwarning', 'txbiaslowalarm', 'txbiaslowwarning' ] SfpBase.__init__(self)