Commit Graph

187 Commits

Author SHA1 Message Date
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
Kebo Liu
81071ec461 [mellanox]: fix wrong type of paramerter (#2950) 2019-05-28 08:32:08 -07:00
Kebo Liu
60bd7417ea [Mellanox] Update hw-mgmt package to v175 (#2948)
* update hw-mgmt package to v175

* update sonic linux kernel to pick up kernel patch
2019-05-28 08:30:57 -07:00
Stepan Blyshchak
f3d2d37e43 [mlnx] fix incorrect attr assignment in mlnx-sfpd (#2913)
* [mlnx] fix incorrect attr assignment in mlnx-sfpd

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mlnx] on_pmpe returns bool and not SX_STATUS_SUCCESS

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mlnx] fix typo

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-05-17 18:53:57 -07:00
Nazarii Hnydyn
939b6254e7 [mellanox]: Fixed SDK build: added missing SWIG dependency. (#2914)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-05-17 13:45:33 -07:00
Stepan Blyshchak
d29a496dbc [mlnx] refactor and fix mlnx-sfpd shutdown (#2907)
* [mlnx] fix mlnx-sfpd shutdown

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* fix type and handle only EINTR and EAGAIN errors from select

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* handle select.error as well during init/run

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-05-16 18:49:00 -07:00
lguohan
2519048184
[sairedis]: Update sonic-sairedis pointer and Broadcom/Mellanox SAI/SDK/FW (#2826)
[sairedis]: Update sonic-sairedis pointer and Broadcom/Mellanox SAI/SDK/FW
2019-05-06 11:45:50 -07:00
Volodymyr Samotiy
2ceceac883 [mellanox]: Update SAI, SDK and FW
* SAI: v1.14.0 (API v1.4.1)
* SDK: v4.3.1104
* FW: v13.2000.1140/v29.2000.1140

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2019-05-03 10:50:14 +00:00
Nazarii Hnydyn
d33ed17da4 Update Mellanox MFT packedge. (#2825)
[mellanox] Update Mellanox MFT packedge
2019-04-25 18:22:33 +03:00
Renuka Manavalan
3a6d7be27e [build]: syncd-rpc.mk: Fix stretch dockers build failure (#2812)
The base syncd dockers follow a template, which defines the base docker as DOCKER_SYNCD_BASE instead of DOCKER_SYNCD_. Fix the docker-syncd-<mlnx, bfn>.mk to use the new one.
2019-04-23 17:23:17 -07:00
Kebo Liu
818ba436a9 [Mellanox] Implement new fan platform API (#2747) 2019-04-21 14:34:28 -07:00
Renuka Manavalan
ba0ca01ee0 [build]: Makefile: Extend to build debug docker images for all stretch dockers (#2789)
Overall goal: Build debug images for every stretch docker.

An earlier PR (#2789) made the first cut, by transforming broadcom/orchagent to build target/docker-orhagent-dbg.gz.

Changes in this PR:

Made docker-orchagent build to be platform independent.
1.1) Created rules/docker_orchagent.mk
1.2) Removed platform//docker-orchagent-*.mk
1.3) Removed the corresponding entry from platform//rules.mk

Extended the debug docker image build to stretch based syncd dockers.
2.1) For now, only mellanox & barefoot are stretch based.
2.2) All the common variable definitions are put in one place platform/template/docker-syncd-base.mk
2.3) platform/[mellanox, bfn]/docker-syncd-[mlnx, bfn].mk are updated as detailed below.
2.3.1) Set platform code and include template base file
2.3.2) Add the dependencies & debug dependencies and any update over what base template offers.

Extended all stretch based non-platform dockers to build debug dockers too.
3.1) Affected are:
docker-database.mk,
docker-platform-monitor.mk,
docker-router-advertiser.mk,
docker-teamd.mk,
docker-telemetry.mk

