build p4-based sonic docker (#14)
* add docker-sonic for p4 switch * update build instructions
This commit is contained in:
parent
10e403d7c4
commit
7c0ff3e9e3
12
.gitmodules
vendored
12
.gitmodules
vendored
@ -13,3 +13,15 @@
|
|||||||
[submodule "sonic-swss"]
|
[submodule "sonic-swss"]
|
||||||
path = src/sonic-swss
|
path = src/sonic-swss
|
||||||
url = https://github.com/Azure/sonic-swss
|
url = https://github.com/Azure/sonic-swss
|
||||||
|
[submodule "src/p4-switch/switch"]
|
||||||
|
path = src/p4-switch/switch
|
||||||
|
url = https://github.com/lguohan/switch
|
||||||
|
[submodule "src/p4-bmv2/behavioral-model"]
|
||||||
|
path = src/p4-bmv2/behavioral-model
|
||||||
|
url = https://github.com/lguohan/behavioral-model
|
||||||
|
[submodule "src/p4c-bm/p4c-bm"]
|
||||||
|
path = src/p4c-bm/p4c-bm
|
||||||
|
url = https://github.com/krambn/p4c-bm
|
||||||
|
[submodule "src/p4-hlir/p4-hlir"]
|
||||||
|
path = src/p4-hlir/p4-hlir
|
||||||
|
url = https://github.com/p4lang/p4-hlir
|
||||||
|
17
Makefile
17
Makefile
@ -23,7 +23,7 @@ define build_docker
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
## Rules: phony targets
|
## Rules: phony targets
|
||||||
.phony : brcm-all mlnx-all cavm-all
|
.phony : brcm-all mlnx-all cavm-all p4-all
|
||||||
|
|
||||||
## Rules: redirect to sub directory
|
## Rules: redirect to sub directory
|
||||||
src/%:
|
src/%:
|
||||||
@ -66,7 +66,7 @@ $(addprefix dockers/docker-syncd-mlnx/deps/,syncd_1.0.0_amd64.deb libsairedis_1.
|
|||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
dockers/docker-syncd-mlnx/deps/%.deb: src/%.deb
|
dockers/docker-syncd-mlnx/deps/%.deb: src/%.deb
|
||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
|
|
||||||
## Rules: docker-syncd-cavm
|
## Rules: docker-syncd-cavm
|
||||||
$(addprefix dockers/docker-syncd-cavm/deps/,$(CAVM-SDK-DEBS)) : dockers/docker-syncd-cavm/deps/%.deb : src/cavm-sdk/%.deb
|
$(addprefix dockers/docker-syncd-cavm/deps/,$(CAVM-SDK-DEBS)) : dockers/docker-syncd-cavm/deps/%.deb : src/cavm-sdk/%.deb
|
||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
@ -83,6 +83,12 @@ $(addprefix dockers/docker-syncd/deps/,syncd_1.0.0_amd64.deb libsairedis_1.0.0_a
|
|||||||
dockers/docker-syncd/deps/%.deb: src/%.deb
|
dockers/docker-syncd/deps/%.deb: src/%.deb
|
||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
|
|
||||||
|
## Rules: docker-sonic (p4)
|
||||||
|
$(addprefix dockers/docker-sonic-p4/deps/,swss_1.0.0_amd64.deb syncd_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb) : dockers/docker-sonic-p4/deps/%.deb : src/p4/%.deb
|
||||||
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
|
dockers/docker-sonic-p4/deps/%.deb: src/%.deb
|
||||||
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
|
|
||||||
## Rules: docker images
|
## Rules: docker images
|
||||||
target/docker-base.gz:
|
target/docker-base.gz:
|
||||||
$(call build_docker,$(patsubst target/%.gz,%,$@),$@)
|
$(call build_docker,$(patsubst target/%.gz,%,$@),$@)
|
||||||
@ -121,13 +127,16 @@ target/docker-database.gz: target/docker-base.gz
|
|||||||
docker load < $<
|
docker load < $<
|
||||||
$(call build_docker,$(patsubst target/%.gz,%,$@),$@)
|
$(call build_docker,$(patsubst target/%.gz,%,$@),$@)
|
||||||
|
|
||||||
|
target/docker-sonic-p4.gz: target/docker-base.gz $(addprefix dockers/docker-sonic-p4/deps/,libswsscommon_1.0.0_amd64.deb libhiredis0.13_0.13.3-2_amd64.deb quagga_0.99.24.1-2_amd64.deb syncd_1.0.0_amd64.deb swss_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb libthrift-0.9.3_0.9.3-2_amd64.deb redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb p4-bmv2_1.0.0_amd64.deb p4-switch_1.0.0_amd64.deb)
|
||||||
|
docker load < $<
|
||||||
|
$(call build_docker,$(patsubst target/%.gz,%,$@),$@)
|
||||||
|
|
||||||
## Rules: linux image content
|
## Rules: linux image content
|
||||||
deps/linux-image-3.16.0-4-amd64_%.deb: src/sonic-linux-kernel/linux-image-3.16.0-4-amd64_%.deb
|
deps/linux-image-3.16.0-4-amd64_%.deb: src/sonic-linux-kernel/linux-image-3.16.0-4-amd64_%.deb
|
||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
deps/initramfs-tools_%.deb: src/initramfs-tools/initramfs-tools_%.deb
|
deps/initramfs-tools_%.deb: src/initramfs-tools/initramfs-tools_%.deb
|
||||||
mkdir -p `dirname $@` && cp $< $(dir $@)
|
mkdir -p `dirname $@` && cp $< $(dir $@)
|
||||||
|
|
||||||
## Rules: linux image
|
|
||||||
target/sonic-generic.bin: deps/linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb deps/initramfs-tools_0.120_all.deb
|
target/sonic-generic.bin: deps/linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb deps/initramfs-tools_0.120_all.deb
|
||||||
./build_debian.sh "$(USERNAME)" "$(PASSWORD_ENCRYPTED)" && TARGET_MACHINE=generic ./build_image.sh
|
./build_debian.sh "$(USERNAME)" "$(PASSWORD_ENCRYPTED)" && TARGET_MACHINE=generic ./build_image.sh
|
||||||
target/sonic-aboot.bin: deps/linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb deps/initramfs-tools_0.120_all.deb
|
target/sonic-aboot.bin: deps/linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb deps/initramfs-tools_0.120_all.deb
|
||||||
@ -141,3 +150,5 @@ mlnx-all: target/sonic-generic.bin $(addprefix target/,docker-syncd-mlnx.gz dock
|
|||||||
|
|
||||||
## Note: docker-fpm.gz must be the last to build the implicit dependency fpmsyncd
|
## Note: docker-fpm.gz must be the last to build the implicit dependency fpmsyncd
|
||||||
cavm-all: $(addprefix target/,docker-syncd-cavm.gz docker-orchagent-cavm.gz docker-fpm.gz docker-database.gz)
|
cavm-all: $(addprefix target/,docker-syncd-cavm.gz docker-orchagent-cavm.gz docker-fpm.gz docker-database.gz)
|
||||||
|
|
||||||
|
p4-all: $(addprefix target/,docker-sonic-p4.gz)
|
||||||
|
10
README.md
10
README.md
@ -16,8 +16,13 @@ If it is already cloned, however there is no files under ./dockers/docker-base/
|
|||||||
## 2. Build environment
|
## 2. Build environment
|
||||||
Build a docker image by [the Dockerfile](https://github.com/Azure/sonic-build-tools/blob/master/sonic-slave/Dockerfile) and build all remains in the docker container.
|
Build a docker image by [the Dockerfile](https://github.com/Azure/sonic-build-tools/blob/master/sonic-slave/Dockerfile) and build all remains in the docker container.
|
||||||
|
|
||||||
|
git clone https://github.com/Azure/sonic-build-tools
|
||||||
|
cd sonic-build-tools
|
||||||
|
./build.sh sonic-slave
|
||||||
|
docker run -v /var/run/docker.sock:/var/run/docker.sock -it local/sonic-slave bash
|
||||||
|
|
||||||
## 3. Get vendor SAI SDK
|
## 3. Get vendor SAI SDK
|
||||||
Obtain Switch Abstraction Interface (SAI) SDK from one of supported vendors (see the list in [Usage](#usage) Section), and place it in the directory ./src/[VENDOR]-sdk/ as filelist.txt in that directory.
|
Obtain Switch Abstraction Interface (SAI) SDK from one of supported vendors (see the list in [Usage](#usage) Section), and place it in the directory ./src/[VENDOR]-sdk/ as filelist.txt in that directory. Skip this step for p4 since it is an open source software switch.
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
To build NOS installer image and docker images, run command line
|
To build NOS installer image and docker images, run command line
|
||||||
@ -27,6 +32,8 @@ To build NOS installer image and docker images, run command line
|
|||||||
Supported VENDORs are:
|
Supported VENDORs are:
|
||||||
- brcm: Broadcom
|
- brcm: Broadcom
|
||||||
- mlnx: Mellanox
|
- mlnx: Mellanox
|
||||||
|
- cavm: Cavium
|
||||||
|
- p4: barefoot
|
||||||
|
|
||||||
For example, the user name is 'admin' and the password is 'YourPaSsWoRd'. To build all the images for Broadcom platform, use the command:
|
For example, the user name is 'admin' and the password is 'YourPaSsWoRd'. To build all the images for Broadcom platform, use the command:
|
||||||
|
|
||||||
@ -43,6 +50,7 @@ The target directory is ./target, containing the NOS installer image and docker
|
|||||||
- docker-orchagent.gz: docker image for SWitch State Service (SWSS) (gzip tar archive)
|
- docker-orchagent.gz: docker image for SWitch State Service (SWSS) (gzip tar archive)
|
||||||
- docker-syncd.gz: docker image for the daemon to sync database and Broadcom switch ASIC (gzip tar archive)
|
- docker-syncd.gz: docker image for the daemon to sync database and Broadcom switch ASIC (gzip tar archive)
|
||||||
- docker-syncd-mlnx.gz: docker image for the daemon to sync database and Mellanox switch ASIC (gzip tar archive)
|
- docker-syncd-mlnx.gz: docker image for the daemon to sync database and Mellanox switch ASIC (gzip tar archive)
|
||||||
|
- docker-sonic-p4.gz: docker image for all-in-one for p4 software switch (gzip tar archive)
|
||||||
|
|
||||||
# Contribution guide
|
# Contribution guide
|
||||||
|
|
||||||
|
32
dockers/docker-sonic-p4/Dockerfile
Normal file
32
dockers/docker-sonic-p4/Dockerfile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
FROM docker-base
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
|
||||||
|
RUN apt-get install -y net-tools ethtool tcpdump ifupdown
|
||||||
|
|
||||||
|
COPY ["deps/libthrift-0.9.3_*.deb", "deps/libhiredis0.13*.deb", "deps/redis-tools_*.deb", "deps/redis-server_*.deb", "deps/libswsscommon_*.deb", "deps/p4-bmv2_*.deb", "deps/p4-switch_*.deb", "deps/libsairedis_*.deb", "deps/syncd_*.deb", "deps/swss_*.deb", "deps/quagga_*.deb", "/deps/"]
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libthrift-0.9.3_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libhiredis0.13*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/redis-tools_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/redis-server_*.deb
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libswsscommon_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/p4-bmv2_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/p4-switch_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libsairedis_*.deb
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/syncd_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/swss_*.deb
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/quagga_*.deb
|
||||||
|
|
||||||
|
ADD port_config.ini /port_config.ini
|
||||||
|
ADD startup.sh /scripts/startup.sh
|
||||||
|
|
||||||
|
ADD rsyslog.conf /etc/rsyslog.conf
|
||||||
|
|
||||||
|
## Clean up
|
||||||
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
||||||
|
RUN rm -rf /deps
|
||||||
|
|
||||||
|
ENTRYPOINT /bin/bash
|
5
dockers/docker-sonic-p4/port_config.ini
Normal file
5
dockers/docker-sonic-p4/port_config.ini
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# alias lanes
|
||||||
|
Ethernet0 1
|
||||||
|
Ethernet1 2
|
||||||
|
Ethernet2 3
|
||||||
|
Ethernet3 4
|
68
dockers/docker-sonic-p4/rsyslog.conf
Normal file
68
dockers/docker-sonic-p4/rsyslog.conf
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Managed by Ansible
|
||||||
|
# file: ansible/roles/acs/templates/rsyslog.conf.j2
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# /etc/rsyslog.conf Configuration file for rsyslog.
|
||||||
|
#
|
||||||
|
# For more information see
|
||||||
|
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
|
||||||
|
|
||||||
|
|
||||||
|
#################
|
||||||
|
#### MODULES ####
|
||||||
|
#################
|
||||||
|
|
||||||
|
$ModLoad imuxsock # provides support for local system logging
|
||||||
|
#$ModLoad imklog # provides kernel logging support
|
||||||
|
#$ModLoad immark # provides --MARK-- message capability
|
||||||
|
|
||||||
|
# provides UDP syslog reception
|
||||||
|
#$ModLoad imudp
|
||||||
|
#$UDPServerRun 514
|
||||||
|
|
||||||
|
# provides TCP syslog reception
|
||||||
|
#$ModLoad imtcp
|
||||||
|
#$InputTCPServerRun 514
|
||||||
|
|
||||||
|
|
||||||
|
###########################
|
||||||
|
#### GLOBAL DIRECTIVES ####
|
||||||
|
###########################
|
||||||
|
#Set remote syslog server
|
||||||
|
*.* @172.17.0.1:514
|
||||||
|
|
||||||
|
#
|
||||||
|
# Use traditional timestamp format.
|
||||||
|
# To enable high precision timestamps, comment out the following line.
|
||||||
|
#
|
||||||
|
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
|
||||||
|
|
||||||
|
# Define a custom template
|
||||||
|
$template ACSFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
|
||||||
|
$ActionFileDefaultTemplate ACSFileFormat
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set the default permissions for all log files.
|
||||||
|
#
|
||||||
|
$FileOwner root
|
||||||
|
$FileGroup adm
|
||||||
|
$FileCreateMode 0640
|
||||||
|
$DirCreateMode 0755
|
||||||
|
$Umask 0022
|
||||||
|
|
||||||
|
#
|
||||||
|
# Where to place spool and state files
|
||||||
|
#
|
||||||
|
$WorkDirectory /var/spool/rsyslog
|
||||||
|
|
||||||
|
#
|
||||||
|
# Include all config files in /etc/rsyslog.d/
|
||||||
|
#
|
||||||
|
$IncludeConfig /etc/rsyslog.d/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
###############
|
||||||
|
#### RULES ####
|
||||||
|
###############
|
||||||
|
|
39
dockers/docker-sonic-p4/startup.sh
Executable file
39
dockers/docker-sonic-p4/startup.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Start rsyslog"
|
||||||
|
service rsyslog start
|
||||||
|
|
||||||
|
echo "Start redis server"
|
||||||
|
service redis-server start
|
||||||
|
|
||||||
|
echo "Veth setup"
|
||||||
|
/usr/share/bmpd/tools/veth_setup.sh > /tmp/veth_setup.log 2>&1
|
||||||
|
|
||||||
|
echo "Disable IPv6"
|
||||||
|
/usr/share/bmpd/tools/veth_disable_ipv6.sh > /tmp/veth_disable.log 2>&1
|
||||||
|
|
||||||
|
echo "Start BMV2"
|
||||||
|
/run_bm.sh > /tmp/run_bm.log 2>&1 &
|
||||||
|
sleep 15
|
||||||
|
|
||||||
|
redis-cli -n 1 set LOGLEVEL DEBUG
|
||||||
|
|
||||||
|
echo "Start Syncd"
|
||||||
|
syncd -N > /tmp/syncd.log 2>&1 &
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
echo "Start Orchagent"
|
||||||
|
orchagent $* > /tmp/orchagent.log 2>&1 &
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
echo "Start Portsyncd"
|
||||||
|
portsyncd -p /port_config.ini > /tmp/portsyncd.log 2>&1 &
|
||||||
|
|
||||||
|
echo "Start Intfsync"
|
||||||
|
intfsyncd > /tmp/intfsyncd.log 2>&1 &
|
||||||
|
|
||||||
|
echo "Start Neighsyncd"
|
||||||
|
neighsyncd > /tmp/neighsyncd.log 2>&1 &
|
||||||
|
|
||||||
|
echo "Start Fpmsyncd"
|
||||||
|
fpmsyncd > /tmp/fpmsyncd.log 2>&1 &
|
31
src/Makefile
31
src/Makefile
@ -31,6 +31,26 @@ redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb redis-sentinel_3.0.
|
|||||||
libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dbg_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb: redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb redis-sentinel_3.0.7-2_amd64.deb
|
libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dbg_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb: redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb redis-sentinel_3.0.7-2_amd64.deb
|
||||||
pushd hiredis; ./build.sh; popd
|
pushd hiredis; ./build.sh; popd
|
||||||
|
|
||||||
|
libthrift-0.9.3_0.9.3-2_amd64.deb libthrift-dev_0.9.3-2_amd64.deb python-thrift_0.9.3-2_amd64.deb thrift-compiler_0.9.3-2_amd64.deb:
|
||||||
|
pushd thrift; ./build.sh; popd
|
||||||
|
|
||||||
|
p4-bmv2_1.0.0_amd64.deb: thrift-compiler_0.9.3-2_amd64.deb python-thrift_0.9.3-2_amd64.deb libthrift-0.9.3_0.9.3-2_amd64.deb libthrift-dev_0.9.3-2_amd64.deb
|
||||||
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
|
pushd p4-bmv2; ./build.sh; popd
|
||||||
|
|
||||||
|
python-p4-hlir_0.9.36-1_all.deb:
|
||||||
|
pushd p4-hlir; ./build.sh; popd
|
||||||
|
|
||||||
|
python-p4c-bm_1.0.0-5415c416-1_all.deb:
|
||||||
|
pushd p4c-bm; ./build.sh; popd
|
||||||
|
|
||||||
|
python-tenjin_1.1.1-1_all.deb:
|
||||||
|
pushd tenjin; ./build.sh; popd
|
||||||
|
|
||||||
|
p4-switch_1.0.0_amd64.deb: thrift-compiler_0.9.3-2_amd64.deb python-thrift_0.9.3-2_amd64.deb libthrift-0.9.3_0.9.3-2_amd64.deb libthrift-dev_0.9.3-2_amd64.deb python-p4-hlir_0.9.36-1_all.deb python-p4c-bm_1.0.0-5415c416-1_all.deb p4-bmv2_1.0.0_amd64.deb
|
||||||
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
|
pushd p4-switch; ./build.sh; popd
|
||||||
|
|
||||||
libswsscommon_1.0.0_amd64.deb libswsscommon-dev_1.0.0_amd64.deb: redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb
|
libswsscommon_1.0.0_amd64.deb libswsscommon-dev_1.0.0_amd64.deb: redis-server_3.0.7-2_amd64.deb redis-tools_3.0.7-2_amd64.deb libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb
|
||||||
$(foreach dep, $^, $(call install_deb, $(dep)))
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
$(call build_project, sonic-swss-common)
|
$(call build_project, sonic-swss-common)
|
||||||
@ -53,6 +73,12 @@ cavm/syncd_1.0.0_amd64.deb cavm/libsairedis_1.0.0_amd64.deb cavm/libsairedis-dev
|
|||||||
mkdir -p cavm
|
mkdir -p cavm
|
||||||
cp syncd_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb libsairedis-dev_1.0.0_amd64.deb cavm/
|
cp syncd_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb libsairedis-dev_1.0.0_amd64.deb cavm/
|
||||||
|
|
||||||
|
p4/syncd_1.0.0_amd64.deb p4/libsairedis_1.0.0_amd64.deb p4/libsairedis-dev_1.0.0_amd64.deb: libswsscommon_1.0.0_amd64.deb libswsscommon-dev_1.0.0_amd64.deb p4-switch_1.0.0_amd64.deb p4-bmv2_1.0.0_amd64.deb libthrift-0.9.3_0.9.3-2_amd64.deb
|
||||||
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
|
$(call build_project, sonic-sairedis)
|
||||||
|
mkdir -p p4
|
||||||
|
cp syncd_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb libsairedis-dev_1.0.0_amd64.deb p4/
|
||||||
|
|
||||||
## Note: fpmsyncd is one implicit target
|
## Note: fpmsyncd is one implicit target
|
||||||
brcm/swss_1.0.0_amd64.deb brcm/intfsyncd brcm/neighsyncd brcm/orchagent brcm/portsyncd brcm/routeresync brcm/swssconfig: brcm/syncd_1.0.0_amd64.deb brcm/libsairedis_1.0.0_amd64.deb brcm/libsairedis-dev_1.0.0_amd64.deb
|
brcm/swss_1.0.0_amd64.deb brcm/intfsyncd brcm/neighsyncd brcm/orchagent brcm/portsyncd brcm/routeresync brcm/swssconfig: brcm/syncd_1.0.0_amd64.deb brcm/libsairedis_1.0.0_amd64.deb brcm/libsairedis-dev_1.0.0_amd64.deb
|
||||||
$(foreach dep, $^, $(call install_deb, $(dep)))
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
@ -74,6 +100,11 @@ cavm/swss_1.0.0_amd64.deb cavm/intfsyncd cavm/neighsyncd cavm/orchagent cavm/por
|
|||||||
cp swss_1.0.0_amd64.deb cavm/
|
cp swss_1.0.0_amd64.deb cavm/
|
||||||
cp sonic-swss/debian/swss/usr/bin/fpmsyncd .
|
cp sonic-swss/debian/swss/usr/bin/fpmsyncd .
|
||||||
|
|
||||||
|
p4/swss_1.0.0_amd64.deb: p4/syncd_1.0.0_amd64.deb p4/libsairedis_1.0.0_amd64.deb p4/libsairedis-dev_1.0.0_amd64.deb
|
||||||
|
$(foreach dep, $^, $(call install_deb, $(dep)))
|
||||||
|
$(call build_project, sonic-swss)
|
||||||
|
cp swss_1.0.0_amd64.deb p4/
|
||||||
|
|
||||||
$(addprefix sonic-linux-kernel/,linux-headers-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb linux-headers-3.16.0-4-common_3.16.7-ckt11-2+acs8u2_amd64.deb linux-image-3.16.0-4-amd64-dbg_3.16.7-ckt11-2+acs8u2_amd64.deb linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb xen-linux-system-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb):
|
$(addprefix sonic-linux-kernel/,linux-headers-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb linux-headers-3.16.0-4-common_3.16.7-ckt11-2+acs8u2_amd64.deb linux-image-3.16.0-4-amd64-dbg_3.16.7-ckt11-2+acs8u2_amd64.deb linux-image-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb xen-linux-system-3.16.0-4-amd64_3.16.7-ckt11-2+acs8u2_amd64.deb):
|
||||||
pushd sonic-linux-kernel; sudo ./build.sh; popd
|
pushd sonic-linux-kernel; sudo ./build.sh; popd
|
||||||
|
|
||||||
|
1
src/p4-bmv2/behavioral-model
Submodule
1
src/p4-bmv2/behavioral-model
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 0eb0d51736eeadd75384edfa8589e43a9ba734f4
|
5
src/p4-bmv2/build.sh
Executable file
5
src/p4-bmv2/build.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
pushd behavioral-model; ./autogen.sh; dpkg-buildpackage -us -uc -b -j4; popd
|
||||||
|
|
||||||
|
cp *.deb ../
|
7
src/p4-hlir/build.sh
Executable file
7
src/p4-hlir/build.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
pushd p4-hlir
|
||||||
|
python setup.py --command-packages=stdeb.command bdist_deb
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp p4-hlir/deb_dist/*.deb ../
|
1
src/p4-hlir/p4-hlir
Submodule
1
src/p4-hlir/p4-hlir
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 0ab8e58f8a92ee469235028430795088af9cda77
|
17
src/p4-switch/build.sh
Executable file
17
src/p4-switch/build.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
sudo pip install ctypesgen
|
||||||
|
|
||||||
|
sudo pip install crc16
|
||||||
|
|
||||||
|
pushd switch
|
||||||
|
|
||||||
|
mkdir -p p4-build/bmv2/switch
|
||||||
|
mkdir -p p4-build/bmv2/pd_thrift_gen
|
||||||
|
|
||||||
|
./autogen.sh
|
||||||
|
dpkg-buildpackage -us -uc -b -j4
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp *.deb ../
|
1
src/p4-switch/switch
Submodule
1
src/p4-switch/switch
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 8c80a17cb884db6d8eaebbc52cb8b6a99a0784bc
|
7
src/p4c-bm/build.sh
Executable file
7
src/p4c-bm/build.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
pushd p4c-bm
|
||||||
|
python setup.py --command-packages=stdeb.command bdist_deb
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp p4c-bm/deb_dist/*.deb ../
|
1
src/p4c-bm/p4c-bm
Submodule
1
src/p4c-bm/p4c-bm
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 5415c4160aff025f27fe45301c62aa9aeb4bab40
|
8
src/tenjin/build.sh
Executable file
8
src/tenjin/build.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
wget -nc http://pypi.python.org/packages/source/T/Tenjin/Tenjin-1.1.1.tar.gz
|
||||||
|
tar xzf Tenjin-1.1.1.tar.gz
|
||||||
|
pushd Tenjin-1.1.1
|
||||||
|
python setup.py --command-packages=stdeb.command bdist_deb
|
||||||
|
popd
|
||||||
|
cp Tenjin-1.1.1/deb_dist/*.deb ../
|
10
src/thrift/build.sh
Executable file
10
src/thrift/build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
wget -nc http://http.debian.net/debian/pool/main/t/thrift/thrift_0.9.3.orig.tar.gz
|
||||||
|
wget -nc http://http.debian.net/debian/pool/main/t/thrift/thrift_0.9.3-2.debian.tar.xz
|
||||||
|
wget -nc http://http.debian.net/debian/pool/main/t/thrift/thrift_0.9.3-2.dsc
|
||||||
|
dpkg-source -x thrift_0.9.3-2.dsc
|
||||||
|
cd thrift-0.9.3
|
||||||
|
dpkg-buildpackage -d -rfakeroot -b -us -uc
|
||||||
|
cd ..
|
||||||
|
cp *.deb ../
|
Reference in New Issue
Block a user