Commit Graph

114 Commits

Author SHA1 Message Date
Joe LeVeque
840be7732c
[201911][devices] Update SFP keys to align with new standard (#4976)
Align SFP key names with new standard defined in https://github.com/Azure/sonic-platform-common/pull/97

- hardwarerev -> hardware_rev
- serialnum -> serial
- manufacturename -> manufacturer
- modelname -> model
- Connector -> connector
2020-07-16 11:09:47 -07:00
Stephen Sun
0e0c7c2e8a [mellanox]: Support warm reboot on MSN4700 (#4910) 2020-07-08 09:04:19 -07:00
shlomibitton
96ef32a202 [mellanox]: Fix for MSN4600C sensors (#4754)
Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>
2020-07-05 15:42:19 -07:00
Junchao-Mellanox
acafde1895 [Mellanox] Change port index in port_config.ini to 1-based (#4781)
* Change port index in port_config.ini to 1-based
* Add default port index to port_config.ini, change platform plugins to accept 1-based port index
* fix port index in sfp_event.py
2020-06-28 07:24:10 -07:00
madhanmellanox
33e2264746 added files to create SKU Mellanox-SN3800-D24C52 (#4808)
* added files to create SKU Mellanox-SN3800-D24C52

Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-06-28 07:22:12 -07:00
madhanmellanox
337502c220
converting to Platform based utils (#4830)
Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-06-23 09:12:54 -07:00
madhanmellanox
67e183d0dc added files to create SKU Mellanox-SN3800-C64 (#4812)
* added files to create SKU Mellanox-SN3800-C64
Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-06-22 17:39:31 -07:00
madhanmellanox
b94c12d920 modified files relevant to SKU Mellanox-SN3800-D112C8 (#4810)
* modified files relevant to SKU Mellanox-SN3800-D112C8

Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-06-22 17:38:42 -07:00
madhanmellanox
415000b8b2 added files to create SKU Mellanox-SN3800-D28C50 (#4809)
* added files to create SKU Mellanox-SN3800-D28C50

Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-06-22 17:37:46 -07:00
shlomibitton
eb2fe4b16e Fix MSN4700 sensors (#4753)
Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>
2020-06-16 08:16:55 -07:00
Junchao-Mellanox
0a70571011
[201911][thermal control] Backport feature from master branch (#4677)
Backport thermal control feature from master branch to 201911 branch by cherry-picking commits and manually resolving conflicts.
2020-06-08 11:20:43 -07:00
shlomibitton
3ca65bdb67 [Mellanox] Fix 'sensors.conf' mapping for MSN4700 (#4511)
* [Mellanox] Fix 'sensors.conf' mapping for SN4700

Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>

* Fix some labels name
2020-05-27 17:58:55 -07:00
Nazarii Hnydyn
c266435d40
Revert "Add thermal control support for SONiC (#3949)" (#4527)
This reverts commit 109a13cc03.

Conflicts:
	dockers/docker-platform-monitor/docker-pmon.supervisord.conf.j2
2020-05-04 21:20:47 +03:00
Junchao-Mellanox
109a13cc03 Add thermal control support for SONiC (#3949) 2020-04-30 22:39:17 -07:00
Kebo Liu
4bd47e3d7f [mellanox]: MSN4700 support 8 lanes 400G with new SAI/SDK/FW (#4509)
Update SAI/SDK/FW and MSN4700 device files to support 8 lanes 400G

Update SAI to 1.16.3
Update SDK to 4.4.0914
Update FW to *.2007.1112
Update MSN4700 device files to support 8 lanes 400G
2020-04-30 22:19:21 -07:00
Stephen Sun
56072ce938 [Mellanox] Fix error in sensors.conf for 3700/3700c/3800 (#4506) 2020-04-30 22:18:18 -07:00
shlomibitton
7709ff5228 [Mellanox] Add a new Mellanox platform x86_64-mlnx_msn4600c and new SKU ACS-MSN4600C (#4483)
* New SKU support for MSN4600C

Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>
2020-04-30 22:15:52 -07:00
Stephen Sun
b646045958 [Mellanox]Mellanox-SN3800-D112C8 support warm-reboot (#4482) 2020-04-30 22:15:12 -07:00
Kebo Liu
e12d2e8bee
[PMON] Extend pmon daemon start control to lm-sensors and fancontrol for 201911 (#4487)
Extend the PMON daemon start control to lm-sensors and fancontrol.

change template docker-pmon.supervisord.conf.j2 and start.sh.j2 to have lm-sensors and fancontrol start scripts and supervisord config file controlled by pmon_daemon_control.json.

the intention is to avoid wrong daemon status in "supervisorctl status" output. For example, on some platform, if there is no fancontrol config file, and it is not ruled out from supervisord conf file and start.sh, we'll see fancontrol in "STOPPED" status from "supervisorctl status" output, which will violate some check in the platform test(check daemon status as expected)
2020-04-28 18:39:10 -07:00
shlomibitton
aa33a959dd [Mellanox] Add a new Mellanox platform x86_64-mlnx_msn3420 and new SKU ACS-MSN3420 (#4436)
* New SKU support for MSN3420

Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>

Conflicts:
	device/mellanox/x86_64-mlnx_msn2700-r0/plugins/sfputil.py

* Add CPLD's

* Symlink fixes and semantics

* Adding new platform at end of lines
2020-04-27 08:50:23 -07:00
Kebo Liu
eb55c22742 [Mellanox] bug fix - adpt sfputil plugin to support ACS-MSN4700 (#4361) 2020-04-15 13:10:21 -07:00
Mykola F
be0e923ca1 [Mellanox] update eeprom.py plugin for SimX (#4364)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2020-04-06 17:13:41 -07:00
Mykola F
aa30030fd1 [devices][Mellanox] create sai.xml for MSN3800-D112-C8 (#4334)
sai_xml contains info about port splits, previously it simply linked to the MSN3800 sai xml, which does not have splits. New version describes splits and speeds according to Mellanox-SN3800-D112-C8 SKU.

Practically it can cause port recreation on SAI init.

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2020-04-01 23:28:43 -07:00
Kebo Liu
ca8ac9d437 [Mellanox] Add a new Mellanox platform x86_64-mlnx_msn4700 and new SKU ACS-MSN4700 (#3901)
* add MSN4700 device files

* update ACS-MSN4700 sai profile

* update buffer pool size, headroom, sensor conf, port config and reboot scripts

* fix ident

* update sensor conf and buffer pool

* [sn4700] add sku 4700 to chassis.py

* [Mellanox-4700] Add 4700 info to psu and thermal platform API

* update buffer config file template to the latest.
update SAI profile to use 100G X 4lanes for now
update port_config.ini according to the SAI profile

* [Mellanox]Update the buffer configurations for 4700

* fix alignment in pg_profile_lookup.ini

* add platform components file for new sku

* Update device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/pg_profile_lookup.ini

Co-Authored-By: Nazarii Hnydyn <nazariig@mellanox.com>

* remove redundant line

* [Mellanox]Correct type, buffer size

Co-authored-by: Nazarii Hnydyn <nazariig@mellanox.com>
Co-authored-by: junchao <junchao@mellanox.com>
Co-authored-by: Stephen Sun <stephens@mellanox.com>
2020-03-24 15:11:34 -07:00
Joe LeVeque
bcfc3d1745 [Mellanox]the port index in port_config.ini should starts from 0 (#4152) 2020-03-14 18:33:20 -07:00
Stephen Sun
774487badc [Mellanox] Calculate the buffer size based on the latest excel and with gearbox considered (#4239) 2020-03-14 18:01:39 -07:00
Kebo Liu
0050cc1ce7 filter out CPU ports to avoid any operation on them (#4197) 2020-03-03 19:23:07 -08:00
Kebo Liu
91e64f063e Update SDK to 4.3.3052 (#4153)
update FW to xx_2000_3298
update SAI to 1.16.0

update Spectrum-1 and Spectrum-2 buffer pool size according to the new SDK default config change.

	modified:   ../../device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2
	modified:   ../../device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2
	modified:   ../../device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t0.j2
	modified:   ../../device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t1.j2
	modified:   fw.mk
	modified:   mlnx-sai.mk
	modified:   mlnx-sai/SAI-Implementation
	modified:   sdk-src/sx-kernel/Switch-SDK-drivers
	modified:   sdk.mk

signed-off by kebol@mellanox.com
2020-02-24 10:24:42 -08:00
Stephen Sun
bc30442a38 [sfputil]fix an syntax error (#4141) 2020-02-24 10:16:37 -08:00
Nazarii Hnydyn
651f4a068e [mellanox] Add fwutil platform components. (#3999)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-02-24 10:15:38 -08:00
Stepan Blyshchak
3ba436118d [mellanox] enable ISSU on SPC2 systems (#4087)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2020-02-13 16:03:42 -08:00
Nazarii Hnydyn
a4ca818ca9 [mellanox]: Add new Mellanox-SN3800-D112C8 sku. (#4085)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-02-03 15:39:14 -08:00
Dong Zhang
42bffc1215 [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-02-03 15:36:55 -08:00
Nazarii Hnydyn
6a4b2d1eef [mellanox]: Enhance pmon synchronization with hw-mgmt platform counters. (#3885)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-12-18 11:18:52 -08:00
Wenda Ni
206df4327f
Adopt per-port buffer & qos profile apply on mellanox (#3543)
Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-10-22 09:37:45 -07:00
Nazarii Hnydyn
37ba921449 [mellanox] Update SN3800 device configs. (#3633)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-10-19 12:11:58 +03:00
Mykola F
124b26d72f [Mellanox] platform_reboot - sync & umount fs before power cycle (#3430)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-09-17 09:38:30 -07:00
Kebo Liu
4aadbbefaf remove platform_wait script from mellanox simx platform (#3380)
mellanox simx platform don't have QSFP sysfs created, this script will cause timeout issue on simx platform
Signed-off-by: Kebo Liu <kebol@mellanox.com>
2019-08-23 12:02:36 -07:00
Mykola F
2a7d8624cb [Mellanox] align platform reboot to use "hardware reboot" (#3321)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-08-19 10:25:39 -07:00
Kebo Liu
c7db1ec2e2 [Mellanox sfputil] update get_transceiver_change_event to support more event (#3261) 2019-08-07 09:30:21 -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
Stephen Sun
b9a806b38f [sfputil]Fix issue: xcvrd is broken. (#3258)
xcvrd is broken because a newly introduced interface get_transceiver_dom_threshold_info_dict in common code calls a unsupported interface _read_eeprom_specific_bytes.
Fix the issue by implement get_transceiver_dom_threshold_info_dict to avoid calling the unsupported interface.
2019-08-01 11:59:52 -07:00
Mykola F
8989c0f8da [mlnx|spc2] change egress lossless pool size from 37M to 34M (#3166)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-07-16 08:36:38 -07:00
Stephen Sun
f41e381c9a [Mellanox] fix the issue that failing to test whether dom supported prior to reading dom data (#3120)
* fix the issue Bug SW #1816356 which is due to failing to test whether dom supported prior to reading dom data

* use pre-defined variable to avoid magic number.
no need to read 16 bytes, 1 byte is enough since calibration and dom capability are all in bytes at offset 92
2019-07-06 14:51:16 -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
Stepan Blyshchak
44bc083cde [mlnx] change egress pool size from 40M to 37M (#2992)
new FW/SDK limits pool size to 37M

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-12 01:23:54 -07:00
Stephen
bf2c9cd099 [Mellanox]Remove the dependency on sysfs for sfputil (#2967)
* [sfputil]Remove the dependency on sysfs for sfputil, mainly get_presence and port_to_eeprom_mapping
Remove the dependency on sysfs, including:
1. rewrite get_presence by using ethtool;
2. remove interface port_to_eeprom_mapping which is no longer referenced;
3. remove code that references port_to_eeprom_mapping and _port_to_eeprom_mapping;
4. remove private member qsfp_sysfs_path which is no longer referenced.

* [sfputil.py]
minor adjustment: move the presence=False to the beginning of get_presence.
2019-06-07 06:21:03 -07:00
Stephen
cfa14ce1a6 [Mellanox]Fix issue #2720 Not able to read out values of voltage/temp/power on some cables (#2957)
* [device/mellanox/x86_64-mlnx_msn2700-r0/plugins/sfputil.py]
purpose and restrictions
1. reading eeprom via ethtool.
2. avoid changing common codes shared by all the manufacture (sonic-platform-common), contrain all the modifications with Mellanox-specific code.
current implementation
A new class based on SfpUtilBase and a new method _read_eeprom_specific_bytes_via_ethtool have been introduced in order to change the way the eprom DOM data is read. Typically the best practice to do this kind of thing is to contrain the modification within the function which execute reading operations only and keep other stuffs (especially the interface) untouched. However, this can hardly be achieved since the original reading function takes the file object as input parameter to represent the port. It is done by having the file object to point to /var/run/hwmanagement files, which will not be maintained in the future. As a result, a new interface has to be introduced with a port number/name as input parameter in order to get rid of the dependency on the those files:
_read_eeprom_specific_bytes_via_ethtool
Since the interface changed, all methods that call the interface should also be overwritten in order to call the new interface, including:
_read_eeprom_devid
get_transceiver_info_dict
get_transceiver_dom_info_dict
Only interface used to read eeprom DOM has been replaced and the main logic has not been changed except the following mentioned.
1. reading DOM data for sfp port, which is implementioned in get_transceiver_dom_info_dict. In this case a "calibration" should be firstly read from eeprom before other values like temperature, voltage, rx/tx power, can be parsed. However, this has been ignored in the original code, resulting in that the data cann't be parsed.
2. In the original implemention the data area containing the data are read from DOM separatedly in order to avoid read uncessary data and achieve a better performance. Having used ethtool to read DOM data, the performance gap between reading all the area and reading the spot data separatedly has been narrowed to almost zero. To make the code neat and readable, we change the way to read this data.

* [sfputil] Returns dict with all data set to N/A for ports without dom support
Currently, the way in which dom data is read has been changed from using sysfs to using ethtool.
The ethtool returns None for ports without dom support, resulting in None being returned. However, this fails xcvrd to add the TRANSCEIVER_DOM_SENSOR table entry of associated port to CONFIG_DB and then causes SNMP fail.
To address this issue a default dict is initialized with all data set to 'N/A' and is returned is the above case.
BTW, in the original implementation which sysfs is used to read dom data, even though non-None data is returned for ports without dom support, it does not contain valid data. This can result in wrong data in TRANSCEIVER_DOM_SENSOR table.

* [sfputil]
removing unnecessary empty lines
removing redundent code
replacing hardcoding strings/numbers with predefined const variables
2019-05-31 08:22:47 -07:00
Kebo Liu
0cdc22d3cb [devices]: enable ISSU on 2410 (#2937) 2019-05-25 18:00:52 -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