Skip to content

Commit

Permalink
[mellanox]: Add support for Mellanox MSN2010 (#2069)
Browse files Browse the repository at this point in the history
* [device]: Add support for Mellanox MSN2010
MSN2010 runs on Spectrum silicon and has 22 ports:
18 25GbE and 4 100GbE
* [device]: Fix a potential qos config issue for MSN2700

Signed-off-by: Kevin Wang <[email protected]>
  • Loading branch information
kevinwangsk authored and lguohan committed Sep 22, 2018
1 parent 018b589 commit 715806c
Show file tree
Hide file tree
Showing 10 changed files with 339 additions and 30 deletions.
56 changes: 33 additions & 23 deletions device/mellanox/x86_64-mlnx_msn2010-r0/ACS-MSN2010/port_config.ini
Original file line number Diff line number Diff line change
@@ -1,23 +1,33 @@
# name lanes
Ethernet0 0
Ethernet4 4
Ethernet8 8
Ethernet12 12
Ethernet16 16
Ethernet20 20
Ethernet24 24
Ethernet28 28
Ethernet32 32
Ethernet36 36
Ethernet40 40
Ethernet44 44
Ethernet48 48
Ethernet52 52
Ethernet56 56
Ethernet60 60
Ethernet64 64
Ethernet68 68
Ethernet72 72,73,74,75
Ethernet76 76,77,78,79
Ethernet80 80,81,82,83
Ethernet84 84,85,86,87
# name lanes index
Ethernet0 0 0
Ethernet4 4 1
Ethernet8 8 2
Ethernet12 12 3
Ethernet16 16 4
Ethernet20 20 5
Ethernet24 24 6
Ethernet28 28 7
Ethernet32 32 8
Ethernet36 36 9
Ethernet40 40 10
Ethernet44 44 11
Ethernet48 48 12
Ethernet52 52 13
Ethernet56 56 14
Ethernet60 60 15
Ethernet64 64 16
Ethernet68 68 17
Ethernet72 72 18
Ethernet76 73 18
Ethernet80 74 18
Ethernet84 75 18
Ethernet88 76 19
Ethernet92 77 19
Ethernet96 78 19
Ethernet100 79 19
Ethernet104 80 20
Ethernet108 81 20
Ethernet112 82 20
Ethernet116 83 20
Ethernet120 84 21
Ethernet124 86 21
243 changes: 243 additions & 0 deletions device/mellanox/x86_64-mlnx_msn2010-r0/ACS-MSN2010/sai_2010.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
<?xml version="1.0"?>
<root>
<platform_info type="2010">

<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>

<!-- Number of ports in the following port list -->
<number-of-physical-ports>32</number-of-physical-ports>

<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<module>32</module>
<width>1</width>

<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>0</breakout-modes>

<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>2</local-port>
<module>33</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<module>34</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>4</local-port>
<module>35</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<module>36</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>6</local-port>
<module>37</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<module>38</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>8</local-port>
<module>39</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<module>40</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>10</local-port>
<module>41</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<module>42</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>12</local-port>
<module>43</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<module>44</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>14</local-port>
<module>45</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<module>46</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>16</local-port>
<module>47</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<module>48</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>18</local-port>
<module>49</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>1</width>
<module>3</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>20</local-port>
<width>1</width>
<module>4</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>1</width>
<module>5</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>22</local-port>
<width>1</width>
<module>6</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>1</width>
<module>7</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>24</local-port>
<width>1</width>
<module>8</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>1</width>
<module>9</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>26</local-port>
<width>1</width>
<module>10</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<width>1</width>
<module>11</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>28</local-port>
<width>1</width>
<module>12</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>1</width>
<module>13</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>30</local-port>
<width>1</width>
<module>14</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<width>1</width>
<module>15</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
<port-info>
<local-port>32</local-port>
<width>1</width>
<module>16</module>
<breakout-modes>0</breakout-modes>
<port-speed>4096</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>
5 changes: 3 additions & 2 deletions device/mellanox/x86_64-mlnx_msn2010-r0/plugins/psuutil.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,11 @@ def get_psu_presence(self, index):
if index is None:
return False

status = 0
try:
with open(self.psu_path + self.psu_presence.format(index), 'r') as presence_status:
return True
status = int(presence_status.read())
except IOError:
return False

return False
return status == 1
Loading

0 comments on commit 715806c

Please sign in to comment.