Skip to content

Commit

Permalink
add saiserver docker for mlnx sn2700 platform (#12)
Browse files Browse the repository at this point in the history
* add saiserver docker for mlnx sn2700 platform
  • Loading branch information
lguohan authored Sep 24, 2016
1 parent b4f2735 commit 146c881
Show file tree
Hide file tree
Showing 5 changed files with 327 additions and 0 deletions.
32 changes: 32 additions & 0 deletions dockers/docker-saiserver-mlnx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM docker-base

RUN apt-get update

COPY ["deps/applibs_*.deb", "/deps/applibs-dev_*.deb", "/deps/sx-complib_*.deb", "/deps/sxd-libs_*.deb", "/deps/sx-scew_*.deb", "/deps/sx-examples_*.deb", "/deps/sx-gen-utils_*.deb", "/deps/python-sdk-api_*.deb", "/deps/sx-libnl_*.deb", "/deps/iproute2_*.deb", "/deps/mlnx-sai_*.deb", "/deps/libthrift-0.9.2_*.deb", "/deps/"]

RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; \
dpkg_apt /deps/applibs_*.deb \
&& dpkg_apt /deps/applibs-dev_*.deb \
&& dpkg_apt /deps/sx-complib_*.deb \
&& dpkg_apt /deps/sxd-libs_*.deb \
&& dpkg_apt /deps/sx-scew_*.deb \
&& dpkg_apt /deps/sx-examples_*.deb \
&& dpkg_apt /deps/sx-gen-utils_*.deb \
&& dpkg_apt /deps/python-sdk-api_*.deb \
&& dpkg_apt /deps/sx-libnl_*.deb \
&& dpkg_apt /deps/iproute2_*.deb \
&& dpkg_apt /deps/mlnx-sai_*.deb \
&& dpkg_apt /deps/libthrift-0.9.2_*.deb

COPY ["deps/saiserver", "start.sh", "/usr/bin/"]

COPY ["profile.ini", "portmap.ini", "/etc/sai/"]

COPY ["sai_2700.xml", "/usr/share/"]

## Clean up
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
RUN rm -rf /deps

ENTRYPOINT ["/bin/bash"]
CMD ["/usr/bin/start.sh"]
33 changes: 33 additions & 0 deletions dockers/docker-saiserver-mlnx/portmap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# alias lanes
Ethernet1 0,1,2,3
Ethernet2 4,5,6,7
Ethernet3 8,9,10,11
Ethernet4 12,13,14,15
Ethernet5 16,17,18,19
Ethernet6 20,21,22,23
Ethernet7 24,25,26,27
Ethernet8 28,29,30,31
Ethernet9 32,33,34,35
Ethernet10 36,37,38,39
Ethernet11 40,41,42,43
Ethernet12 44,45,46,47
Ethernet13 48,49,50,51
Ethernet14 52,53,54,55
Ethernet15 56,57,58,59
Ethernet16 60,61,62,63
Ethernet17 64,65,66,67
Ethernet18 68,69,70,71
Ethernet19 72,73,74,75
Ethernet20 76,77,78,79
Ethernet21 80,81,82,83
Ethernet22 84,85,86,87
Ethernet23 88,89,90,91
Ethernet24 92,93,94,95
Ethernet25 96,97,98,99
Ethernet26 100,101,102,103
Ethernet27 104,105,106,107
Ethernet28 108,109,110,111
Ethernet29 112,113,114,115
Ethernet30 116,117,118,119
Ethernet31 120,121,122,123
Ethernet32 124,125,126,127
1 change: 1 addition & 0 deletions dockers/docker-saiserver-mlnx/profile.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2700.xml
243 changes: 243 additions & 0 deletions dockers/docker-saiserver-mlnx/sai_2700.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
<?xml version="1.0"?>
<root>
<platform_info type="2700">

<!-- Device MAC address -->
<device-mac-address>00:77:66:55:44: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>
<width>4</width>
<module>16</module>

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

<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<width>4</width>
<module>17</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>19</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>21</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<width>4</width>
<module>23</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>4</width>
<module>25</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>4</width>
<module>27</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<width>4</width>
<module>29</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<width>4</width>
<module>31</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>
18 changes: 18 additions & 0 deletions dockers/docker-saiserver-mlnx/start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

function clean_up {
service rsyslog stop
}

start_mlnx()
{
[ -e /dev/sxdevs/sxcdev ] || ( mkdir -p /dev/sxdevs && mknod /dev/sxdevs/sxcdev c 231 193 )
}

trap clean_up SIGTERM SIGKILL

service rsyslog start

start_mlnx

/usr/bin/saiserver -p /etc/sai/profile.ini -f /etc/sai/portmap.ini

0 comments on commit 146c881

Please sign in to comment.