Commit Graph

1639 Commits

Author SHA1 Message Date
Stephen Sun
ba853348d5
[Reclaim buffer] Reclaim unused buffers by applying zero buffer profiles (#8768)
Signed-off-by: Stephen Sun stephens@nvidia.com

Why I did it
Support zero buffer profiles

Add buffer profiles and pool definition for zero buffer profiles
Support applying zero profiles on INACTIVE PORTS
Enable dynamic buffer manager to load zero pools and profiles from a JSON file
Dependency: It depends on Azure/sonic-swss#1910 and submodule advancing PR once the former merged.

How I did it
Add buffer profiles and pool definition for zero buffer profiles

If the buffer model is static:
Apply normal buffer profiles to admin-up ports
Apply zero buffer profiles to admin-down ports
If the buffer model is dynamic:
Apply normal buffer profiles to all ports
buffer manager will take care when a port is shut down
Update buffers_config.j2 to support INACTIVE PORTS by extending the existing macros to generate the various buffer objects, including PGs, queues, ingress/egress profile lists

Originally, all the macros to generate the above buffer objects took active ports only as an argument
Now that buffer items need to be generated on inactive ports as well, an extra argument representing the inactive ports need to be added
To be backward compatible, a new series of macros are introduced to take both active and inactive ports as arguments
The original version (with active ports only) will be checked first. If it is not defined, then the extended version will be called
Only vendors who support zero profiles need to change their buffer templates
Enable buffer manager to load zero pools and profiles from a JSON file:

The JSON file is provided on a per-platform basis
It is copied from platform/<vendor> folder to /usr/share/sonic/temlates folder in compiling time and rendered when the swss container is being created.
To make code clean and reduce redundant code, extract common macros from buffer_defaults_t{0,1}.j2 of all SKUs to two common files:

One in Mellanox-SN2700-D48C8 for single ingress pool mode
The other in ACS-MSN2700 for double ingress pool mode
Those files of all other SKUs will be symbol link to the above files

Update sonic-cfggen test accordingly:

Adjust example output file of JSON template for unit test
Add unit test in for Mellanox's new buffer templates.

How to verify it
Regression test.
Unit test in sonic-cfggen
Run regression test and manually test.
2021-11-29 08:04:01 -08:00
Andriy Kokhan
6f8dbaca72
[BFN] Fixed BFN platform build (#9271)
Fix BFN platform build scripts after migration to Deb11

Signed-off-by: Andriy Kokhan <AndriyX.Kokhan@intel.com>
2021-11-26 00:48:48 -08:00
Ze Gan
ada0e50218
[iproute2]: Add macsec-xpn-support iproute2 in syncd (#8702)
* Add macsec-xpn-support iproute2 in syncd

Signed-off-by: Ze Gan <ganze718@gmail.com>

* Polish code

Signed-off-by: Ze Gan <ganze718@gmail.com>

* Remove useless files

Signed-off-by: Ze Gan <ganze718@gmail.com>

* Add self-compiled iproute2 to docker sonic vs

Signed-off-by: Ze Gan <ganze718@gmail.com>

* Enhance apt install for iproute2 dependencies

Signed-off-by: Ze Gan <ganze718@gmail.com>
2021-11-25 21:38:17 +08:00
Junhua Zhai
fb2d8eed29
[gearbox] use credo sai v0.7.2 (#9365)
Sonic master has moved to use SAI v1.9.1. For consistency, use the latest credo sai v0.7.2 package, built with
SAI header v1.9.1 too.

How I did it
Update credo sai url for v0.7.2
Add a debug tool crshell
2021-11-24 11:09:51 -08:00
Brian O'Connor
002827f08e
[PINS] Add APPL_STATE_DB and response path log (#9082)
- Add APPL_STATE_DB to database_config.json
- Clear APPL_STATE_DB during SwSS container restarts
- Add response path log file to logrotate config: responsepublisher.rec

Co-authored-by: PINS Working Group <sonic-pins-subgroup@googlegroups.com>
2021-11-24 10:31:06 -08:00
Stephen Sun
b3ccef9c08
[Reclaim buffer] Common infrastructure update for reclaiming buffer (#9133)
- Why I did it
This is to update the common sonic-buildimage infra for reclaiming buffer.

- How I did it
Render zero_profiles.j2 to zero_profiles.json for vendors that support reclaiming buffer
The zero profiles will be referenced in PR [Reclaim buffer] Reclaim unused buffers by applying zero buffer profiles #8768 on Mellanox platforms and there will be test cases to verify the behavior there.
Rendering is done here for passing azure pipeline.
Load zero_profiles.json when the dynamic buffer manager starts
Generate inactive port list to reclaim buffer

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-11-24 15:00:23 +02:00
Junchao-Mellanox
e79c7155b7
[Mellanox] Fan speed should not be 100% when PSU is powered off (#9258)
- Why I did it
When PSU is powered off, the PSU is still on the switch and the air flow is still the same. In this case, it is not necessary to set FAN speed to 100%.

- How I did it
When PSU is powered of, don't treat it as absent.

- How to verify it
Adjust existing unit test case
Add new case in sonic-mgmt
2021-11-24 14:56:00 +02:00
Junhua Zhai
240596ec7d
[gearbox] provide common gbsyncd.service.j2 to start for platform specific gbsyncd docker (#9332)
Why I did it
Fix #9059. It provides common gbsyncd.service.j2 to start for platform specific gbsyncd docker, which must be named 'gbsyncd'.

How I did it
All of platform specific gbsyncd dockers use a common name 'gbsyncd'
Use a unique systemd service template gbsyncd.service.j2 for gbsyncd docker
2021-11-23 10:44:29 -08:00
Samuel Angebault
3f004613a1
[Arista] Update driver library submodules (#9308)
- add `set_write_max` and `get_write_max` apis to Sfp API
 - add `get_revision` platform API
 - implement `is_midplane_reacheable` API
 - add software fallback for setting Xcvr low power mode
 - add `get_error_description` API
 - add support for Woodleaf SKU
 - various fixes/refactors/cleanups
2021-11-22 12:12:06 -08:00
LuiSzee
6a2f57d669
[centec][arm64] upgrade centec sai to 1.9.1-0 (#9339)
upgrade centec arm64 sai to v1.9.1 and fix syncd compile error:
```
2021-11-21T19:58:09.0294367Z /usr/bin/ld: libSyncd.a(libSyncd_a-VendorSai.o): in function `syncd::VendorSai::queryStatsCapability(unsigned long, _sai_object_type_t, _sai_stat_capability_list_t*)':
2021-11-21T19:58:09.0297367Z ./syncd/VendorSai.cpp:439: undefined reference to `sai_query_stats_capability'
2021-11-21T19:58:09.0298900Z collect2: error: ld returned 1 exit status
```

Co-authored-by: shil <shil@centecnetworks.com>
2021-11-22 11:47:15 -08:00
Stephen Sun
f9d0921d09
Support PSU voltage high/low thresholds and power max threshold (#8983)
- Why I did it
Support PSU voltage high/low thresholds and power max threshold
1. Add thresholds support for voltage and power.
2. As thresholds are not supported on all platforms, we need to check the capability first and fetch thresholds only if it is supported.

- How I did it

- How to verify it
Run regression test and manual test.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-11-22 12:41:16 +02:00
Guohan Lu
f3faf6111b Revert "[gearbox] provide common gbsyncd.service.j2 to start for platform specific gbsyncd docker (#9286)"
This reverts commit 1d2a11bbb8.
2021-11-19 10:10:55 -08:00
roman_savchuk
9a72d04728
[BFN] update SDK package for Barefoot (#9287)
Fix build issue.

1.	Fix BFN platform build scripts after migration to Deb11: https://github.com/Azure/sonic-buildimage/pull/9271
2.	Update SDK package to fix linkage issue caused by missing sai_query_stats_capability() newly added in syncd: https://github.com/Azure/sonic-buildimage/pull/9287
2021-11-19 10:07:27 -08:00
Junhua Zhai
1d2a11bbb8
[gearbox] provide common gbsyncd.service.j2 to start for platform specific gbsyncd docker (#9286)
Why I did it
Fix #9059. It provides common gbsyncd.service.j2 to start for platform specific gbsyncd docker, which must be named 'gbsyncd'.

How I did it
All of platform specific gbsyncd dockers use a common name 'gbsyncd'
Use a unique systemd service template gbsyncd.service.j2 for gbsyncd docker
2021-11-17 23:49:49 -08:00
pettershao-ragilenetworks
0e0772596e
[ragile] support 32c and 4s platform (#8824)
Signed-off-by: pettershao-ragilenetworks pettershao@ragilenetworks.com

What I did it

Add new platform x86_64-ragile_ra-b6510-32c-r0 (Trident 3)
ASIC Vendor: Broadcom
Switch ASIC: Trident 3
Port Config: 32x100G

Add new platform x86_64-ragile_ra-b6920-4s-r0 (Tomahawk 3)
ASIC Vendor: Broadcom
Switch ASIC: Tomahawk 3
Port Config: 128x100G

-How I did it
Provide device and platform related files.

-How to verify it
show platform fan
show platform ssdhealth
show platform psustatus
show platform summary
show platform syseeprom
show platform temperature
show interface status
2021-11-17 23:49:06 -08:00
SeanWu
c5e349d211
[marvell-arm64]: Fix typo at _UNINSTALL which will block building (#9267)
Signed-off-by: Sean Wu <sean_wu@edge-core.com>
2021-11-17 21:00:21 -08:00
LuiSzee
e36c5d80fb
[centec][arm64] fix compile problem for tsingma-bsp (#9299)
gpiolib-acpi.h was missing.

Co-authored-by: shil <shil@centecnetworks.com>
2021-11-17 20:57:28 -08:00
Aravind Mani
5a56659b61
DellEMC SFP Refactor (#9142)
* DellEMC SFP Refactoring

* Update SFP

* Fix LGTM errors

* update sfp

* Add get_name()

* Add get_name()

* Update sfp.py
2021-11-17 21:40:46 +05:30
Alexander Allen
53891c5602
Fix cache related mellanox bullseye build failures (#9234)
#### Why I did it

Mellanox builds were failing intermittently due to the `issue_version` file and MFT package not building correctly in the Azure pipeline environment (both of these packages were patched to build correctly with bullseye running on the host and buster running on the dockers)

#### How I did it

Fixed two problems:

1. BLDENV is not passed to the Makefiles so the references to this were replaced with correct logic
2. `issue_version` was not defined as a target for bullseye and as such was not cached. Altered the build such that it is defined as a target for bullseye (in the case of buster it builds the file, in the case of bullseye it copies from buster) 

The previous PR fixing this was reverted as it is no longer necessary for a passing build and was not a long-term fix. https://github.com/Azure/sonic-buildimage/pull/9235

#### How to verify it

Build on AZP and verify success.
2021-11-16 14:49:47 -08:00
guxianghong
bb798a3628
[centec] Support saiserver docker for centec-x86 and centec-arm64 platform (#9162)
Fix docker-syncd-centec-rpc.gz compile fail
Support Centec saiserver docker

Co-authored-by: Xianghong Gu <xgu@centecnetworks.com>
2021-11-15 21:58:47 -08:00
Aravind Mani
1c4ca07cf5
DellEMC Z9332f: Add platform scripts (#9089)
* Z9332f: Add platform scripts

* Z9332f: Add platform scripts

* Update platform-modules-z9332f.install

* Update platform-modules-z9332f.install
2021-11-16 09:30:07 +05:30
roman_savchuk
07de6a39c0
[BFN]: added Y2 profile to BFN SDK (#9220)
Signed-off-by: Roman Savchuk <romanx.savchuk@intel.com>
2021-11-15 12:39:20 -08:00
zzhiyuan
805c7443fb
[Arista] Update submodule sonic-platform-modules-arista (#9247)
Remove the "4.19..." specific code to add "-unsigned" suffix and just do so for any linux version.
For the syseeprom API part, have the Arista syseeprom class inherit from a class that can populate db.

Co-authored-by: Zhi Yuan (Carl) Zhao <zyzhao@arista.com>
2021-11-15 12:35:50 -08:00
Arun Saravanan Balachandran
f4c3aa4a03
DellEMC: S6000, S6100, Z9332f - Add capabilities fields in platform.json (#9168)
Why I did it
To include capabilities fields in platform.json of DellEMC S6000, S6100, Z9332f platforms.

How I did it
Add the capabilities fields in each platform's respective platform.json.

How to verify it
Ran sonic-mgmt platform api test cases that use capabilities fields and verified that the results are as expected.
2021-11-15 08:08:40 -08:00
dflynn-Nokia
df12ac5abd
[build]: marvell-armhf bullseye fixes (#9243)
This commit fixes/avoids the following errors encountered during the
marvell-armhf build for bullseye

- Fix Marvell prestera DMA driver build failure due to kallsyms_lookup_name()
  no longer being exported by the updated bullseye kernel. This is a temporary
  fix that will be replaced by a future version of the DMA driver.

- Update qemu-user-static version to align with the new glibc version included
  in bullseye

- Skip systemd-sonic-generator unit tests to avoid test failures. Root cause is
  still TBD

#### Why I did it
Fix the following build errors observed when building marvell-armhf for bullseye
1. Marvell Prestera DMA driver uses kernel API no longer exported
ERROR: modpost: "kallsyms_lookup_name" [/sonic/platform/marvell-armhf/prestera/mrvl-prestera/cpssEnabler/linuxNoKernelModule/drivers//mvDmaDrv.ko] undefined!

2. Old qemu-user-static version does not support semop() leading to following build failure
semop(1): encountered an error: Function not implemented

3. systemd-sonic-generator unit test failure
ssg-test.cc:217: Failure
Expected equality of these values:
  find_string_in_file(str_t, target, num_asics)
    Which is: false
  expected_result
    Which is: true
Error validating Before=single_inst.service in test.service
[  FAILED  ] SsgMainTest.ssg_main_40_npu (20 ms)
[----------] 4 tests from SsgMainTest (36 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 3 test suites ran. (54 ms total)
[  PASSED  ] 7 tests.
[  FAILED  ] 3 tests, listed below:
[  FAILED  ] SsgMainTest.ssg_main_single_npu
[  FAILED  ] SsgMainTest.ssg_main_10_npu
[  FAILED  ] SsgMainTest.ssg_main_40_npu

 3 FAILED TESTS
2021-11-13 10:48:58 -08:00
gechiang
ad78ce03d6
[BRCM-SAI] Stubbed missing SAI API sai_query_stats_capability() (#9246)
BRCM SAI missed implementing the SAI API "sai_query_stats_capability()" which is causing build issue.
The build issue is impacting PR(s) that need to use this API.
This PR is to stubbed BRCM SAI to add this SAI API and return not implemented so that it will fix build issue that it is causing.
No other functional changes were made.
2021-11-12 21:48:54 -08:00
Saikrishna Arcot
a980e836c1
[mellanox]: Disable caching for the issu-version file (#9235)
The issu-version file for Mellanox is generated from the Mellanox SDK
libraries. The SDK is installed into a Buster docker container, but the
issu-version file goes onto the base OS, which is Bullseye. To work
around this, the issu-version build rules explicitly copies the
issu-version file to target/files/bullseye/ during the Buster build.

Because of our build infra, if caching is enabled and a cache is being
used, then for issu-version, since it is technically built as part of
Buster, then only target/files/buster/issu-version is saved into the
cache, and target/files/bullseye/issu-version isn't cached. If this
cache gets used, then target/files/bullseye/issu-version is missing, and
the final image build fails.

This is to work around the current build issue where Mellanox builds are
failing. This is so that issu-version is always "built", so that copy is
made into the bullseye directory.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-11 19:39:25 -08:00
Arun Saravanan Balachandran
935923b805
DellEMC: Z9332f - Fix error message during Chassis initialization (#9218) 2021-11-11 11:10:34 +05:30
Saikrishna Arcot
d4bc0095a5 Fix Mellanox hw-mgmt package version
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Alexander Allen
cc5a2f3d54 Update pointer (#12)
Updated the hw-mgmt pointer to include some bugfixes related to power supply voltages.
2021-11-10 15:27:22 -08:00
Aravind Mani
cecbc4d21b DellEMC: Remove repeated files
ipmihelper files are repeated for few DellEMC platforms. Removed the
files in sonic_platform since as part of debian rules,ipmihelper will be
copied to necessary directory.
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
668f207239 Build Arista platform module
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
KostiantynYarovyiBf
9894116205 Update Barefoot platform module for Bullseye and 5.10 kernel (#8)
Update Barefoot platform support for Bullseye and 5.10 kernel, and add
python3-venv.
2021-11-10 15:27:22 -08:00
Alexander Allen
857937d592 Mellanox bullseye merge (#1)
* Make neccesary changed to mellanox platform code to build on Debian 11

* Revert use of backported kernel to build mft and elect to only build kernel module under bullseye
2021-11-10 15:27:22 -08:00
Aravind Mani
166efeffe2 Upgrade new DellEMC platforms to bullseye kernel (#10)
* Upgrade new DellEMC platforms to Bullseye

* Update s5212f kernel module
2021-11-10 15:27:22 -08:00
Alexander Allen
2847265bfd Mellanox bullseye merge (#1)
Allow mellanox platform to build and successfully switch packets in
Debian 11

Upgraded

* Mellanox SDK
* Mellanox Hardware Management
* Mellanox Firmware
* Mellanox Kernel Patches

Adjusted build system to support host system running bullseye and
dockers running buster.
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
1379ca14cc Update some more Dell platform modules for 5.10 and Bullseye changes
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Jakkapan Jangmuang
88d607f209 Update Dell z9332f platform modules for Bullseye and 5.10 kernel. (#5)
Also add out of tree pca9548 mux driver to use platform data to mapping i2c bus with front panel port.

Signed-off-by: Jakkapan Jangmuang <jjangmua@celestica.com>

Co-authored-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Aravind Mani
c3c6a178c8 DellEMC bullseye merge (#2)
Upgrade DellEMC platforms to bullseye.
2021-11-10 15:27:22 -08:00
LuiSzee
5b284767f6 Update Centec platform support for Bullseye and 5.10 kernel (#7)
1. Fix build for armhf and arm64
2. upgrade centec tsingma bsp support to 5.10 kernel
3. modify centec platform driver for linux 5.10

Co-authored-by: Shi Lei <shil@centecnetworks.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
b3e96ec284 Update saibcm-modules and saibcm-modules-dnx due to kernel changes
Add an include in saibcm-modules and saibcm-modules-dnx that are now
needed due to Mellanox kernel patches.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
66913ff05f For syncd, specify that they're Buster-based containers in the template file instead of the individual container definitions
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
1d00613305 Add support for building Mellanox image
ISSU will likely be broken. As of right now, the issu-version file is
not being generated during build.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
3a3b45db3a Update Accton platform module for Bullseye and 5.10 kernel
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
8bc8b96c4a Don't build and package the psample module
The kernel already provides psample, and with module versioning being
done in modpost, having the SDK compile its own copy of psample breaks
loading dependent modules.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
e360fc3027 Update SAI module for Celestica for Bullseye and 5.10 kernel
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
9a3a17c547 Update SAI modules for Nokia and Juniper for Bullseye and 5.10 kernel
Also, start working on getting Dell SAI module compilable on 5.10
kernel.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
7fe1cf5938 Mark the PTF docker container as a Buster container
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
d01d8ca5d5 Make changes needed to build a basic Broadcom image
Vendor-specific SAI modules have been commented out. Bootup has not been
tested.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
a1d30e3aa0 Python 2 removal/cleanup
Remove Python 2 package installation from the base image. For container
builds, reference Python 2 packages only if we're not building for
Bullseye.

For libyang, don't build Python 2 bindings at all, since they don't seem
to be used.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
4f9569132f Update saibcm-modules to compile with 5.10 kernel
Update the build rules in saibcm-modules to use the 5.10 kernel instead
of searching for the 4.19 kernel. In addition, some code changes were
done to get it to compile. The main categories of such changes are as
follows:

* For /proc files, `struct file_operations` has been replaced with
`struct proc_ops`.
* Y2038 changes to use the new APIs, since `do_gettimeofday()` is no
longer available.
* Minor changes in how external kernel module symbols are read by
modpost.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Saikrishna Arcot
6105684b9e Add infra to support building Bullseye base image with Buster containers
All docker containers will be built as Buster containers, from a Buster
slave. The base image and remaining packages that are installed onto the
host system will be built for Bullseye, from a Bullseye slave.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-10 15:27:22 -08:00
Aravind Mani
b31220530a
Dell: S6100 fix xcvrd crash (#9206) 2021-11-10 20:13:26 +05:30
Sudharsan Dhamal Gopalarathnam
738de2dcab
[docker-sonic-vs] Removing fake_platform variable since it is no more used (#9175)
*Removing fake_platform environment variable. Following the merge of #9044 and Azure/sonic-swss#1978 the fake_platform environment variable is not used in any place and removing the stale references.

Signed-off-by: Sudharsan Dhamal Gopalarathnam <sudharsand@nvidia.com>
2021-11-05 16:48:13 -07:00
Arun Saravanan Balachandran
2d7840ce9a
DellEMC: Z9332f - SFP API get_error_description implementation (#9071)
* DellEMC: Z9332f - SFP API get_error_description implementation

* Update error message
2021-11-05 05:00:09 +05:30
Rajkumar-Marvell
56049830fb
[Marvell] Move amd64 & arm64 syncd to buster (#8869)
Signed-off-by: Rajkumar Pennadam Ramamoorthy <rpennadamram@marvell.com>
2021-11-04 07:44:33 -07:00
roman_savchuk
3f8821cc4b
[BFN]: updated SDK with SAI 1.9.1 (#9135)
Updated SDK packages to SAI 1.9.1

Signed-off-by: Roman Savchuk <romanx.savchuk@intel.com>
2021-11-02 07:37:25 -07:00
Sudharsan Dhamal Gopalarathnam
dd9ff10fee
[docker-sonic-vs]Added support for Mellanox-SN2700 based SKU for docker-sonic-vs (#9044)
Added support for Mellanox-SN2700 based SKU for docker-sonic-vs and to differentiate platform based on hw-sku rather than on fake_platform in VS.
Currently SAI VS library uses hwsku based SAI profile to differentiate and mock different platform implementations. The same functionality in swss is achieved using a fake_platform env variable.
Using a fake_platform has some drawbacks that the vs container appears to still use a different vendor hw-sku

env
PLATFORM=x86_64-kvm_x86_64-r0
HOSTNAME=dd21a1637723
PWD=/
HOME=/root
TERM=xterm
HWSKU=Force10-S6000
SHLVL=1
fake_platform=mellanox
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DEBIAN_FRONTEND=noninteractive
_=/usr/bin/env

In order to unify the approach at both swss and vs SAI and to be uniform throughout this PR introduces the approach of using hw-sku to differentiate different platforms. This requires support for Mellanox-SN2700 HWSKU for Mellanox platform which is also addressed by this PR.

root@23c9ba83b0aa:/# show platform summary
/bin/sh: 1: sudo: not found
Platform: x86_64-kvm_x86_64-r0
HwSKU: Mellanox-SN2700
ASIC: vs
ASIC Count: 1
Serial Number: N/A
Model Number: N/A
Hardware Revision: N/A
root@23c9ba83b0aa:/# env
PLATFORM=x86_64-kvm_x86_64-r0
HOSTNAME=23c9ba83b0aa
PWD=/
HOME=/root
TERM=xterm
HWSKU=Mellanox-SN2700
SHLVL=1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DEBIAN_FRONTEND=noninteractive
_=/usr/bin/env
root@23c9ba83b0aa:/#

Signed-off-by: Sudharsan Dhamal Gopalarathnam <sudharsand@nvidia.com>
2021-11-01 23:21:06 -07:00
Stepan Blyshchak
2ef97bb5df
[dockers] change RPC, DBG dockers version: put RPG, DBG sign in build metadata part of the version (#8920)
- Why I did it
In case an app.ext requires a dependency syncd^1.0.0, the RPC version of syncd will not satisfy this constraint, since 1.0.0-rpc < 1.0.0. This is not correct to put 'rpc' as a prerelease identifier. Instead put 'rpc' as build metadata in the version: 1.0.0+rpc which satisfies the constraint ^1.0.0.

- How I did it
Changed the way how to version in RPC and DBG images are constructed.

- How to verify it
Install app.ext with syncd^1.0.0 dependency on a switch with RPC syncd docker.
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
2021-11-01 19:02:57 +02:00
vmittal-msft
7095b38834
Updated saibcm-modules-dnx for SAI header 1.9.1, SAI 6.0 and SDK 6.5.23 (#9105) 2021-10-29 14:30:48 -07:00
zzhiyuan
99753c61ae
[Arista] Update Arista submodule and remove building python2 for Arista (#8890)
* [Arista] Remove building python2

* Add Wolverine linecard

Co-authored-by: Zhi Yuan (Carl) Zhao <zyzhao@arista.com>
2021-10-28 13:40:38 +05:30
vmittal-msft
04b9ce8e32
[BCMSAI] Update BCMSAI debian to 6.0.0.10 with 6.5.23 SDK, and opennsl module to 6.5.23 (#9046)
Manual verification on switch (TH3 device)
admin@str2-xxxxx-01:~$ bcmcmd bsv
bsv
BRCM SAI ver: [6.0.0.10], OCP SAI ver: [1.9.1], SDK ver: [sdk-6.5.23]
drivshell>

admin@str2-xxxxx-01:~$ bcmcmd version
version
Broadcom Command Monitor: Copyright (c) 1998-2021 Broadcom
Release: sdk-6.5.23 built 20211020 (Wed Oct 20 06:52:58 2021)
From root@fedbbfdbee81:/__w/2/s/output/x86-xgsall-deb/hsdk
Platform: X86
OS: Unix (Posix)
Chips:
BCM56640_A0,
BCM56850_A0,
BCM56340_A0,
BCM56960_A0, BCM56860_A0,

   BCM56970_A0, BCM56870_A0,
   BCM56980_A0, BCM56980_B0,
  
   BCM56370_A0, BCM56275_A0, BCM56770_A0,
Chips:
BCM56780_A0, BCM56782_A0, BCM56784_A0, BCM56785_A0,
BCM56786_A0, BCM56787_A0, BCM56788_A0, BCM56789_A0,
BCM56880_A0, BCM56880_B0, BCM56881_A0, BCM56881_B0,
BCM56883_A0, BCM56883_B0, BCM56990_A0, BCM56990_B0,
BCM56991_B0, BCM56992_B0, BCM56996_A0, BCM56996_B0,
BCM56997_A0, BCM56997_B0

Variant drivers:
BCM56780_A0_CNA_1_2_10, BCM56780_A0_DNA_2_7_6_0, BCM56880_A0_CNA_1_2_9, BCM56880_A0_DNA_4_9_5_0
PHYs: BCM5400, BCM54182, BCM54185, BCM54180,
BCM54140, BCM54192, BCM54195, BCM54190,
BCM54194, BCM54210, BCM54220, BCM54280,
BCM54282, BCM54240, BCM54285, BCM5428X,
BCM54290, BCM54292, BCM54294, BCM54295,
BCM54296, BCM56160-GPHY, BCM53540-GPHY, BCM56275-GPHY,
BCM8750, BCM8752, BCM8754, BCM84740,
BCM84164, BCM84758, BCM84780, BCM84784,
BCM84318, BCM84328, Sesto, BCM82780,
copper sfp

drivshell>
2021-10-28 00:12:32 -07:00
dflynn-Nokia
d632039175
[Nokia ixs7215] Platform API fixes (#9025)
* [Nokia ixs7215] Platform API fixes

This commit delivers the following fixes
    - Fix bug preventing access to second PSU eeprom
    - Fix bug preventing updates to front panel PSU status led
    - Fix SFP reset test case failure

* Fix LGTM alert
2021-10-27 09:57:56 +08:00
vganesan-nokia
7e34a54b30
[vstes] Virtual chssis default config rendering (#8008)
Fixed issue introduced by PR#7857. The problem was that introduction of
using init_cfg.json.j2 template did not have instruction in
init_config.json.j2 to merge the virtual chassis default_config.json.
Ths fix is to have a separate invokiation of sonic-cfggen to combine
init_config.json and virtual chassis default_config.json

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
2021-10-26 18:19:58 -07:00
Andrew Sapronov
8eab0e02df
Added Netberg Aurora 715 support (#8604)
* [202012][platform/barefoot] (#8543)

Why I did it
Pcied running by python 2.

How I did it
dropped python2 support and add python3 support for pcied in file docker-pmon.supervisord.conf.j2

How to verify it
docker exec pmon supervisorctl status

* [Netberg][nba715] Initial support for Netberg Aurora 715 switch

Signed-off-by: Andrew Sapronov <andrew.sapronov@gmail.com>

Co-authored-by: Kostiantyn Yarovyi <kostiantynx.yarovyi@intel.com>
2021-10-26 13:04:27 -07:00
LuiSzee
32ad7444f9
[centec] support TM.MX board v682-48y8c_d (#8747)
Adding platform support for centec v682-48y8c_d.

Why I did it
Adding platform support for centec v682-48y8c_d.
This switch has 48 SFP+ (1G/10G/25G) ports, 8 QSFP28 (40G/100G) ports on CENTEC TsingMa.MX.
CPU used in v682-48y8c_d is Intel(R) Xeon(R) CPU D-1527.

How I did it
Modify related code in platform and device directory.
Upgrade sai to v1.8.
fix bug for parallel compile centec platform modules.

How to verify it
Build centec amd64 sonic image, verify platform functions (port, sfp, led etc) on centec v682-48y8c_d board.

Co-authored-by: Shi Lei <shil@centecnetworks.com>
2021-10-26 12:55:24 -07:00
thaj-deen
f01076ea2a
Added Support for Dell EMC S5212f in SONiC (#8678)
Why I did it
Added Support for Dell EMC S5212f platform

How I did it
Implemented the support for Dell EMC S5212f platform

Platform: x86_64-dellemc_s5212f_c3538-r0
HwSKU: DellEMC-S5212f-P-25G
ASIC: broadcom
ASIC Count: 1

How to verify it
Verified the show command outputs
2021-10-26 12:52:03 -07:00
Junchao-Mellanox
e8b4c2a1f4
[Mellanox] Refactor Mellanox platform API to support dynamic port configuration (#8422)
- Why I did it
* To support systems with dynamic port configuration
* Apply lazy initialization to faster the speed of loading platform API

- How I did it
* Add module.py to implement dynamic port configuration (aka line card model)
* Adjust chassis.py, platform.py, thermal.py, sfp.py to support dynamic port configuration
* Optimize existing code

- How to verify it
Platform regression on MSN4700, MSN3800 and MSN2700, 100% pass
Unit test covers all new changes.
2021-10-25 07:59:06 +03:00
roman_savchuk
d4f2913c61
[BFN]: updated BFN packages to SAI 1.9 (#9038)
Updated SAI headers to 1.9 for BFN packages

Signed-off-by: Roman Savchuk <romanx.savchuk@intel.com>
2021-10-24 09:05:30 -07:00
vmittal-msft
8b5f33dbb7
[sonic-sairedis submodule] Update SAI header to ver 1.9.1 for MLNX SDK/SAI (#9012)
* Updated sonic-sairedis to point to SAI 1.9.1 and MLNX SAI to 1.19.5(API v1.9.1)
2021-10-22 13:49:55 -07:00
juntseng62
963217891e
[Alphanetworks] Add new platform SNJ60D0-320F (#8780)
Why I did it
Added Support for Alphanetworks SNJ60D0-320F platform

How I did it
Implemented the support for Alphanetworks SNJ60D0-320F platform

Platform: x86_64-alphanetworks_snj60d0_320f-r0
HwSKU: Alphanetworks-SNJ60D0-320F
ASIC: broadcom
ASIC Count: 1

How to verify it
Verified the show command outputs
2021-10-22 12:37:39 -07:00
Santhosh Kumar T
992dc47286
[Dell] S6000 I2C not responding to certain optics (#8736)
* [Dell] S6000 I2C not responding to certain optics

* Revising return states

* Moved lock file from /var/run/platform_cache to /etc/sonic
2021-10-21 18:53:41 +05:30
Arun Saravanan Balachandran
8a2b30702a
DellEMC: Z9332f - Component firmware upgrade platform API implementation (#8973) 2021-10-20 23:04:37 -07:00
Vadym Hlushko
cd0d407690
[fan] Fixed dynamic minimum fan speed table for SN4410 (#8960)
Put new values to the dynamic minimum fan speed table for SN4410.
2021-10-20 18:12:58 -07:00
DavidZagury
9527cbe53b
[Mellanox] Upgrade Mellanox firmware tools to 4.17.2-12 (#8978)
- Why I did it
Bug fix:
bad_param request due to missing parser rest command while running mlxlink

- How I did it
Advance to MFT tool version to 4.17.2-12.

- How to verify it
Manually tested on all mellanox platforms.
2021-10-20 09:24:25 +03:00
Dror Prital
5356244e53
[Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799)
- Why I did it
Add NVIDIA Copyright header to "mellanox" files

- How I did it
Add NVIDIA Copyright header as a comment for Mellanox files

- How to verify it
Sanity tests and PR checkers.
2021-10-17 19:03:02 +03:00
Alexander Allen
e6e6f414cd
[mellanox] Remove validation for fw filenames with no extension (#8956)
Why I did it
Currently the mellanox platform API is validating the file extensions of firmware packages to be installed for basic sanity checking. However, ONIE packages do not have an extension and as such if there is a "." in the name it is taken to be an extension and then fails the sanity check.

How I did it
I removed the check which ensures that ONIE images don't have a file extension.

How to verify it
Name the ONIE updater file 2021.onie and attempt to install it via fwutil install fw 2021.onie --yes
2021-10-15 13:29:24 -07:00
Alexander Allen
cefb9c1946
[platform] [mellanox] Use correct API call to update firmware in auto_update_firmware (#8961)
Why I did it
The fwutil update all utility expects the auto_update_firmware method in the Platform API to execute the update_firmware() call and not the install_firmware() call.

How I did it
Changed the method in the mellanox platform API component implementation.

How to verify it
Run fwutil update all with a CPLD update on a Mellanox platform and verify that it properly updates the firmware using the MPFA file.
2021-10-15 13:28:52 -07:00
Rajkumar-Marvell
669dfaa207
[Marvell] Update amd64 SAI version (#8868)
Move Marvell SAI deb version to 1.8.1-1 for amd64 platform

Signed-off-by: Rajkumar Pennadam Ramamoorthy <rpennadamram@marvell.com>
2021-10-14 11:55:59 -07:00
Volodymyr Samotiy
ce7abad3ba
[Mellanox] Update SAI to v1.19.4 (#8929)
- Why I did it
Advance to new Nvidia SAI release with the following changes:
New features:
- Align with new SDK/FW version 4.5.1006 and above and in parallel to existing used SDK/FW bundle
- Implement timestamp and egress_queue_index hostif packet attributes.

Bugs fixes:
- Fix compilation issues with gcc10
- Fix return code for buffer overflow for query enum values and query statistics capabilities
- Reduce verbosity of print in case packet ingress on invalid port
- Fix mirror Qos settings

- How I did it
Updated SAI version and submodule pointer

- How to verify it
Run regression tests from sonic-mgmt

Signed-off-by: Volodymyr Samotiy <volodymyrs@nvidia.com>
2021-10-12 10:33:35 +03:00
Aravind Mani
77b6bc39be
DellEMC: Fix z9332f low power mode issue (#8693) 2021-10-08 11:17:36 +05:30
Aravind Mani
b7d49b0a0c
Dell S6000: PCIe Gen1 settings (#8663)
Why I did it
PCIe Gen1 settings was needed for Dell S6000 device.

How I did it
Modified from Gen2 to Gen 1 speed for Dell S6000 PCIe devices

How to verify it
Check lspci output, verify the syslogs
2021-10-05 10:17:26 -07:00
Junchao-Mellanox
552963ab0e
[Mellanox] Change thermal recover threshold from temp_trip_norm to temp_trip_high (#8792)
- Why I did it
Change thermal recover threshold from temp_trip_norm to temp_trip_high, so that thermal algorithm would set fan speed to minimum allowed earlier and save power.

- How I did it
Change thermal recover threshold from temp_trip_norm to temp_trip_high

- How to verify it
Manual test
2021-10-04 20:20:33 +03:00
Junhua Zhai
144b9f158d
[docker-sonic-vs] Make the ID numbers of "GB_ASIC_DB", "GB_COUNTERS_DB" and "GB_FLEX_COUNTER_DB" same as the ones in swss-common (#8845) 2021-09-28 13:54:12 +08:00
arunlk-dell
c668f2ab5e
DellEMC: Initial commit for S5224F platform support (#8717)
Why I did it
Added support for the device S5224F

How I did it
Implemented the support for the platform S5224F
Switch Vendor: DellEMC
Switch SKU: S5224F-ON
ASIC Vendor: Broadcom
SONiC Image: sonic-broadcom.bin

How to verify it
Verified the show platform/interface commands
2021-09-26 09:34:16 -07:00
arunlk-dell
b0b0ba828a
DellEMC: N3248PXE Initial platform commit (#8562)
Why I did it
Added support for the device N3248PXE

How I did it
Implemented the support for the platform N3248PXE
n3248pxe_unit_test_log.txt

Switch Vendor: DellEMC
* Switch SKU: N3248PXE
* ASIC Vendor: Broadcom
* SONiC Image: sonic-broadcom.bin

How to verify it
Verified the show platform commands
2021-09-25 15:35:16 -07:00
arunlk-dell
8325500560
DellEMC: N3248TE Initial platform commit (#8809)
Why I did it
Added support for the device N3248TE

How I did it
Implemented the support for the platform N3248TE

Switch Vendor: DellEMC

Switch SKU: N3248TE
ASIC Vendor: Broadcom
SONiC Image: sonic-broadcom.bin
How to verify it
Verified the show platform commands
2021-09-23 20:47:32 -07:00
Junhua Zhai
4da623c3f2
[docker-sonic-vs] always use separator ':' for GB_ASIC_DB, like ASIC_DB (#8806) 2021-09-22 10:50:08 +08:00
Arun Saravanan Balachandran
d588b3bc8c
DellEMC: Z9332f - Platform API implementation (#8787) 2021-09-19 12:15:22 -07:00
dflynn-Nokia
1a2e852483
[Nokia ixs7215] Support show system-health (#8771)
* [Nokia ixs7215] Support show system-health
* [Nokia ixs7215] Fix LGTM alert
2021-09-17 12:01:12 +08:00
Arun Saravanan Balachandran
f6ec932b3c
DellEMC Z9332f: Platform API - Update maximum fan speed (#8766) 2021-09-16 17:55:50 -07:00
Aravind Mani
5c2d4dd15c
DellEMC: Z9332f fix platform bugs (#8777)
* DellEMC: Z9332f fix platform bugs

* update sfp.py
2021-09-16 07:25:43 -07:00
dflynn-Nokia
83e78761e6
[Nokia ixs7215] Add support for SFP eeprom type_abbrv_name attribute (#8772) 2021-09-16 17:07:06 +08:00
Junhua Zhai
8a00ad73fd
[gearbox] support gearbox feature on docker-sonic-vs (#8765) 2021-09-15 14:02:03 -07:00
Sudharsan Dhamal Gopalarathnam
b423b17221
[DPB]Removing default admin status initialization in DPB flow while loading minigraph (#8711)
To Fix #8697 . The config load_minigraph initializes 'admin_status' to up when platform.json has DPB configs. This doesn't happen when using port_config.ini
The update minigraph has logic to initialize only the ports whose neighbors are defined or those belonging to portchannel
However, a change was introduced to have default admin status to be 'up' in portconfig.py when the minigraph was using platform.json

This will lead to sanity check failure in sonic-mgmt and thus no test cases could be run
2021-09-13 09:01:29 -07:00
dflynn-Nokia
b19d42ebb7
[Nokia ixs7215] Miscellaneous platform API fixes (#8707)
* [Nokia ixs7215] Miscellaneous platform API fixes

This commit delivers the following fixes for the Nokia ixs7215 platform

- Fix bug in a fan API error path
- Add support for setting the fan drawer led
- Add support for getting/setting the front panel PSU status led
- Add support for getting the min/max observed temperature value

* [Nokia ixs7215] code review changes: temperature min/max values
2021-09-11 16:18:24 +08:00
Arun Saravanan Balachandran
b171e56e01
DellEMC Z9332f: Platform API - Remove EEPROM Vendor Extension decoding (#8716) 2021-09-10 17:35:47 -07:00
Nazarii Hnydyn
f36952fea3
[Mellanox]: Update SAI to v1.19.2 (#8618)
- Why I did it
Advance to Mellanox SAI ver 1.19.2 to pick up dynamic Policy Based Hashing support.
For this version above the static Policy Based Hashing is no longer supported.
For detailed release notes check https://github.com/Mellanox/SAI-Implementation/blob/sonic2111/release%20notes.txt

- How I did it
Updated SAI-Implementation submodule

- How to verify it
1. make configure PLATFORM=mellanox
2. make target/sonic-mellanox.bin
Run full regression as well as new dynamic PBH tests

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2021-09-10 17:30:00 +03:00
Sudharsan Dhamal Gopalarathnam
8171bfefc8
Enhancing vs support to mock based on platform (#8685) 2021-09-09 20:03:22 +02:00
pettershao-ragilenetworks
8514a484cd
[platform/ragile] support ra-b6910-64c (#7950)
What I did it
Add new platform x86_64-ragile_ra-b6910-64c-r0 (Tomahawk 3)
ASIC Vendor: Broadcom
Switch ASIC: Tomahawk 3
Port Config: 64x100G

-How I did it
Provide device and platform related files.

-How to verify it
show platform fan
show platform ssdhealth
show platform psustatus
show platform summary
show platform syseeprom
show platform temperature
show interface status
2021-09-09 10:49:37 -07:00
Aravind Mani
f53213e551
DellEMC: Z9332f fix reboot cause issue (#8640)
Why I did it
Power cycle test case fails for Z9332f in sonic-mgmt framework(#8605).

How I did it
Modified the platform API to return expected strings.

How to verify it
Power cycle the device and verify the reboot reason.
Run sonic-mgmt test_reboot script.
2021-09-08 17:59:03 -07:00
gechiang
888aa54140
[broadcom]: BRCM SAI 5.0.0.8 Catch up fixes since 5.0.0.6 (#8684)
Catch up on fixes from BRCM SUG repo to pick up fixes after 5.0.0.6 all the way up to 5.0.0.8
Fixes include the following:
```
  CS00012201827: Warmreboot causes syncd crash with  SAI_API_UNSPECIFIED:syncdb_data_file_read:2230 Failed to parse JSON: error -2
  DNX: Fix for ACL table create with v6 next hdr attr
  and many unspecified changes that also went into 5.0.0.8
```
#### How to verify it
Preliminary tests looks fine on both XGS (gechiang) and DNX (judyjoseph)
On XGS testing done as following:
BGP neighbors were all up with proper routes programmed
interfaces are all up
Manually ran the following test cases on 7260CX3 T0 DUT and all passed:
```
     ipfwd/test_dir_bcast.py
     fdb/test_fdb.py
     fib/test_fib.py
     vlan/test_valn.py
```
Also validated for for CS00012201827 (https://github.com/Azure/sonic-buildimage/issues/8300)
2021-09-08 14:39:35 -07:00
Nazarii Hnydyn
63ba489c6b
[Mellanox] Advance hw-mgmt to V.7.0010.2346. (#8667)
Commits on Sep 01, 2021
hw-mgmt: attributes: Add PSU power sensor attributes d8fce39

Commits on Sep 02, 2021
Remove MFT package flint tool from hw-management dump generation. 53d06b2
hw-mgmt: debug: Add timeout to generate-dump.sh b661fa3 

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2021-09-08 09:59:50 -07:00
richardyu
058f9751d8
[SAIServer] sai server reads config from hwsku folder (#8625)
To enable saiserver docker on different platforms, it needs different configuration files. make the saiserver docker mount them in hwsku folder.

Co-authored-by: Ubuntu <richardyu@richardyu-ubuntu-vm0.trsxrdzozv2e1czsze2t05vqzh.ix.internal.cloudapp.net>
2021-09-02 01:01:42 -07:00
Samuel Angebault
2e4f473237
[Arista] Update platform library submodules (#8594)
- Disable health monitoring of `psu.voltage` until support is implemented
 - chassis: disable provisioning bit once linecard has booted
 - chassis: fix issue in `show version` when running as `admin`
 - chassis: fix race when reading an eeprom before it's available
 - chassis: implement `get_all_asics` call
 - api: fix `ChassisBase.get_system_eeprom_info` implementation
 - api: add missing thermal condition and info
 - api: fix return value of `ChassisBase.set_status_led`
 - sfp: introduce SfpOptoeBase implementation used based on configuration knob
 - psu: rely on pmbus to read input/output status when other mechanism is missing
 - misc: other refactors and improvements
2021-09-01 01:52:57 -07:00
SuvarnaMeenakshi
4858153d25
[vs][multi-asic]: Add new platforms for multi-asic vs. (#8269)
Why I did it
End goal: To have azure pipeline job to run multi-asic VS tests.
Intermediate goal: Require multi-asic KVM image so that the test can be run.
The difference between single asic and multi-asic KVM image is asic.conf file which has different NUM_ASIC values.
Idea behind the approach in this PR to attain the intermediate goal above:

Ease of building multi-asic KVM image so that any user or azure pipeline can use a simple make command to generate single or multi-asic KVM images as required.
Use a single onie installer image and multiple KVM images for single and multi-asic images.
Current scenario:
For VS platform, sonic-vs.bin is generated which is the onie installer image and sonic-vs.img.gz is generated which is the KVM iamge.
Scenario to be achieved:
sonic-vs.bin - which will include single asic platform, 4 asic platform and 6 asic platform.
sonic-vs.img.gz - single asic KVM image
sonic-4asic-vs.img.gz - 4 asic KVM image
sonic-6asic-vs.img.gz - 6 asic KVM image

In this PR, 2 new platforms are added for 4-asic and 6-asic VS.

How I did it
Create 4-asic and 6-asic device directories with the required files and hwsku files.
Add onie-recovery image information in vs platform.
How to verify it
After this PR change, no build change.
sonic-vs.bin onie installer image should include information of new multi-asic vs platforms.
2021-08-31 22:45:59 -07:00
Santhosh Kumar T
803aa389b0
DellEMC S6100 SSD Monitor Porting Changes in master (#7289)
Why I did it
To monitor the SSD health condition in DellEMC S6100 platform post upgrade.

A daemon is introduced to monitor the SSD every one hour.

To check for SSD status at boot time and at the time of cold-reboot.

All these changes are supported only for newer SSD firmware.

Porting changes from 201911 branch

Added a platform_reboot_pre_check script to prevent cold-reboot based on SSD status.
Depends on Azure/sonic-utilities#1556
DO NOT MERGE UNTIL ABOVE PR IS MERGED
2021-08-31 07:17:54 -07:00
dflynn-Nokia
7bae388e2f
[Nokia ixs7215] Add support for changing the console baud rate (#8595)
This commit adds support for changing the default console baud rate configured
within the U-Boot bootloader. That default baud rate is exposed via the value
of the U-Boot 'baudrate' environment variable. This commit removes logic that
hardcoded the console baud rate to 115200 and instead ensures that the U-Boot
'baudrate' variable is always used when constructing the Linux kernel boot
arguments used when booting Sonic.

A change is also made to rc.local to ensure that the specified baud rate is set
correctly in the serial getty service.
2021-08-26 07:14:34 -07:00
Junchao-Mellanox
ed64eb94d9
[Mellanox] Read PSU fan max/min speed per PSU (#8563)
#### Why I did it
New PSU could install different type of fan, so fan max/min speed should be read per PSU

#### How I did it
The existing implementation read PSU max/min fan speed from a common file, change it to read from per PSU file

#### How to verify it
Manual test
2021-08-26 01:03:55 -07:00
shlomibitton
5f04146a10
Upstream new FW/SDK (#8567)
- Why I did it
Update SDK\FW version to 4.4.3326\2008.3326. This version contains:

New Features:
1. Add support for Fast Boot for SN3800

Bug Fixing:
1. In some cases, when the total number of allocations exceeds the resource limit, an error can occur due to incorrect resource release procedure. This issue is most likely to affect the following resources: flow counters, ACL actions, PBS, WJH filter, Tunnels, ECMP containers, MC (L2 &L3)
2. On Spectrum systems, when using Async Router API with IPV6, an error message in the log regarding failing to remove ECMP container may show up. This error is not functional and can be safely ignored.
3. On Spectrum-2 systems and above, when using warm boot, setting max_bridge_num to a value greater than 1968 will cause an error and potential crash.
4. Some Molex cables do not support speed after reboot

- How I did it

- How to verify it
Was verified by running regression tests that includes complete sonic-mgmt tests supported
2021-08-25 16:46:56 +03:00
Alexander Allen
d0c73b050d
[Mellanox] Upgrade Mellanox firmware tools to 4.17.0 (#8299)
- Why I did it
New release of MFT has the following changelog / RN
 Fixed an issue that resulted in getting MVPD read errors from the mlxfwmanager during fast reboot.
 Fixed mlxuptime sometimes generating a time less than previous due the wrong frequency calculation

- How I did it
Update makefile pointer to new version.

- How to verify it
Manually tested on all Mellanox platforms.
2021-08-22 15:54:43 +03:00
Junhua Zhai
b4a068121d
[gearbox] Add credo driver packages (#8536)
The credo driver packages provides firmware, sai sdk for gearbox (external PHY) in Arista 7280.
2021-08-21 18:14:19 -07:00
jostar-yang
753ea80d23
[AS7326-56X] Fix led drv bug (#8541)
CPLD offset in led drv is incorrect. 

#### How to verify it

echo 1  > brightness, show green on in DIAG led
echo 3  > brightness, show red on in DIAG led
echo 4  > brightness, show blue on in DIAG led
echo 5  > brightness, show green blinking in DIAG led

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-08-21 18:13:51 -07:00
carl-nokia
e3ac64954a
[Nokia ixs7215] sfp get_name test case fix (#8507)
Account for sfputil_helper indexing being 0 based

Co-authored-by: Carl Keene <keene@nokia.com>
2021-08-19 22:31:18 -07:00
Myron Sosyak
4d03526311
[docker-ptf] Upgrade to buster (#8254)
Co-authored-by: Your Name <you@example.com>
2021-08-18 10:42:03 -07:00
Marty Y. Lok
a675493a5a
Added Nokia IXR7250E support (#7809)
Why I did it
Support Nokia ixr7250E IMM and Supervisor cards

How I did it
Added modules x86_64-nokia_ixr7250e_sup-r0 and x86_64-nokia_ixr7250e_36x400g-r0 ../device/nokia directory.
Modified the platform/broadcom/one-image.mk to include NOKIA_IXR7250_PLATFORM_MODULE
Modified the platform/broadcom/rule.mk to include the platform-module-nokia.mk
2021-08-17 12:26:04 -07:00
Dror Prital
ca713e2fad
[Mellanox] Update SDK\FW to version 4.4.3320\2008.3324 (#8487)
Update SDK\FW version to 4.4.3320\2008.3324. This version contains: 

New Features:
* Add support for Fast Boot for SN3800

Bug Fixing:
* In some cases, when the total number of allocations exceeds the resource limit, an error can occur due to incorrect resource release procedure. This issue is most likely to affect the following resources: flow counters, ACL actions, PBS, WJH filter, Tunnels, ECMP containers, MC (L2 &L3)
* On Spectrum systems, when using Async Router API with IPV6,  an error message in the log regarding failing to remove ECMP container may show up. This error is not functional and can be safely ignored.
* On Spectrum-2 systems and above, when using warm boot, setting max_bridge_num to a value greater than 1968 will cause an error and potential crash.
* Some Molex cables do not support speed after reboot

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-08-17 01:57:24 -07:00
jostar-yang
76ed66ca29
[AS4630-54PE] Add SFP reset and lpmode sysfs (#8450)
Add QSFP reset and lpmode sysfs

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-08-14 23:58:17 -07:00
gechiang
bbd7667abe
Reapply the fix to address setting MTU > 1500 causing portmgrd crash on BRCM platforms (#8472) 2021-08-14 17:01:00 -07:00
carl-nokia
88cbcb4045
[Nokia ixs7215] sfputil support + component tests (#8445)
Deliver sfputil support for sfputil show eeprom and sfputil reset along with some component test case fixes

Co-authored-by: Carl Keene <keene@nokia.com>
2021-08-13 03:27:06 -07:00
Kebo Liu
59c13cb406
[Mellanox] Upgrade hw-mgmt to 7.0100.2344 (#8463)
To pick up new PSU fan support from new hw-mgmt release

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2021-08-13 03:25:53 -07:00
jostar-yang
4f9de40d07
[AS5835-54X] Modify util to support python3 (#8285)
Modify accton_as5835_54x_util.py to support python3 and remove not needed code.

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-08-12 23:36:19 -07:00
roman_savchuk
93eb182d78
[barefoot]: Updated SAI/SDK packages to 20210811 (#8427)
Updated SAI/SDK package to 20210811. Includes fix for pfc_wd.

Signed-off-by: Roman Savchuk <romanx.savchuk@intel.com>
2021-08-12 23:27:51 -07:00
Saikrishna Arcot
c38b95c899 Remove --net=host from run options for containers
The start template script that this value is used in will determine what
network namespace to use, and will add --net=host if it needs to run in
the host namespace.

With Docker 20.10, if --net=host is specified twice in docker run, then
it errors out. Therefore, remove the explicit --net=host in the run
options setting and let the start template script specify it.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-08-12 23:18:01 -07:00
richardyu
f963bc94d4
[202012][saiserver docker]adds saiserver dependences (#8447)
Co-authored-by: richardyu-ms <richard.yu@microsoft.com>
2021-08-12 09:30:43 -07:00
jerseyang
f2e5eeb187
enable the emc2305 fan controller and NCP power controller 30ms timeout mechanism (#8138)
Why I did it
fix the dx010 system eeprom unavailable issue

How I did it
enable the i2c slave 30ms timeout mechanism

How to verify it
i2cstress test in DX010 iSMT controller bus

Co-authored-by: nicwu-cel <nicwu@celestica.com>
2021-08-11 18:41:21 -07:00
Sujin Kang
ba7e50aded
[build]: Enable the cache build for the platform ragile and ruijie. (#8414) 2021-08-11 02:04:30 -07:00
dflynn-Nokia
ffaa0f8e35
[Nokia ixs7215] Watchdog timer support (#8377) 2021-08-11 14:23:05 +08:00
arunlk-dell
25416b2ce6
DellEMC: S5232F support for show system-health command (#8334)
Co-authored-by: Arun LK <Arun_L_K@dell.com>
Why I did it
Support for show system-health command in s5232f

How I did it
Added the configuration, API changes to support system health

How to verify it
Execute "show system-health summary/detail/monitor-list" CLI.
2021-08-10 20:35:51 -07:00
judyjoseph
abc998a89e
[build]: Update the make cache mode for opennsl-module-dnx (#8391)
Fix warning shown during compilation

[ DPKG ] Cache is not enabled for opennsl-modules-dnx_5.0.0.4_amd64.deb package
2021-08-10 07:27:01 -07:00
lguohan
cf73e22d52
[build]: add branch and release name in sonic_version.yml (#6356)
the branch refers the branch name that the commit is in,
for example master, 202012, 201911, ...
In case there is no branch, the name will be HEAD.

release is encoded in /etc/sonic/sonic_release file.
the file is only available for a release branch.
It is not available in master branch.

example for master branch
```
build_version: 'master.602-6efc0a88'
debian_version: '10.7'
kernel_version: '4.19.0-9-2-amd64'
asic_type: vs
commit_id: '6efc0a88'
branch: 'master'
release: 'none'
build_date: Tue Dec 29 06:54:02 UTC 2020
build_number: 602
built_by: johnar@jenkins-worker-23
```

example for 202012 release branch
```
build_version: '202012.602-6efc0a88'
debian_version: '10.7'
kernel_version: '4.19.0-9-2-amd64'
asic_type: vs
commit_id: '6efc0a88'
branch: '202012'
release: '202012'
build_date: Tue Dec 29 06:54:02 UTC 2020
build_number: 602
built_by: johnar@jenkins-worker-23
```

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-08-08 20:44:02 -07:00
Aravind Mani
0cb578d1c8
DellEMC: Z9332f platform API changes (#8258)
Why I did it
platform test suite failed for few API's in DellEMC Z9332f platform.

How I did it
Modified the API's to return the expected values in the script.

How to verify it
Run platform test suite after making the changes.
2021-08-05 20:42:04 -07:00
VenkatCisco
702e852ee1
Platform/cisco-8000 module for sonic-buildimage (#8172)
Why I did it
Update Makefile, so it does the following:
For a given platform, verify if platform/checkout/.ini exists and hence run the platform/checkout/template.j2. This allows platform code to be checked out during the 'make configure' stage.

How I did it
git clone git@github.com:Azure/sonic-buildimage.git
mkdir platform/cisco-8000

make init
make configure PLATFORM=cisco-8000
make all
2021-08-06 09:11:54 +08:00
byu343
2fccf0661a
[gearbox] Add gbsyncd container for Credo gearbox chips (#8144)
This change is to add a gbsyncd container to accommodate the syncd process and the SAI libraries for the Credo gearbox chips.

How I did it
This container works similar to the existing Broadcom syncd container. Its main difference is that the SAI-related dynamic libraries are replaced by the ones for Credo gearbox chips, and the container only reacts to SAI events for the gearbox chips. The SAI libraries will be provided by the package libsai-credo_1.0_amd64.deb.

For the image build, the added container will be built and included in the Broadcom platform image, after $(LIBSAI_CREDO)_URL = is replaced to the correct value. For now, as $(LIBSAI_CREDO)_URL is empty, the container build is skipped in the image build.

After the container is included in the image, in the runtime, the container will begin with checking the existence of /usr/share/sonic/hwsku/gearbox_config.json; if that file is not provided, the container will exit by itself. Therefore, for platforms unrelated to the Credo chips, as long as they are not providing the file, they will not be affected by this change.
2021-08-04 16:05:53 -07:00
Santhosh Kumar T
e5a64463fd
[DellEMC] S6100 Reboot cause determining CPU reset in fast-reboot (#8024)
Why I did it
Added a check in determining CPU reset in fast-/warm-reboot in their respective platform plugin.
Introducing reboot plugin for "reboot" command to handle its own platform plugin.
How I did it
On branch s6100_fast_warm_check
Changes to be committed:
(use "git reset HEAD ..." to unstage)

    modified:   ../../debian/platform-modules-s6100.install
    modified:   ../scripts/fast-reboot_plugin
    modified:   ../scripts/platform_reboot_override
    new file:   ../scripts/reboot_plugin
    modified:   ../scripts/track_reboot_reason.sh
    modified:   chassis.py
How to verify it
Triggered cold-reset inside fast-reboot to test out the reboot-cause 2.0 API.
2021-08-04 14:35:36 -07:00
Aravind Mani
81ab2f1bbb
Dell S6100: Monitor serial-getty service (#8304)
Why I did it
serial-getty service exited in Dell S6100 device randomly.

How I did it
Added serial-getty to monit services.

How to verify it
Stop serial-getty in ssh session and check whether the service restarts or not.
2021-08-04 14:32:02 -07:00
DavidZagury
d26307d80f
[Mellanox][Pcie] Fix issue on pcied with an id that contains only decimal digits was treated as a decimal number (#8309)
A device that contains only decimal digits was mistreated as a decimal integer resulting in failure to find it in the id to bus map.
2021-08-03 15:25:28 -07:00
Samuel Angebault
6ae5e1d6a1
[Arista] Update platform library submodules (#8281)
- Improve chassis linecard restartability
- Fix 'show system-health' cli by adding non standard api
- Fix ledd crash on linecards with Recycle/Inband ports
- Refactor DPM management and add ADM1266 support
- Add state machine to update DPM RTC clock periodically
- Improve xcvr temperature reporting
- Fix lane mapping and `default_sku` for `x86_64-arista_7170_32c` platform
- Fix `7170-32C/CD` platform definition
2021-07-30 17:10:45 -07:00
jostar-yang
3127a6fd00
[AS9716-32D] Modify util to support python3 and remove extra code (#8213)
Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-29 08:24:25 -07:00
DavidZagury
67781abb97
[Mellanox][pcied] Ignore bus on pcie.yaml for Mellanox switches (#8063)
Why I did it
BIOS upgrade on rare cases cannot guarantee bus value remain the same on every BIOS release. Ignoring this field in order for pcied not to fail but still verify device id in a different way. The solution is future proof and will not require changes in code when new BIOS version is available

How I did it
Since bus is not a fixed value (it is determined by the bios version) we are ignoring this field, and instead checking if there is a device that match on all other fields that and in addition has a matching device id.

How to verify it
Verify no errors or failures in pcied on different BIOS version with the same code base.
2021-07-26 08:43:42 -07:00
jostar-yang
5e435e05a4
[Accton/PDDF] Add get_sfp() to chassis to handle port idx (#7980)
* Modify index start from 1 in in get_change_event()

Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-24 18:31:45 -07:00
jostar-yang
24cc827b73
[as4630-54pe] Modify to read correct psu SN and ID (#5389)
Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-24 16:45:07 -07:00
jostar-yang
3e7228d45c
[AS9716-32D]Support multi PSU SN in PDDF (#8214)
Add needed code to pddf_custom_psu.c to deal with multi PSU and get SN.

How to verify it
Plugin new PSU (3Y) and test,

```
root@sonic:/sys/bus/i2c/drivers/psu/9-0050# cat psu_serial_num
S0A000X601919000013
root@sonic:/sys/bus/i2c/drivers/psu/9-0050# cat psu_model_name
YESM1300AM
root@sonic:/home/admin# pddf_psuutil mfrinfo
PSU Status Manufacturer ID Model Serial Fan Airflow Direction

PSU1 NOT OK 3Y POWER YESM1300AM S0A000X601919000007 exhaust
PSU2 OK 3Y POWER YESM1300AM S0A000X601919000013 exhaust
```

Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-24 16:30:11 -07:00
賓少鈺
aa59bfeab7
[PDE]: introduce the SONiC Platform Development Env (#7510)
The PDE silicon test harness and platform test harness can be found in
src/sonic-platform-pdk-pde
2021-07-24 16:24:43 -07:00
jostar-yang
f929c3bd03
[AS7816-64x] Modify util to support python3 (#8253)
Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-24 16:21:50 -07:00
judyjoseph
d37361bf6a
[broadcom]: Broadcom SAI update to 5.0.0.6 (#8250)
Move SAI libraries for Broadcom for XGS and DNX families to 5.0.0.6

Included fixes 

```
CS00012195263 | [4.3][5.0][TD3]   Packets with broken IP headers received on VLAN interface are not dropped
CS00012192505 | [4.3] Re-encap   IPinIP decap packets
CS00012192502 | [3.7.5.2] Start   LED shell script execution on all DELL based platforms causing all ports   flapping on SAI 3.7.5.2
CS00012191363 | [4.3] Support   of memscan thread to detect TCAM parity error
CS00012190932 | [4.3]   SAI_PORT_PFC_X_RX_PKTS incremented incorrectly even when no PFC frames are   received on that priority
CS00012183901 | [4.3][WARMBOOT]   WARMReboot with active traffic causes port flap reported during warm reboot
CS00011382163 | [4.4] Support   warm-boot from 3.5 to 4.3
CS00011318937 | [4.3] MACSec   SAI Support for Jericho2c+
CS00011318926 | [4.3] Provide   SAI support for Jericho2c+
CS00012195263 | [4.3][5.0][TD3]   Packets with broken IP headers received on VLAN interface are not dropped
CS00012195261 | [4.3][5.0][TD3]VLAN   tagged IP packet received on untagged interface being routed instead of   dropped
CS00012183901 | [4.3][WARMBOOT]   WARMReboot with active traffic causes port flap reported during warm reboot
CS00012196056 | [4.3.3.8][WARMBOOT]   syncd[2584]: segfault at 5616ad6c3d80 ip 00007f61e0c6bc65 sp 00007fff0c5a7a90   error 4 in libsai.so.1.0[7f61e0a95000+3cd8000]
CS00012195262 | [4.3][5.0][TD3]   Malformed IP packet(missing IP header) received on a VLAN Interface is   flooded to other LVAN members instead of being dropped
CS00012195956 | [4.3.3.8]   [TD3]Syncd Crash at brcm_sai_tnl_mp_create_tunnel()

PR 4346163: Add support for AN/LT
```
2021-07-23 11:48:20 -07:00
Wirut Getbamrung
4bf873bf42
[device/celestica]: Fix failed test cases of Haliburton platform API (#7579)
- Why I did it
To fix failed test cases of Haliburton platform APIs that found on platform_tests script
- How I did it
Add device/celestica/x86_64-cel_e1031-r0/platform.json
Update functions to support python3.7
Add more functions follow latest sonic_platform_base
Fix the bug
- How to verify it
Run platform_tests script

Signed-off-by: Wirut Getbamrung [wgetbumr@celestica.com]
2021-07-23 06:18:39 -07:00
Dror Prital
7698747028
Update SDK\FW to version 4.4.3222\2008.3224 (#8247)
*Update SDK\FW Version to 4.4.3222\2008.3224.

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-07-22 17:00:16 -07:00
Dror Prital
644875712e
[Mellanox] Update SAI to version 1.19.1 (#8245)
- Why I did it
Update SAI version to 1.19.1. The following was changed:
1. Update license
2. Do not remove and re-apply the same SDK mirror session on LAG
3. FEC fix to support all speeds
4. Improve PG counters performance
5. Fix number of switch priorities for port mirroring

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-07-22 18:13:49 +03:00
tomer-israel
950c24c5ae
[PMON] [Mellanox] fix syseepromd issue on simx (#8131)
Avoid initializing sfp/thermal/components/fan/psu/leds on simx and create vpd_info file on hw_management when we use mellanox simulator platform

- Why I did it
this is a fix for issue in mellanox simulator platforms. the syseepromd failed on the pmon docker. also "decode-syseeprom" failed also

- How I did it
before initializing thermal/components/fan/psu/leds --> check if we are running on simx
creating the vpd_info on the hw_management folder.

- How to verify it
check if syseepromd process was loaded properly on the pmon docker.
decode-syseeprom is working well without errors/warnings
2021-07-20 11:56:04 +03:00