[Ingrasys] update port_config.ini and sfputil for ingrasys platforms (#952)
* [Ingrasys] update port_config.ini and sfputil for ingrasys platforms - What I did Update port_config.ini on S8810-32Q/S8900-54XC/S8900-64XC/S9100-C32 platforms - How I did it Update alias field and add port field in port_config.ini - How to verify it Check with the "sfputil show eeprom" command. If no error occurs, it is passed. - Description for the changelog Update port_config.ini on S8810-32Q/S8900-54XC/S8900-64XC/S9100-C32 platforms * [Ingrasys] remove debug message in sfputil.py on S8810-32Q - What I did remove debug message in sfputil.py on S8810-32Q - How I did it remove print in get_low_power_mode() and set_low_power_mode() - How to verify it There should be no debug message when executing "sfputil show lpmode" and "sfputil lpmode on Ethernet0"command. - Description for the changelog remove debug message in sfputil.py on S8810-32Q - A picture of a cute animal (not mandatory but encouraged)
This commit is contained in:
parent
686e227dcc
commit
e4cae4e889
@ -1,33 +1,33 @@
|
||||
# name lanes alias
|
||||
Ethernet0 37,38,39,40
|
||||
Ethernet4 33,34,35,36
|
||||
Ethernet8 45,46,47,48
|
||||
Ethernet12 41,42,43,44
|
||||
Ethernet16 53,54,55,56
|
||||
Ethernet20 49,50,51,52
|
||||
Ethernet24 61,62,63,64
|
||||
Ethernet28 57,58,59,60
|
||||
Ethernet32 69,70,71,72
|
||||
Ethernet36 65,66,67,68
|
||||
Ethernet40 77,78,79,80
|
||||
Ethernet44 73,74,75,76
|
||||
Ethernet48 85,86,87,88
|
||||
Ethernet52 81,82,83,84
|
||||
Ethernet56 93,94,95,96
|
||||
Ethernet60 89,90,91,92
|
||||
Ethernet64 101,102,103,104
|
||||
Ethernet68 97,98,99,100
|
||||
Ethernet72 109,110,111,112
|
||||
Ethernet76 105,106,107,108
|
||||
Ethernet80 117,118,119,120
|
||||
Ethernet84 113,114,115,116
|
||||
Ethernet88 125,126,127,128
|
||||
Ethernet92 121,122,123,124
|
||||
Ethernet96 5,6,7,8
|
||||
Ethernet100 1,2,3,4
|
||||
Ethernet104 13,14,15,16
|
||||
Ethernet108 9,10,11,12
|
||||
Ethernet112 21,22,23,24
|
||||
Ethernet116 17,18,19,20
|
||||
Ethernet120 29,30,31,32
|
||||
Ethernet124 25,26,27,28
|
||||
# name lanes alias port
|
||||
Ethernet0 37,38,39,40 Ethernet1/1 0
|
||||
Ethernet4 33,34,35,36 Ethernet2/1 1
|
||||
Ethernet8 45,46,47,48 Ethernet3/1 2
|
||||
Ethernet12 41,42,43,44 Ethernet4/1 3
|
||||
Ethernet16 53,54,55,56 Ethernet5/1 4
|
||||
Ethernet20 49,50,51,52 Ethernet6/1 5
|
||||
Ethernet24 61,62,63,64 Ethernet7/1 6
|
||||
Ethernet28 57,58,59,60 Ethernet8/1 7
|
||||
Ethernet32 69,70,71,72 Ethernet9/1 8
|
||||
Ethernet36 65,66,67,68 Ethernet10/1 9
|
||||
Ethernet40 77,78,79,80 Ethernet11/1 10
|
||||
Ethernet44 73,74,75,76 Ethernet12/1 11
|
||||
Ethernet48 85,86,87,88 Ethernet13/1 12
|
||||
Ethernet52 81,82,83,84 Ethernet14/1 13
|
||||
Ethernet56 93,94,95,96 Ethernet15/1 14
|
||||
Ethernet60 89,90,91,92 Ethernet16/1 15
|
||||
Ethernet64 101,102,103,104 Ethernet17/1 16
|
||||
Ethernet68 97,98,99,100 Ethernet18/1 17
|
||||
Ethernet72 109,110,111,112 Ethernet19/1 18
|
||||
Ethernet76 105,106,107,108 Ethernet20/1 19
|
||||
Ethernet80 117,118,119,120 Ethernet21/1 20
|
||||
Ethernet84 113,114,115,116 Ethernet22/1 21
|
||||
Ethernet88 125,126,127,128 Ethernet23/1 22
|
||||
Ethernet92 121,122,123,124 Ethernet24/1 23
|
||||
Ethernet96 5,6,7,8 Ethernet25/1 24
|
||||
Ethernet100 1,2,3,4 Ethernet26/1 25
|
||||
Ethernet104 13,14,15,16 Ethernet27/1 26
|
||||
Ethernet108 9,10,11,12 Ethernet28/1 27
|
||||
Ethernet112 21,22,23,24 Ethernet29/1 28
|
||||
Ethernet116 17,18,19,20 Ethernet30/1 29
|
||||
Ethernet120 29,30,31,32 Ethernet31/1 30
|
||||
Ethernet124 25,26,27,28 Ethernet32/1 31
|
||||
|
@ -1,61 +1,147 @@
|
||||
#!/usr/bin/env python
|
||||
# sfputil.py
|
||||
#
|
||||
# Platform-specific SFP transceiver interface for SONiC
|
||||
#
|
||||
|
||||
try:
|
||||
from sonic_sfp.sfputilbase import sfputilbase
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
import time
|
||||
from sonic_sfp.sfputilbase import SfpUtilBase
|
||||
except ImportError as e:
|
||||
raise ImportError("%s - required module not found" % str(e))
|
||||
|
||||
|
||||
class sfputil(sfputilbase):
|
||||
"""Platform specific sfputil class"""
|
||||
class SfpUtil(SfpUtilBase):
|
||||
"""Platform-specific SfpUtil class"""
|
||||
|
||||
port_start = 0
|
||||
port_end = 31
|
||||
ports_in_block = 32
|
||||
PORT_START = 0
|
||||
PORT_END = 31
|
||||
PORTS_IN_BLOCK = 32
|
||||
|
||||
port_to_eeprom_mapping = {}
|
||||
#FIXME
|
||||
port_to_i2c_mapping = {
|
||||
0: 18,
|
||||
1: 19,
|
||||
2: 20,
|
||||
3: 21,
|
||||
4: 22,
|
||||
5: 23,
|
||||
6: 24,
|
||||
7: 25,
|
||||
8: 26,
|
||||
9: 27,
|
||||
10: 28,
|
||||
11: 29,
|
||||
12: 30,
|
||||
13: 31,
|
||||
14: 32,
|
||||
15: 33,
|
||||
16: 34,
|
||||
17: 35,
|
||||
18: 36,
|
||||
19: 37,
|
||||
20: 38,
|
||||
21: 39,
|
||||
22: 40,
|
||||
23: 41,
|
||||
24: 42,
|
||||
25: 43,
|
||||
26: 44,
|
||||
27: 45,
|
||||
28: 46,
|
||||
29: 47,
|
||||
30: 48,
|
||||
31: 49
|
||||
}
|
||||
EEPROM_OFFSET = 18
|
||||
|
||||
_qsfp_ports = range(0, ports_in_block + 1)
|
||||
ABS_GPIO_BASE = 224
|
||||
#INT_GPIO_BASE = 192
|
||||
LP_GPIO_BASE = 160
|
||||
RST_GPIO_BASE = 128
|
||||
|
||||
BASE_DIR_PATH = "/sys/class/gpio/gpio{0}/direction"
|
||||
BASE_VAL_PATH = "/sys/class/gpio/gpio{0}/value"
|
||||
|
||||
def __init__(self, port_num):
|
||||
_port_to_eeprom_mapping = {}
|
||||
|
||||
@property
|
||||
def port_start(self):
|
||||
return self.PORT_START
|
||||
|
||||
@property
|
||||
def port_end(self):
|
||||
return self.PORT_END
|
||||
|
||||
@property
|
||||
def qsfp_ports(self):
|
||||
return range(0, self.PORTS_IN_BLOCK + 1)
|
||||
|
||||
@property
|
||||
def port_to_eeprom_mapping(self):
|
||||
return self._port_to_eeprom_mapping
|
||||
|
||||
def __init__(self):
|
||||
# Override port_to_eeprom_mapping for class initialization
|
||||
eeprom_path = '/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom'
|
||||
eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom"
|
||||
|
||||
for x in range(self.port_start, self.port_end + 1):
|
||||
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
|
||||
self.port_to_eeprom_mapping[x] = port_eeprom_path
|
||||
sfputilbase.__init__(self, port_num)
|
||||
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
|
||||
|
||||
SfpUtilBase.__init__(self)
|
||||
|
||||
def get_presence(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
abs_device_file = self.BASE_VAL_PATH.format(
|
||||
port_num + self.ABS_GPIO_BASE)
|
||||
val_file = open(abs_device_file)
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = val_file.readline().rstrip()
|
||||
|
||||
# content is a string, either "0" or "1"
|
||||
if content == "1":
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def get_low_power_mode(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
lpmode_val_device_file = self.BASE_VAL_PATH.format(
|
||||
port_num + self.LP_GPIO_BASE)
|
||||
val_file = open(lpmode_val_device_file)
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = val_file.readline().rstrip()
|
||||
|
||||
# content is a string, either "0" or "1"
|
||||
if content == "1":
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def set_low_power_mode(self, port_num, lpmode):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
lpmode_val_device_file = self.BASE_VAL_PATH.format(
|
||||
port_num + self.LP_GPIO_BASE)
|
||||
val_file = open(lpmode_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("1" if lpmode is True else "0")
|
||||
val_file.close()
|
||||
|
||||
return True
|
||||
|
||||
def reset(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
reset_val_device_file = self.BASE_VAL_PATH.format(
|
||||
port_num + self.RST_GPIO_BASE)
|
||||
val_file = open(reset_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("1")
|
||||
val_file.close()
|
||||
|
||||
# Sleep 1 second to allow it to settle
|
||||
time.sleep(1)
|
||||
|
||||
try:
|
||||
reset_val_device_file = self.BASE_VAL_PATH.format(
|
||||
port_num + self.RST_GPIO_BASE)
|
||||
val_file = open(reset_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("0")
|
||||
val_file.close()
|
||||
|
||||
return True
|
||||
|
@ -1,55 +1,55 @@
|
||||
# name lanes alias
|
||||
Ethernet0 1
|
||||
Ethernet1 2
|
||||
Ethernet2 3
|
||||
Ethernet3 4
|
||||
Ethernet4 5
|
||||
Ethernet5 6
|
||||
Ethernet6 7
|
||||
Ethernet7 8
|
||||
Ethernet8 9
|
||||
Ethernet9 10
|
||||
Ethernet10 11
|
||||
Ethernet11 12
|
||||
Ethernet12 21
|
||||
Ethernet13 22
|
||||
Ethernet14 23
|
||||
Ethernet15 24
|
||||
Ethernet16 33
|
||||
Ethernet17 34
|
||||
Ethernet18 35
|
||||
Ethernet19 36
|
||||
Ethernet20 37
|
||||
Ethernet21 38
|
||||
Ethernet22 39
|
||||
Ethernet23 40
|
||||
Ethernet24 41
|
||||
Ethernet25 42
|
||||
Ethernet26 43
|
||||
Ethernet27 44
|
||||
Ethernet28 49
|
||||
Ethernet29 50
|
||||
Ethernet30 51
|
||||
Ethernet31 52
|
||||
Ethernet32 53
|
||||
Ethernet33 54
|
||||
Ethernet34 55
|
||||
Ethernet35 56
|
||||
Ethernet36 65
|
||||
Ethernet37 66
|
||||
Ethernet38 67
|
||||
Ethernet39 68
|
||||
Ethernet40 69
|
||||
Ethernet41 70
|
||||
Ethernet42 71
|
||||
Ethernet43 72
|
||||
Ethernet44 81
|
||||
Ethernet45 82
|
||||
Ethernet46 83
|
||||
Ethernet47 84
|
||||
Ethernet48 85,86,87,88
|
||||
Ethernet52 97,98,99,100
|
||||
Ethernet56 101,102,103,104
|
||||
Ethernet60 105,106,107,108
|
||||
Ethernet64 109,110,111,112
|
||||
Ethernet68 117,118,119,120
|
||||
# name lanes alias port
|
||||
Ethernet0 1 Ethernet1 0
|
||||
Ethernet1 2 Ethernet2 1
|
||||
Ethernet2 3 Ethernet3 2
|
||||
Ethernet3 4 Ethernet4 3
|
||||
Ethernet4 5 Ethernet5 4
|
||||
Ethernet5 6 Ethernet6 5
|
||||
Ethernet6 7 Ethernet7 6
|
||||
Ethernet7 8 Ethernet8 7
|
||||
Ethernet8 9 Ethernet9 8
|
||||
Ethernet9 10 Ethernet10 9
|
||||
Ethernet10 11 Ethernet11 10
|
||||
Ethernet11 12 Ethernet12 11
|
||||
Ethernet12 21 Ethernet13 12
|
||||
Ethernet13 22 Ethernet14 13
|
||||
Ethernet14 23 Ethernet15 14
|
||||
Ethernet15 24 Ethernet16 15
|
||||
Ethernet16 33 Ethernet17 16
|
||||
Ethernet17 34 Ethernet18 17
|
||||
Ethernet18 35 Ethernet19 18
|
||||
Ethernet19 36 Ethernet20 19
|
||||
Ethernet20 37 Ethernet21 20
|
||||
Ethernet21 38 Ethernet22 21
|
||||
Ethernet22 39 Ethernet23 22
|
||||
Ethernet23 40 Ethernet24 23
|
||||
Ethernet24 41 Ethernet25 24
|
||||
Ethernet25 42 Ethernet26 25
|
||||
Ethernet26 43 Ethernet27 26
|
||||
Ethernet27 44 Ethernet28 27
|
||||
Ethernet28 49 Ethernet29 28
|
||||
Ethernet29 50 Ethernet30 29
|
||||
Ethernet30 51 Ethernet31 30
|
||||
Ethernet31 52 Ethernet32 31
|
||||
Ethernet32 53 Ethernet33 32
|
||||
Ethernet33 54 Ethernet34 33
|
||||
Ethernet34 55 Ethernet35 34
|
||||
Ethernet35 56 Ethernet36 35
|
||||
Ethernet36 65 Ethernet37 36
|
||||
Ethernet37 66 Ethernet38 37
|
||||
Ethernet38 67 Ethernet39 38
|
||||
Ethernet39 68 Ethernet40 39
|
||||
Ethernet40 69 Ethernet41 40
|
||||
Ethernet41 70 Ethernet42 41
|
||||
Ethernet42 71 Ethernet43 42
|
||||
Ethernet43 72 Ethernet44 43
|
||||
Ethernet44 81 Ethernet45 44
|
||||
Ethernet45 82 Ethernet46 45
|
||||
Ethernet46 83 Ethernet47 46
|
||||
Ethernet47 84 Ethernet48 47
|
||||
Ethernet48 85,86,87,88 Ethernet49/1 48
|
||||
Ethernet52 97,98,99,100 Ethernet50/1 49
|
||||
Ethernet56 101,102,103,104 Ethernet51/1 50
|
||||
Ethernet60 105,106,107,108 Ethernet52/1 51
|
||||
Ethernet64 109,110,111,112 Ethernet53/1 52
|
||||
Ethernet68 117,118,119,120 Ethernet54/1 53
|
||||
|
@ -1,19 +1,27 @@
|
||||
#!/usr/bin/env python
|
||||
# sfputil.py
|
||||
#
|
||||
# Platform-specific SFP transceiver interface for SONiC
|
||||
#
|
||||
|
||||
try:
|
||||
from sonic_sfp.sfputilbase import sfputilbase
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
import time
|
||||
from sonic_sfp.sfputilbase import SfpUtilBase
|
||||
except ImportError as e:
|
||||
raise ImportError("%s - required module not found" % str(e))
|
||||
|
||||
|
||||
class sfputil(sfputilbase):
|
||||
"""Platform specific sfputil class"""
|
||||
class SfpUtil(SfpUtilBase):
|
||||
"""Platform-specific SfpUtil class"""
|
||||
|
||||
port_start = 0
|
||||
port_end = 53
|
||||
ports_in_block = 54
|
||||
PORT_START = 0
|
||||
PORT_END = 53
|
||||
QSFP_PORT_START = 48
|
||||
PORTS_IN_BLOCK = 54
|
||||
|
||||
BASE_DIR_PATH = "/sys/class/gpio/gpio{0}/direction"
|
||||
BASE_VAL_PATH = "/sys/class/gpio/gpio{0}/value"
|
||||
|
||||
port_to_eeprom_mapping = {}
|
||||
_port_to_eeprom_mapping = {}
|
||||
port_to_i2c_mapping = {
|
||||
0: 18,
|
||||
1: 19,
|
||||
@ -71,12 +79,201 @@ class sfputil(sfputilbase):
|
||||
53: 71
|
||||
}
|
||||
|
||||
_qsfp_ports = range(0, ports_in_block + 1)
|
||||
abs_to_gpio_mapping = {
|
||||
0: 192,
|
||||
1: 193,
|
||||
2: 194,
|
||||
3: 195,
|
||||
4: 196,
|
||||
5: 197,
|
||||
6: 198,
|
||||
7: 199,
|
||||
8: 200,
|
||||
9: 201,
|
||||
10: 202,
|
||||
11: 203,
|
||||
12: 204,
|
||||
13: 205,
|
||||
14: 206,
|
||||
15: 207,
|
||||
16: 176,
|
||||
17: 177,
|
||||
18: 178,
|
||||
19: 179,
|
||||
20: 180,
|
||||
21: 181,
|
||||
22: 182,
|
||||
23: 183,
|
||||
24: 184,
|
||||
25: 185,
|
||||
26: 186,
|
||||
27: 187,
|
||||
28: 188,
|
||||
29: 189,
|
||||
30: 190,
|
||||
31: 191,
|
||||
32: 160,
|
||||
33: 161,
|
||||
34: 162,
|
||||
35: 163,
|
||||
36: 164,
|
||||
37: 165,
|
||||
38: 166,
|
||||
39: 167,
|
||||
40: 168,
|
||||
41: 169,
|
||||
42: 170,
|
||||
43: 171,
|
||||
44: 172,
|
||||
45: 173,
|
||||
46: 174,
|
||||
47: 175,
|
||||
48: 240,
|
||||
49: 241,
|
||||
50: 242,
|
||||
51: 243,
|
||||
52: 244,
|
||||
53: 245
|
||||
}
|
||||
|
||||
def __init__(self, port_num):
|
||||
lpmode_to_gpio_mapping = {
|
||||
48: 224,
|
||||
49: 225,
|
||||
50: 226,
|
||||
51: 227,
|
||||
52: 228,
|
||||
53: 229
|
||||
}
|
||||
|
||||
reset_to_gpio_mapping = {
|
||||
48: 208,
|
||||
49: 209,
|
||||
50: 210,
|
||||
51: 211,
|
||||
52: 212,
|
||||
53: 213
|
||||
}
|
||||
|
||||
@property
|
||||
def port_start(self):
|
||||
return self.PORT_START
|
||||
|
||||
@property
|
||||
def qsfp_port_start(self):
|
||||
return self.QSFP_PORT_START
|
||||
|
||||
@property
|
||||
def port_end(self):
|
||||
return self.PORT_END
|
||||
|
||||
@property
|
||||
def qsfp_ports(self):
|
||||
return range(0, self.PORTS_IN_BLOCK + 1)
|
||||
|
||||
@property
|
||||
def port_to_eeprom_mapping(self):
|
||||
return self._port_to_eeprom_mapping
|
||||
|
||||
def __init__(self):
|
||||
# Override port_to_eeprom_mapping for class initialization
|
||||
eeprom_path = '/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom'
|
||||
eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom"
|
||||
|
||||
for x in range(self.port_start, self.port_end + 1):
|
||||
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
|
||||
self.port_to_eeprom_mapping[x] = port_eeprom_path
|
||||
sfputilbase.__init__(self, port_num)
|
||||
|
||||
SfpUtilBase.__init__(self)
|
||||
|
||||
def get_presence(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
abs_device_file = self.BASE_VAL_PATH.format(
|
||||
self.abs_to_gpio_mapping[port_num])
|
||||
val_file = open(abs_device_file)
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = val_file.readline().rstrip()
|
||||
|
||||
# content is a string, either "0" or "1"
|
||||
if content == "1":
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def get_low_power_mode(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.qsfp_port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
lpmode_val_device_file = self.BASE_VAL_PATH.format(
|
||||
self.lpmode_to_gpio_mapping[port_num])
|
||||
val_file = open(lpmode_val_device_file)
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = val_file.readline().rstrip()
|
||||
|
||||
# content is a string, either "0" or "1"
|
||||
if content == "1":
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def set_low_power_mode(self, port_num, lpmode):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.qsfp_port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
lpmode_val_device_file = self.BASE_VAL_PATH.format(
|
||||
self.lpmode_to_gpio_mapping[port_num])
|
||||
val_file = open(lpmode_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("1" if lpmode is True else "0")
|
||||
val_file.close()
|
||||
|
||||
return True
|
||||
|
||||
def reset(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.qsfp_port_start or port_num > self.port_end:
|
||||
print "Error: unable to reset non-QSFP module: port %s" % str(port_num)
|
||||
return False
|
||||
|
||||
try:
|
||||
print "port %s" % str(port_num)
|
||||
reset_val_device_file = self.BASE_VAL_PATH.format(
|
||||
self.reset_to_gpio_mapping[port_num])
|
||||
val_file = open(reset_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("1")
|
||||
val_file.close()
|
||||
|
||||
# Sleep 1 second to allow it to settle
|
||||
time.sleep(1)
|
||||
|
||||
try:
|
||||
reset_val_device_file = self.BASE_VAL_PATH.format(
|
||||
self.reset_to_gpio_mapping[port_num])
|
||||
val_file = open(reset_val_device_file, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
val_file.write("0")
|
||||
val_file.close()
|
||||
|
||||
return True
|
||||
|
@ -1,65 +1,65 @@
|
||||
# name lanes alias
|
||||
Ethernet0 17
|
||||
Ethernet1 18
|
||||
Ethernet2 19
|
||||
Ethernet3 20
|
||||
Ethernet4 24
|
||||
Ethernet5 23
|
||||
Ethernet6 22
|
||||
Ethernet7 21
|
||||
Ethernet8 28
|
||||
Ethernet9 27
|
||||
Ethernet10 26
|
||||
Ethernet11 25
|
||||
Ethernet12 32
|
||||
Ethernet13 31
|
||||
Ethernet14 30
|
||||
Ethernet15 29
|
||||
Ethernet16 1
|
||||
Ethernet17 2
|
||||
Ethernet18 3
|
||||
Ethernet19 4
|
||||
Ethernet20 8
|
||||
Ethernet21 7
|
||||
Ethernet22 6
|
||||
Ethernet23 5
|
||||
Ethernet24 12
|
||||
Ethernet25 11
|
||||
Ethernet26 10
|
||||
Ethernet27 9
|
||||
Ethernet28 13
|
||||
Ethernet29 14
|
||||
Ethernet30 15
|
||||
Ethernet31 16
|
||||
Ethernet32 33
|
||||
Ethernet33 34
|
||||
Ethernet34 35
|
||||
Ethernet35 36
|
||||
Ethernet36 38
|
||||
Ethernet37 39
|
||||
Ethernet38 40
|
||||
Ethernet39 37
|
||||
Ethernet40 41
|
||||
Ethernet41 42
|
||||
Ethernet42 43
|
||||
Ethernet43 44
|
||||
Ethernet44 48
|
||||
Ethernet45 45
|
||||
Ethernet46 46
|
||||
Ethernet47 47
|
||||
Ethernet48 49,50,51,52
|
||||
Ethernet52 53,54,55,56
|
||||
Ethernet56 57,58,59,60
|
||||
Ethernet60 61,62,63,64
|
||||
Ethernet64 65,66,67,68
|
||||
Ethernet68 69,70,71,72
|
||||
Ethernet72 73,74,75,76
|
||||
Ethernet76 77,78,79,80
|
||||
Ethernet80 81,82,83,84
|
||||
Ethernet84 85,86,87,88
|
||||
Ethernet88 89,90,91,92
|
||||
Ethernet92 93,94,95,96
|
||||
Ethernet96 97,98,99,100
|
||||
Ethernet100 101,102,103,104
|
||||
Ethernet104 105,106,107,108
|
||||
Ethernet108 109,110,111,112
|
||||
# name lanes alias port
|
||||
Ethernet0 17 Ethernet1 0
|
||||
Ethernet1 18 Ethernet2 1
|
||||
Ethernet2 19 Ethernet3 2
|
||||
Ethernet3 20 Ethernet4 3
|
||||
Ethernet4 24 Ethernet5 4
|
||||
Ethernet5 23 Ethernet6 5
|
||||
Ethernet6 22 Ethernet7 6
|
||||
Ethernet7 21 Ethernet8 7
|
||||
Ethernet8 28 Ethernet9 8
|
||||
Ethernet9 27 Ethernet10 9
|
||||
Ethernet10 26 Ethernet11 10
|
||||
Ethernet11 25 Ethernet12 11
|
||||
Ethernet12 32 Ethernet13 12
|
||||
Ethernet13 31 Ethernet14 13
|
||||
Ethernet14 30 Ethernet15 14
|
||||
Ethernet15 29 Ethernet16 15
|
||||
Ethernet16 1 Ethernet17 16
|
||||
Ethernet17 2 Ethernet18 17
|
||||
Ethernet18 3 Ethernet19 18
|
||||
Ethernet19 4 Ethernet20 19
|
||||
Ethernet20 8 Ethernet21 20
|
||||
Ethernet21 7 Ethernet22 21
|
||||
Ethernet22 6 Ethernet23 22
|
||||
Ethernet23 5 Ethernet24 23
|
||||
Ethernet24 12 Ethernet25 24
|
||||
Ethernet25 11 Ethernet26 25
|
||||
Ethernet26 10 Ethernet27 26
|
||||
Ethernet27 9 Ethernet28 27
|
||||
Ethernet28 13 Ethernet29 28
|
||||
Ethernet29 14 Ethernet30 29
|
||||
Ethernet30 15 Ethernet31 30
|
||||
Ethernet31 16 Ethernet32 31
|
||||
Ethernet32 33 Ethernet33 32
|
||||
Ethernet33 34 Ethernet34 33
|
||||
Ethernet34 35 Ethernet35 34
|
||||
Ethernet35 36 Ethernet36 35
|
||||
Ethernet36 38 Ethernet37 36
|
||||
Ethernet37 39 Ethernet38 37
|
||||
Ethernet38 40 Ethernet39 38
|
||||
Ethernet39 37 Ethernet40 39
|
||||
Ethernet40 41 Ethernet41 40
|
||||
Ethernet41 42 Ethernet42 41
|
||||
Ethernet42 43 Ethernet43 42
|
||||
Ethernet43 44 Ethernet44 43
|
||||
Ethernet44 48 Ethernet45 44
|
||||
Ethernet45 45 Ethernet46 45
|
||||
Ethernet46 46 Ethernet47 46
|
||||
Ethernet47 47 Ethernet48 47
|
||||
Ethernet48 49,50,51,52 Ethernet49/1 48
|
||||
Ethernet52 53,54,55,56 Ethernet50/1 49
|
||||
Ethernet56 57,58,59,60 Ethernet51/1 50
|
||||
Ethernet60 61,62,63,64 Ethernet52/1 51
|
||||
Ethernet64 65,66,67,68 Ethernet53/1 52
|
||||
Ethernet68 69,70,71,72 Ethernet54/1 53
|
||||
Ethernet72 73,74,75,76 Ethernet55/1 54
|
||||
Ethernet76 77,78,79,80 Ethernet56/1 55
|
||||
Ethernet80 81,82,83,84 Ethernet57/1 56
|
||||
Ethernet84 85,86,87,88 Ethernet58/1 57
|
||||
Ethernet88 89,90,91,92 Ethernet59/1 58
|
||||
Ethernet92 93,94,95,96 Ethernet60/1 59
|
||||
Ethernet96 97,98,99,100 Ethernet61/1 60
|
||||
Ethernet100 101,102,103,104 Ethernet62/1 61
|
||||
Ethernet104 105,106,107,108 Ethernet63/1 62
|
||||
Ethernet108 109,110,111,112 Ethernet64/1 63
|
||||
|
@ -1,33 +1,33 @@
|
||||
# name lanes alias
|
||||
Ethernet0 5,6,7,8
|
||||
Ethernet4 1,2,3,4
|
||||
Ethernet8 13,14,15,16
|
||||
Ethernet12 9,10,11,12
|
||||
Ethernet16 21,22,23,24
|
||||
Ethernet20 17,18,19,20
|
||||
Ethernet24 29,30,31,32
|
||||
Ethernet28 25,26,27,28
|
||||
Ethernet32 37,38,39,40
|
||||
Ethernet36 33,34,35,36
|
||||
Ethernet40 45,46,47,48
|
||||
Ethernet44 41,42,43,44
|
||||
Ethernet48 53,54,55,56
|
||||
Ethernet52 49,50,51,52
|
||||
Ethernet56 61,62,63,64
|
||||
Ethernet60 57,58,59,60
|
||||
Ethernet64 69,70,71,72
|
||||
Ethernet68 65,66,67,68
|
||||
Ethernet72 77,78,79,80
|
||||
Ethernet76 73,74,75,76
|
||||
Ethernet80 85,86,87,88
|
||||
Ethernet84 81,82,83,84
|
||||
Ethernet88 93,94,95,96
|
||||
Ethernet92 89,90,91,92
|
||||
Ethernet96 101,102,103,104
|
||||
Ethernet100 97,98,99,100
|
||||
Ethernet104 109,110,111,112
|
||||
Ethernet108 105,106,107,108
|
||||
Ethernet112 117,118,119,120
|
||||
Ethernet116 113,114,115,116
|
||||
Ethernet120 125,126,127,128
|
||||
Ethernet124 121,122,123,124
|
||||
# name lanes alias port
|
||||
Ethernet0 5,6,7,8 Ethernet1/1 0
|
||||
Ethernet4 1,2,3,4 Ethernet2/1 1
|
||||
Ethernet8 13,14,15,16 Ethernet3/1 2
|
||||
Ethernet12 9,10,11,12 Ethernet4/1 3
|
||||
Ethernet16 21,22,23,24 Ethernet5/1 4
|
||||
Ethernet20 17,18,19,20 Ethernet6/1 5
|
||||
Ethernet24 29,30,31,32 Ethernet7/1 6
|
||||
Ethernet28 25,26,27,28 Ethernet8/1 7
|
||||
Ethernet32 37,38,39,40 Ethernet9/1 8
|
||||
Ethernet36 33,34,35,36 Ethernet10/1 9
|
||||
Ethernet40 45,46,47,48 Ethernet11/1 10
|
||||
Ethernet44 41,42,43,44 Ethernet12/1 11
|
||||
Ethernet48 53,54,55,56 Ethernet13/1 12
|
||||
Ethernet52 49,50,51,52 Ethernet14/1 13
|
||||
Ethernet56 61,62,63,64 Ethernet15/1 14
|
||||
Ethernet60 57,58,59,60 Ethernet16/1 15
|
||||
Ethernet64 69,70,71,72 Ethernet17/1 16
|
||||
Ethernet68 65,66,67,68 Ethernet18/1 17
|
||||
Ethernet72 77,78,79,80 Ethernet19/1 18
|
||||
Ethernet76 73,74,75,76 Ethernet20/1 19
|
||||
Ethernet80 85,86,87,88 Ethernet21/1 20
|
||||
Ethernet84 81,82,83,84 Ethernet22/1 21
|
||||
Ethernet88 93,94,95,96 Ethernet23/1 22
|
||||
Ethernet92 89,90,91,92 Ethernet24/1 23
|
||||
Ethernet96 101,102,103,104 Ethernet25/1 24
|
||||
Ethernet100 97,98,99,100 Ethernet26/1 25
|
||||
Ethernet104 109,110,111,112 Ethernet27/1 26
|
||||
Ethernet108 105,106,107,108 Ethernet28/1 27
|
||||
Ethernet112 117,118,119,120 Ethernet29/1 28
|
||||
Ethernet116 113,114,115,116 Ethernet30/1 29
|
||||
Ethernet120 125,126,127,128 Ethernet31/1 30
|
||||
Ethernet124 121,122,123,124 Ethernet32/1 31
|
||||
|
Reference in New Issue
Block a user