|
1 | 1 | #! /usr/bin/python |
2 | 2 |
|
3 | 3 | try: |
4 | | - from sonic_sfp.sfputilbase import sfputilbase |
| 4 | + from sonic_sfp.sfputilbase import SfpUtilBase |
5 | 5 | except ImportError, e: |
6 | 6 | raise ImportError (str(e) + "- required module not found") |
7 | 7 |
|
8 | 8 |
|
9 | | -class sfputil(sfputilbase): |
| 9 | +class SfpUtil(SfpUtilBase): |
10 | 10 | """Platform specific sfputil class""" |
11 | 11 |
|
12 | | - port_start = 0 |
13 | | - port_end = 31 |
| 12 | + _port_start = 0 |
| 13 | + _port_end = 31 |
14 | 14 | ports_in_block = 32 |
15 | 15 |
|
16 | 16 |
|
17 | | - port_to_eeprom_mapping = {} |
| 17 | + _port_to_eeprom_mapping = {} |
| 18 | + |
18 | 19 | _qsfp_ports = range(0, ports_in_block + 1) |
19 | 20 |
|
20 | | - def __init__(self, port_num): |
| 21 | + def __init__(self): |
21 | 22 | # Override port_to_eeprom_mapping for class initialization |
22 | 23 | eeprom_path = '/sys/bus/i2c/devices/{0}-0050/sfp_eeprom' |
23 | 24 | for x in range(self.port_start, self.port_end + 1): |
24 | | - self.port_to_eeprom_mapping[x] = eeprom_path.format(x + 18) |
25 | | - sfputilbase.__init__(self, port_num) |
| 25 | + self._port_to_eeprom_mapping[x] = eeprom_path.format(x + 18) |
| 26 | + SfpUtilBase.__init__(self) |
| 27 | + |
| 28 | + def reset(self, port_num): |
| 29 | + raise NotImplementedErro |
| 30 | + |
| 31 | + def set_low_power_mode(self, port_nuM, lpmode): |
| 32 | + raise NotImplementedErro |
| 33 | + |
| 34 | + def get_low_power_mode(self, port_num): |
| 35 | + raise NotImplementedErro |
| 36 | + |
| 37 | + def get_presence(self, port_num): |
| 38 | + # Check for invalid port_num |
| 39 | + if port_num < self._port_start or port_num > self._port_end: |
| 40 | + return False |
| 41 | + |
| 42 | + path = "/sys/bus/i2c/devices/{0}-0050/sfp_is_present" |
| 43 | + port_ps = path.format(port_num+18) |
| 44 | + |
| 45 | + |
| 46 | + try: |
| 47 | + reg_file = open(port_ps) |
| 48 | + except IOError as e: |
| 49 | + print "Error: unable to open file: %s" % str(e) |
| 50 | + return False |
| 51 | + |
| 52 | + reg_value = reg_file.readline().rstrip() |
| 53 | + if reg_value == '1': |
| 54 | + return True |
| 55 | + |
| 56 | + return False |
| 57 | + |
| 58 | + @property |
| 59 | + def port_start(self): |
| 60 | + return self._port_start |
| 61 | + |
| 62 | + @property |
| 63 | + def port_end(self): |
| 64 | + return self._port_end |
| 65 | + |
| 66 | + @property |
| 67 | + def qsfp_ports(self): |
| 68 | + return range(0, self.ports_in_block + 1) |
| 69 | + |
| 70 | + @property |
| 71 | + def port_to_eeprom_mapping(self): |
| 72 | + return self._port_to_eeprom_mapping |
0 commit comments