Commit Graph

211 Commits

Author SHA1 Message Date
Stephen Sun
08c36d2a3f [mellanox ]improve the method the type of sfp module is detected (#3846)
Fix the issue when an SFP module is plugged into a QSFP port via an adapter.

- How I did it
Originally the type of an SFP module is determined according to the SKU dictionary. However, it's possible that as SFP module is plugged into a QSFP port via an adapter. In this case, the EEPROM content will be parsed in the wrong format.
To address that we fetch the identifier value of an xSFP module and then get the type by parsing it.
2020-01-02 14:50:26 -08:00
noaOrMlnx
4864b8f990 [Mellanox] Update FW/SDK: 13/29.2000.2696 and 4.3.2904 (#3948) 2019-12-31 14:44:37 -08:00
Volodymyr Samotiy
6997126b94 [Mellanox]: Update SAI submodule (#3883)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2019-12-18 11:18:19 -08:00
Stephen Sun
068cb130d5 [Mellanox]Update hw-mgmt to V7.0000.2308 (#3858)
* [Mellanox]Update hw-mgmt to V7.0000.2308
sonic-linux-kernel should be updated accordingly with necessary patches uploaded.

* [sub-module]Advance submodule head for sonic-linux-kernel
2019-12-18 11:13:07 -08:00
Volodymyr Samotiy
295b0bdc56 [Mellanox] Update FW/SDK: 13/29.2000.2602 and 4.3.2602 (#3796)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2019-11-22 12:48:35 -08:00
Stephen Sun
0c9040dec9 [Mellanox] support get_transceiver_threshold_info (#3777)
* [sonic_platform.sfp] support get_transceiver_dom_threshold_info_dict

* [platform/sfp]qsfp threshold and beautify code
1. qsfp threshold: tx power
2. beautify code, removing some magic numbers
3. optimize get_present by only reading one byte.
2019-11-20 16:30:05 -08:00
Volodymyr Samotiy
c78465b78f [Mellanox]: Update SAI submodule to 1.15.2 (#3748)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2019-11-14 00:02:32 -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
Nazarii Hnydyn
7c5fb775d9 [mellanox] Upgrade HW-MGMT to V.7.0000.2303 (#3707)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-11-06 00:27:18 +02:00
Nazarii Hnydyn
8db6df508b [mellanox] Update FW/SDK: 13/29.2000.2308 and 4.3.2308 (#3666)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-10-30 16:33:58 +02: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
Stephen Sun
0f87d1fd6b [Mellanox] Support SAI 1.5 (#49) 2019-10-17 16:51:58 -07:00
Nazarii Hnydyn
0a39ee4171 [mellanox] Update HW-MGMT: V.7.0000.2300. (#3617)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-10-16 13:44:18 -07:00
Stephen Sun
249e858926 [Mellanox] Support SN3800 in platform api (#3593)
* [sonic_platform]Support 3800
1. add port position tuple for 3800

* [sonic_platform/chassis] address comments
2019-10-16 18:31:27 +03:00
Stephen Sun
91e785279a [Mellanox] remove mlnx-sfpd (#3609)
* [platform/mellanox] remove mlnx-sfpd

* [platform/mellanox] remove mlnx-sfpd source files
2019-10-15 23:40:53 +03:00
Stephen Sun
2e3fb905a3 [Mellanox]Correct reboot cause when reboot via power cycle (#3597)
* [sonic_platform]remove the handling of reset_sw_reset which indicates rebooted by software.

* [sonic_platform]Check "reset_sw_reset"
Also check reboot cause file "reset_sw_reset" which indicates the system was rebooted due to software requesting.
2019-10-15 11:46:09 -07:00
Stephen Sun
aea09ba1da [sonic_platform] Correct the wrong log identifiers (#3596) 2019-10-15 11:29:45 -07:00
Stephen Sun
576f0982d2 [Mellanox]Resolve chassis broken due to inconsistent with latest sonic_platform_common (#3569)
*Currently get_firmware_version implementated by using chassis.get_firmware_version and chassis._component_name_list which are not supported in the latest sonic_platform_common, causing chassis broken. Update this part so that it aligns to the latest sonic_platform_common
*Support component API
2019-10-09 11:07:30 -07:00
Stephen Sun
350d2c5d2b [chassis.py] Fix issue in get_change_event: the returned dictionary doesn't contain 'sfp' key. (#3568) 2019-10-08 09:26:35 -07:00
Stepan Blyshchak
aec2477060 [mellanox] build SDK driver from open source (#3580)
* build SDK driver package sx-kernel from open sourced repository Mellanox/Switch-SDK-driver
* copy SDK packages and FW binaries from Mellanox/Switch-SDK-driver

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-10-08 07:57:12 -07:00
Stephen Sun
d316bcb537 [Mellanox]Upload the SDK makefile modification (#3555)
Adjust the SDK makefiles so that it reflects the dependencies among libraries in SDK 4.3.2104.
This is a supplement of PR [Mellanox]Update SDK(4.3.2104), SAI-Implementation(1.15) and firmware 2162. It doesn't impact the sonic-mellanox.bin image but makes the future SDK-integration easier.
2019-10-07 07:13:47 -07:00
Stephen Sun
f54792d8a7 [mellanox]Integrate sai-1.15, sdk 4.3.2104 and firmware 2162 to sonic. (#3538) 2019-10-01 09:54:27 +03:00
Stephen Sun
362a6855ec [Mellanox] enhance the initialization flow of sfp part of new platform api (#3319)
* [sonic_platform.sfp_event]enhance the initialization flow of sfp_event

* [sonic_platform.sfp_event] replace "retry = retry + 1" with "retry += 1"

* [sonic_platform] fix typo in sfp_event

* [sfp_event] remove unused variables

* [sonic_platform/sfp_event.py]remove unnecessary statements
2019-09-25 11:41:07 -07:00
Stephen Sun
c34a4783e0 [build] install new platform api on host (#3282)
slave.mk: add SONIC_PLATFORM_API_PY2 as dependency of host
sonic_debian_extension.j2: install sonic_daemon_base and Mellanox-specific sonic_platform on host
mlnx-platform-api.mk: export mlnx_platform_api_py2_wheel_path for sonic_debian_extension.j2
sonic-daemon-base.mk: export daemon_base_py2_wheel_path for sonic_debian_extension.j2
daemon_base.py: hind unnecessary dependency of swss_common on host
2019-09-25 11:00:24 -07:00
Stephen Sun
5c2d71138b [Mellanox] optimize new platform api (#3289)
optimize SFP module operations and fix issues.

- split initialization of variant categories of devices and initialize each category of devices only when needed, so that unnecessary dependencies can be avoided.
- update watchdog logic, only initializing watchdog when referenced.
- support platform.py and enable to initialize variant devices on a host/docker basis
- update init so that sonic_platform can be imported as a whole.
2019-08-28 11:59:37 -07:00
Stephen Sun
97b43f96bb [mlnx_platform_api.thermal]align thermal sensor names with hw-management v2.0.0191 (#3371)
temp_xxxx_module{} => module{}_temp_xxxx
2019-08-23 11:58:03 -07:00
Andriy Moroz
7ca4d32daf [Mellanox] Update SDK (v3.4.1886) and hw-magmt (v2.0.0191) (#3359)
This commit also includes sonic-linux-kernel submodule update
Commits included:
f8b30b4 [Mellanox] Add hw-management driver patches (#97)
feb786b Add psample and act_sample drivers (#94)
15f8651 Update optoe driver to add CMIS (QSFP-DD, OSFP, ...) support (#96)
2019-08-19 14:09:17 +03:00
Stepan Blyshchak
86aa00a4ab [platform/mellanox] install SDK/SAI dbg symbols in debug image (#3310)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-08-08 11:10:54 -07:00
Stephen Sun
d16ece23bb [Mellanox] mlnx-sfpd init flow enhancement (#3294)
* fix sfpd initialize issue
* fix review comments
* rephrase the output log
* fix retry counter
* change the retry time to 10, means set max waiting time 1024s
* fix mlnx-sfpd init flow with new solution
* [mlnx-sfpd] address comments
1. wait for 5 seconds * 30 times, 150 seconds totally. use constant wait time for each retry.
2. use try/except structure so that error can be handled in a graceful way
* [mlnx-sfpd] wait 5 seconds after SDK_DAEMON_READY_FILE exists to make sure SDK is fully up.
* [mlnx-sfpd]simplify initialization by using deinitialize on initializing failure
2019-08-08 10:17:48 -07:00
Nazarii Hnydyn
c6e442b946 [mellanox]: Added SN3800 platform (#3262)
* [mellanox]: Added SN3800 platform.

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-08-01 16:25:44 -07:00
Andriy Moroz
9a418e34dd [Mellanox] Update SAI (#3265)
New SAI has fix for 50G FEC issue

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2019-08-01 16:24:08 -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
Stephen Sun
a5de31bf43 [Mellanox]new platform api -- support get_change_event (#3142)
* [Mellanox]refractor the sfp event change notification logic for new platform api
remove the standalong daemon which is in charge of polling sfp change event through sdk interface
and move the polling stuff to the event in the chassis daemon.

* rephase some comment

* fix typo in sfp_event.sfp_event.initialize
2019-07-28 15:18:39 +03:00
Volodymyr Samotiy
2c6cd620fb [Mellanox]: Update SAI pointer (#3208)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2019-07-25 09:43:57 -07:00
Stephen Sun
1d15022df7 [Mellanox] support new platform api, thermal and psu part (#3175)
* support new platform api, thermal and psu part
for psu, all APIs are supported.
for thermal, we support
  get_temperature,
  get_high_threshold
for the thermal sensors of cpu core, cpu pack, psu and sfp module
and get_temperature for the ambient thermal sensors around the asic, port, fan, comex and board.

* 1. address review comments
2. improve the handling of PSU inserting/removal
3. tolerance diverse psu thermal sensor file name conventions

* 1. adjust thermal code according to the latest version of hw-management
2. check power_good_status rather than whether file existing ahead of reading voltage, current and power of PSU
2019-07-22 07:59:48 -07:00
Mykola F
f409e04f17 [Mellanox] update SDK/FW (#3168)
Integrating official Mellanox SDK/FW release as a pre condition for getting new Mellanox SAI release with hash changes (inner field) and 3k VXLAN scale. As well as bug fix for Spectrum LP mode and Spectrum 2 PFC WD

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-07-17 08:47:10 -07:00
Kebo Liu
89d98640f5 [Mellanox]Update hw-mgmt package to v183 (#3138)
* Update hw-mgmt package to v183

* update sonic-linux-kernel repo to pick up new patches
2019-07-12 13:09:36 +03:00
Renuka Manavalan
a1b91937ca
Extend debug image build ability to all platforms. (#3134) 2019-07-10 12:23:13 -07:00
Stephen Sun
cca115de9d [Mellanox] Fix the memory leak in mlnx-sfpd (#3128)
* fix the memory leak in on_pmpe. objects created via sx_api having convention new_<type_name> should be release explicitly via delete_<type_name>.

* avoid duplicate code.
2019-07-09 17:47:44 +03: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
Stephen Sun
20e4547dbc [Mellanox] Fix typo "xSFP_VLOT_OFFSET" (#3118)
Variables SFP_VLOT_OFFSET and QSFP_VLOT_OFFSET containing the typo are originally defined in repo sonic-platform-common. The typo has been fixed in PR #33. However, some Mellanox-specific code hasn't updated correspondingly, which results in xcvrd fail to start.
This PR updates the variable name in Mellanox-specific code correspondingly to fix that.
2019-07-05 14:06:18 -07:00
Stephen Sun
82fb3a099d [Mellanox]New platform api -- chassis part (#3082)
* new platform api, chassis part

* Inject mlnx mlx libs to platform monitor

* address the review comments

* remove some confusing naming.

* Adjust the minor cause to a more human-readable way when rebooted by firmware

* address review comments

* expose host dir /host/reboot-cause to pmon docker so that the reboot causing by user command can be identified

* 1. Revert "expose host dir /host/reboot-cause to pmon docker so that the reboot causing by user command can be identified"
Since the only hardware-causing reboot should be handled by get_reboot_cause and the logic of handling reboot cause is about to move to the host side, no need to mount this dir to pmon docker.
This reverts commit 3feb96869d.
2. adjust log output by using sonic_daemon_base.daemon_base.Logger.
3. remove the logic of verifying /host/reboot-cause/ files.
4. fix typo.

* implement get_firmware_version and adjust the interfaces regarding components' version retrieving according to the Azure/sonic-platform-common#34
2019-07-04 14:29:58 +03:00
Stepan Blyshchak
211c8cd536 [syncd-rpc] fix syncd rpc build and add cleanup (#3113)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-07-03 10:37:54 -07:00
Stephen Sun
86495a15a2 [Mellanox] Support new platform api sfp part (#3101)
Implement new platform api sfp part, including the following APIs;
- get_reset_status
- get_tx_disable_channel
- get_lpmode
- get_power_override
- reset
- set_lpmode
- tx_disable
- tx_disable_channel
- set_power_override
2019-07-02 14:50:20 -07:00
txj36
22c0f4d877 [devices]: fix SFP initialization in the Chassis for mlnx-platform-api (#3012) 2019-07-02 11:39:24 -07:00
Stepan Blyshchak
81cf33231f [build]: Improve dockerfile instructions (#3048)
- create a dockerfile-marcros.j2 file with all common operations
  written as j2 macro
- use single dockerfile instruction for COPY and RUN commands
  when possible to improve build time
- reorganize dockerfile instructions to make more cache friendly
  (in case someday we will remove --no-cache to build docker images)

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-22 11:26:23 -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
Kebo Liu
c927517355 [Mellanox] Inject SDK libs dependency to pmon on Mellanox platform (#3000)
* inject sdk libs to pmon
* fix wrong code
2019-06-14 17:38:24 -07:00
lguohan
fa3ea537e7
[docker-saiserver]: upgrade docker saiserver to stretch for brcm/mlnx (#2983) 2019-06-08 16:27:19 -07:00
Kebo Liu
89ee636b99 [Mellanox] SFP new platform API implementation (#2944)
* add sfp new api

* fix get presence
2019-05-29 09:46:20 +03:00