Commit Graph

1480 Commits

Author SHA1 Message Date
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
tomer-israel
a328fd24c0
[WARM-REBOOT] fix issue of watchdog on simx when executing warm-reboot command (#8132)
- Why I did it
to prevent python exception error when executing warm-reboot command on mellanox simulator platform

- How I did it
return None on the watchdog python script on cases that watchdog file is not exist

- How to verify it
warm-reboot is running well without the python error. error message will appear on log on these cases.
in order to avoid this error message we can simulate the watchdog on mellanox simulator platform
2021-07-19 22:08:44 +03:00
jostar-yang
1d8149471e
[AS7726-32X] Modify util.py to support python3 (#8166)
Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-16 08:00:30 -07:00
judyjoseph
72947dc631
Update XGS and DNX SAI to 5.0.0.4 and additional flags needed in saibcm-modules. (#8160)
Why I did it
Update XGS and DNX SAI to 5.0.0.4 and additional flags needed in saibcm-modules

The following CSP's are merged in 5.0.0.4

CS00012182148 [4.3] Rate Limit Parity error message to syncd/sonic.
CS00012178692 [4.3] ACL drops counted as interface drops
CS00012183901 [4.3][WARMBOOT] WARMReboot with active traffic causes port flap reported during warm reboot
CS00012070713 [SAI 4.3 , DNX, 8690] Everflow ACL creation fails - brcm_sai_dnx_create_acl_table API fails, with unknown attribute error.
CS00012023263 [4.4] TD3/TH2 : Support 4 lossless queues(2 SW PFCWD and 2 HW PFCWD)
CS00012019578 [4.4] Pre FEC bit-error rate (BER) - DNX and XGS (TD and TH 50/100G)

How I did it
Changes the various make files to include the new SAI release + update the opennsl-modules.
2021-07-15 10:24:57 -07:00
jostar-yang
2d83004a6d
[AS4630-54PE] Modify util.py to python3 and remove code (#8033)
Modify accton_as4630_54pe_util.py to support Python3 and remove not need code.

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-14 01:30:08 -07:00
zzhiyuan
f17ca11669
[Arista] Update Arista submodules (#8047)
The latest Arista submodule contains pmbus resiliency fixes.

Co-authored-by: Zhi Yuan (Carl) Zhao <zyzhao@arista.com>
2021-07-14 01:25:52 -07:00
Vivek Reddy
447f09f2dd
Update SAI (#8143)
Fix saisdkdump + Fix port dropped pkts counters
Co-authored-by: Vivek Reddy Karri <vkarri@nvidia.com>
2021-07-09 15:27:36 -07:00
Dror Prital
0c9862d980
[Mellanox] Update FW version to 2008.3218 (#8079)
Update FW version to 2008.3218, fixing the following issues:
- 50G/100G links that are operationally down before warm-reboot are not coming up after warm-reboot
- 50G/100G links with admin shut / no shut commands are not coming up after warm-reboot

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-07-07 08:35:34 +03:00
Dror Prital
edb48e3191
[Mellanox] Update SAI and SDK\FW ver. 4.4.3216\2008.3216(#8055)
- Why I did it
* For SAI - Advance to adopt the following fixes:
1. Better handle not implement object type for resource availability
2. Fix ext dump when saidump is triggered from 2nd process (saidump utility) other than main adapter host (syncd in SONiC)

* For SDK\FW:
- Changes and new features:
1. Added support in SN4600C systems for new module Finisar ET7402-CWDM4 (100G CWDM4 QSFP28 1310nm SM 2KM).
2. Added support for new module MMS1W50-HM (2km transceiver FR4) for 200GbE
3. Improved performance of "per-port-buffer" counters
4. Added support for Kernel 5.10

- Bugs fixes:
On rare occasions (0.5%), in SN4600C systems, when using 100GbE NRZ mode and Fastboot flow, the link up time may take up to 10 seconds

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-07-06 07:40:29 +03:00
judyjoseph
724d19385c
Add BCM multi-instance support in saibcm-modules for XGS and DNX platforms. (#8002)
Why I did it

We hit an issue recently in the chassis bringup where the linux bde attach failed with the following ioctl error.
[ 9058.585960] linux-user-bde (897363): Error: Invalid ioctl (00004c1d)
[ 9105.668237] linux-user-bde (901002): Error: Invalid ioctl (00004c1d)

Debugged with Broadcom team, who suggested to use this flag BCM_INSTANCE_SUPPORT to support multi-instance scenarios ( platforms with more than one asic where there are separate sai/syncd docker instances running controller each asic instance).

This flag was introduced since SDK-6.5.21 and need to be present in SAI and SAI GPL kernel module makefile.

How I did it

Add the flag in this flag BCM_INSTANCE_SUPPORT in gpl modules
2021-06-29 20:12:18 -07:00
Arun Saravanan Balachandran
0135ba275b
DellEMC S6100: Determine pcie.yaml revision based on firmware (#7875)
Why I did it
To determine the revision of the pcie.yaml to be used based on BIOS version in DellEMC S6100 platform.

Depends on: Azure/sonic-platform-common#195

How I did it
Added two revisions of pcie.yaml pcie_1.yaml and pcie_2.yaml
Included a platform-specific Pcie class to provide the revision of the pcie.yaml to be used by pcieutil/pcied.
How to verify it
Execute pcieutil check (Azure/sonic-utilities#1672) command and verify the list of PCIe devices displayed.
Logs: UT_logs.txt
2021-06-29 15:19:54 -07:00
judyjoseph
c610f0c673
Remove the monit_syncd, from docker-syncd-brcm-dnx. (#8003)
Remove the references to file monit_syncd from docker-syncd-brcm-dnx, which got missed as the PR #7598 overlapped #7676
2021-06-29 12:53:05 -07:00
arunlk-dell
1d9fd820a3
DellEMC: S5248F - Platform API 2.0 implementation (#7930)
#### Why I did it
Support API 2.0 for S5248F platform

#### How I did it
Making changes to S5248F platform specific directory

Co-authored-by: Arun LK <Arun_L_K@dell.com>
2021-06-28 09:44:49 -07:00
Aravind Mani
6b30d2fb05
DellEMC: Fix Z9332f QSFP-DD DOM issue (#7983)
#### Why I did it
QSFP-DD DOM RX/TX values are not retrieved properly.

#### How I did it
Defined DOM offsets as defined in CMIS 4 spec.
2021-06-25 15:05:20 -07:00
Junchao-Mellanox
147bf240f0
[Mellanox] Add bitmap support for SFP error event (#7605)
#### Why I did it

Currently, SONiC use a single value to represent SFP error, however, multiple SFP errors could exist at the same time. This PR is aimed to support it

#### How I did it

Return bitmap instead of single value when a SFP event occurs

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-06-25 10:56:47 -07:00
shlomibitton
9d18a35e35
[Mellanox] advance SAI submodule (#7952)
Split and bulk counter bug fixes:

- Init port auto neg to default on static (SAI XML) port split for 2nd+ port
- Fix port stats SAI_PORT_STAT_WRED_DROPPED_PACKETS, SAI_PORT_STAT_ECN_MARKED_PACKETS, SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS
- Hide error message when reading not implemented port stat

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
2021-06-24 09:21:45 -07:00
roberthong-qct
bfbd97bdd1
[platform][Quanta] Add debian install files for sonic_platform-1.0-py3-none-any.whl (#7947)
#### Why I did it
The debian install files are required for installing sonic_platform packages

#### How I did it
Add install files to under debian folder

Co-authored-by: robert.hong <robert.hong@qct.io>
2021-06-23 14:52:41 -07:00
Stephen Sun
fc61ec9dbf
[Mellanox] Return N/A for PSU's model, serial and revision on platforms with fixed PSU (#7927)
- Why I did it
The methods get_model, get_serial, and get_revision have been implemented by reading relevant information from VPD and then recording the information into relevant fields.
However, there is no VPD data on platforms with fixed PSUs and relevant fields haven't been initialized, which causes the methods to throw exceptions. which in turn prevents psud from inserting fields into PSU table.
Eventually, this causes show platform psustatus doesn't output correct info.

- How I did it
Initialize those fields as N/A on systems with fixed PSUs.

- How to verify it
Manually test.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-06-23 20:41:28 +03:00
Stepan Blyshchak
3e909014f9
[vs] add information about features to config db (#7857)
vs has components from swss, bgp, teamd and nat. This table is needed by this change https://github.com/Azure/sonic-utilities/pull/1554.

Because Azure/sonic-utilities#1554 requires "config warm_restart enable FEATURE" and the FEATURE has to be in feature table.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2021-06-23 10:18:55 -07:00
Shi Su
f52ba3b496
Remove quagga-related code (#7898)
Why I did it
Quagga is no longer being used. Remove quagga-related code (e.g., docker-fpm-quagga, sonic-quagga, etc.).

How I did it
Remove quagga-related code.
2021-06-23 09:15:56 -07:00
Santhosh Kumar T
f8eb5b0958
Flashrom refactoring for broadcom platforms (#7693)
#### Why I did it
- To build flashrom properly with dependency tracking.

#### How I did it
- Moved flashrom code from platform/broadcom/sonic-platform-modules-dell/tools directory to src/flashrom directory.
- At the end, flashrom_0.9.7_amd64.deb package is build which will be installed in the devices.
- Currently flashrom builds only for Dell S6100 platforms.
2021-06-22 15:29:21 -07:00
judyjoseph
3ad830eb49
New sonic-buildimage images for Broadcom DNX ASIC family. (#7598)
Introduce new sonic-buildimage images for Broadcom DNX ASIC family.

sonic-broadcom-dnx.bin
sonic-aboot-broadcom-dnx.swi

How I did it

NO CHANGE to existing make commands

make init; make configure PLATFORM=broadcom;  make target/sonic-aboot-broadcom.swi; make  target/sonic-broadcom.bin

The difference now is that it will result in new broadcom images for DNX asic family as well. 

sonic-broadcom.bin, sonic-broadcom-dnx.bin
sonic-aboot-broadcom.swi, sonic-aboot-broadcom-dnx.swi

Note: This PR also adds support for Broadcom SAI 5.0 (based on 1.8 SAI ) for DNX based platform + changes in platform x86_64-arista_7280cr3_32p4 bcm config files and platform_env.conf files
2021-06-22 11:12:22 -07:00
dflynn-Nokia
5bf083a388
[Nokia ixs7215] Platform API 2.0 improvements (#7931)
#### Why I did it
Failures observed when running the open community platform test suite (sonic-mgmt)

#### How I did it
Call PSUBase class initializer from derived class
2021-06-21 17:58:26 -07:00
roberthong-qct
95c67d2d55
[Quanta] Add and update platform and device files (#6971)
Add device and platform code for ix7-bwde, ix8a-bwde.
Support platform API 2.0 for all quanta platforms except for ix1b

Co-authored-by: robert.hong <robert.hong@qct.io>
2021-06-21 09:24:41 -07:00
Junchao-Mellanox
f294096eb6
[Mellanox] Read EEPROM data from DB if possible (#7808)
- Why I did it
Remove EEPROM cache file and use DB instead

- How I did it
Read EEPROM data from DB if possible
If data is not ready in DB, read from hardware using a visitor pattern

- How to verify it
Manual test and regression
2021-06-20 17:58:11 +03:00
Aravind Mani
b3e8b57c13
DellEMC: Z9332f update PSU threshold (#7832)
#### Why I did it
Updated Z9332f PSU threshold values.

#### How I did it
Fetch the PSU voltage and temperature threshold via ipmitool
2021-06-17 11:41:39 -07:00
Aravind Mani
8ed14524e8
DellEMC: Update Z9332f reboot reason (#7876)
#### Why I did it
Updated DellEMC Z9332f reboot reason

#### How I did it
Edited chassis.py::get_reboot_cause() to update the reboot reason.
2021-06-17 11:36:27 -07:00
Alexander Allen
29601366ee
[Mellanox] Implement auto_firmware_update platform API for to support fwutil auto-update (#7721)
Why I did it
The Mellanox platform is required to support the fwutil auto-update feature defined here

This is to allow switches, when performing SONiC upgrades to choose whether to perform firmware upgrades that may interrupt the data plane through a cold boot.

How I did it
Two methods were added to the component implementations for mellanox.

In the base Component class we add a default function that chooses to skip the installation of any firmware unless the cold boot option is provided. This is because the Mellanox platform, by default, does not support installing firmware on ONIE, the CPLD, or the BIOS "on-the-fly".

In the ComponentSSD class we add a function that behaves similarly but uses the Mellanox specific SSD firmware upgrade tool to check if the current SSD supports being upgraded on the fly in order to decide whether to skip or perform the installation.

How to verify it
Unit tests are included with this PR. These test will run on build of target sonic-mellanox.bin

You may also perform fwutil auto-update ... commands after Azure/sonic-utilities#1242 is merged in.
2021-06-16 14:55:20 -07:00
Rajkumar-Marvell
4205fabef8
[Marvell] Updated Marvell armhf sai deb version to 1.8.1 (#7892)
Signed-off-by: Rajkumar Pennadam Ramamoorthy <rpennadamram@marvell.com>
2021-06-16 08:53:30 -07:00
Stephen Sun
80d01f2f9a
[Mellanox] Enhance Python3 support for platform API (#7410)
- Why I did it
Enhance the Python3 support for platform API. Originally, some platform APIs call SDK API which didn't support Python 3. Now the Python 3 APIs have been supported in SDK 4.4.3XXX, Python3 is completely supported by platform API

- How I did it
Start all platform daemons from python3
1. Remove #/usr/bin/env python at the beginning of each platform API file as the platform API won't be started as daemons but be imported from other daemons.
2. Adjust SDK API calls accordingly

- How to verify it
Manually test and run regression platform test

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-06-15 17:57:48 +03:00
Stephen Sun
87bdc1a415
[Mellanox] Adjust Makefile for SDK/python-sdk-api to support both python2 and python3 (#7848)
- Why I did it
Adjust the Makefile for SDK/python-SDK-API to support both python2 and python3

- How to verify it
Build the image and check whether python2 and python3 are both supported by SDK API.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2021-06-15 17:54:14 +03:00
DavidZagury
cedc2113fb
[Mellanox] Install MFT packages on Syncd container (#7844)
To have access to MFT tools in the Syncd container on Mellanox switches due to SAI dump API implementation enhancements
2021-06-14 08:25:58 -07:00
abdosi
0d7e400689
[brcm sai] BRCM SAI 5.0.0.1 (#7753)
Added support BRCM SAI 5.0.0.1.  

Major changes here:

CS00012019568	Link Training (all 100G ASICs - TH families and TD3)
CS00012184310	[attribute_capability| for port SAI_PORT_ATTR_TPID returns CREATE_IMP=false|SET_IMP=true|GET_IMP=true
CS00012182145	[IPinIP][Tunnel Delete] If IPinIP tunnel delete is performed observed following SYNCd error: ERR syncd#syncd: [none] SAI_API_TUNNEL:brcm_sai_tnl_mp_remove_tunnel_term_table_entry:4026 _brcm_sai_mptnl_sip_tnl_lookup failed with error -7.
CS00012182148   Rate Limit Parity error message to syncd/sonic.
CS00012178692   ACL drops counted as interface drops
CS00012183901   [WARMBOOT] WARMReboot with active traffic causes port flap reported during warm reboot
CS00012023263   TD3/TH2 : Support 4 lossless queues(2 SW PFCWD and 2 HW PFCWD)
CS00012019578   Pre FEC bit-error rate (BER) - DNX and XGS (TD and TH 50/100G)
2021-06-13 17:00:58 -07:00
Volodymyr Boiko
3b451b7e12
[barefoot][platform] Chassis.get_reboot_cause (#7794)
To fix determine-reboot-cause service which was failing due to non-implemented thrown from get_reboot_case, if the reboot was done with `sudo reboot` (cold reboot)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-06-11 13:30:03 -07:00
Dror Prital
a3d90b9fbf
[Mellanox] Update SAI ver. 1.19.0, SDK\FW ver. 4.4.3106\2008.3110 (#7820)
Why I did it

* For SAI - Upgrade to Version 1.19.0

- Add support for VxLAN encap TTL uniform model on SPC2/3
- Add ACL entry actions set VRF, set do no learn, add VLAN ID, add VLAN priority
- Add ACL field has VLAN tag
- Bulk counters (improve port statistics performance)
- Create async dump extra as part of debug generate dump
- Create irisc dump on severe health event
- Support 0 port systems (modify get switch mac to work accordingly)
- Set interface vlan up state for ping tool in SONiC
- Support attributes SAI_PORT_ATTR_QOS_SCHEDULER_PROFILE_ID, SAI_PORT_ATTR_QOS_INGRESS_BUFFER_PROFILE_LIST,
SAI_PORT_ATTR_QOS_EGRESS_BUFFER_PROFILE_LIST, SAI_PORT_ATTR_POLICER_ID as part of port create Git stats

* For SDK\FW - Upgrade to Version SDK 4.4.3106, FW 2008_3110

Added Features:

- Increased ACL table
- Enhanced PSAMPLE support
- Added support for Finisar SR4 module in SN3700 systems
- Added support for Python 3.0 in examples.
Fix bugs:

- On LR4 transceivers 00YD278, the firmware incorrectly identified the transceiver
- Reduce memory consumption for virtual LAG
- Fixed PSAMPLE listeners cleanup on SDK drivers unloading.
- On Spectrum-2 and Spectrum-3 systems, slow reaction time to Rx pause packets may lead to buffer overflow on servers.
- BER may be experienced when using 5m DAC cables between SN4700 and SN2700 in 100GbE speed.
- On very rare occasion, when connecting DR4 PAM4 transceiver to 100GbE DR1 NRZ, low BER may be experienced.
- Unexpected packet drops on the port ingress buffer may be experienced when working in 400GbE mode.
Note: When performing ISSU from an older version, this fix won't be applied. For fix to apply, a non-ISSU reset is required.
- Fix SN3800 specific warm boot scenario: Disable interface, Warm Boot, Enable Interface --> link will remain down.

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-06-10 14:15:55 +03:00
Qi Luo
658ed4fd37
Revert "Remove quagga related code (#7476)" (#7831)
Reverts Azure/sonic-buildimage#7476
It remove bgpd.conf.j2 and zebra.conf.j2, which is still used by sonic-config-engine unit test.
2021-06-09 18:52:45 -07:00
jostar-yang
f547cadf28
[as7726-32x] Fix module_reset sysfs (#7715)
Fix modules_reset sysfs due to need to do revert.

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-06-08 09:46:38 -07:00
Stepan Blyshchak
5c81c499e4
[nvidia/mellanox] add MLNX_SDK_DEB_VERSION to SDK packages flags list. (#7747)
This is due to the fact that we use SONIC_OVERRIDE_BUILD_VARS internally
in our build jobs and this is not accounted in caching framework.
So we add MLNX_SDK_DEB_VERSION to force rebuild if we changed it via
SONIC_OVERRIDE_BUILD_VARS.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2021-06-08 09:38:00 -07:00
Shi Su
62a4603eef
Remove quagga related code (#7476)
Why I did it
Quagga is no longer being used. Remove quagga-related code (e.g., docker-fpm-quagga, sonic-quagga, etc.).

How I did it
Remove quagga-related code.
2021-06-07 16:44:54 -07:00
Santhosh Kumar T
5c4d3f2561
[DellEMC] Z9332: Change in i2c mapping (#7797)
#### Why I did it
- After [sonic-linux-kernel#177](https://github.com/Azure/sonic-linux-kernel/pull/177)  changes, the I2C mux channels of Baseboard and Switchboard CPLDs are moved from i2c-4 and i2c-5 to i2c-36 and i2c-37 respectively.
- This caused QSFP driver initialization of i2c-36 to i2c-41 to fail causing the ports from Ethernet208 to Ethernet248 fail.

#### How I did it
- The fix to this problem is to change the order of QSFP driver initialization to I2C mux channels.
- Instead of the order i2c-10 to i2c-41, the order i2c-4 to i2c-35 is being utilized.
- Also, need to change the i2c-mux-channel number for Baseboard CPLD and switchboard CPLD in scripts to access them.
2021-06-04 17:34:19 -07:00
yozhao101
1a3cab43ac
[Monit] Deprecate the feature of monitoring the critical processes by Monit (#7676)
Signed-off-by: Yong Zhao yozhao@microsoft.com

Why I did it
Currently we leveraged the Supervisor to monitor the running status of critical processes in each container and it is more reliable and flexible than doing the monitoring by Monit. So we removed the functionality of monitoring the critical processes by Monit.

How I did it
I removed the script process_checker and corresponding Monit configuration entries of critical processes.

How to verify it
I verified this on the device str-7260cx3-acs-1.
2021-06-04 10:16:53 -07:00
Volodymyr Boiko
9d05077431
[barefoot][platform] Refactor chassis.py (#7704)
#### Why I did it
On our platforms syncd must be up while using the sonic_platform.
The issue is warm-reboot script first disables syncd then instantiate Chassis, which tries to connect syncd in __init__.

#### How I did it
Refactor Chassis to lazy initialize components.

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-06-04 09:48:57 -07:00
Kebo Liu
93534ce0e1
[Mellanox] Align PSU name convention returned from psu.get_name platform API (#7783)
Make PSU name returned from platform API aligned with the convention "PSU {X}" instead of "PSU{X}".
2021-06-04 09:40:23 -07:00
賓少鈺
53663339a2
Per-switching silicon Common config for Broadcom Supported Platforms (#7493)
* Per-switching silicon Common config for Broadcom Supported Platforms

* Per-switching silicon Common config for Broadcom Supported Platforms

* Per-switching silicon Common config for Broadcom Supported Platforms

* Remove property readme

* Add common config readme
2021-06-03 23:18:02 -07:00
pettershao-ragilenetworks
b30cf44b93
[Platform/Ragile] Support RA-B6510-48v8c platform (#7620)
Add new platform x86_64-ragile_ra-b6510-48v8c-r0
ASIC Vendor: Broadcom
Switch ASIC: Trident 3
Port Config: 48x25G+8x100G

Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
2021-06-03 10:51:01 -07:00
Volodymyr Boiko
90a457a3a0
[barefoot][sonic-platform] Fix Fan.set_speed (#7763)
Fixed typo

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-06-01 09:38:54 -07:00
jostar-yang
0c5c4872dc
[as5835-54x] Add to support API2.0 (#6480)
Add platform API 2.0 support for as5835-54x platform
2021-05-28 10:50:49 -07:00
Stepan Blyshchak
d7b96dfdf1
[sonic-sdk] add sonic sdk and sonic sdk buildenv (#6712)
- Why I did it

To give SONiC Application Extension developers an environment to run and develop their apps.

- How I did it
Created sonic-sdk and sonic-sdk-buildenv dockers and their dbg versions.

- How to verify it
Build:

$ make -f slave target/sonic-sdk.gz target/sonic-sdk-buildenv.gz
2021-05-28 10:16:02 -07:00
Kebo Liu
bf21dbce87
[Mellanox] Add support for MSN4600 A1 system (#7732)
Add new sensor conf for MSN4600 A1 system
Add a Mellanox hw-management patch to support MSN4600 A1 system
2021-05-27 09:52:45 -07:00
Kebo Liu
237849a330
update hw-mgmt version to 2304 (#7725)
- Why I did it
Pick up fix from new hw-management package:
Fix gearbox thermal zone name, which was lack suffix thermal zone number

- How I did it
Update the hw-management version number in the make file
Update hw-management submodule pointer

- How to verify it
Run platform related test cases on Mellanox platform
2021-05-27 14:17:23 +03:00
andywongarista
ba6b5258f5
[Arista] Update platform drivers submodules (#7711)
- Fix `thermal.get_position_in_parent` issue which causes test_snmp_phy_entity failure
- Add support for xcvr thermal info so that thermalctld can incorporate it into the cooling algorithm (QSFP and OSFP/QSFP-DD modules only)
- Add improvements to `arista` CLI
2021-05-26 14:21:51 -07:00
Volodymyr Boiko
0fa024883d
[platform][barefoot] Add Psu.get_name (#7717)
#### Why I did it
To fix the following:
```
# psuutil status
Traceback (most recent call last):
  File "/usr/local/bin/psuutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/psuutil/main.py", line 93, in status
    psu_name = psu.get_name()
  File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/device_base.py", line 28, in get_name
    raise NotImplementedError
NotImplementedError
```
#### How I did it
Implemented get_name

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-05-26 12:02:46 -07:00
Junchao-Mellanox
3ea3a5c8c1
[Mellanox] clear fan from chassis._fan_list (#7682)
#### Why I did it

According to thermalctld hld, each fan must belong to a fan drawer, if the fan drawer does not physically exist, put fan into a virtual fan drawer. This PR is to clear fan from chassis._fan_list

#### How I did it

1. Don't put fan to chassis._fan_list
2. Always query fan from fan_drawer
2021-05-24 11:36:39 -07:00
Alexander Allen
6a9d1e584d
[Mellanox] Implement Hardware Revision Platform API Call for Mellanox Chassis and PSU (#7552)
#### Why I did it

This pull request allows calls to be made through the platform 2.0 API that retrieve the PSU and Chassis hardware revision on Mellanox platforms. Access to these values will aid customers in determining their hardware revisions for debugging and technical support. These values are intended to be eventually exposed through the CLI. 

#### How I did it

For the PSU hardware revision I used the existing VPD function calls implemented in https://github.com/Azure/sonic-buildimage/pull/7382

For the Chassis hardware revision I parsed the SMBIOS / DMI type 2 information to retrieve the information.
2021-05-24 09:37:59 -07:00
Aravind Mani
1f06b794fb
DellEMC: Z9332f fix SFP issues (#7677)
#### Why I did it
xcvrd crashes when the application advertisement capability flag is not seen for few transceivers.

#### How I did it
Initialize the additional application capability in dunder init
2021-05-24 09:20:39 -07:00
ChiouRung Haung
8e44b9e38e
[Minipack] Modify fbfpgaiomodule.c to support both python2 and python3 (#7604)
Modify fbfpgaiomodule.c to support both python2 and python3

Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
2021-05-18 13:16:02 -07:00
ec-michael-shih
a070f1a239
[Platform] Accton add to support as9726-32d platform. (#7479)
Add support for Accton as9726-32d platform

This pull request is based on as9716-32d, so I reference as9716-32d to create new model: as9726-32d.
This module do not need led driver to control led, FPGA can handle it.
I also implement API2.0(sonic_platform) for this model, CPLD driver, PSU driver, Fan driver to control these HW behavior.
2021-05-11 19:06:36 -07:00
Aravind Mani
3dc879bbcf
DellEMC: Fix Z9332f xcvrd crash (#7544) 2021-05-10 14:40:06 -07:00
schobtr
da7c80da9d
[Haliburton-Celestica] Use psu driver dps200 from Linux kernel (#7247)
Why I did it
Fix issues below.
#7133
#6602

So, remove the dps200 driver from the platform-specific driver.
Then, add the dps200 module driver to the Linux kernel tree.

How I did it
Remove the dps200 driver from the platform-specific driver and add the dps200 module driver to the Linux kernel.

How to verify it
Build an image with Azure/sonic-linux-kernel#207
Then, install to the Haliburton.
2021-05-09 09:03:12 -07:00
Junchao-Mellanox
bfae15fb83
[mellaonox]: No need enable thermal zones in thermal_manager.deinitialize since they are enabled by default (#7556)
No need enable thermal zones in thermal_manager.deinitialize since they are enabled by default. And removing this will faster thermalctld exit speed
2021-05-08 10:33:37 -07:00