Commit Graph

37 Commits

Author SHA1 Message Date
Aravind Mani
821be3f6fc
DellEMC: System health config changes (#15771)
Why I did it
System health config is missing in few Dell platforms.

How I did it
Added system health monitoring config and its related API's

How to verify it
show system-health summary/detail commands.
2023-08-23 11:05:03 -07:00
Mai Bui
06e1a0bc14
[device/dell] Mitigation for security vulnerability (#11875)
Dependency: [PR (#12065)](https://github.com/sonic-net/sonic-buildimage/pull/12065) needs to merge first.

#### Why I did it
`commands` module is not protected against malicious input
`getstatusoutput` is detected without a static string, uses `shell=True`
#### How I did it
Eliminate the use of `commands`
Use `subprocess.run()`, commands in `subprorcess.run()` are totally static
Fix indentation
#### How to verify it
Tested on DUT
[dell_log.txt](https://github.com/sonic-net/sonic-buildimage/files/9561332/dell_log.txt)
2023-01-05 16:22:09 -08:00
Aravind Mani
2865fd4c72
[DellEMC] DMA errors are seen when loading bullseye kernel (#9641)
Following errors are seen continuously on SMBus controller when loading bullseye kernel.

[ 273.643046] DMAR: [DMA Write] Request device [00:12.0] PASID ffffffff fault addr 0 [fault reason 05] PTE Write access is not set
[ 273.785784] DMAR: DRHD: handling fault status reg 2
[ 273.844072] DMAR: [DMA Write] Request device [00:12.0] PASID ffffffff fault addr 0 [fault reason 05] PTE Write access is not set
[ 273.986804] DMAR: DRHD: handling fault status reg 2
[ 274.045101] DMAR: [DMA Write] Request device [00:12.0] PASID ffffffff fault addr 0 [fault reason 05] PTE Write access is not set
[ 274.187789] DMAR: DRHD: handling fault status reg 2

root@sonic:~# lspci -s 00:12.0 -vv
00:12.0 System peripheral: Intel Corporation Atom Processor C3000 Series SMBus Contoller - Host (rev 11)

Issue was not seen in buster. 

Modified platform specific installer.conf to turn off io_mmu
2022-01-03 08:47:13 -08:00
Qi Luo
add9b651b6
Add platform_asic file to each platform folder in sonic-device-data based package (#8542)
#### Why I did it
Add platform_asic file to each platform folder in sonic-device-data package. The file content will be used as the ground truth of mapping from PLATFORM_STRING to switch ASIC family.

One use case of the mapping is to prevent installing a wrong image, which targets for other ASIC platforms. For example, currently we have several ONIE images naming as sonic-*.bin, it's easy to mistakenly install the wrong image. With this mapping built into image, we could fetch the ONIE platform string, and figure out which ASIC it is using, and check we are installing the correct image.

After this PR merged, each platform vendor has to add one mandatory text file  `device/PLATFORM_VENDOR/PLATFORM_STRING/platform_asic`, with the content of the platform's switch ASIC family.

I will update https://github.com/Azure/SONiC/wiki/Porting-Guide after this PR is merged.

You can get a list of the ASIC platforms by `ls -b platform | cat`. Currently the options are
```
barefoot
broadcom
cavium
centec
centec-arm64
generic
innovium
marvell
marvell-arm64
marvell-armhf
mellanox
nephos
p4
vs
```

Also support
```
broadcom-dnx
```

#### How I did it

#### How to verify it
Test one image on DUT. And check the folders under `/usr/share/sonic/device`
2021-10-08 19:27:48 -07:00
Ashok Daparthi-Dell
6cbdf11e53
SONIC QOS YANG - Remove qos tables field value refernce format (#7752)
Depends on Azure/sonic-utilities#1626
Depends on Azure/sonic-swss#1754

QOS tables in config db used ABNF format i.e "[TABLE_NAME|name] to refer fieldvalue to other qos tables.

Example:
Config DB:
"Ethernet92|3": {
"scheduler": "[SCHEDULER|scheduler.1]",
"wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]"
},
"Ethernet0|0": {
"profile": "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"Ethernet0": {
"dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
"pfc_enable": "3,4",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]"
},

This format is not consistent with other DB schema followed in sonic.
And also this reference in DB is not required, This is taken care by YANG "leafref".

Removed this format from all platform files to consistent with other sonic db schema.
Example:
"Ethernet92|3": {
"scheduler": "scheduler.1",
"wred_profile": "AZURE_LOSSLESS"
},

Dependent pull requests:
#7752 - To modify platfrom files
#7281 - Yang model
Azure/sonic-utilities#1626 - DB migration
Azure/sonic-swss#1754 - swss change to remove ABNF format
2021-09-28 09:21:24 -07:00
Aravind Mani
fa9f8eecf1
DellEMC: Change PG values for S5232f,Z9264f (#7102)
* DellEMC: Change PG values for S5232f,Z9264f

* change-v1
2021-08-09 14:56:48 -07:00
Aravind Mani
2479898937
[DellEMC] Buffer profile changes for S5232 and Z9264 (#8170)
In QoS buffer profile, mode field is not needed.
2021-07-24 16:35:30 -07:00
Joe LeVeque
18f2c5cfdd
[platform] Update QSFP method name 'parse_qsfp_dom_capability' -> 'parse_dom_capability' (#6695)
**- Why I did it**
PR https://github.com/Azure/sonic-platform-common/pull/102 modified the name of the SFF-8436 (QSFP) method to align the method name between all drivers, renaming it from `parse_qsfp_dom_capability` to `parse_dom_capability`. Once the submodule was updated, the callers using the old nomenclature broke. This PR updates all callers to use the new naming convention.

**- How I did it**

Update the name of the function globally for all calls into the SFF-8436 driver.

Note that the QSFP-DD driver still uses the old nomenclature and should be modified similarly. I will open a PR to handle this separately.
2021-02-05 14:41:05 -08:00
Joe LeVeque
7f4ab8fbd8
[sonic-utilities] Update submodule; Build and install as a Python 3 wheel (#5926)
Submodule updates include the following commits:

* src/sonic-utilities 9dc58ea...f9eb739 (18):
  > Remove unnecessary calls to str.encode() now that the package is Python 3; Fix deprecation warning (#1260)
  > [generate_dump] Ignoring file/directory not found Errors (#1201)
  > Fixed porstat rate and util issues (#1140)
  > fix error: interface counters is mismatch after warm-reboot (#1099)
  > Remove unnecessary calls to str.decode() now that the package is Python 3 (#1255)
  > [acl-loader] Make list sorting compliant with Python 3 (#1257)
  > Replace hard-coded fast-reboot with variable. And some typo corrections (#1254)
  > [configlet][portconfig] Remove calls to dict.has_key() which is not available in Python 3 (#1247)
  > Remove unnecessary conversions to list() and calls to dict.keys() (#1243)
  > Clean up LGTM alerts (#1239)
  > Add 'requests' as install dependency in setup.py (#1240)
  > Convert to Python 3 (#1128)
  > Fix mock SonicV2Connector in python3: use decode_responses mode so caller code will be the same as python2 (#1238)
  > [tests] Do not trim from PATH if we did not append to it; Clean up/fix shebangs in scripts (#1233)
  > Updates to bgp config and show commands with BGP_INTERNAL_NEIGHBOR table (#1224)
  > [cli]: NAT show commands newline issue after migrated to Python3 (#1204)
  > [doc]: Update Command-Reference.md (#1231)
  > Added 'import sys' in feature.py file (#1232)

* src/sonic-py-swsssdk 9d9f0c6...1664be9 (2):
  > Fix: no need to decode() after redis client scan, so it will work for both python2 and python3 (#96)
  > FieldValueMap `contains`(`in`)  will also work when migrated to libswsscommon(C++ with SWIG wrapper) (#94)

- Also fix Python 3-related issues:
    - Use integer (floor) division in config_samples.py (sonic-config-engine)
    - Replace print statement with print function in eeprom.py plugin for x86_64-kvm_x86_64-r0 platform
    - Update all platform plugins to be compatible with both Python 2 and Python 3
    - Remove shebangs from plugins files which are not intended to be executable
    - Replace tabs with spaces in Python plugin files and fix alignment, because Python 3 is more strict
    - Remove trailing whitespace from plugins files
2020-11-25 10:28:36 -08:00
Lawrence Lee
d0f16c0d79
Make backend device checking more robust (#5730)
Treat devices that are ToRRouters (ToRRouters and BackEndToRRouters) the same when rendering templates
 Except for BackEndToRRouters belonging to a storage cluster, since these devices have extra sub-interfaces created
Treat devices that are LeafRouters (LeafRouters and BackEndLeafRouters) the same when rendering templates

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-11-10 15:06:35 -08:00
Aravind Mani
42d2bf1a53
[devices]: DellEMC Z9264f buffer changes (#5429)
**- Why I did it**
Converted two SP model to single pool model and modified the buffer size.
**- How I did it**
Changed buffer_default settings for all the DellEMC Z9264f HWSKU's.
**- How to verify it**
Check SP register values in NPU shell.
**- Which release branch to backport (provide reason below if selected)**
Need to be cherry picked for 201911 branch.
2020-10-29 01:52:24 -07:00
Arun Saravanan Balachandran
bcc6c64335
[DellEMC]: Platform modules Python3 compliance and other changes (#5609)
- Make DellEMC platform modules Python3 compliant.
- Change return type of PSU Platform APIs in DellEMC Z9264, S5232 and Thermal Platform APIs in S5232 to 'float'.
- Remove multiple copies of pcisysfs.py.
- PEP8 style changes for utility scripts.
- Build and install Python3 version of sonic_platform package.
- Fix minor Platform API issues.
2020-10-17 12:31:55 -07:00
abdosi
a6a10f05b7
In SAI 3.5 by default we are supporting 256 Group with 64 Memeber each. (#5400)
However in SAI 3.7 default behaviout got changes to 128 Group and 128
    Memeber each.

    This change is to make sure we are using same ECMP Group/Memeber Per
    Group for 3.7 also so that behaviour is consistent.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-22 11:21:12 -07:00
abdosi
b6efb49817
Update bcm soc property bcm_num_cos from 8 to 10 (#5314)
as needed by SAI 3.7 and above. Without this change
Warmboot fails from 3.5 to 3.7 as Braodcoam Datastructure
gets corrupted after warm-boot.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-04 07:40:17 -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
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
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
Arun Saravanan Balachandran
5b18aa5f4d DellEMC: Skip starting 'ledd' in pmon in DellEMC platforms (#3762) 2019-11-28 14:41:58 -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
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
Aravind Mani
00ab25d4e3 [devices]: DellEMC-Z9264f: 10G_Port_addition (#3475)
Added 10G ports for all the HWSKU(100G/40G/50G)
2019-09-27 10:20:07 +02:00
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
Sudharsan D.G
621d2d4039 [devices]: Updating pre-emphasis for Z9264f based on updated HW Spec (#3267) 2019-08-07 09:28:51 -07:00
Karthik Gengan
8c3fdfd079 DellEmc(Z9264f): Bug fix in show platform psustatus cli (#3033) 2019-06-28 16:45:21 -07:00
paavaanan
622c426a84 [devices]: DellEMC Z9264f remove 115200 baud-ratesupport (#3046) 2019-06-22 17:15:22 -07:00
Karthik Gengan
91b1948b17 [devices]: DellEmc: Z9264f Pre-emphasis and Led settings (#2959) 2019-05-31 08:23:27 -07:00
Harish Venkatraman
10a6157c83 [DellEMC-Z9264f-Q64] Add PFC support for 40G z9264f (#2940)
This commit adds new code and JAON file to support PFC
and MMU setting for PFC feature on z9264f-Q64 (40G) T0
and T1 support. The buffers_defaults_t0.json and
buffers_defaults_t1.json file has the recommended values
for T0 and T1 configuration.
Unit tested and verified by running JSON file and checking
the hardware registers and table in broadcom. THe settings
in hardware are reflecting the JSON values.

Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
2019-05-28 08:42:22 -07:00
Karthik Gengan
38fb90d7da [devices]: DellEmc Z9264f: Adding port speed entry in port_config.ini. (#2949) 2019-05-27 23:27:21 -07:00
Karthik Gengan
154a88331d [devices]: DellEmc-Z9264f:Interrupt based Optic OIR (#2926) 2019-05-22 22:09:53 -07:00
Harish Venkatraman
68ccfaaade [DellEMC-Z9264f-C64] Add PFC support for z9264f (#2893)
This commit adds new code and JSON file to support PFC and
broadcom recommended MMU setting for PFC feaure on z9264f
(100G) T1 support. The buffers_defaults_t1.json file has
the broadcom recommended values for T1 configuration.
Unit tested and verified by running the JSON file and checking
the hardware registers and table in broadcom. The settings in
the hardware is reflecting the broadcom recommended values.

Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
2019-05-16 18:49:30 -07:00
Sudharsan D.G
db7c42f750 [devices]: Adding new SKU to DELL Z9264f (#2891)
correcting default sku

Changes for adding tiers

Adding new SKU to Z9264f

correcting default sku

Changes for adding tiers

Modified reboot script

Adding new SKU to Z9264f

correcting default sku

Changes for adding tiers

Adding new SKU to Z9264f

correcting default sku

Changes for adding tiers

Modified reboot script

Renaming sai.profile

UT Fixes

Fixing z9100 c32

Modifying c64 sku

Changing default sku

Fixing typo
2019-05-13 13:36:25 -07:00
Sudharsan D.G
1ffb34b4e3 [devices]: Dell z9264f bringup (#2415)
* Updating Z9264f for A01 board

* Adding platform_reboot plugin to Z9264f

* Change execute mode for platform_reboot

* Indenting python files

* Adding missed service file

* Addressing code review comments

* Modified the polling logic in transceiver change event
2019-01-08 21:14:18 -08:00
Ying Xie
5ab66b191a
[bcm config] remove scache_filename config entry (#2140)
Warm boot is managed by SAI. This configuration entry shouldn't be
included in bcm config.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-10-12 08:05:38 -07:00
Taoyu Li
018b5899be [updategraph] add support to use preset config instead of default minigraph (#2050)
* [updategraph] add support to use preset config instead of default minigraph

* Fix variable case

* Remove default minigraph case

* Remove default minigraphs and add default_sku files
2018-09-21 22:01:10 -07:00
Kebo Liu
ac7e06debd [devices]: add stubs for new API in SfpUtilBase for all devices (#2038) 2018-09-12 09:40:29 -07:00
Ying Xie
e7ef637a09
[config-bcm] move broadcom config files to device folder (#1947)
- Future versions of SAI packages will stop carrying these files.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-08-20 10:11:11 -07:00
paavaanan
ecfca8bf23 [devices]: DellEMC new platform support for z9264f - 64x100 (#26)
* Added new platform support DellEMC - Z92264f - 64x100

* Includes changes with Makefiles, sfputil, eeprom and default minigraph

* Led support for Z9264f platform

* Includes changes on default minigraph

* ipmitool implementation in pmon docker. platform_sensors script is inclued in pmon startup
2018-08-11 09:09:03 +00:00