Next: Build debug flavor of final images with regular dockers replaced with debug dockers where available.
2019-04-19 18:49:21 -07:00
Stepan Blyshchak
ea078e7823 [buildsystem] Install debug packages in syncd when INSTALL_DEBUG_TOOLS=y (#2702)
* [buildsystem] Install debug packages in syncd when INSTALL_DEBUG_TOOLS=y

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-04-18 02:25:51 -07:00
Kebo Liu
e797bf8516 [mellanox]: Update hw-mgmt pakcage to V.2.0.0.0172 (#2798) 2019-04-18 02:25:10 -07:00
Mykola F
1aa258d3cb [fw-upgrade] fix issue with fw-upgrade (#2785)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-04-16 10:06:10 -07:00
Mykola F
c5fecea247 [Mellanox-SAI] update Mellanox SAI submodule pointer (#2777)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-04-13 17:23:21 -07:00
Mykola F
d993d6f3ac [Mellanox] build one image for Mellanox & Mellanox SimX (#2664)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-04-10 21:55:14 -07:00
Stepan Blyshchak
ded4fe27ff [mlnx] fix url inconsistency in fw.mk (#2761)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-04-10 17:57:34 +03:00
lguohan
b73f9a5b1d
[swss]: update swss docker to stretch (#2714)
* [swss]: update swss docker to stretch

sonic-swss update:

* aa92326 2019-03-29 | fix c++ 11 build complaint for destructors default to noexcept (#822) (HEAD, origin/master, origin/HEAD) [lguohan]
* a304007 2019-03-28 | Allow ACL entry creation without ACL counter (#818) [Wenda Ni]
* 60a8a0d 2019-03-28 | [orchagent]: Cast enum class variable to int (#819) (HEAD, origin/master, origin/HEAD) [Shuotian Cheng]
* 3dd37a4 2019-03-26 | [vnetorch]: Add VNET/tunnel/route removal flows for Bitmap VNET implementation (#816) [Volodymyr Samotiy]
* a937f92 2019-03-22 | [VS]: fix occasional test_fdb_notifications vs test failure (#813) [Jipan Yang]
* ea54825 2019-03-21 | [portsorch] Fix inconsistent return value in bindAclTable (#791) [yorke]
* 5984e3a 2019-03-07 | Fix orchagent SEGV when PortConfigDone not set (#803) [Ramesh Santhanakrishnan]

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-03-30 11:57:25 -07:00
Stepan Blyshchak
8ebfc3a115 [mellanox] Make mellanox SAI-Implementation as submodule (#2711)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-03-28 09:44:15 -07:00
Stepan Blyshchak
0e01ff557b [mellanox] add makefiles to build Mellanox SDK from sources (#2701)
* [.gitignore] add missing directories to .gitignore

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [buildsystem] add ability to override make variables from root Makefile

To override any make variable during build use SONIC_OVERRIDE_BUILD_VARS, e.g:
"make SONIC_OVERRIDE_BUILD_VARS="PARAM1=A PARAM2=B" all"

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] add SDK build from sources

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] pass -j$(SONIC_CONFIG_MAKE_JOBS) when building SDK

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] Add MLNX_SAI_REPO, MLNX_FW_BASE_URL variables

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] if MLNX_SDK_BASE_SOURCE_URL is not empty then build SDK from sources

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-03-27 18:32:25 -07:00
Andriy Moroz
5cfd97a65f [Mellanox] Update SAI (#2685)
New SAI fixes getting of queue buffer profile

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2019-03-21 10:47:08 -07:00
Stepan Blyshchak
c0caf0c372 [dockers] Build stretch dockers only once and only in stretch slave docker (#2678)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-03-19 09:16:33 -07:00
Stepan Blyshchak
a45f41ec1b [mellanox] Fix in mlnx-ffb.sh (#2676)
Fixes "No ISSU version file found /etc/mlnx/issu-version"
when rebooting to different image;
Add aditional check condition.

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-03-18 08:53:35 -07:00
Andriy Moroz
383d52956e [mellanox]: Update SDK, FW and SAI (#2669)
MLNX_SDK_VERSION = 4.3.0136
SPC_FW_VERSION = 13.1910.0920
MLNX_SAI_VERSION = SAIRel1.13.7-master

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2019-03-15 00:25:19 -07:00