Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync to master #5

Merged
merged 85 commits into from
Nov 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
1cd9818
[build]: sonic-utilities package depends on swsssdk; build as wheel a…
jleveque Oct 5, 2017
1d16a37
[DHCP Relay]: Support Multiple VLANs (Separate DHCP Relay Agents, One…
jleveque Oct 5, 2017
60339dc
[sonic-utilities]: Update submodule to fix broken 'show' command (#1013)
jleveque Oct 5, 2017
bea7476
Update sonic-utilities pointer (#1017)
taoyl-ms Oct 6, 2017
b07886e
[build_debian]: Install grub-common in the base image (#1014)
Oct 6, 2017
7fa502a
[cfggen] Fix a bug in --var-json option with multi-keys (#1015)
taoyl-ms Oct 6, 2017
8a305ce
[sonic-utilities]: Build as Debian package once again (revert change …
jleveque Oct 6, 2017
758c5e9
[submodule]: update sonic-utilities (#1020)
lguohan Oct 7, 2017
dc0f3ce
add version tag for the docker images (#1021)
lguohan Oct 8, 2017
04814cb
[dockers]: Remove deprecated sswsyncd dockers (#1026)
Oct 10, 2017
ecd99c7
[swss]: Flush flex counter DB in swss_serivce.j2 (#1029)
marian-pritsak Oct 10, 2017
f681fd1
[Seastone]: Adjusting Seastone's sfputil plugin to cope with new SfpU…
rodnymolina Oct 10, 2017
fc7246f
[swss]: Update QoS config file name for Mellanox platform (#1028)
andriymoroz-mlnx Oct 11, 2017
6c15acc
[swss]: Export ASIC as the env variable (#1030)
Oct 11, 2017
51ebdf4
[frr]: Support for nhopself, keepalive and holdtime timers, prefer gl…
nikos-github Oct 11, 2017
27cac94
[Makefile]: Fix unmatched variable name ENABLE_SYNCD_RPC (#1032)
Oct 12, 2017
dbced4f
[snmp]: Add swss dependency for snmp service (#1034)
Oct 12, 2017
6eab720
Update README.md
xinliu-seattle Oct 13, 2017
9e44d14
[Dell]: Add Force10-S6100-T1 symlink to Force10-S6100 (#1038)
Oct 13, 2017
1a748ee
Revert "Update QoS config name for Mellanox platform" (#1039)
Oct 13, 2017
118c2dd
[ntp]: Fix NTP sync while using DHCP (#1035)
Oct 14, 2017
b89555e
[Dell]: Update sonic-platform-modules-dell submodule (#1041)
Oct 14, 2017
f7cdca4
Update README.md
xinliu-seattle Oct 16, 2017
463c5e4
[Dell]: Update sonic-platform-modules-dell submodule (#1043)
Oct 16, 2017
37dc7bd
[interfaces]: Set hwaddr of VLAN interfaces to system MAC upon creati…
jleveque Oct 17, 2017
60a4d75
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-6 (#1044)
Oct 17, 2017
b14c03a
[utilities]: Update sonic-utilities submodule (#1045)
Oct 17, 2017
e5c68d3
[snmp]: Update sonic-snmpagent submodule (#1046)
qiluo-msft Oct 17, 2017
ee168b0
[py-swsssdk]: Update sonic-py-swsssdk submodule (#1048)
Oct 17, 2017
03e532a
[utilities]: Update sonic-utilities submodule
Oct 17, 2017
7a0a2ea
[bgpd.conf] Advertise /64 prefix for ipv6 lo addresses (#1050)
taoyl-ms Oct 18, 2017
834890f
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-7 (#1049)
Oct 18, 2017
d302d71
[Arista]: Extra space in filename resulted in initialization failure …
prsunny Oct 19, 2017
2a56479
[sonic-cfggen]: Add DEVICE_NEIGHBOR_METADATA field and move msn27xx t…
Oct 19, 2017
1ee8ed9
[Inventec]: Add Inventec D7054 platform support and update D7032 plat…
Balaselvi Oct 19, 2017
a9566bd
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-8 (#1057)
Oct 19, 2017
587b14a
[Mellanox]: Add get_presence implementation for SFP on Mellanox platf…
andriymoroz-mlnx Oct 20, 2017
bdbede5
[docker ptf]: Install tcpdump (#1059)
pavel-shirshov Oct 20, 2017
8bc6b55
[bgpd.conf] Fix template issue with multiple lo addresses (#1060)
taoyl-ms Oct 20, 2017
def0f2e
[sensors]: Workaround for apparent bug in lm-sensors (#1058)
jleveque Oct 20, 2017
3417e78
[swss-common]: Update sonic-swss-common submodule (#1064)
qiluo-msft Oct 22, 2017
c74007b
[Arista]: Modified HWSKU to match the internally defined HWSKU string…
prsunny Oct 23, 2017
b6cc73a
[dockers]: Remove deprecated docker-lldp and docker-snmp (#1068)
Oct 23, 2017
a4ecade
[Broadcom]: Update Broadcom SAI package to 3.0.3.2-8 (#1070)
Oct 23, 2017
fd34d90
[lldp]: Get all interfaces from the database (#1069)
Oct 24, 2017
a49ac2d
[FRR]: Change the FRR as a submodule (#1071)
zhenggen-xu Oct 24, 2017
f073d8c
[virtualswitch]: build docker-sonic-vs docker based on SAI virtual sw…
lguohan Oct 24, 2017
8b8b8a1
[cfg engine] Separate portconfig.py as individual module for port_con…
taoyl-ms Oct 24, 2017
1b20ea1
[Dell]: Added support for S6100 sfputil.py (#1073)
Oct 24, 2017
d7d6f30
[Dell]: Update sonic-platform-modules-dell submodule
Oct 24, 2017
41f226f
[build] capture 2 initialization git commands in 'make init' target (…
yxieca Oct 25, 2017
a31c080
[build]: add sonic-config-engine to sonic-utilitie build dependency (…
lguohan Oct 25, 2017
2ae29ca
Update QoS config name for Mellanox platform (#1077)
andriymoroz-mlnx Oct 25, 2017
47c8567
[snmp]: Update sonic-snmpagent submodule (#1078)
qiluo-msft Oct 25, 2017
7f7ddc8
[swss]: Change the env name from ASIC to platform (#1033)
Oct 26, 2017
11e17e7
[Inventec]: Bug fix for sfputil in D7054 (#1080)
Balaselvi Oct 26, 2017
623e7fe
[utilities]: update sonic-utilities submodule (#1076)
lguohan Oct 26, 2017
3d290b9
Submodule updated for py-swsssdk and utilities (#1083)
prsunny Oct 26, 2017
d1156ca
[teamd]: Bring down all member interfaces before starting teamd (#1081)
Oct 26, 2017
437419c
Update submodule pointer and sonic-slave for test dependency (#1084)
taoyl-ms Oct 26, 2017
961a666
[Broadcom]: Update Broadcom OpenNSL/SAI packages (#1090)
Oct 27, 2017
c92b953
[build]: Add swig3.0 for building python-based swsscommon library (#1…
lguohan Oct 28, 2017
a7ea055
[updategraph]: Support a special value to use empty configuration (#1…
taoyl-ms Oct 28, 2017
2ba2818
[swss]: Update sonic-swss submodule (#1091)
Oct 29, 2017
1a81715
[swss]: Add switch.json.j2 to set the hash seed according to the swit…
Oct 29, 2017
b0c13ea
[snmpagent]: Update sonic-snmpagent submodule (#1094)
Oct 30, 2017
4f59b2e
Modified HWSKU to match internally defined SKU string (#1095)
prsunny Oct 31, 2017
d7d6c41
[Arista]: Fix the udev waiting in networking start (#1093)
byu343 Oct 31, 2017
bfa0346
Added support for Z9100 to check SFP Presence, toggling lpmode, reset…
Oct 31, 2017
c832f2a
[ntp]: Restart ntp after ntp-config (#1098)
taoyl-ms Nov 1, 2017
06c0f7d
Revert "[ntp]: Restart ntp after ntp-config (#1098)" (#1102)
Nov 2, 2017
967030f
Change third party repos from git:// to https:// for better compatibi…
byronyi Nov 2, 2017
29f67eb
[acl-loader]: acl-loader integration. (#1000)
oleksandrivantsiv Nov 2, 2017
ef43800
[swsssdk] Update swsssdk pointer (#1107)
taoyl-ms Nov 3, 2017
a7e6025
Use sha1sum instead of shasum for portability (#1113)
Staphylo Nov 3, 2017
ca214b9
[arista]: Bump sonic-platform-modules-arista submodule (#1111)
Staphylo Nov 3, 2017
4e1fb68
Update Mellanox buffers profile to use single pool for lossless (#1101)
andriymoroz-mlnx Nov 3, 2017
875bdf6
[vs] add teamsyncd into vs docker (#1112)
lguohan Nov 4, 2017
ce6cbbb
[Arista7260CX3] Fix a typo in port_ini.cfg (#1114)
yxieca Nov 4, 2017
c17d6a7
[doc]: add badge for marvell and nephos build (#1116)
lguohan Nov 5, 2017
84cbfd5
[configdb]: Store switch mac to configDB switch table (#1108)
jipanyang Nov 5, 2017
7406d37
[configdb]: Add support for vlanconfd and intfconfd (#1063)
jipanyang Nov 6, 2017
0e61803
[swss]: update swss submodule (#1119)
lguohan Nov 6, 2017
8d3691e
[sonic-platform-daemons]: Update submodule (#1120)
jleveque Nov 6, 2017
7540893
Submodule update for sonic-swss (#1123)
prsunny Nov 7, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ dockers/docker-teamd/Dockerfile
dockers/docker-sonic-mgmt/Dockerfile
platform/*/docker-syncd-*/Dockerfile
platform/*/docker-syncd-*-rpc/Dockerfile
platform/vs/docker-sonic-vs/Dockerfile

# Installer-related files and directories
installer/x86_64/platforms/
Expand Down
4 changes: 3 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
[submodule "src/sonic-utilities"]
path = src/sonic-utilities
url = https://github.com/Azure/sonic-utilities
branch = v1.0.3
[submodule "platform/broadcom/sonic-platform-modules-s6000"]
path = platform/broadcom/sonic-platform-modules-s6000
url = https://github.com/Azure/sonic-platform-modules-s6000
Expand All @@ -66,3 +65,6 @@
[submodule "platform/broadcom/sonic-platform-modules-cel"]
path = platform/broadcom/sonic-platform-modules-cel
url = https://github.com/celestica-Inc/sonic-platform-modules-cel.git
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/FRRouting/frr.git
12 changes: 8 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ $(shell rm -f .screen)

MAKEFLAGS += -B

SLAVE_BASE_TAG = $(shell shasum sonic-slave/Dockerfile | awk '{print substr($$1,0,11);}')
SLAVE_TAG = $(shell cat sonic-slave/Dockerfile.user sonic-slave/Dockerfile | shasum | awk '{print substr($$1,0,11);}')
SLAVE_BASE_TAG = $(shell sha1sum sonic-slave/Dockerfile | awk '{print substr($$1,0,11);}')
SLAVE_TAG = $(shell cat sonic-slave/Dockerfile.user sonic-slave/Dockerfile | sha1sum | awk '{print substr($$1,0,11);}')
SLAVE_BASE_IMAGE = sonic-slave-base
SLAVE_IMAGE = sonic-slave-$(USER)

Expand Down Expand Up @@ -56,11 +56,11 @@ SONIC_BUILD_INSTRUCTION := make \
BUILD_NUMBER=$(BUILD_NUMBER) \
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
SONIC_ENABLE_SYNCD_RPC=$(ENABLE_SYNCD_RPC) \
ENABLE_SYNCD_RPC=$(ENABLE_SYNCD_RPC) \
PASSWORD=$(PASSWORD) \
USERNAME=$(USERNAME)

.PHONY: sonic-slave-build sonic-slave-bash
.PHONY: sonic-slave-build sonic-slave-bash init

.DEFAULT_GOAL := all

Expand Down Expand Up @@ -89,3 +89,7 @@ sonic-slave-bash :
{ echo Image $(SLAVE_IMAGE):$(SLAVE_TAG) not found. Building... ; \
$(DOCKER_BUILD) ; }
@$(DOCKER_RUN) -t $(SLAVE_IMAGE):$(SLAVE_TAG) bash

init :
git submodule update --init --recursive
git submodule foreach --recursive '[ -f .git ] && echo "gitdir: $$(realpath --relative-to=. $$(cut -d" " -f2 .git))" > .git'
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,57 @@
Broadcom: [![Broadcom](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all)
Cavium: [![Cavium](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/)
Centec: [![Centec](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/)
*master*: Broadcom: [![Broadcom](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all)
Mellanox: [![Mellanox](https://sonic-jenkins.westus.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-all)
P4: [![Broadcom](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all)
P4: [![P4](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all)
VS: [![VS](https://sonic-jenkins.westus.cloudapp.azure.com/job/vs/job/buildimage-vs-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/vs/job/buildimage-vs-all)

*201709*: Cavium: [![Cavium](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/)
Centec: [![Centec](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/centec/job/buildimage-centec-all/)
Nephos: [![Nephos](https://sonic-jenkins.westus.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/nephos/job/buildimage-nephos-all/)
Marvell: [![Marvell](https://sonic-jenkins.westus.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/badge/icon)](https://sonic-jenkins.westus.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/)

# sonic-buildimage

## Build SONiC Switch Images

# Description

Following is the instruction on how to build an [(ONIE)](https://github.com/opencomputeproject/onie) compatiable network operating system (NOS) installer image for network switches, and also how to build docker images running inside the NOS. Note that SONiC image are build per ASIC platform. Switches using the same ASIC platform share a common image. For a list of supported switches and ASIC, please refer to this [document](https://sonic-jenkins.westus.cloudapp.azure.com/job/p4/job/buildimage-p4-all).
Following is the instruction on how to build an [(ONIE)](https://github.com/opencomputeproject/onie) compatiable network operating system (NOS) installer image for network switches, and also how to build docker images running inside the NOS. Note that SONiC image are build per ASIC platform. Switches using the same ASIC platform share a common image. For a list of supported switches and ASIC, please refer to this [list](https://github.com/Azure/SONiC/wiki/Supported-Devices-and-Platforms)

# Hardware
Any server can be a build image server. We are using a server with 1T hard disk. The OS is Ubuntu 16.04.

# Prerequisites

## SAI Version
SONiC V2 is using [SAI 0.9.4](https://github.com/opencomputeproject/SAI/tree/v0.9.4).
Please refer to [SONiC roadmap](https://github.com/Azure/SONiC/wiki/Sonic-Roadmap-Planning) on the SAI version for each SONiC release.

## Clone or fetch the code repository with all git submodules
To clone the code repository recursively, assuming git version 1.9 or newer:

git clone --recursive https://github.com/Azure/sonic-buildimage.git

NOTE: If the repo has already been cloned, however there are no files under the submodule directories (e.g., src/lldpd, src/ptf, src/sonic-linux-kernel, etc.), you can manually fetch all the git submodules as follows:

git submodule update --init --recursive

You also need to change all git paths to relative path as we build all submodules inside the docker:

git submodule foreach --recursive '[ -f .git ] && echo "gitdir: $(realpath --relative-to=. $(cut -d" " -f2 .git))" > .git'

## Usage

To build SONiC installer image and docker images, run the following commands:

# Execute make init once after cloning the repo, or fetched remote repo with submodule updates
make init

# Execute make configure once to configure ASIC
make configure PLATFORM=[ASIC_VENDOR]

make

**NOTE**: We recommend reserving 50G free space to build one platform.

The SONiC installer contains all docker images needed. SONiC uses one image for all devices of a same ASIC vendor. The supported ASIC vendors are:

- PLATFORM=broadcom
- PLATFORM=marvell (*pending*)
- PLATFORM=marvell
- PLATFORM=mellanox
- PLATFORM=cavium
- PLATFORM=centec
- PLATFORM=p4
- PLATFORM=vs

For Broadcom ASIC, we build ONIE and EOS image. EOS image is used for Arista devices, ONIE image is used for all other Broadcom ASIC based devices.

Expand Down Expand Up @@ -95,6 +97,7 @@ This may take a while, but it is a one-time action, so please be patient.
- docker-syncd-cavm.gz: docker image for the daemon to sync database and Cavium 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)
- docker-sonic-vs.gz: docker image for all-in-one for software virtual switch (gzip tar archive)

## Contribution Guide

Expand Down
3 changes: 2 additions & 1 deletion build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,8 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
kexec-tools \
less \
unzip \
gdisk
gdisk \
grub2-common

sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
grub-pc-bin
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/th-a7060-cx32s-32x100G.config.bcm
4 changes: 2 additions & 2 deletions device/arista/x86_64-arista_7060_cx32s/minigraph.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1040,7 +1040,7 @@
<Devices>
<Device i:type="LeafRouter">
<Hostname>switch1</Hostname>
<HwSku>Arista-7060-CX32S</HwSku>
<HwSku>Arista-7060CX-32S-C32</HwSku>
</Device>
</Devices>
</PngDec>
Expand Down Expand Up @@ -1075,5 +1075,5 @@
<Properties xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
</MetadataDeclaration>
<Hostname>switch1</Hostname>
<HwSku>Arista-7060-CX32S</HwSku>
<HwSku>Arista-7060CX-32S-C32</HwSku>
</DeviceMiniGraph>
Loading