Skip to content

Commit 9aa906a

Browse files
authored
[devices]: modify sfputil plugins for mellanox devices for new platform API (#916)
get presence, get/set lpmode, reset are not implemented
1 parent a73065a commit 9aa906a

File tree

4 files changed

+208
-72
lines changed

4 files changed

+208
-72
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,62 @@
1-
#! /usr/bin/python
1+
# sfputil.py
2+
#
3+
# Platform-specific SFP transceiver interface for SONiC
4+
#
25

36
try:
4-
from sonic_sfp.sfputilbase import sfputilbase
5-
except ImportError, e:
6-
raise ImportError (str(e) + "- required module not found")
7+
import time
8+
from sonic_sfp.sfputilbase import SfpUtilBase
9+
except ImportError as e:
10+
raise ImportError("%s - required module not found" % str(e))
711

812

9-
class sfputil(sfputilbase):
10-
"""Platform specific sfputil class"""
13+
class SfpUtil(SfpUtilBase):
14+
"""Platform-specific SfpUtil class"""
1115

12-
port_start = 0
13-
port_end = 15
14-
ports_in_block = 16
16+
PORT_START = 0
17+
PORT_END = 15
18+
PORTS_IN_BLOCK = 16
1519

16-
eeprom_offset = 1
20+
EEPROM_OFFSET = 1
1721

18-
port_to_eeprom_mapping = {}
22+
_port_to_eeprom_mapping = {}
1923

20-
_qsfp_ports = range(0, ports_in_block + 1)
24+
@property
25+
def port_start(self):
26+
return self.PORT_START
27+
28+
@property
29+
def port_end(self):
30+
return self.PORT_END
31+
32+
@property
33+
def qsfp_ports(self):
34+
return range(0, self.PORTS_IN_BLOCK + 1)
35+
36+
@property
37+
def port_to_eeprom_mapping(self):
38+
return self._port_to_eeprom_mapping
39+
40+
def __init__(self):
41+
eeprom_path = "/bsp/qsfp/qsfp{0}"
2142

22-
def __init__(self, port_num):
23-
# Override port_to_eeprom_mapping for class initialization
24-
eeprom_path = '/bsp/qsfp/qsfp{0}'
2543
for x in range(0, self.port_end + 1):
26-
self.port_to_eeprom_mapping[x] = eeprom_path.format(x + self.eeprom_offset)
27-
sfputilbase.__init__(self, port_num)
28-
44+
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
45+
46+
SfpUtilBase.__init__(self)
47+
48+
def get_presence(self, port_num):
49+
50+
raise NotImplementedError
51+
52+
def get_low_power_mode(self, port_num):
53+
54+
raise NotImplementedError
55+
56+
def set_low_power_mode(self, port_num, lpmode):
57+
58+
raise NotImplementedError
59+
60+
def reset(self, port_num):
61+
62+
raise NotImplementedError
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,62 @@
1-
#! /usr/bin/python
1+
# sfputil.py
2+
#
3+
# Platform-specific SFP transceiver interface for SONiC
4+
#
25

36
try:
4-
from sonic_sfp.sfputilbase import sfputilbase
5-
except ImportError, e:
6-
raise ImportError (str(e) + "- required module not found")
7+
import time
8+
from sonic_sfp.sfputilbase import SfpUtilBase
9+
except ImportError as e:
10+
raise ImportError("%s - required module not found" % str(e))
711

812

9-
class sfputil(sfputilbase):
10-
"""Platform specific sfputil class"""
13+
class SfpUtil(SfpUtilBase):
14+
"""Platform-specific SfpUtil class"""
1115

12-
port_start = 0
13-
port_end = 55
14-
ports_in_block = 56
16+
PORT_START = 0
17+
PORT_END = 55
18+
PORTS_IN_BLOCK = 56
1519

16-
eeprom_offset = 1
20+
EEPROM_OFFSET = 1
1721

18-
port_to_eeprom_mapping = {}
22+
_port_to_eeprom_mapping = {}
1923

20-
_qsfp_ports = range(0, ports_in_block + 1)
24+
@property
25+
def port_start(self):
26+
return self.PORT_START
27+
28+
@property
29+
def port_end(self):
30+
return self.PORT_END
31+
32+
@property
33+
def qsfp_ports(self):
34+
return range(0, self.PORTS_IN_BLOCK + 1)
35+
36+
@property
37+
def port_to_eeprom_mapping(self):
38+
return self._port_to_eeprom_mapping
39+
40+
def __init__(self):
41+
eeprom_path = "/bsp/qsfp/qsfp{0}"
2142

22-
def __init__(self, port_num):
23-
# Override port_to_eeprom_mapping for class initialization
24-
eeprom_path = '/bsp/qsfp/qsfp{0}'
2543
for x in range(0, self.port_end + 1):
26-
self.port_to_eeprom_mapping[x] = eeprom_path.format(x + self.eeprom_offset)
27-
sfputilbase.__init__(self, port_num)
28-
44+
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
45+
46+
SfpUtilBase.__init__(self)
47+
48+
def get_presence(self, port_num):
49+
50+
raise NotImplementedError
51+
52+
def get_low_power_mode(self, port_num):
53+
54+
raise NotImplementedError
55+
56+
def set_low_power_mode(self, port_num, lpmode):
57+
58+
raise NotImplementedError
59+
60+
def reset(self, port_num):
61+
62+
raise NotImplementedError
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,62 @@
1-
#! /usr/bin/python
1+
# sfputil.py
2+
#
3+
# Platform-specific SFP transceiver interface for SONiC
4+
#
25

36
try:
4-
from sonic_sfp.sfputilbase import sfputilbase
5-
except ImportError, e:
6-
raise ImportError (str(e) + "- required module not found")
7+
import time
8+
from sonic_sfp.sfputilbase import SfpUtilBase
9+
except ImportError as e:
10+
raise ImportError("%s - required module not found" % str(e))
711

812

9-
class sfputil(sfputilbase):
10-
"""Platform specific sfputil class"""
13+
class SfpUtil(SfpUtilBase):
14+
"""Platform-specific SfpUtil class"""
1115

12-
port_start = 0
13-
port_end = 31
14-
ports_in_block = 32
16+
PORT_START = 0
17+
PORT_END = 31
18+
PORTS_IN_BLOCK = 32
1519

16-
eeprom_offset = 1
20+
EEPROM_OFFSET = 1
1721

18-
port_to_eeprom_mapping = {}
22+
_port_to_eeprom_mapping = {}
1923

20-
_qsfp_ports = range(0, ports_in_block + 1)
24+
@property
25+
def port_start(self):
26+
return self.PORT_START
27+
28+
@property
29+
def port_end(self):
30+
return self.PORT_END
31+
32+
@property
33+
def qsfp_ports(self):
34+
return range(0, self.PORTS_IN_BLOCK + 1)
35+
36+
@property
37+
def port_to_eeprom_mapping(self):
38+
return self._port_to_eeprom_mapping
39+
40+
def __init__(self):
41+
eeprom_path = "/bsp/qsfp/qsfp{0}"
2142

22-
def __init__(self, port_num):
23-
# Override port_to_eeprom_mapping for class initialization
24-
eeprom_path = '/bsp/qsfp/qsfp{0}'
2543
for x in range(0, self.port_end + 1):
26-
self.port_to_eeprom_mapping[x] = eeprom_path.format(x + self.eeprom_offset)
27-
sfputilbase.__init__(self, port_num)
28-
44+
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
45+
46+
SfpUtilBase.__init__(self)
47+
48+
def get_presence(self, port_num):
49+
50+
raise NotImplementedError
51+
52+
def get_low_power_mode(self, port_num):
53+
54+
raise NotImplementedError
55+
56+
def set_low_power_mode(self, port_num, lpmode):
57+
58+
raise NotImplementedError
59+
60+
def reset(self, port_num):
61+
62+
raise NotImplementedError
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,62 @@
1-
#! /usr/bin/python
1+
# sfputil.py
2+
#
3+
# Platform-specific SFP transceiver interface for SONiC
4+
#
25

36
try:
4-
from sonic_sfp.sfputilbase import sfputilbase
5-
except ImportError, e:
6-
raise ImportError (str(e) + "- required module not found")
7+
import time
8+
from sonic_sfp.sfputilbase import SfpUtilBase
9+
except ImportError as e:
10+
raise ImportError("%s - required module not found" % str(e))
711

812

9-
class sfputil(sfputilbase):
10-
"""Platform specific sfputil class"""
13+
class SfpUtil(SfpUtilBase):
14+
"""Platform-specific SfpUtil class"""
1115

12-
port_start = 0
13-
port_end = 31
14-
ports_in_block = 32
16+
PORT_START = 0
17+
PORT_END = 31
18+
PORTS_IN_BLOCK = 32
1519

16-
eeprom_offset = 1
20+
EEPROM_OFFSET = 1
1721

18-
port_to_eeprom_mapping = {}
22+
_port_to_eeprom_mapping = {}
1923

20-
_qsfp_ports = range(0, ports_in_block + 1)
24+
@property
25+
def port_start(self):
26+
return self.PORT_START
27+
28+
@property
29+
def port_end(self):
30+
return self.PORT_END
31+
32+
@property
33+
def qsfp_ports(self):
34+
return range(0, self.PORTS_IN_BLOCK + 1)
35+
36+
@property
37+
def port_to_eeprom_mapping(self):
38+
return self._port_to_eeprom_mapping
39+
40+
def __init__(self):
41+
eeprom_path = "/bsp/qsfp/qsfp{0}"
2142

22-
def __init__(self, port_num):
23-
# Override port_to_eeprom_mapping for class initialization
24-
eeprom_path = '/bsp/qsfp/qsfp{0}'
2543
for x in range(0, self.port_end + 1):
26-
self.port_to_eeprom_mapping[x] = eeprom_path.format(x + self.eeprom_offset)
27-
sfputilbase.__init__(self, port_num)
28-
44+
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
45+
46+
SfpUtilBase.__init__(self)
47+
48+
def get_presence(self, port_num):
49+
50+
raise NotImplementedError
51+
52+
def get_low_power_mode(self, port_num):
53+
54+
raise NotImplementedError
55+
56+
def set_low_power_mode(self, port_num, lpmode):
57+
58+
raise NotImplementedError
59+
60+
def reset(self, port_num):
61+
62+
raise NotImplementedError

0 commit comments

Comments
 (0)