File tree 19 files changed +261
-0
lines changed
19 files changed +261
-0
lines changed Original file line number Diff line number Diff line change
1
+ # docker image for orchagent
2
+
3
+ DOCKER_ORCHAGENT_MRVL = docker-orchagent-mrvl.gz
4
+ $(DOCKER_ORCHAGENT_MRVL)_PATH = $(DOCKERS_PATH ) /docker-orchagent
5
+ $(DOCKER_ORCHAGENT_MRVL)_DEPENDS += $(SWSS ) $(REDIS_TOOLS )
6
+ $(DOCKER_ORCHAGENT_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE )
7
+ SONIC_DOCKER_IMAGES += $(DOCKER_ORCHAGENT_MRVL )
8
+ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ORCHAGENT_MRVL )
9
+
10
+ $(DOCKER_ORCHAGENT_MRVL)_CONTAINER_NAME = swss
11
+ $(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += --net=host --privileged -t
12
+ $(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/network/interfaces:/etc/network/interfaces:ro
13
+ $(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/network/interfaces.d/:/etc/network/interfaces.d/:ro
14
+ $(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /host/machine.conf:/host/machine.conf
15
+ $(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
16
+
17
+ $(DOCKER_ORCHAGENT_MRVL)_BASE_IMAGE_FILES += swssloglevel:/usr/bin/swssloglevel
Original file line number Diff line number Diff line change
1
+ # docker image for mrvl syncd with rpc
2
+
3
+ DOCKER_SYNCD_MRVL_RPC = docker-syncd-mrvl-rpc.gz
4
+ $(DOCKER_SYNCD_MRVL_RPC)_PATH = $(PLATFORM_PATH ) /docker-syncd-mrvl-rpc
5
+ $(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC ) $(LIBTHRIFT )
6
+ $(DOCKER_SYNCD_MRVL_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MRVL )
7
+ SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC )
8
+ ifeq ($(ENABLE_SYNCD_RPC ) ,y)
9
+ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC )
10
+ endif
11
+
12
+ $(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd
13
+ $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t
14
+ $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
15
+ $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
Original file line number Diff line number Diff line change
1
+ sysctl -w net.core.rmem_max=509430500
2
+
Original file line number Diff line number Diff line change
1
+ FROM docker-syncd-mrvl
2
+
3
+ ## Make apt-get non-interactive
4
+ ENV DEBIAN_FRONTEND=noninteractive
5
+
6
+ COPY \
7
+ {% for deb in docker_syncd_mrvl_rpc_debs .split (' ' ) -%}
8
+ debs/{{ deb }}{{' '}}
9
+ {% - endfor -%}
10
+ debs/
11
+
12
+ RUN dpkg -P syncd
13
+
14
+ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
15
+ {% for deb in docker_syncd_mrvl_rpc_debs .split (' ' ) -%}
16
+ dpkg_apt debs/{{ deb }}{{'; '}}
17
+ {% - endfor %}
18
+
19
+ ## Pre-install the fundamental packages
20
+ RUN apt-get update \
21
+ && apt-get -y install \
22
+ net-tools \
23
+ python-pip \
24
+ build-essential \
25
+ libssl-dev \
26
+ libffi-dev \
27
+ python-dev \
28
+ wget \
29
+ cmake \
30
+ && wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
31
+ && tar xvfz 1.0.0.tar.gz \
32
+ && cd nanomsg-1.0.0 \
33
+ && mkdir -p build \
34
+ && cmake . \
35
+ && make install \
36
+ && ldconfig \
37
+ && cd .. \
38
+ && rm -fr nanomsg-1.0.0 \
39
+ && rm -f 1.0.0.tar.gz \
40
+ && pip install cffi==1.7.0 \
41
+ && pip install --upgrade cffi==1.7.0 \
42
+ && pip install nnpy \
43
+ && mkdir -p /opt \
44
+ && cd /opt \
45
+ && wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
46
+ && apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
47
+ && rm -rf /root/deps
48
+
49
+ COPY ["ptf_nn_agent.conf", "/etc/supervisor/conf.d/"]
50
+
51
+ ENTRYPOINT ["/usr/bin/supervisord"]
Original file line number Diff line number Diff line change
1
+ [program:ptf_nn_agent]
2
+ command=/usr/bin/python /opt/ptf_nn_agent.py --device-socket 1@tcp://0.0.0.0:10900 -i 1-3@Ethernet12 --set-iface-rcv-buffer=109430400
3
+ process_name=ptf_nn_agent
4
+ stdout_logfile=/tmp/ptf_nn_agent.out.log
5
+ stderr_logfile=/tmp/ptf_nn_agent.err.log
6
+ redirect_stderr=false
7
+ autostart=true
8
+ autorestart=true
9
+ startsecs=1
10
+ numprocs=1
Original file line number Diff line number Diff line change
1
+ # docker image for mrvl syncd
2
+
3
+ DOCKER_SYNCD_MRVL = docker-syncd-mrvl.gz
4
+ $(DOCKER_SYNCD_MRVL)_PATH = $(PLATFORM_PATH ) /docker-syncd-mrvl
5
+ $(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD ) $(MRVL_FPA ) $(REDIS_TOOLS )
6
+ $(DOCKER_SYNCD_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE )
7
+ SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL )
8
+ ifneq ($(ENABLE_SYNCD_RPC ) ,y)
9
+ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL )
10
+ endif
11
+
12
+ $(DOCKER_SYNCD_MRVL)_CONTAINER_NAME = syncd
13
+ $(DOCKER_SYNCD_MRVL)_RUN_OPT += --net=host --privileged -t
14
+ $(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
15
+ $(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
Original file line number Diff line number Diff line change
1
+ FROM docker-config-engine
2
+
3
+ ## Make apt-get non-interactive
4
+ ENV DEBIAN_FRONTEND=noninteractive
5
+
6
+ RUN apt-get update
7
+
8
+ COPY \
9
+ {% for deb in docker_syncd_mrvl_debs .split (' ' ) -%}
10
+ debs/{{ deb }}{{' '}}
11
+ {% - endfor -%}
12
+ debs/
13
+
14
+ RUN apt-get -y install libpcap-dev libxml2-dev python-dev swig libsensors4-dev libjemalloc1 nfs-common
15
+
16
+ RUN dpkg -i \
17
+ {% for deb in docker_syncd_mrvl_debs .split (' ' ) -%}
18
+ debs/{{ deb }}{{' '}}
19
+ {% - endfor %}
20
+
21
+ COPY ["start.sh", "syncd.sh", "/usr/bin/"]
22
+ COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
23
+
24
+ ## Clean up
25
+ RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
26
+ RUN rm -rf /debs
27
+
28
+ ENTRYPOINT ["/usr/bin/supervisord"]
29
+
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ rm -f /var/run/rsyslogd.pid
4
+
5
+ supervisorctl start rsyslogd
6
+
7
+ supervisorctl start syncd
8
+
Original file line number Diff line number Diff line change
1
+ [supervisord]
2
+ logfile_maxbytes=1MB
3
+ logfile_backups=2
4
+ nodaemon=true
5
+
6
+ [program:start.sh]
7
+ command=/usr/bin/start.sh
8
+ priority=1
9
+ autostart=true
10
+ autorestart=false
11
+ stdout_logfile=syslog
12
+ stderr_logfile=syslog
13
+
14
+ [program:rsyslogd]
15
+ command=/usr/sbin/rsyslogd -n
16
+ priority=2
17
+ autostart=false
18
+ autorestart=false
19
+ stdout_logfile=syslog
20
+ stderr_logfile=syslog
21
+
22
+ [program:syncd]
23
+ command=/usr/bin/syncd_start.sh
24
+ priority=3
25
+ autostart=false
26
+ autorestart=false
27
+ stdout_logfile=syslog
28
+ stderr_logfile=syslog
29
+
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ function clean_up {
4
+ service syncd stop
5
+ exit
6
+ }
7
+
8
+ trap clean_up SIGTERM SIGKILL
9
+
10
+ service syncd start
11
+
12
+ read
Original file line number Diff line number Diff line change
1
+ # libsaithrift-dev package
2
+
3
+ LIBSAITHRIFT_DEV_MRVL = libsaithrift-dev_0.9.4_amd64.deb
4
+ $(LIBSAITHRIFT_DEV_MRVL)_SRC_PATH = $(SRC_PATH ) /SAI
5
+ $(LIBSAITHRIFT_DEV_MRVL)_DEPENDS += $(LIBTHRIFT ) $(LIBTHRIFT_DEV ) $(THRIFT_COMPILER ) $(MRVL_FPA ) $(MRVL_SAI )
6
+ $(LIBSAITHRIFT_DEV_MRVL)_RDEPENDS += $(LIBTHRIFT ) $(MRVL_SAI )
7
+ SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV_MRVL )
Original file line number Diff line number Diff line change
1
+ # sonic marvell one image installer
2
+
3
+ SONIC_ONE_IMAGE = sonic-marvell.bin
4
+ $(SONIC_ONE_IMAGE)_MACHINE = marvell
5
+ $(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
6
+ $(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES )
7
+ SONIC_INSTALLERS += $(SONIC_ONE_IMAGE )
Original file line number Diff line number Diff line change
1
+ # python-saithrift package
2
+
3
+ PYTHON_SAITHRIFT_MRVL = python-saithrift_0.9.4_amd64.deb
4
+ $(PYTHON_SAITHRIFT_MRVL)_SRC_PATH = $(SRC_PATH ) /SAI
5
+ $(PYTHON_SAITHRIFT_MRVL)_DEPENDS += $(MRVL_FPA ) $(MRVL_SAI ) $(THRIFT_COMPILER ) $(PYTHON_THRIFT ) $(LIBTHRIFT_DEV )
6
+ SONIC_DPKG_DEBS += $(PYTHON_SAITHRIFT_MRVL )
Original file line number Diff line number Diff line change
1
+ include $(PLATFORM_PATH ) /sdk.mk
2
+ include $(PLATFORM_PATH ) /sai.mk
3
+ include $(PLATFORM_PATH ) /docker-syncd-mrvl.mk
4
+ include $(PLATFORM_PATH ) /docker-syncd-mrvl-rpc.mk
5
+ include $(PLATFORM_PATH ) /docker-orchagent-mrvl.mk
6
+ include $(PLATFORM_PATH ) /libsaithrift-dev.mk
7
+ include $(PLATFORM_PATH ) /python-saithrift.mk
8
+ include $(PLATFORM_PATH ) /one-image.mk
9
+
10
+ SONIC_ALL += $(SONIC_ONE_IMAGE ) \
11
+ $(DOCKER_FPM ) \
12
+ $(DOCKER_SYNCD_MRVL_RPC )
13
+
14
+ # Inject mrvl sai into sairedis
15
+ $(LIBSAIREDIS)_DEPENDS += $(MRVL_FPA ) $(MRVL_SAI ) $(LIBSAITHRIFT_DEV_MRVL )
16
+
17
+ # Runtime dependency on mrvl sai is set only for syncd
18
+ $(SYNCD)_RDEPENDS += $(MRVL_SAI )
Original file line number Diff line number Diff line change
1
+ # Marvell SAI
2
+
3
+ export MRVL_SAI_VERSION = 1.0.1
4
+ export MRVL_SAI_TAG = SONiC.201705
5
+ export MRVL_SAI = mrvllibsai_$(MRVL_SAI_VERSION ) .deb
6
+
7
+ $(MRVL_SAI)_SRC_PATH = $(PLATFORM_PATH ) /sai
8
+ $(MRVL_SAI)_DEPENDS += $(MRVL_FPA )
9
+ SONIC_MAKE_DEBS += $(MRVL_SAI )
Original file line number Diff line number Diff line change
1
+ .ONESHELL :
2
+ SHELL = /bin/bash
3
+ .SHELLFLAGS += -e
4
+
5
+ MRVL_SAI_URL = https://github.com/Marvell-switching/SAI-plugin/raw/$(MRVL_SAI_TAG ) /sai_deb/$(MRVL_SAI )
6
+
7
+ $(addprefix $(DEST ) /, $(MRVL_SAI ) ) : $(DEST ) /% :
8
+ # get deb package
9
+ wget -O $(DEST ) /$(MRVL_SAI ) $(MRVL_SAI_URL )
Original file line number Diff line number Diff line change
1
+ # Marvell FPA
2
+
3
+ export MRVL_FPA_VERSION = 1.0.1
4
+ export MRVL_FPA_TAG = SONiC.201705
5
+ export MRVL_FPA = mrvllibfpa_$(MRVL_FPA_VERSION ) .deb
6
+
7
+ $(MRVL_FPA)_SRC_PATH = $(PLATFORM_PATH ) /sdk
8
+ SONIC_MAKE_DEBS += $(MRVL_FPA )
Original file line number Diff line number Diff line change
1
+ .ONESHELL :
2
+ SHELL = /bin/bash
3
+ .SHELLFLAGS += -e
4
+
5
+ MRVL_FPA_URL = https://github.com/Marvell-switching/SAI-plugin/raw/$(MRVL_FPA_TAG ) /sdk_deb/$(MRVL_FPA )
6
+
7
+ $(addprefix $(DEST ) /, $(MRVL_FPA ) ) : $(DEST ) /% :
8
+ # get deb package
9
+ wget -O $(DEST ) /$(MRVL_FPA ) $(MRVL_FPA_URL )
You can’t perform that action at this time.
0 commit comments