Commit Graph

722 Commits

Author SHA1 Message Date
ciju-juniper
46cc6968d7
[Juniper][QFX52xx] Platform fixes/enhancements (#4953)
1) Fixing the issues while applying platform TxCTLE settings in sfputil.py for QFX5200
 2) Adding the support for transceiver dom threshold info in sfputil.py for both  QFX5210 & QFX5200 platforms
 3) Updating the sfputil.py for QFX5210 & QFX5200 platforms
4) Adding a new platform specific command 'show_thresholds' to display the FAN dutycycle percentage for various temperature ranges (for both AFI & AFO QFX5200 systems).

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2020-07-14 14:20:41 -07:00
Santhosh Kumar T
c9a14f71d0 [DellEMC] Z9264f Disable low power modes in 10G ports (#4908)
In Z9264 by default, all the ports have disabled low power mode except the last two 10G ports.
Disabled low power mode in the last two 10G ports.
2020-07-12 18:08:52 +00:00
arlakshm
a46f4c96e7 Add support for bcmsh and bcmcmd utlitites in multi ASIC devices (#4926)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
This PR has changes to support accessing the bcmsh and bcmcmd utilities on multi ASIC devices
Changes done
- move the link of /var/run/sswsyncd from docker-syncd-brcm.mk to docker_image_ctl.j2
- update the bcmsh and bcmcmd scripts to take -n [ASIC_ID] as an argument on multi ASIC platforms
2020-07-12 18:08:52 +00:00
Samuel Angebault
c213bcf23a [arista]: Update arista driver submodules (#4922)
- Add more reboot cause reporting
 - Fix backward compatibility issue with older reboot cause format
 - Miscellaneous improvements
2020-07-12 18:08:52 +00:00
lguohan
1dcf8ec04f [kernel]: upgrade linux kernel to 4.9.118 (#4897)
upgrade kernel to latest maintenance version 4.9.118

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:51 +00:00
paavaanan
cba801ae89 [Dell]: DellEMC S6100 disable pericom/xlinx chipset (#4868)
- Xilinx/pericom peripherals are not actively used in DellEMC S6100 switch.
- These peripherals are throwing PCIE corrected messages in some of the units and filling syslog.
- Since it is not usable disabling it at startup.
2020-07-12 18:08:51 +00:00
lguohan
58632e6e83 [docker-orchagent]: make build depends only on sairedis package (#4880)
make swss build depends only on libsairedis instead of syncd. This allows to build swss without depending
on vendor sai library.

Currently, libsairedis build also buils syncd which requires vendor SAI lib. This makes difficult to build
swss docker in buster while still keeping syncd docker in stretch, as swss requires libsairedis which also
build syncd and requires vendor to provide SAI for buster. As swss docker does not really contain syncd
binary, so it is not necessary to build syncd for swss docker.

* [submodule]: update sonic-sairedis

* ccbb3bc 2020-06-28 | add option to build without syncd (HEAD, origin/master, origin/HEAD) [Guohan Lu]
* 4247481 2020-06-28 | install saidiscovery into syncd package [Guohan Lu]
* 61b8e8e 2020-06-26 | Revert "sonic-sairedis: Add support to sonic-sairedis for gearbox phys (#624)" (#630) [Danny Allen]
* 85e543c 2020-06-26 | add a README to tests directory to describe how to run 'make check' (#629) [Syd Logan]
* 2772f15 2020-06-26 | sonic-sairedis: Add support to sonic-sairedis for gearbox phys (#624) [Syd Logan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:51 +00:00
Mahesh Maddikayala
5eabae1ede Fix in libsaibcm for high CPU utilization of syncd (#4874) 2020-07-12 18:08:51 +00:00
Mahesh Maddikayala
74389cb402 [sonic-sairedis] sonic-sairedis submodule update (#4847)
* sonic-sairedis submodule update
* Update BRCM SAI to 3.7.5.1
2020-07-12 18:08:51 +00:00
ciju-juniper
dd4cf912a6
[Juniper][QFX5210] Fixing a few platform issues (#4857)
This patch addresses the following issues:
 1) Platform drivers were not loading in the latest images. Fixed
    the intialization script to make sure that all the drivers are
    loaded.
 2) Getting rid of "pstore: crypto_comp_decompress failed, ret = -22!"
    messages during the kernel boot, after moving to 4.19 kernel. The
    solution is to remove the files under '/sys/fs/pstore' directory.

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2020-06-28 11:11:34 -07:00
yozhao101
4fa81b4f8d
[dockers] Update critical_processes file syntax (#4831)
**- Why I did it**
Initially, the critical_processes file contains either the name of critical process or the name of group.
For example, the critical_processes file in the dhcp_relay container contains a single group name
`isc-dhcp-relay`. When testing the autorestart feature of each container, we need get all the critical
processes and test whether a  container can be restarted correctly if one of its critical processes is
killed. However, it will be difficult to differentiate whether the names in the critical_processes file are
the critical processes or group names. At the same time, changing the syntax in this file will separate the individual process from the groups and also makes it clear to the user.

Right now the critical_processes file contains two different kind of entries. One is "program:xxx" which indicates a critical process. Another is "group:xxx" which indicates a group of critical processes
managed by supervisord using the name "xxx". At the same time, I also updated the logic to
parse the file critical_processes in supervisor-proc-event-listener script.

**- How to verify it**
We can first enable the autorestart feature of a specified container for example `dhcp_relay` by running the comman `sudo config container feature autorestart dhcp_relay enabled` on DUT. Then we can select a critical process from the command `docker top dhcp_relay` and use the command `sudo kill -SIGKILL <pid>` to kill that critical process. Final step is to check whether the container is restarted correctly or not.
2020-06-25 21:18:21 -07:00
yozhao101
b8ad0ed4e4
[Monit] Use the string "/usr/bin/syncd\s" to monitor the syncd process (#4706)
**- Why I did it**
After discussed with Joe, we use the string "/usr/bin/syncd\s" in Monit configuration file to monitor 
syncd process on Broadcom and Mellanox. Due to my careless, I did not find this bug during the 
previous testing. If we use the string "/usr/bin/syncd" in Monit configuration file to monitor the 
syncd process, Monit will not detect whether syncd process is running or not. 

If we ran the command  `sudo monit procmactch “/usr/bin/syncd”` on Broadcom, there will be three 
processes in syncd container which matched this "/usr/bin/syncd": `/bin/bash /usr/bin/syncd.sh
wait`, `/usr/bin/dsserve /usr/bin/syncd –diag -u -p /etc/sai.d/sai.profile` and `/usr/bin/syncd –diag -
u -p /etc/sai.d/said.profile`. Monit will select the processes with the highest uptime (at there 
`/bin/bash /usr/bin/syncd.sh wait`) to match and did not select `/usr/bin/syncd –diag -u -p
/etc/sai.d/said.profile` to match. 

Similarly, On Mellanox Monit will also select the process with the highest uptime (at there 
`/bin/bash /usr/bin/syncd.sh wait`) to match and did not select `/usr/bin/syncd –diag -u -p
/etc/sai.d/said.profile` to match.

That is why Monit is unable to detect whether syncd process is running or not if we use the string “/usr/bin/syncd” in Monit configuration file. If we use the string "/usr/bin/syncd\s" in Monit configuration file, Monit can filter out the process `/bin/bash /usr/bin/syncd.sh wait` and thus can correctly monitor the syncd process.

**- How I did it**

**- How to verify it**

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-06-25 17:03:14 -07:00
Olivier Singla
68576bc2f9
[kerne]: kernel update from 4.19.0-6 to 4.19.0-6-2 (#4711) 2020-06-21 06:41:23 -07:00
kuanyu99
f2af8aa8a9
[accton/as5835-54x] Fix sfp related function like tx_disable (#4763)
**- Why I did it**

The tx_disable function isn't work for the accton_ax5835-54x device.

**- How I did it**
Fix the incorrect path of the sfp node path inside the util file.

**- How to verify it**

Test with
"sudo accton_as5835_54x_util.py show"
"sudo accton_as5835_54x_util.py set sfp"

There should see correct value for module_present and module_tx_disable. And should able to set it.

Signed-off-by: kuanyu_chen <kuanyu_chen@edge-core.com>
2020-06-18 10:52:06 -07:00
Joe LeVeque
c6365e7abe
Reorganize .gitignore files (#4707)
- Add .gitignore files in each subdirectory of src/, so as to reduce the size of the .gitignore file in the project root, and also make it easier to maintain (i.e., if a directory in src/ is removed, there will not be outdated entries in the root .gitignore file.

- Also add missing .gitignore entries and remove outdated entries and duplicates.
2020-06-09 21:04:55 -07:00
Arun Saravanan Balachandran
54b284f4b0
[DellEMC]: EEPROM decoder for S6000, S6000-ON (#4718)
**- Why I did it**

For decoding system EEPROM of S6000 based on Dell offset format and S6000-ON’s system EEPROM in ONIE TLV format.

**- How I did it**

- Differentiate between S6000 and S6000-ON using the product name available in ‘dmi’  ( “/sys/class/dmi/id/product_name” )
- For decoding S6000 system EEPROM in Dell offset format and updating the redis DB with the EEPROM contents, added a new class ‘EepromS6000’ in eeprom.py, 
- Renamed certain methods in both Eeprom, EepromS6000 classes to accommodate the plugin-specific methods.

**- How to verify it**

- Use 'decode-syseeprom' command to list the system EEPROM details.
- Wrote a python script to load chassis class and call the appropriate methods.

UT Logs: [S6000_eeprom_logs.txt](https://github.com/Azure/sonic-buildimage/files/4735515/S6000_eeprom_logs.txt), [S6000-ON_eeprom_logs.txt](https://github.com/Azure/sonic-buildimage/files/4735461/S6000-ON_eeprom_logs.txt)
Test script: [eeprom_test_py.txt](https://github.com/Azure/sonic-buildimage/files/4735509/eeprom_test_py.txt)
2020-06-09 09:08:15 -07:00
joyas-joseph
9505bdb910
[docker-syncd-vs]: Convert syncd-vs docker to buster (#4726)
Signed-off-by: Joyas Joseph <joyas_joseph@dell.com>
2020-06-09 09:07:25 -07:00
Mahesh Maddikayala
af81b8ebcd
[libsaibcm] Update pointer to Broadcom SAI debian package (#4725) 2020-06-08 17:03:09 -07:00
Samuel Angebault
c8bd640ae5
[arista] Update drivers submodules (#4693)
- Sensor and Fan information added to primary platforms for thermal API.
- Refactors involving better abstractions, code reuse and dead code removal.
- Improvements to the diag capabilities
- Pylintrc added to improve code quality. Will become fatal at a later time.

Co-authored-by: Baptiste Covolato <baptiste@arista.com>
2020-06-04 13:33:33 -07:00
Mahesh Maddikayala
fb6916f88b
Update packages and pointers to use SAI1.6 headers. (#4597)
* Update sonic-sairedis (sairedis with SAI 1.6 headers)

* Update SAIBCM to 3.7.4.2, which is built upon SAI1.6 headers

* missed updating BRCM_SAI variable, fixed it

* Update SAIBCM to 3.7.4.2, updated link to libsaibcm

* [Mellanox] Update SAI (release:v1.16.3; API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* Update sonic-sairedis pointer to include SAI1.6 headers

* [Mellanox] Update SDK to 4.4.0914 and FW to xx.2007.1112 to match SAI 1.16.3 (API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* ensure the veth link is up in docker VS container

* ensure the veth link is up in docker VS container

* [Mellanox] Update SAI (release:v1.16.3.2; API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* use 'config interface startup' instead of using ifconfig command, also undid the previous change'

Co-authored-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2020-05-30 14:23:34 -07:00
Arun Saravanan Balachandran
f0eb1dbc93
DellEMC: Skip thermalctld (S6000, S6100, Z9100 and Z9264) and thermal platform API changes (#4644)
- Skip thermalctld in DellEMC S6000, S6100, Z9100 and Z9264 platforms.
- Change the return type of thermal Platform APIs in DellEMC S6000, S6100, Z9100 and Z9264 platforms to 'float'.
2020-05-27 12:22:55 -07:00
zoe-kuan
fa809c86dc
[platform/delta]: Add a new supported platform, Delta-agc032 (#4602)
* [platform]: Add a new supported platform, Delta-agc032

Switch Vendor: Delta
Switch SKU: Delta-agc032
CPU: BROADWELL-DE
ASIC Vendor: Broadcom
Switch ASIC: Tomahawk3, BCM56980
Port Configuration: 32x400G + 2x10G

- What I did
Add a new Delta platform Delta-agc032.

- How I did it
Add files by following SONiC Porting Guide.

- How to verify it
1. decode-syseeprom
2. sensors
3. psuutil
4. sfputil
5. show interface status
6. bcmcmd

Signed-off-by: zoe-kuan <ZOE.KUAN@deltaww.com>
2020-05-27 09:33:02 -07:00
jostar-yang
f532fb95a9
[accton/as4630-54pe] Fix ypeb-1200am psu_fan dir issue (#4626)
3y Power YPEB-1200am PSU doens't support read fan_dir from pmbus register

Check with vendor this PUS type only support F2B fan direction. So add to show "F2B"
when red psu_fan_dir sysfs.
2020-05-26 12:49:51 -07:00
Guohan Lu
bb40300cad [docker-syncd-brcm]: use service dependency in supervisord to start services 2020-05-22 11:01:28 -07:00
Wirut Getbamrung
5e5e9ec417
[device/celestica]: DX010 platform API update (#4608)
- Fix fancontrol.service path
- Fix return temp format in thermal API
- Improve init time in chassis API
- Upgrade sfp API
2020-05-22 03:50:43 -07:00
Srideep
2cd9f74d21
[platform] Add DellEMC s5232f API 2.0 support (#4552) 2020-05-20 14:40:39 -07:00
Arun Saravanan Balachandran
e976b70e74
DellEMC: get_change_event Platform API implementation for S6000, S6100 and Z9100 (#4593)
For detecting transceiver change events through xcvrd in DellEMC S6000, S6100 and Z9100 platforms.

- In S6000, rename 'get_transceiver_change_event' in chassis.py to 'get_change_event' and return appropriate values.
- In S6100, implement 'get_change_event' through polling method (poll interval = 1 second) in chassis.py (Transceiver insertion/removal does not generate interrupts due to a CPLD bug)
- In Z9100, implement 'get_change_event' through interrupt method using select.epoll().
2020-05-20 12:52:50 -07:00
Santhosh Kumar T
d90fdbf3f9
[DellEMC] S6000 Disable Low power mode by default (#4592) 2020-05-14 10:29:43 -07:00
ciju-juniper
40bc4875a8
[Juniper][QFX5200] EM policy updates (#4543)
This patchset implement the following:
 - Setting the FAN frequency
 - Corrections to the EM policy with respect to platform
   defined temperature / fan values
 - Updates to the platform monitorng script logging
 - Fixes to platform initialization script

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2020-05-13 10:02:15 -07:00
Guohan Lu
767bc5c8c0 [build]: add docker-saiserver-* as stretch docker targets
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-05-06 10:23:38 +00:00
lguohan
c55603f494
[build]: add docker-ptf-* as stretch docker targets (#4516)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-05-01 11:20:33 -07:00
dereksun01
506e9546c9
[device] Upgrade as4630_54pe for new platform (#4268)
- Add port auto-negotiation attribute.
- Add CPLD command to disable mode.
2020-05-01 05:27:32 -07:00
Samuel Angebault
80a025a7c2
[arista] update platform driver submodules (#4512)
- Add Makefile rules to build debug containers for SWI images
- Fix some platform API implementation for xcvrd and thermalctld
- Improvements to arista diag command
- Miscellaneous refactors

Co-authored-by: Maxime Lorrillere <mlorrillere@arista.com>
2020-04-30 12:06:19 -07:00
Aravind Mani
a40fe3ba15
[DellEMC] S6100-Fix i2C ISMT issue (#4330)
* [DellEMC] S6100-Fix i2C ISMT issue

* Modified the retry condition for bit bang
2020-04-28 13:16:19 -07:00
jostar-yang
9129378097
[accton/as9716-32d] add support get_transceiver_change_event (#4105)
Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2020-04-22 22:54:48 -07:00
lguohan
c52b8c4e75
[platform-modules]: set debian control depends on unsigned kernel package (#4466)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-22 19:41:48 -07:00
ciju-juniper
d1940b2cf4
[Juniper] Re-organizing sonic_platform modules (#4448)
This patch set implements the following:
 - Fixes the conflicts in chassis.py / platform.py in sonic_platfrom
 - Consolidating the common library files in sonic_platform
 - Moving QFX5210 specific drivers to qfx5210/modules
 - Moving Juniper common fpga drivers to common/modules
 - Cleaning up the platform driver files
 - Bug fixes in QFX5210 platform monitor & initialiazation script
 - Fixing the bugs in QFX5210 eeprom parsing

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2020-04-21 02:25:51 -07:00
lguohan
46fad0e0c6
Merge pull request #4405 from lguohan/buster
[baseimage]: upgrade base image to debian buster

bring up the base image to debian buster 4.19 kernel.

using the merge commits to preserve the individual commits to better track the history.
2020-04-20 15:32:17 -07:00
byu343
0095763780 [arista]: Update driver submodules to support buster kernel (#57) 2020-04-20 07:34:43 +00:00
abdosi
d8b716681c
[sonic-buildimage] libsaibcm Debian package update (#4439)
from 3.7.3.3-3 to 3.7.3.3-4
Fixes for PFC WD

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-04-17 10:46:56 -07:00
Guohan Lu
e5e26d9a43 [platform-modules]: set debian control file to depend on 4.19.0-6
change depends to linux-image-4.19.0-6-amd64 in debian/control

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-17 04:51:51 +00:00
Guohan Lu
207e32a9f2 [platform-modules]: fix compile issues for platform driver under 4.19
1. undefine led_classdev_register as it is defined in leds.h
2. header file location change
   a. linux/i2c/pmbus.h -> linux/pmbus.h
   b. linux/i2c-mux-gpio.h -> linux/platform_data/i2c-mux-gpio.h
   c. linux/i2c/pca954x.h -> linux/platform_data/pca954x.h
2020-04-17 04:51:51 +00:00
Guohan Lu
7f7212d8a8 [broadcom]: build opennsl-modules for kernel 4.19.0-6
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
Guohan Lu
9d6760c336 [kernel]: build linux kernel 4.19.0-6
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
Guohan Lu
01cb7934b0 [build]: add buster docker as the last step of the build proces
- build SONIC_STRETCH_DOCKERS in sonic-slave-stretch docker
- build image related module in sonic-slave-buster docker.
  This includes all kernels modules and some packages

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

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
Signed-off-by: Ashish Bhensdadia <bashish@juniper.net>
2020-04-16 03:09:32 -07:00
rajendra-dendukuri
606db589b8
[brcm-th-svk]: Fix errors in BCM956960K switch (#4390)
Fix Broadcom TH SVK boot up crash
2020-04-10 09:25:52 -07:00
Joe LeVeque
7405f8cfea
[Accton AS4630-54PE] Fix Python indentation error (#4393)
Fix Python indentation error
Add newline at EOF
2020-04-08 23:04:13 -07:00
Joe LeVeque
9068652cfd
[Juniper QFX5210] Fix Python errors (#4394)
* [Juniper QFX5210] Fix Python errors
* Remove unnecessary 'pass'
2020-04-08 23:01:27 -07:00
Srideep
444cede11d
[DellEMC] S5232 platform updates (#4360)
FPGA driver crash fix for stale buffer in i2c transfer
LED firmware load issue fix.
10G port swapfix
psu/sfp bug fixes to report correct states/status of hw
2020-04-08 02:41:56 -07:00
Santhosh Kumar T
7bc8f1293c
[DellEMC] Z9264f Watchdog support (#4192)
Co-authored-by: Sujin Kang <sujkang@microsoft.com>
2020-04-06 09:27:45 -07:00
rkdevi27
84256314fe
DellEMC: Platform 2.0 Api - Fan for z9264f (#4191) 2020-03-28 11:48:22 -07:00
Samuel Angebault
5b0ec7afe6
[Arista] Update drivers submodules (#4317)
* Update arista drivers submodules

* Add device configs for 7060CX2-32S

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

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

* Sync after writting boot configs

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

Co-authored-by: Boyang Yu <byu@arista.com>
2020-03-27 17:28:27 -07:00
jostar-yang
592abec5d9
[as4630-54pe]Put correct fanuilt.py file (#4321) 2020-03-25 11:58:19 -07:00
Santhosh Kumar T
12291b276b
DellEMC S6100 I2C Enumeration Segregation (#4312) 2020-03-24 13:52:30 -07:00
Aravind Mani
8a6aeace6e
[DellEMC] Fix Z9100 port index issue (#4309) 2020-03-23 21:09:35 -07:00
Arun Saravanan Balachandran
0b52be3e5f
DellEMC: Z9264-Platform2.0 Implementation [Reboot Cause] (#4246)
- Added get_reboot_cause() API implementation in chassis.py
- Added new file platform.py for platform2.0 API implementation.
2020-03-23 15:30:09 -07:00
CharlieChenEC
3e6899004c
[docker/brcm-syncd-rpc]: remove duplicated "--net" options in broadcom syncd rpc (#4296)
In the file "files/build_templates/docker_image_ctl.j2", it adds the option
"--net" to the docker create command through the commit
"abe7ef7e2e2e1215c97cee19a83aab0b130cebe5" (#3856).

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

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

* Add checking sysfs use 0x57 or 0x56

Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2020-03-21 14:26:55 -07:00
ashishb-juniper
f88dffe95c
[platform]: Added QFX5210 readme for build and install (#4211)
Signed-off-by: Ciju Rajan K <crajank@juniper.net>
Signed-off-by: Ashish Bhensdadia <bashish@juniper.net>
Co-authored-by: Ashish Kumar Bhensdadia <ashish@sonic-server.englab.juniper.net>
2020-03-19 23:33:44 -07:00
Mykola F
bfe690b739
[syncd-rpc.mk] install ptf dependancy (#4279)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2020-03-18 11:59:39 -07:00
Samuel Angebault
a3bbdc9929
[arista] Update platform drivers submodules (#4200)
* Build Arista drivers using DPKG_DEB
* Update arista platform submodule
2020-03-17 10:14:59 -07:00
Kalimuthu-Velappan
7d2ebf8116
[build]: support for DPKG local caching (#4117)
DPKG caching framework provides the infrastructure to cache the sonic module/target .deb files into a local cache by tracking the target dependency files.SONIC build infrastructure is designed as a plugin framework where any new source code can be easily integrated into sonic as a module and that generates output as a .deb file. The source code compilation of a module is completely independent of other modules compilation. Inter module dependency is resolved through build artifacts like header files, libraries, and binaries in the form of Debian packages. For example module A depends on module B. While module A is being built, it uses B's .deb file to install it in the build docker.

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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


            $(FOOTER)


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

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

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

- Description for the changelog

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

DOCUMENT PR:

           https://github.com/Azure/SONiC/pull/559
2020-03-11 20:04:52 -07:00
Danny Allen
590caaf5cf
[bcmsai] Update BRCM SAI Debian to 3.7.3.3-3 (#4233)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-03-07 00:38:09 -08:00
Joe LeVeque
ab4861deb8
DellEMC: Platform 2.0 Api - Component for z9264f (#4091) 2020-03-04 19:17:09 -08:00
Samuel Angebault
75181702d3
[arista] Update drivers submodule (#4164)
- Refactor of the cli
 - Refactor of the logging mechanism
 - Add some more utilities
 - Miscelaneous fixes and improvements
2020-02-25 09:14:56 -08:00
abdosi
7aae61abb5
[broadcom]: Updated BRCM SAI Debian package revision number to 3.7.3.3-2. (#4182)
This has patch to fix enable/disable attribute for lag member. It's on top of vanilla 3.7.3.3
2020-02-25 09:14:23 -08:00
abdosi
52e3947487
Updated the file permission mode to include +x (#4183)
This to avoid git status reporting dirty.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-02-22 07:22:43 -08:00
Arun Saravanan Balachandran
30ef11198f
DellEMC: Z9264-Platform2.0 Implementation [Thermal] (#4175) 2020-02-20 14:57:54 -08:00
Santhosh Kumar T
2626565afb
[DellEMC] S6100 Last Reboot Reason Thermal Support (#3767) 2020-02-18 00:02:33 -08:00
Arun Saravanan Balachandran
15eaf36036
DellEMC: Z9264-Platform2.0 Implementation [PSU] (#4104) 2020-02-14 14:58:24 -08:00
Samuel Angebault
1e40c598a3
[arista] Update drivers submodules (#4147)
Update the linux-kernel dependency to 4.9.0-11-2
2020-02-13 18:16:10 -08:00
jostar-yang
427ed1f29a
[platform]:Fix as7726 read thermal sensor issue (#4135)
Due to linux create hwmonN node number, N isn't fixed. So modify to use "" to let thermal.py can correct sysfs. For example, use /sys/bus/i2c/devices/55-0048/hwmon/hwmon/temp1_input to instead of /sys/bus/i2c/devices/55-0048/hwmon/hwmon4/temp1_input
2020-02-12 17:55:58 -08:00
Olivier Singla
6a0dcb1b16
[kernel]: security kernel update to 4.9.189 (#3913)
This patch upgrade the kernel from version
4.9.0-9-2 (4.9.168-1+deb9u3) to 4.9.0-11-2 (4.9.189-3+deb9u2)

Co-authored-by: rajendra-dendukuri <47423477+rajendra-dendukuri@users.noreply.github.com>
2020-02-12 17:41:58 -08:00
David Xiao
1f4325e3bf
[Inventec][D6356] Update Inventec 6356 (#3839)
* [Inventec][D6356] Update Inventec 6356
   1.[Platform API] Add get_change_event implementation for Chassis class
   2.[Platforn monitor] skip ledd to avoid pmon init failure
2020-02-10 12:26:48 -08:00
yozhao101
91e5fb5602
[Service] Enable/disable container auto-restart based on configuration. (#4073) 2020-02-07 12:34:07 -08:00
Santhosh Kumar T
57d4c841db
[DellEMC] Dell Platform Modules Debian Build Error Fix (#4108)
- Fix for Azure/sonic-buildimage#4095
- Exit status from failed make command(action) didnt reached parent target because the make command is inside the "for" loop.
- Only the exit status of the last command in the last iteration of the for loop is read by parent target.
- This is the reason why dpkg-buildpackage ignored the make error.
- Fixed the issue with help of "set -e".
2020-02-07 07:49:08 -08:00
Santhosh Kumar T
74e28ad6ff
[DellEMC] S6000 - Thermal support - Last Reboot Reason (#4097)
- Added support for Thermal event in Last Reboot Reason "show reboot-cause" command.
- Added support for sending log message in case of thermal shutdown.

sonic NOTICE root: Shutting down due to over temperature (40 degree, 30 degree, 34 degree)
2020-02-06 05:23:27 -08:00
Arun Saravanan Balachandran
c095e515b4
DellEMC: Z9264-Platform2.0 Implementation [ipmihelper] (#4060)
Implement classes IpmiSensor, IpmiFru to obtain platform sensors information for Platform2.0 APIs in DellEMC Z9264 platform.

Add a new file ipmihelper.py with the implementation for IpmiSensor, IpmiFru classes.
2020-01-28 22:06:04 -08:00
Srideep
dc994b8425 DellEMC: Dell platform bug fixes on s5248 and s6232 (#4071)
* Dynamic bus detection and loading driver for eeprom on s5248,s5232
* sfputil fix for S5248
2020-01-27 23:28:26 -08:00
Arun Saravanan Balachandran
d2dadc976b DellEMC: Platform2.0 API enhancements in DellEMC S6000 and other API changes (#3956) 2020-01-24 10:08:22 -08:00
rkdevi27
c2677a5614 [devices]: DellEMC: Platform 2.0 Api(sfp,eeprom,chassis )for z9264f (#4007)
- Sfp,Eeprom,Chassis(transceiver change event) support added for z9264f Platform 2.0 API
- Added Interrupt handler to SFP change event in dell_z9264f_fpga_ocores.c
- Fixed few indentation and offset issues in sfputil.py for z9264f
2020-01-23 09:32:34 -08:00
paavaanan
a664123786 [devices]: DellEMC S6000 fancontrol support (#4048)
- Implemented fancontrol service to monitor S6000 fans and adjust fan speed w.r.t temperature.
- fancontrol.service starts the fancontrol script at startup.
- This script takes the average temperature by reading three sensors and configure FANS to appropritate RPM against the temperature.
- When the temperature is adjusted script will log in syslog for future reference.
- Also, script checks for faulty fans and report the status in syslog.
2020-01-23 09:27:41 -08:00
yozhao101
db7668638a [Monit] Change the full process name of syncd in the monit config file. (#4033)
Since the syncd process running on different platforms will have the different full path names, we
change the full path name of process syncd in the monit config file such that it will be universal and is not for a specific vendor.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-01-22 17:00:49 -08:00
Dong Zhang
7aa0baf709 [MultiDB] (except ./src and ./dockers dirs): replace redis-cli with sonic-db-cli and use new DBConnector (#4035)
* [MultiDB] (except ./src and ./dockers dirs): replace redis-cli with sonic-db-cli and use new DBConnector
* update comment for a potential bug
* update comment
* add TODO maker as review reqirement
2020-01-22 11:26:23 -08:00
Samuel Angebault
64500e143b [Arista] Update drivers and boot script (#3959)
* Update arista driver submodule

* Add support for 7260CX3-64E in boot0

* Refactor boot0 platform specific definition

Make it easier to manage new sku

* Add support for 7050CX3-32S in boot0

Just contains the required boot0 information

* Add basic plugin support for DCS-7050CX3-32S

* Add port config for Arista-7050CX3-32S-C32

Co-authored-by: yurypm <yurypm@arista.com>
Co-authored-by: byu343 <byu@arista.com>
2020-01-17 10:44:49 -08:00
byu343
b45d2b4130 [arista]: Add support for bald eagle phy (#3922)
* Add support for bald edgle phy
2020-01-17 10:36:12 -08:00
Pradchaya Phucharoen
522916397d [Celestica/Seastone2] Add support Seastone2 device and platform (#3761)
* [device/celestica] Add seastone2 device specific plugins and SKU

* [platform/broadcom] Add Celestica seastone2 platform module

* update minigraph for Seastone_2 and remove 10KR port configuration

* [device/celestica] hwsku:Seastone2 update port configuration

* [plugins/psuutil] fix psutuil cannot run in pmon docker

* [plugins/sfputil] raise error in get_transceiver_change_event

* [device/celestica] Seastone2 add config to skip ledd in pmon

Co-authored-by: tiantianlv <38775940+tiantianlv@users.noreply.github.com>
2020-01-15 18:42:09 -08:00
yozhao101
b7e48b422f [Services] Allow monit system tool to monitor the critical processes status running in various SONiC containers. (#3940)
* Add a monit config file for teamd container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a copy mechanism to put the monit config file in teamd container
into base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a monit config file for snmp container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a copy mechanism to put the monit config file of snmp container into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a monit config file for dhcp_relay container in the dir
base_image_files.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a copy mechanism to put the monit config file of dhcp_relay
container into base image under /etc/monit/conf.d.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a monit config file for router advertiser container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* Add a copy mechanism to put the monit config file of router advertiser
contianer into base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-Pmon] Add a monit config file for pmon container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-Pmon] Add a copy mechanism to put the monit config file into the
base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-lldp] Add a monit config file for lldp container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-lldp] Add a copy mechanism to put the monit config file into the
base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-bgp] Add a monit config file for BGP container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-bgp] Add a copy mechanism to put monit config file into the base
image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-swss] Add a monit config file for the swss container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-swss] Add a copy mechanism to put monit config file into the
base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on barefoot
platform.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image on barefoot.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on broadcom.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image on broadcom.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on cavium.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-centec] Add a monit config file for syncd container on centen
platform.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on centen
platform.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on marvell.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit conifg file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on
marvell-arm64.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image on marvell-arm64.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on
marvell-armhf.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on mellanox.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a monit config file for syncd container on nephos.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-sflow] Add a monit config file for sflow container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-sflow] Add a copy mechanism to put the monit conifg file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-telemetry] Add a monit config file for telemetry container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-telemetry] Add a copy mechanism to put the monit config file
into the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-database] Add a monit config file for database container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-database] Add a copy mechanism to put the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-Dhcprelay] Change a typo.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-Dhcprelay] Change the process name in monit config file to
dhcrelay.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] There is no desserve process in syncd container on
barefoot.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] There is no process desserve in syncd container on
cavium.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] There is no process named desserve in syncd on centec.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] There is no process named desserve in syncd on marvell.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Should not delete the process desserve in syncd container
on marvell.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Delete the process dsserve in syncd on marvell.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Delete the process dsserve in syncd container on
marvell-arm64.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Delete the process dsserve in syncd container on
marvell-armhf.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Delete the process dsserve in syncd container on
mellanox.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-Radv] Change the process name to radvd.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-telemetry] Correct a typo in monit_telemetry.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-teamd] Delete the monit config file for teamd.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-teamd] Delete the mechanism to copy the monit config file into
base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-dhcprelay] Delete the monit config file for dhcp_relay
container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-dhcprelay] Delete the mechanism to copy the monit config file
into the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-radv] Delete the monit config file foe radv container.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-radv] Delete the mechanism to copy the monit config file into
the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-bgp] change the monit config file for BGP container such that
monit only generates alert if the process is not running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-snmp] Change the monit config file for snmp container such that
monit only generates alret if the process is not running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-pmon] Change the monit config file for pmon container such that
monit only generates alert if the processes are not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-lldp] Change the monit config file for lldp container such that
monit only generates alerts if some processes are not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-pmon] Delete the monit config file for pmon container since some
of processes are not running depended on the type of box.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-pmon] Delete the copy mechanism to copy the monit config file
into the base image.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-lldp] Change the matching name for the process lldpd.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-swss] Change the monit config file for swss container such that
monit only generates alerts if the processes are not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
barefoot such that monit only generates alerts if the process is not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Correct a typo in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
broadcom such that monit only generates alerts if the processes are not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
cavium such that monit only generates alerts if the process is not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container such
that monit only generates alerts if the process is not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
marvell such that monit only generates alerts if the process is not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
marvell-arm64 such that monit only generates alerts if the process is
not running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
marvell-armhf such that monit will generate alert if the process is not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Change the monit config file for syncd container on
mellanox such that monit only generates alerts if the process is not
running for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-sycnd] Change the monit config file for syncd container such
that monit only generates alerts if the processes are not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-sflow] Change the monit config file for sflow container such
that monit only generates alerts if the process is not running for 5
minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-telemetry] Change the monit config file for telemetry container
such that monit only generates alerts if the processes are not running
for 5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-database] Change the monit config file for database container
such that monit only generates alerts if the process is not running for
5 minutes.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-database] Use 4 spaces to replace 2 spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-bgp] Use 4 spcess to replace 2 spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-lldp] Use 4 spaces to replace 2 spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-swss] Use 4 spaces to replace 2 space in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-sflow] Use 4 spaces to replace 2 spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-snmp] Use 4 spaces to replace 2 spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-telemetry] Use 4 spaces to replace 2 spaces in monit config
file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on barefoot.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on broadcom.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on cavium.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on centec.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on marvell.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to replace 2 spaces in the monit config file
on mellanox.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-syncd] Use 4 spaces to repalce 2 spaces in the monit config file
on nephos.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>

* [Docker-bgp] Remove the trailing extra spaces in monit config file.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-01-10 16:21:02 -08:00
lguohan
483a5946a8
Revert "[MultiDB]except src and dockers : replace redis-cli with sonic-db-cli and use new DBConnector (#3928)" (#4002)
This reverts commit 0dae59ac30.
2020-01-10 08:27:34 -08:00
Dong Zhang
0dae59ac30 [MultiDB]except src and dockers : replace redis-cli with sonic-db-cli and use new DBConnector (#3928)
* [MultiDB]except src and dockers : replace redis-cli with sonic-db-cli and use new DBConnector
* fix vs tests along with swss vs tests together
2020-01-02 14:46:25 -08:00
Wataru Ishida
ed2d5f8a32 [broadcom]: respect the current network namespace when creating netdev (#3896)
https://github.com/Broadcom-Switch/OpenNSL/issues/26

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-12-23 10:27:22 -08:00
Judy Joseph
9c4c36e1b5 [broadom]: Upgrade broadcom SAI to 3.7.3.2
[Broadcom] : update saibcm-modules to sdk 6.5.16
[Broadcom SAI] : upgrade Broadcom SAI to 3.7.3.2
2019-12-19 06:28:38 +00:00
srideepDell
4458efbd71 DellEMC: Add support for new platform z9332f -32x400G (#3845)
* Switch Vendor: DellEMC
* Switch SKU: z9332F
* ASIC Vendor: Broadcom
* Swich ASIC: tomahawk3
* Port Configuration: 32x400G
* SONiC Image: sonic-broadcom.bin

* Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
2019-12-17 15:26:23 -08:00
Wirut Getbamrung
1e5d25b48e [platform-celestica]: Update fancontrol service for Seastone-DX010 device (#3690)
* [platform/cel]: add fancontrol service support for dx010

* [device/celestica]: add hysteresis temp to dx010 fancontrol configuration
2019-12-16 09:04:42 -08:00
Aravind Mani
9cb12e6474 DellEMC: S52xx platforms optoe driver changes (#3865)
used overriding method instead of making changes in sfputilbase.py and changed the sff84xx to optoe driver for both QSFP and SFP.
2019-12-16 08:57:25 -08:00
Wirut Getbamrung
1286e5ed3f [platform/cel]: Remove afulnx_64 (#3900)
remove afulnx_64 install script
2019-12-16 07:30:35 -08:00
Wataru Ishida
e8f3bee0b4 [broadcom]: fix KNET MTU setting with Linux Kernel > 4.10.0 (#3895)
We need to set min_mtu/max_mtu properly to support MTU setting

https://github.com/torvalds/linux/commit/61e84623

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-12-13 14:41:00 -08:00
ciju-juniper
f126258d5f [Juniper][QFX5210] Platform monitoring updates (#3899)
As part of this commit, there are a few enhancements being
made for EM policy implementation: a) Introduced hysteresis
algorithm to prevent fan hunting b) Reading ASIC temperature
to make decision for fan speed.

As part of the PR# 3599, Workaround for the boot problem
from secondary bios was addressed. When the SONiC image is
upgraded, this resulted in creating multiple entries for
BOOTX64.EFI. To fix the problem, as part of this changeset,
introducing a check to see if there is already an UEFI entry
for BOOTX64.EFI and accordingly creating / skipping the UEFI
entry.

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2019-12-13 09:06:05 -08:00
srideepDell
dd322270cb [DellEMC]: utility to set onie modes from NOS (#3860)
This common utility would set next boot option as onie mode and
when reboot is triggered it would reboot the box into that specific onie mode.

Current support modes are rescue/install/uninstall
2019-12-10 15:13:25 -08:00
Arun Saravanan Balachandran
343ad78931 DellEMC : Platform2.0 API Implementation [S6100, S6000, Z9100] (#3740) 2019-12-03 10:36:41 -08:00
ChiouRung Haung
82e309f6de [broadcom]: Add bcmcmd and bcmsh to docker-syncd-brcm-rpc (#3739)
Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
2019-11-20 07:41:04 -08:00
srideepDell
413f07820d [devices]: Firmware upgrade support for DellEMC platforms(s5248,s5232,z9100,s6100,z9264f) (#3743)
* This method is used to update firmware components such as CPLD,FPGA,BIOS,SMF
           * This uses ONIE firmware upgrade design to stage firmware update from NOS.

a) Copy latest firmware updater image to target running sonic.
b) Run “./fw-updater -u onie-firmware-x86_64-dellemc_s5200_c3538-r0.3.40.5.1-9.bin”.
c) This would automatically reboot ONIE into update mode and update firmware components to latest and reboot back to sonic without any user intervention.

Signed-off-by: Srideep Devireddy <srideep_devireddy@dell.com>
2019-11-14 00:08:15 -08:00
Aravind Mani
4f35a81065 DellEMC:optoe driver support in DellEMC platforms (#3747)
- optoe driver truncates invalid pages(ff) but sff driver doesn't truncate.so,the DOM related calculation made by sff8436 driver will show incorrect data.
- Few optics doesn't support DOM.
- SFP plugins currently returns None for unreadable pages and this'd throw the below mentioned error in sfpshow eeprom --dom.
2019-11-14 00:04:11 -08:00
ciju-juniper
73721223cd [Juniper][QFX5210] Updating platform README (#3746)
* Updating the platform README

Added the steps for configuring FEC mode

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2019-11-13 09:06:45 -08:00
Danny Allen
5174ec8923 [bcm SAI] Upgrade Broadcom SAI to version 3.5.3.1m-26 (#50)
Signed-off-by: Danny Allen <daall@microsoft.com>
2019-11-12 18:46:21 -08:00
Joe LeVeque
85b0de3df1 [docker-syncd]: Restart SwSS, syncd and dependent services if a critical process in syncd container exits unexpectedly (#3534)
Add the same mechanism I developed for the SwSS service in #2845 to the syncd service. However, in order to cause the SwSS service to also exit and restart in this situation, I developed a docker-wait-any program which the SwSS service uses to wait for either the swss or syncd containers to exit.
2019-11-09 10:26:39 -08:00
CharlieChenEC
099f9b0a6a [devices]:start opennsl modules after platform handle mac service on AS7326-56X/AS7726-56X (#3726)
AS7326-56X and AS7726-56X use the same design so both devices have the same problem.
The detailed description below takes AS7326-56X as the example to explain.

Original implementation:
- In platform/broadcom/sonic-platform-modules-accton/as7326-56x/service/as7326-platform-handle_mac.service,
  it executes the script file "accton_handle_idt.sh".
- In "accton_handle_idt.sh", it modifies the content of the script file "/etc/init.d/opennsl-modules"
  to insert the lines to execute "idt_init.sh" before the command to load broadcom linux kernel module "linux-kernel-bde.ko".
- The script "idt_init.sh" cannot be executed at the first boot of SONiC after installing SONiC under ONIE. This is the reason why all of the ports does not work.

New implementation:
- Let "as7326-platform-handle_mac.service" execute "idt_init.sh".
- Change the content of "as7326-platform-handle_mac.service" to define the service type as "oneshot". Add the settings to ensure "as7326-platform-handle_mac.service" is executed before "opennsl-modules.service".
  By setting the service type as "oneshot", it is guaranteed that "opennsl-modules.services" is started only when the forked process to execute the script file "idt_init.sh" is terminated

Signed-off-by: charlie_chen <charlie_chen@edge-core.com>
2019-11-09 10:23:18 -08:00
Guohan Lu
e877e471c0 [devices]: fix debian/control for accton platform modules
the bug was introduced by commit ac2908ef03

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-11-09 05:03:07 +00:00
Pradchaya Phucharoen
2e61e14bb3 [devices] Celeatica Silverstone add IPMI platform sensor read. (#3591)
* [platform/broadcom] Celeatica Silverstone add IPMI platform sensor read.

* [platform_sensors] Silverstone update temperature sensor description
2019-11-07 22:02:52 -08:00
jostar-yang
ac2908ef03 [devices]: Add thermal plan to as4630_54pe (#3665) 2019-11-07 21:53:21 -08:00
dereksun01
6c0ab4b926 [device] accton device of as5812_54t supports SAI and modify as5812_54t periphery (#3663)
- Support as5812_54t SAI.
- Modify as5812_54t periphery.

Signed-off-by: derek_sun <derek_sun@edge-core.com>
2019-11-07 16:24:42 -08:00
Santhosh Kumar T
a5e2799b33 [DellEMC] S6100 Watchdog Support (#3698)
Implement Watchdog platform2.0 API for DellEMC S6100 platform.
- Added new file watchdog.py in sonic_platform directory.
- Enabled API support to Enable/disable watchdog.
2019-11-07 13:27:02 -08:00
brandonchuang
7d4093d6ed [device/platform] Add reset in sfputil.py for Accton AS7326-56X (#3685)
Add reset in sfputil.py for as7326-56x.

Signed-off-by: brandon_chuang <brandon_chuang@edge-core.com>
2019-11-06 18:57:08 -08:00
Wirut Getbamrung
65fc916dcf [platform/device] - Implement Silverstone platform API [Chassis/Fan] (#3706)
Implement part of the Chassis and Fan related APIs.

- Chassis APIs

get_base_mac()
get_serial_number()
get_serial_number()
get_system_eeprom_info()
get_reboot_cause()

- Fan APIs

get_direction()
get_speed()
get_target_speed()
get_speed_tolerance()
set_speed()
set_status_led()
get_target_speed()

- Fan APIs base on Device API

get_name()
get_presence()
get_model()
get_serial()
get_status()

Signed-off-by: Wirut Getbamrung wgetbumr@celestica.com
2019-11-06 18:56:17 -08:00
Samuel Angebault
05e659901f [arista] Add support for more 7280CR3 variants (#3711)
* Add extra Smartsville hwskus
2019-11-06 10:11:38 -08:00
ciju-juniper
a4c35b72d8 [Juniper][QFX5210] Updating preemphasis values for supported optics (#3686)
* Preemphasis values for various optics

This patch adds the preemphasis values for the various supported
optics for qfx5210 platform

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2019-11-05 11:55:58 -08:00
rkdevi27
ebcd2d5252 [devices]: Fixed Fpga crash on dell z9264 (#3672)
Fixed the fpga crash issue which we see in 15-20 mins time frame after onie-install. Accessing stale i2c transfer message buffer causes this crash. Te message buffer becomes stale due to race between i2c transfer and fpga interrupt handler.

This new state STATE_STOP will not be exposed for the wake up call till all the ISR of previous transfer is completed successfully.
2019-11-05 11:26:34 -08:00
Aravind Mani
d6f3fde884 [devices]: support SFP+ for Z9264F (#3700)
- Changed sff8436 to optoe driver for both QSFP and SFP+
- Used optoe1 for QSFP and optoe2 for SFP.
2019-11-04 22:10:20 -08:00
ciju-juniper
6cb445cb9e [Juniper][QFX5210]Adding the system reboot handler (#3599)
The following changes are done as part of this commit:

- Adding the system reboot handler
- Adding swizzle reset case for the reboot reason
- Workaround for the boot problem from Golden bios
- Adding the logging messages for platform scripts
- EEPROM parsing and library routines
2019-10-19 20:46:32 -07:00
lguohan
2eb6ccee51
[SAI]: use SAI 1.5.1 header
[submodule]: update sonic-sairedis

1f4a1d7 2019-09-24 | Add warm boot support with removed/created port (#515) (HEAD, origin/master, origin/HEAD) [Kamil Cudnik]
59e530a 2019-09-20 | Add support for debug counters (#517) [Danny Allen]
1ed09e0 2019-09-20 | fully support bulk_remove in sairedis (#516) [Dong Zhang]
6cb1b31 2019-09-17 | Add support for port remove and port create (no warm boot) (#500) [Kamil Cudnik]
83d86ed 2019-09-17 | Fix c_str() in printf for string (#514) [Kamil Cudnik]
11b44b5 2019-09-16 | Advance SAI reference pointer to v1.5.0 (#509) [Wenda Ni]
38c6945 2019-09-14 | support sflow on virtual switch (#498) [Rakesh Datta]
e7d766e 2019-09-09 | Add acl counter match logic based on acl entry field (#511) [Kamil Cudnik]
58845ce 2019-09-06 | Add extra check for warm boot discovered RIDs (#502) [Kamil Cudnik]
b4893ef 2019-09-05 | [flex counter]: Lower the severity of log during rif counter support check (#504) [shikenghua]
b859344 2019-09-03 | fix found typo in new added syncMode related codes (#506) [Dong Zhang]

also update broadcom and mellanox SAI
2019-10-18 09:18:06 -07:00
srideepDell
60a7f4d653 [device]: Add a new supported device DellEMC s5248f (#3547)
* Switch Vendor: DellEMC
* Switch SKU: s5248F
* ASIC Vendor: Broadcom
* Swich ASIC: Trident3
* Port Configuration: 48x25G,4x100G,2x200G
* SONiC Image: sonic-broadcom.bin

* Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
* Added 25G,10G configruation(25G is default) 1-48FP. 4x100G,2x200G (49-54 FP)
* LED support for s5248f
2019-10-17 18:43:59 -07:00
zzhiyuan
6ecec007e3 [arista]: Update arista drivers submodule (#3618)
Fixed variable name causing problems for sonic-platform-commons for arista.
2019-10-16 18:38:13 -07:00
Roy Lee
4d8a01c26c [device] as4630-54pe: update sfputil for get_transceiver_change_event. (#3315)
Signed-off-by: roy_lee <roy_lee@accton.com>
2019-10-16 18:01:38 -07:00
Arun Saravanan Balachandran
ee4ca2c0c5 DellEMC : Platform2.0 API Implementation for Component [S6000, S6100, Z9100] (#3588) 2019-10-16 17:57:32 -07:00
habeebmohammed
2d87ca4a18 [inventec/d7054q28b] Add new platform APIs chassis, eeprom,fan, psu, thermal, sfp (#3577) 2019-10-16 16:49:39 -07:00
tiantianlv
368c4fa9fe [devices]: support Silverstone platform (#3474)
* [device/celestica] Add silverstone device plugins and configs

* add port led fireware of PAM4!

* [platform/broadcom] Add Celestica silverstone platform module.

* Add switch configuration Silverstone!

* Add 128x100 configuration!

* Delete serdes copper parameter!

* [device/celestica] Fix incorrect index in Silverstone 128x100G port cfg

* [platform/broadcom] Remove unrelated platform other than Silverstone

* [device/celestica] Silverstone remove minigraphs

* [device/celestica] Silverstone update sai.profile to use hwsku path

* [device/celestica] Silverstone format sfputil codes

* [device/celestica] Add speed column to Silverstone 32x400G port conf

* [device/celestica] Silverstone disable 10G ports prevent orchagent crash

 *These ports will be added later after BRCM SAI support SFP.

* Remove LED redundancy configuration and add comments!

* [plugins/sfputil] update Silverstone ports to QSFP-DD type

* [plugins/sfputil] Silverstone fix return NotImplementedError with raise
2019-10-09 17:47:46 -07:00
Ying Xie
9bdd693e81 [bcm SAI] upgrade Broadcom SAI to version 3.5.3.1m-25 (#48)
- Built with SAI header version v1.5.0.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2019-10-09 17:28:33 -07:00
David Xiao
110bff9b47 [Inventec][D6356] Update driver and Add new platform API implementation (#3521)
* Update driver and Add new platform API implementation for Inventec D6356
* Update Platform API (SFP)
* Update Platform API (QSFP)
* Update Platform API (FAN, THERMAL)
Signed-off-by: David Xiao <xiao.david@inventec.com>
2019-10-09 16:16:05 -07:00
JohnsonYJLu
41e855c211 [devices]: fixed sfputil error on ag9032 (#3579)
Signed-off-by: johnson <JOHNSON.LU@deltaww.com>
2019-10-09 13:53:07 -07:00
Wirut Getbamrung
ecdd866713 [device/celestica]: Update Component APIs (#3510)
* [platform/cel]: add bios upgrade tool
* [device/celestica]: update Seastone/E1031 component api to support BIOS upgrade
* [device/celestica]: add error handler for eeprom api
* [device/celestica]: add component description
2019-09-27 12:44:16 -07:00
Wenda Ni
7b0a5ba6ae Remove the divide by 4 operation to the under the hood SAI (#1532)
* Remove the divide by 4 operation to the under the hood SAI

This is to avoid the need and thus the confusion for application program to know
the mmu internal architecture

This change must have support from SAI change to reach the correct
config

Signed-off-by: Wenda <wenni@microsoft.com>

* Relegate the divide by 4 operation to the under the hood SAI for egress
lossless pool

Extend to 7060 and 6100

Signed-off-by: Wenda <wenni@microsoft.com>

* Add more TH/TH2 hwskus

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Update config test

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Add TH2 ingress lossy profile

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Move the divide by 4 operation to SAI internal

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* [bcm SAI] Upgrade Broadcom SAI to version 3.5.3.1-15

- Broadcom SAI 3.5 GA release 20190924.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2019-09-25 15:57:07 -07:00
Arun Saravanan Balachandran
5c9348b093 DellEMC Z9100 : Platform2.0 API implementation [PSU, Thermal] (#3361)
* DellEMC Z9100 : Platform2.0 API implementation [PSU, Thermal]

* DellEMC Z9100 : Platform2.0 API [ Thermal ]

* DellEMC Z9100 : Platform2.0 API [PSU, Thermal]
2019-09-18 15:09:43 -07:00
Arun Saravanan Balachandran
6ca0d7b197 DellEMC S6000 : Platform2.0 API implementation [PSU, Thermal] (#3357)
* DellEMC S6000 : Platform2.0 API implementation [PSU, Thermal]

* Fix invalid number of arguments error

* DellEMC S6000 : Platform2.0 [ Thermal ]

* DellEMC S6000 : Platform2.0 API [PSU, Thermal]

* Updated merge changes
2019-09-18 15:06:42 -07:00
sridhar-ravindran
3c0b56a709 [DELL] S6100 Support PowerCycle in Last Reboot Reason (#3403)
* [DELL] S6100 Support PowerCycle in Last Reboot Reason

* handle first time boot properly

* S6000 Last Reboot Reason Fix
2019-09-17 16:51:46 -07:00
Arun Saravanan Balachandran
1cbc99d99e
Merge branch 'master' into platform2.0 2019-09-16 10:33:13 +05:30
Aravind Mani
ac1d2c1023 [devices]: DellEMC Z9264f_50gProfile: Added support for 50G T0 profile (#3418)
* Z9264f_50gProfile: Added support for 50g profile
2019-09-14 20:23:48 -07:00
Sujin Kang
faa754fe3c
Merge pull request #3363 from ArunSaravananBalachandran/platform2.0_s6100
DellEMC S6100 : Platform2.0 API implementation [Module, Thermal]
2019-09-13 17:18:20 -07:00
Arun Saravanan Balachandran
da2ae4959d Updated merge changes 2019-09-13 03:53:04 -07:00
ciju-juniper
3ff0c4d0dc [Juniper][QFX5210] Optoe driver for SFP management (#3438)
* Adding platform support for Juniper QFX5210

This switch has 64 QSFP28 (40G/100G) ports, 2 SFP+ (1G/10G) ports
on Broadcom Tomahawk II chipset. CPU used in QFX5210-64C-S is
Intel Broadwell-DE. The machine has Redundant and hot-swappable
Power Supply (1+1) and also has Redundant and hot swappable fans (3+1).

Signed-off-by: Ciju Rajan K <crajank@juniper.net>

* [Juniper][QFX5210] Optoe driver for SFP management

This commit implements the following changes
 - Moving to optoe driver for sfp management
 - Removing the old sfp driver
 - Updating the port-config.ini to add the index field
 - Correction in sfputil.py to incorporate optoe driver
 - Platform support for 'poweroff' command

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2019-09-11 09:39:24 -07:00
Arun Saravanan Balachandran
372f786e7a
Merge branch 'master' into platform2.0 2019-09-11 15:45:22 +05:30
Arun Saravanan Balachandran
a9310e4dac DellEMC S6000: Platform2.0 API [Fan] 2019-09-11 05:21:57 -04:00
Roy Lee
9179990ba1 [device][accton] Add as5812-54t. (#3428)
* Verified as5812_54t platfrom, except SDK and monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Add as5812-54t to build its debian package.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Use the right cpld read/write api.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Update device paths.
Signed-off-by: roy_lee <roy_lee@accton.com>

* update psu driver, correct python lib location.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Give a default return value.
Signed-off-by: roy_lee <roy_lee@accton.com>
2019-09-10 22:07:13 -07:00
zzhiyuan
2095d6ec03 [devices]: Update arista submodule (#3431)
- Add support for fans in new platform API
- Mount platform API in pmon for arista platforms
2019-09-10 14:37:05 -07:00
Arun Saravanan Balachandran
584ac010a0 DellEMC S6100 : Sync latest changes to Module 2019-09-09 01:25:32 -07:00
Arun Saravanan Balachandran
4bad5eabb6
Merge branch 'master' into platform2.0_s6100 2019-09-09 12:45:07 +05:30
jostar-yang
d47ec5268c [devices]: Add to support thermal plan in as9716 platform (#3409) 2019-09-06 15:11:46 -07:00
sridhar-ravindran
309af83225 [DELL][S6000] Platform 2.0 TransceiverChange Support (#3414)
Implemented remaining APIs in s6100,z9100,s6000
Removed soft link in s6100,s6000,z9100 and implemented seperately
Implemented get_transceiver_change_event in S6000
2019-09-06 14:57:52 -07:00
ciju-juniper
fdcb69d048 [devices]: Adding platform support for Juniper QFX5210 (#3270)
This switch has 64 QSFP28 (40G/100G) ports, 2 SFP+ (1G/10G) ports
on Broadcom Tomahawk II chipset. CPU used in QFX5210-64C-S is
Intel Broadwell-DE. The machine has Redundant and hot-swappable
Power Supply (1+1) and also has Redundant and hot swappable fans (3+1).

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
2019-09-06 07:52:45 -07:00
ChiouRung Haung
4c36866a26 [syncd-rpc-brcm]: Fix syncd terminated in broadcom rpc image (#3391)
Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
2019-08-28 11:55:27 -07:00
Wirut Getbamrung
a5b805e37a [platform/cel]: Add new API installer to pmon and base image (#3379)
* [platform/cel]: Add new api installer

* [device/celestica]: Update APIs to support both pmon and base image

* [device/e1031]: update hwmon name
2019-08-28 11:19:34 -07:00
Arun Saravanan Balachandran
dd9c2a5b22 DellEMC S6100 : Platform2.0 API [Module] 2019-08-23 23:34:53 -04:00
Aravind Mani
f238042471 Z9264f-LED_changes (#3376)
Updated z9264_platform.sh to change appropriate LED when HWSKU is changed.
2019-08-23 12:00:37 -07:00
Samuel Angebault
892473981e [device/arista] Update drivers submodules (#3378)
- increase timeout for power supply driver initialization
2019-08-23 11:55:24 -07:00
paavaanan
aea84a7477 BIOS upgrade support with API2.0 for DellEMC S6100 (#3116) 2019-08-23 11:12:26 -07:00
Arun Saravanan Balachandran
9cebe7c153 DellEMC : Platform2.0 API Implementation for Chassis [S6000, S6100, Z9100] 2019-08-23 13:37:38 -04:00
Arun Saravanan Balachandran
79b1eb8fc1 DellEMC S6100 : Platform2.0 API [Module, Thermal] 2019-08-20 10:56:57 -04:00
JohnsonYJLu
cc6642300a update cpld & swpld module attribute (#3362)
Signed-off-by: johnson <JOHNSON.LU@deltaww.com>
2019-08-19 10:23:48 -07:00
Arun Saravanan Balachandran
c870b39589 DellEMC S6100 : Platform2.0 API implementation [Module, Thermal] 2019-08-19 09:35:30 -04:00
Jonathan Tsai
a5c351a467 [Quanta/platform] Update IX1B to support Stretch (#2358)
* [Quanta/platform] Update IX1B to support Stretch

What I did
Update IX1B's platform folders to support Stretch
How I did it
Follow https://github.com/Azure/SONiC/wiki/Porting-Guide
How to verify it
Follow https://github.com/Azure/SONiC/wiki/Command-Reference
to verify hardware information can get from CLI correctly

Signed-off-by: Jonathan Tsai <jonathan.tsai@quantatw.com>
2019-08-15 02:25:43 -07:00
Samuel Angebault
05d75dec07 [device/Arista] Update drivers submodules (#3339)
- Improve smbus reliability for all platforms
 - Delay processing of the reboot cause to reduce critical path
 - Add support of get_change_event for PSUs
2019-08-15 02:22:37 -07:00
linalvin
4fed69ecbe [device][platform] Update Inventec new platform d6356 (#2791) 2019-08-15 01:00:52 -07:00
jostar-yang
ff6437eaaa [devices]: Add support fpga drv and pimutility for minipack platform (#3053) 2019-08-15 00:50:13 -07:00
Roy Lee
e19e661080 [device] as5712-54x, add more entries for sensors (#3328)
* Change psu driver to comfort to lm-sensors.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Duplicate fan attributes with naming conforming to lm-sensors.
Replace psu drivers.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Revise cpr_4011_4mxx.c to support lm-sensors.
Signed-off-by: roy_lee <roy_lee@accton.com>
2019-08-15 00:48:19 -07:00
Jonathan Tsai
ee31e3b8bb [Quanta] Add a new supported device and platform, IX9-32X (#3341)
Switch Vendor: Quanta
Switch SKU: IX9-32X
CPU: Broadwell-DE with BMC
ASIC Vendor: Broadcom
Switch ASIC: Tomahawk3, BCM56980
Port Configuration: 32x400G

Signed-off-by: Jonathan Tsai <jonathan.tsai@quantatw.com>
2019-08-15 00:43:34 -07:00
Wirut Getbamrung
ea063db4b6 [device/celestica]: Implement Sfp APIs based on the new platform API (#3290)
* [platform/cel]: update qsfp driver for dx010

* [device/celestica]: add sfp api

* [device/celestica]: add eeprom api
2019-08-14 17:51:20 -07:00
sridhar-ravindran
88dc7ad13e [DELL][Z9100,S6100,S6000] Platform 2.0 SFP Changes (#3229)
* [DELL][Z9100,S6100,S6000] Platform 2.0 SFP Changes

Added support in sfp.py file which will be generic. Send the eeprom path and sfp_control path from chassis.py
2019-08-13 08:47:21 -07:00
JohnsonYJLu
3e6e037d67 Modify ag9064 platform module and add support psutil. (#3305)
Signed-off-by: johnson <JOHNSON.LU@deltaww.com>
2019-08-08 16:50:28 -07:00
Roy Lee
b45c1aca73 [device] Adding platform support for Accton as7315-27xb (#3301)
This switch has 27 fiber ports, 4x25G, 20x10G , and 3x100G ports ports.
CPU: Intel ® Atom™ Processor C3508,1.6GHz
BMC: None
MAC: Broadcom BCM88470 (Qumran AX).
MISC: Support IEEE1588v2, hot-swappable PSU, hot-swappable fan tray.

But notice here, BCM88470 is not supported for SAI now.
So the syncd container is not running so far.

Signed-off-by: roy_lee <roy_lee@accton.com>
2019-08-08 01:13:46 -07:00
Jonathan Tsai
2ff8f5d1b9 [Quanta] Add a new supported device and platform, IX7-32X, IX8-56X (#3297)
Switch Vendor: Quanta
Switch SKU: IX7-32X
CPU: Intel C2558
ASIC Vendor: Broadcom
Switch ASIC: Trident3, BCM56870
Port Configuration: 32x100G

Switch Vendor: Quanta
Switch SKU: IX8-56X
CPU: Intel C2558
ASIC Vendor: Broadcom
Switch ASIC: Trident3, BCM56873
Port Configuration: 48x25G + 8x100G

Signed-off-by: Jonathan Tsai <jonathan.tsai@quantatw.com>
2019-08-08 01:11:29 -07:00
jostar-yang
cc312793b5 Fix read lm75 thermal sensors issue (#3285) 2019-08-07 13:00:41 -07:00
Karthik Gengan
a99a37dbef DellEmc: Platform 2.0 Api(chassis,fan,eeprom) for S6100 and Z9100 (#3234) 2019-08-07 11:02:56 -07:00
Arun Saravanan Balachandran
f0c0fac162 DellEMC S6000 : Platform2.0 API implementation for EEPROM (#3295) 2019-08-06 15:53:07 -07:00
Wirut Getbamrung
1dd2688844 [device/celestica]: Implement thermal base API based on the new platform API (#3220) 2019-08-05 09:01:50 -07:00
Jonathan Tsai
2bb58044c0 [Quanta] Add a new supported device and platform, IX8C-56X (#3182)
* [Quanta] Add a new supported device and platform, IX8C-56X

Switch Vendor: Quanta
Switch SKU: IX8C-56X
ASIC Vendor: Broadcom
Switch ASIC: Trident3
Port Configuration: 48x25G + 8x100G

Signed-off-by: Jonathan Tsai <jonathan.tsai@quantatw.com>
2019-08-01 22:19:52 -07:00
hans-tseng
ca1534aadb [devices]: Add platform support for delta ag9032v2a (#3148)
Add platform support for delta ag9032v2a
CPU: Broadwell-DE
ASIC: BMC56870 with <100Gx32 + 10Gx1>
BMC: AST2520:
- What I did
add the new platform of delta ag9032v2a
- How I did it
1.provide the QSFP and SWPLD attributes and create the virtual buses of I2C
2. provide the port configuration
- How to verify it
1. psuutil.py
2. sfputil.py
3. bcmcd

- Known issue
The port LED is not ready. We noticed that BCM chip had the M0 FW initialization issue while bringing up SDK with "BRCM SAI ver: [3.5.2.3], OCP SAI ver: [1.4], SDK ver: [6.5.14]" and here is the information :
root@sonic:/home/admin# bcmcmd "M0 status"
M0 status
0:soc_iproc_data_send_wait: No response for msg 2
M0 FW is NOT Running
M0 FW Version is 0.0
Host FW Version is 1.0
Host and M0 FW Versions do not match!!!

Signed-off-by: hans-tseng <hans.tseng@deltaww.com>
2019-08-01 22:18:04 -07:00
Roy Lee
ff8e34463d [device/Accton] Fix i2c fault from ir3570a on 3 models (#3245)
I2c burst read may failed due to misoperation of ir3570a(A DC-to-DC converter IC).
As #2966, there are 3 more models have this symptom, as7326-56x, as7726-32x, and as9716-32d.
Also correct typo of naming on as7816-64x and as7716-32x.

Signed-off-by: roy_lee roy_lee@accton.com

What I did
Disabling i2c function of ir3570a which may failed i2c tranfer to others.
Close channel of mux after data transfered.

How I did it
Identify version of ir3570, if it's ir3570a, disable its alias i2c address.
Enable parameter of driver i2c_mux_pca954x to close channel on after every access.

How to verify it
Write 08 to offset 0xcf of systom eeprom and execute i2c block read.
It will return error.
plug-in several transceivers and run "show interfaces transceiver presence" and "sfputil show presence". You may see the different result. (But doing this requires updated xcvrd).

Signed-off-by: roy_lee <roy_lee@accton.com>
2019-07-31 11:28:03 -07:00
Lawrence Lee
7271fe598f [build]: Move Systemd service start to systemd generator (#3172)
- What I did

 Move the enabling of Systemd services from sonic_debian_extension to a new systemd generator

- How I did it

  Create a new systemd generator to manually create symlinks to enable systemd services
  Add rules/Makefile to build generator
  Add services to be enabled to /etc/sonic/generated_services.conf to be read by the generator at boot time

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
2019-07-29 15:52:15 -07:00
sridhar-ravindran
95558ad5ce [DELLEMC][S6000] Platform 2.0 Reboot Reason and fixed issue in process-reboot-cause (#3156)
Added Reboot Reason for S6000 in platform 2.0
Fixed issue in process-reboot-cause
Added package uninstall code in platform de-init code for z9100, s6100
- How I did it
-> Added support for S6000 Reboot Reason
-> Added platform.py for all platforms
-> Verified show reboot-cause command with the code changes. Added UT logs with show reboot-cause
-> Modified process-reboot-cause service to start after pmon.service. In S6000, we have to wait for nvram to be loaded.
-> If reboot-cause service starts before pmon.service, show reboot-cause is showing incorrect reason.
-> Bug fix in process-reboot-cause file
- import sonic_platform
+ import sonic_platform.platform
2019-07-24 12:15:46 -07:00
Roy Lee
efe9438c61 [Accton] Correct port index and offer the default speed. (#3213)
* [as5712-54x]
Verified with index from 1.
Add qsfp_event() for command "show interaface trancerver".
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as6712-32x]
Add default port speed.
Verified with index from 1.

Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7726-32x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7712-32x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as5812-54x]
Add default port speed.
Verified with index from 1.

Signed-off-by: roy_lee <roy_lee@accton.com>

* [as5712-54x]
Update port-config with 1-based index.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as5812-54x]
Somehow the service may block, use type=simple to work-around.
Add syslog function for monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7716-32x]
Update port-config with 1-based index.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7816-64x]
Update port-config with 1-based index.
Implement sfputil change_event.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7326-56x]
Update port-config with 1-based index.
Implement sfputil change_event.

Signed-off-by: roy_lee <roy_lee@accton.com>

* Remove debug code.
Signed-off-by: roy_lee <roy_lee@accton.com>

* [as7312-54x]
Update port-config with 1-based index and default port speed.

Signed-off-by: roy_lee <roy_lee@accton.com>
2019-07-24 12:14:43 -07:00
Harish Venkatraman
dbe07a4339 [sonic-platform-modules-dell] Graceful platform reboot (#2912)
The following commit addresses the graceful unmounting of file
system and graceful shutdown of dockers before calling a
cold reboot which will cause a power cycle of SSD. This ensures
orderly shutdown and no corruption of files systems because
of the power cycle to SSD.
This commit will use the existing systemd-reboot service scripts
and override the configuration to do cold reboot for S6100 and
Z9100.
Unit tested the fix and graceful shutdown of file system and
dockers are done with cold reboot.

Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
2019-07-23 15:26:58 -07:00
Wirut Getbamrung
0340cf3b8b [device/celestica]: Implement device base APIs for Fan/PSU API based on the new platform API (#3163)
* [platform/cel]: add fan present sysfs

* [device/celestica]: move component device to chassis

* [device/celestica]: add basic device api
2019-07-23 10:00:02 -07:00
srideepDell
ce5d16f858 [devices]: DellEMC [s5232]: PSU detection and default led state support (#3185)
*   [devices]: Add a new supported device DellEMC s5232f

    * Switch Vendor: DellEMC
    * Switch SKU: s5232F
    * ASIC Vendor: Broadcom
    * Swich ASIC: Trident3
    * Port Configuration: 32x100G
    * SONiC Image: sonic-broadcom.bin

    * LED support for s5232f
    * Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
    * Added 100G,25G,10G configruation ( 100G is default).

* s5232[device] PSU detecttion and default led state support
2019-07-19 07:01:02 -07:00
Roy Lee
9c4d23427b [device][accton]: add support for as7312-54xs (#3140)
* Add driver and util for peripherals of as7312-54xs, most are copied from as7312-54s.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Add default port speed and index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Update i2c addr of psus.
Add system logging for monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Correct syntax of module_dirs.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Validate sfputil after tested.
Signed-off-by: roy_lee <roy_lee@accton.com>

* Correct the index of eeprom mapping.
Signed-off-by: roy_lee <roy_lee@accton.com>
2019-07-18 07:30:22 -07:00
ArunSaravananBalachandran
e520cbe9e3 DellEMC S6100 : Platform2.0 API implementation for PSU (#3132) 2019-07-10 11:54:14 -07:00
Stepan Blyshchak
e4300b8f76 [sairedis.mk] do not build rpc sairedis when not needed (#3109)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-07-06 14:55:31 -07:00
brandonchuang
5a89cf5733 [device][platform] add platform as5835-54t, accton. (#3119)
Signed-off-by: brandon_chuang <brandon_chuang@edge-core.com>
2019-07-06 14:53:02 -07:00
Samuel Angebault
ae2e555418 [device/Arista] Update arista driver submodules (#3122)
- Add PSU support for the platform API
 - Complete LED support for the platform API
 - Misc refactoring
2019-07-06 14:50:25 -07:00
sridhar-ravindran
56608bf06b [devices]: DELL Platform 2.0 API Infra and Reboot Reason support in Z9100 & S6100 (#3063) 2019-07-03 06:52:35 -07:00
paavaanan
4f737f8b65 [devices]: DellEMC S6100 Watchdog support (#2835) 2019-06-28 23:47:36 -07:00
jostar-yang
9b0d1b74f9 [devices]: Add support as9716 platform (#2993) 2019-06-28 21:53:06 -07:00
sridhar-ravindran
fe45a0d1ea [devices]: DELLEMC: Z9100,S6100 Exporting Device Last PowerOn Reason (#3059) 2019-06-28 21:49:12 -07:00
srideepDell
0695a6449f [devices]: Add a new supported device DellEMC s5232f (#3090)
* Switch Vendor: DellEMC
    * Switch SKU: s5232F
    * ASIC Vendor: Broadcom
    * Swich ASIC: Trident3
    * Port Configuration: 32x100G
    * SONiC Image: sonic-broadcom.bin

    * LED support for s5232f
    * Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
    * Added 100G,25G,10G configruation ( 100G is default).
2019-06-28 21:40:50 -07:00
Samuel Angebault
a80baaf8d1 [device/Arista] Update drivers submodules (#3092)
- Add reboot cause support for the platform API
 - Add LED support for the platform API xcvrs and fans
 - Misc fixes
2019-06-28 21:37:36 -07:00
brandonchuang
0b8c1a10e8 [devices]: Add lpmode in sfputil.py for Accton AS6712-32X (#3095)
Signed-off-by: brandon_chuang <brandon_chuang@edge-core.com>
2019-06-28 21:35:27 -07:00
Karthik Gengan
b92d980769 Remapping S6000 platform files under Vendor (DellEmc) specific directory (#3079) 2019-06-25 12:23:24 -07:00
Sudharsan D.G
2e40fa5dbe [devices]: Poller to detect Intel Rangely LPC failure for dell z9100/s6100 (#3065)
- What I did
Added Daemon to Log LPC bus degradation in Intel C2000 processor. Intel Rangeley C2000 processors with revision less than or equal to 2 have issue where LPC bus degrades over time in some processors. To identify the problem and to notify the issue, a daemon has been added which will log on encountering the issue.

- How I did it
Added a daemon which validates the CPLD scratch(0x102) and SMF scratch(0x202) registers by writing and reading values on regular polling intervals (300 seconds). If there is a discrepancy between read and write, a critical log will be thrown.

- How to verify it
The infra is verify by simulating the issue where between write and read, the value in register is modified and the log appearance is checked.

- Description for the changelog

Added Daemon to identify LPC bus degradation issue and notify using syslog in Dell S6100 and Z9100 platforms. This daemon will only run on processors with revision less than or equal to 2.
2019-06-24 08:13:40 -07:00
sridhar-ravindran
9cf34ec464 Revert "[Dell] [Z9100] Supporting PreEmphasis Settings for Optics (#2501)" (#3060)
This reverts commit ed2d87a710.
2019-06-22 14:45:43 -07:00
RAMA CHANDRA REDDY GADDAM
6370d64b3d [broadcom]: Check for broadcom platform sdk init ready during syncd start. (#2931)
- What I did
During boot/reload time, wait in a loop to check for bcm initialization.
Break the loop, once sdk is ready to process the 'bcmcmd' request (or) loop count reached the maximum value.

- How I did it
In the existing implementation during syncd start process will sleep for a fixed time (3 secs)
for sdk initialization to happen. But the time taken for sdk initialization is varying for different platforms.
To fix this issue, the syncd start process wait in a loop and check whether sdk is ready to process 'bcmcmd' command.

- How to verify it
Check for syncd process status and interface status.
Check for syslogs and no failures related to syncd should be present.
2019-06-19 01:25:37 -07:00
Qi Luo
e7b1988638
[submodule] update sonic-linux-kernel (#2985)
* [submodule] update sonic-linux-kernel
* update linux kernel version
* Fix many version strings
* update mellanox components (built with new kernel)
* [mlnx] add make files for SDK WJH libs
* Update arista driver submodule (#8)
Make the debian packaging point to a newer kernel version.
2019-06-18 10:00:16 -07:00