Commit Graph

887 Commits

Author SHA1 Message Date
Guohan Lu
9d6760c336 [kernel]: build linux kernel 4.19.0-6
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
Guohan Lu
01cb7934b0 [build]: add buster docker as the last step of the build proces
- build SONIC_STRETCH_DOCKERS in sonic-slave-stretch docker
- build image related module in sonic-slave-buster docker.
  This includes all kernels modules and some packages

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
ciju-juniper
695652c9d1
[platform]: Adding platform support for Juniper QFX5200 (#4376)
This is a 1RU switch with 32 QSFP28 (40G/100G) ports on
Broadcom Tomahawk I chipset. CPU used in QFX5200-32C-S
is Intel Ivy Bridge. The machine has Redundant and
hot-swappable Power Supply (1+1) and also has Redundant
and hot swappable fans (5).

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
Signed-off-by: Ashish Bhensdadia <bashish@juniper.net>
2020-04-16 03:09:32 -07:00
Kebo Liu
89fb1059fa
[Mellanox] Update hw-mgmt package to V.7.0000.3020 (#4362)
* update hw-mgmt package to V.7.0000.3020
* update sonic-linux-kernel repo to pick up new patches
2020-04-15 03:04:11 -07:00
Kebo Liu
cfa112ace8
[Mellanox] Extend mellanox platform API to report SFP error event (#4365)
* extend mellanox platform API to report SFP error event
* remove unnecessary loop code
* install enum34 to pmon to support using Enum
2020-04-14 10:20:06 -07:00
Nazarii Hnydyn
3c4f3116a0
[mellanox]: Enable CPLD update progress bar (#4363)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-04-14 09:55:08 -07:00
Myron Sosyak
530c9fc427
Update Barefoot kdrv (#4355) 2020-04-14 09:43:35 -07:00
Kebo Liu
48acdf882e
update SAI 1.16.2 SDK 4.4.0800 FW *.2007.0872 (#4417) 2020-04-13 19:45:56 +03:00
Nazarii Hnydyn
1b8897eec0
[mellanox]: Add SSD FW update tool (#4351)
* [mellanox]: Add SSD FW update tool.

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>

* [mellanox]: Align Platform API.

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>

* [mellanox]: Fix firmware description.

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>

* [mellanox]: Update SSD tool.

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-04-13 18:13:19 +03:00
rajendra-dendukuri
606db589b8
[brcm-th-svk]: Fix errors in BCM956960K switch (#4390)
Fix Broadcom TH SVK boot up crash
2020-04-10 09:25:52 -07:00
Joe LeVeque
7405f8cfea
[Accton AS4630-54PE] Fix Python indentation error (#4393)
Fix Python indentation error
Add newline at EOF
2020-04-08 23:04:13 -07:00
Joe LeVeque
9068652cfd
[Juniper QFX5210] Fix Python errors (#4394)
* [Juniper QFX5210] Fix Python errors
* Remove unnecessary 'pass'
2020-04-08 23:01:27 -07:00
Andriy Kokhan
36752b8775
[BFN] Update Barefoot SDK packages (#4397)
Signed-off-by: Andriy Kokhan <akokhan@barefootnetworks.com>
2020-04-08 22:49:45 -07:00
Srideep
444cede11d
[DellEMC] S5232 platform updates (#4360)
FPGA driver crash fix for stale buffer in i2c transfer
LED firmware load issue fix.
10G port swapfix
psu/sfp bug fixes to report correct states/status of hw
2020-04-08 02:41:56 -07:00
Santhosh Kumar T
7bc8f1293c
[DellEMC] Z9264f Watchdog support (#4192)
Co-authored-by: Sujin Kang <sujkang@microsoft.com>
2020-04-06 09:27:45 -07:00
lguohan
60b16495cc
[docker-base-stretch]: move common packages into docker-base-stretch (#4371)
libpython2.7, libdaemon0, libdbus-1-3, libjansson4 are common
across different containers. move them into docker-base-stretch

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-05 13:29:34 -07:00
lguohan
dca8a27719
[docker-syncd-vs]: add support for vs syncd docker auto restart (#4344)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-03-31 15:00:48 -07:00
SuvarnaMeenakshi
4b8067e913
Multi-ASIC implementation (#3888)
Changes made to support multi-asic platform. Added multi-instance support for swss, syncd, database, bgp, teamd and lldp.
2020-03-31 10:06:19 -07:00
rkdevi27
84256314fe
DellEMC: Platform 2.0 Api - Fan for z9264f (#4191) 2020-03-28 11:48:22 -07:00
Samuel Angebault
5b0ec7afe6
[Arista] Update drivers submodules (#4317)
* Update arista drivers submodules

* Add device configs for 7060CX2-32S

* Update boot0 and union-mount for 7060CX2-32S

* Add 7170-32C and 7170-32CD support in boot0

* Sync after writting boot configs

* Add 7170-32C and 7170-32CD device configurations

Co-authored-by: Boyang Yu <byu@arista.com>
2020-03-27 17:28:27 -07:00
jostar-yang
592abec5d9
[as4630-54pe]Put correct fanuilt.py file (#4321) 2020-03-25 11:58:19 -07:00
Junchao-Mellanox
80bf061b37
[Mellanox] Fix thermal control bugs (#4298)
* [thermal control] Fix pmon docker stop issue on 3800
* [thermal fix] Fix QA test issue
* [thermal fix] change psu._get_power_available_status to psu.get_power_available_status
* [thermal fix] adjust log for PSU absence and power absence
* [thermal fix] add unit test for loading thermal policy file with duplicate conditions in different policies
* [thermal] fix fan.get_presence for non-removable SKU
* [thermal fix] fix issue: fan direction is based on drawer
* Fix issue: when fan is not present, should not read fan direction from sysfs but directly return N/A
* [thermal fix] add unit test for get_direction for absent FAN
* Unplugable PSU has no FAN, no need add a FAN object for this PSU
* Update submodules

Co-authored-by: Stephen Sun <5379172+stephenxs@users.noreply.github.com>
2020-03-25 10:54:07 -07:00
Santhosh Kumar T
12291b276b
DellEMC S6100 I2C Enumeration Segregation (#4312) 2020-03-24 13:52:30 -07:00
Kebo Liu
f4ed88297d
[Mellanox] Add a new Mellanox platform x86_64-mlnx_msn4700 and new SKU ACS-MSN4700 (#3901)
* add MSN4700 device files

* update ACS-MSN4700 sai profile

* update buffer pool size, headroom, sensor conf, port config and reboot scripts

* fix ident

* update sensor conf and buffer pool

* [sn4700] add sku 4700 to chassis.py

* [Mellanox-4700] Add 4700 info to psu and thermal platform API

* update buffer config file template to the latest.
update SAI profile to use 100G X 4lanes for now
update port_config.ini according to the SAI profile

* [Mellanox]Update the buffer configurations for 4700

* fix alignment in pg_profile_lookup.ini

* add platform components file for new sku

* Update device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/pg_profile_lookup.ini

Co-Authored-By: Nazarii Hnydyn <nazariig@mellanox.com>

* remove redundant line

* [Mellanox]Correct type, buffer size

Co-authored-by: Nazarii Hnydyn <nazariig@mellanox.com>
Co-authored-by: junchao <junchao@mellanox.com>
Co-authored-by: Stephen Sun <stephens@mellanox.com>
2020-03-24 14:32:52 +02:00
Aravind Mani
8a6aeace6e
[DellEMC] Fix Z9100 port index issue (#4309) 2020-03-23 21:09:35 -07:00
Arun Saravanan Balachandran
0b52be3e5f
DellEMC: Z9264-Platform2.0 Implementation [Reboot Cause] (#4246)
- Added get_reboot_cause() API implementation in chassis.py
- Added new file platform.py for platform2.0 API implementation.
2020-03-23 15:30:09 -07:00
Nazarii Hnydyn
4d22cd405f
[mellanox]: Align platform API: change CPLD version representation (#4221) 2020-03-23 09:04:11 -07:00
noaOrMlnx
440f86ee07
[Mellanox] Update MFT version to 4.14.0 (#4262)
Signed-off-by: Noa Or <noaor@mellanox.com>
2020-03-23 00:42:30 -07:00
CharlieChenEC
3e6899004c
[docker/brcm-syncd-rpc]: remove duplicated "--net" options in broadcom syncd rpc (#4296)
In the file "files/build_templates/docker_image_ctl.j2", it adds the option
"--net" to the docker create command through the commit
"abe7ef7e2e2e1215c97cee19a83aab0b130cebe5" (#3856).

Remove the "--net" option in "docker-syncd-brcm-rpc.mk" to avoid
specifying duplicated "--net" options.

Signed-off-by: charlie_chen <charlie_chen@edge-core.com>
2020-03-21 18:47:31 -07:00
jostar-yang
c9059992a0
[AS9716-32D]:Support 0x57 and 0x56 eeprom (#4103)
* [AS9716-32D]:Support 0x57 and 0x56 eeprom

* Add checking sysfs use 0x57 or 0x56

Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2020-03-21 14:26:55 -07:00
ashishb-juniper
f88dffe95c
[platform]: Added QFX5210 readme for build and install (#4211)
Signed-off-by: Ciju Rajan K <crajank@juniper.net>
Signed-off-by: Ashish Bhensdadia <bashish@juniper.net>
Co-authored-by: Ashish Kumar Bhensdadia <ashish@sonic-server.englab.juniper.net>
2020-03-19 23:33:44 -07:00
arheneus@marvell.com
59ea0daf35
[Marvell] ARM64 Uboot Fit Image for Marvell SONIC image (#4293)
marvell sonic arm64 uboot fit flattened blob file.
Used by uboot as refered in this change
https://github.com/Azure/sonic-buildimage/pull/4043/files#diff-f6372e5829e59e22aa068273c238ba83

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2020-03-19 23:25:38 -07:00
Myron Sosyak
0b618ab19b
[BFN] Fix syncd RPC compilation (#4258)
* Fix BFN syncd RPC compilation
* Remove empty line
2020-03-19 10:40:14 -07:00
simonJi2018
9c866cd17e
[platform/nephos] Upgrade nephos-modules from 1.0.0 to 1.0.1 (#4267) 2020-03-18 14:05:42 -07:00
Mykola F
bfe690b739
[syncd-rpc.mk] install ptf dependancy (#4279)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2020-03-18 11:59:39 -07:00
Samuel Angebault
a3bbdc9929
[arista] Update platform drivers submodules (#4200)
* Build Arista drivers using DPKG_DEB
* Update arista platform submodule
2020-03-17 10:14:59 -07:00
Danny Allen
487a734ce0
[vs] Add dependencies for NAT to docker-sonic-vs (#4259)
I added dependencies to support the NAT feature on the virtual switch.

Signed-off-by: Danny Allen <daall@microsoft.com>
2020-03-15 13:54:05 -07:00
Kalimuthu-Velappan
7d2ebf8116
[build]: support for DPKG local caching (#4117)
DPKG caching framework provides the infrastructure to cache the sonic module/target .deb files into a local cache by tracking the target dependency files.SONIC build infrastructure is designed as a plugin framework where any new source code can be easily integrated into sonic as a module and that generates output as a .deb file. The source code compilation of a module is completely independent of other modules compilation. Inter module dependency is resolved through build artifacts like header files, libraries, and binaries in the form of Debian packages. For example module A depends on module B. While module A is being built, it uses B's .deb file to install it in the build docker.

The DPKG caching framework provides an infrastructure that caches a module's deb package and restores it back to the build directory if its dependency files are not modified. When a module is compiled for the first time, the generated deb package is stored at the DPKG cache location. On the subsequent build, first, it checks the module dependency file modification. If none of the dependent files is changed, it copies the deb package from the cache location, otherwise, it goes for local compilation and generates the deb package. The modified files should be checked-in to get the newer cache deb package.

This provides a huge improvement in build time and also supports the true incremental build by tracking the dependency files.

- How I did it
It takes two global arguments to enable the DPKG caching, the first one indicates the caching method and the second one describes the location of the cache.
SONIC_DPKG_CACHE_METHOD=cache
SONIC_DPKG_CACHE_SOURCE=

    where  SONIC_DPKG_CACHE_METHOD - Default method is 'cache' for deb package caching
                            none:     no caching
                            cache:    cache from local directory
Dependency file tracking:
Dependency files are tracked for each target in two levels.
1. Common make infrastructure files - rules/config, rules/functions, slave.mk etc.
2. Per module files - files which are specific to modules, Makefile, debian/rules, patch files, etc.

    For example: dependency files for Linux Kernel - src/sonic-linux-kernel,

            SPATH       := $($(LINUX_HEADERS_COMMON)_SRC_PATH)
            DEP_FILES   := $(SONIC_COMMON_FILES_LIST) rules/linux-kernel.mk rules/linux-kernel.dep
            DEP_FILES   += $(SONIC_COMMON_BASE_FILES_LIST)
            SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files))

            DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) \
                         $(KERNEL_PROCURE_METHOD) $(KERNEL_CACHE_PATH)

            $(LINUX_HEADERS_COMMON)_CACHE_MODE  := GIT_CONTENT_SHA
            $(LINUX_HEADERS_COMMON)_DEP_FLAGS   := $(DEP_FLAGS)
            $(LINUX_HEADERS_COMMON)_DEP_FILES   := $(DEP_FILES)
            $(LINUX_HEADERS_COMMON)_SMDEP_FILES := $(SMDEP_FILES)
            $(LINUX_HEADERS_COMMON)_SMDEP_PATHS := $(SPATH)
Cache file tracking:
The Cache file is a compressed TAR ball of a module's target DEB file and its derived-target DEB files.
The cache filename is formed with the following format

    FORMAT:
            <module deb filename>.<24 byte of DEP SHA hash >-<24 byte of MOD SHA hash>.tgz
            Eg:
              linux-headers-4.9.0-9-2-common_4.9.168-1+deb9u3_all.deb-23658712fd21bb776fa16f47-c0b63ef593d4a32643bca228.tgz

            < 24-byte DEP SHA value > - the SHA value is derived from all the dependent packages.
            < 24-byte MOD SHA value > - the SHA value is derived from either of the following.
                    GIT_COMMIT_SHA  - SHA value of the last git commit ID if it is a submodule
                    GIT_CONTENT_SHA - SHA value is generated from the content of the target dependency files.
Target Specific rules:
Caching can be enabled/disabled on a global level and also on the per-target level.

            $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS)) : $(DEBS_PATH)/% : .platform $$(addsuffix -install,$$(addprefix $(DEBS_PATH)/,$$($$*_DEPENDS))) \
                    $(call dpkg_depend,$(DEBS_PATH)/%.dep )
            $(HEADER)


            # Load the target deb from DPKG cache
            $(call LOAD_CACHE,$*,$@)


            # Skip building the target if it is already loaded from cache
            if [ -z '$($*_CACHE_LOADED)' ] ; then

                  .....
                 # Rules for Generating the target DEB file.
                  .....

                  # Save the target deb into DPKG cache
                  $(call SAVE_CACHE,$*,$@)
            fi


            $(FOOTER)


    The make rule-'$(call dpkg_depend,$(DEBS_PATH)/%.dep )' checks for target dependency file modification. If it is newer than the target, it will go for re-generation of that target.

    Two main macros 'LOAD_CACHE' and 'SAVE_CACHE' are used for loading and storing the cache contents.
    The 'LOAD_CACHE' macro is used to load the cache file from cache storage and extracts them into the target folder. It is done only if target dependency files are not modified by checking the GIT file status, otherwise, cache loading is skipped and full compilation is performed.
    It also updates the target-specific variable to indicate the cache is loaded or not.
    The 'SAVE_CACHE' macro generates the compressed tarball of the cache file and saves them into cache storage. Saving into the cache storage is protected with a lock.
- How to verify it

    The caching functionality is verified by enabling it in Linux kernel submodule.
    It uses the cache directory as 'target/cache' where Linux cache file gets stored on the first-time build and it is picked from the cache location during the subsequent clean build.
- Description for the changelog
The DPKG caching framework provides the infrastructure to save the module-specific deb file to be cached by tracking the module's dependency files.
If the module's dependency files are not changed, it restores the module deb files from the cache storage.

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

DOCUMENT PR:

           https://github.com/Azure/SONiC/pull/559
2020-03-11 20:04:52 -07:00
Stephen Sun
7d0570c517
[Mellanox]Take advantage of sdk variable to customize the location where sdk_socket exists. (#4223)
Take advantage of an SDK environment variable to customize the location where sdk_socket exists.
In the latest SDK sdk_socket has been moved from /tmp to /var/run which is a better place to contain this kind of file.
However, this prevents the subdirs under /var/run from being mapped to different volumes. To resolve this, we take advantage of an SDK variable to designate the location of sdk_socket.
This requires every process that requires to access sdk_socket have this environment variable defined. However, to define environment variable for each process is less scalable. We take advantage of the docker scope environment variable to avoid that.
It depends on PR 4227
2020-03-09 12:36:56 -07:00
Junchao-Mellanox
be549db395
Add thermal control support for SONiC (#3949) 2020-03-09 10:41:10 -07:00
Junchao-Mellanox
67f520ff5b
[Mellanox] Add sdk 4.4.0542 (#4227)
* [Mellanox] Add sdk 4.4.0542

* fix typo
2020-03-09 17:58:49 +02:00
Danny Allen
590caaf5cf
[bcmsai] Update BRCM SAI Debian to 3.7.3.3-3 (#4233)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-03-07 00:38:09 -08:00
Joe LeVeque
7c8da20516
[sonic-cfggen] Loading the configuration from init_cfg.json and then from config_db.json (#4148) 2020-03-05 15:35:35 -08:00
Joe LeVeque
ab4861deb8
DellEMC: Platform 2.0 Api - Component for z9264f (#4091) 2020-03-04 19:17:09 -08:00
lguohan
b08bedbfe8
[Mellanox]Integrate hw-mgmt 7.0000.3012 and advance the linux kernel (#4193)
* [Mellanox]Integrate hw-mgmt 7.0000.3012

* [sonic-linux-kernel]Advance the submodule head

Advance the sonic-linux-kernel

[sFlow]: Patch to fix skb_over_panic in psample driver (#120)
Added support in the kernel for fullcone 3-tuple unique nat. (#100)
Adding support to compile ARM architecture (#102)
[ixgbe] Support bcm54616s external phy in ixgbe (#122)
Fix i2c ISMT DMA buffer alignment issue (#123)
[mellanox]: Add SN4700 patches. (#126)
2020-03-04 10:02:55 -08:00
noaOrMlnx
d5c69bc9fc
[Mellanox] Update MFT version to 4.13.5 (#4199) 2020-02-27 21:03:13 -08:00
arheneus@marvell.com
71592fc866
[Platform] Marvell Makefile updates/cleanup (#4168)
Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2020-02-25 09:44:45 -08:00
Samuel Angebault
75181702d3
[arista] Update drivers submodule (#4164)
- Refactor of the cli
 - Refactor of the logging mechanism
 - Add some more utilities
 - Miscelaneous fixes and improvements
2020-02-25 09:14:56 -08:00
abdosi
7aae61abb5
[broadcom]: Updated BRCM SAI Debian package revision number to 3.7.3.3-2. (#4182)
This has patch to fix enable/disable attribute for lag member. It's on top of vanilla 3.7.3.3
2020-02-25 09:14:23 -08:00
Mykola F
70657cb182
[Mellanox] update hw-mgmt patch for SimX (#4180)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2020-02-25 10:25:31 +02:00