#### 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`
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
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>
* [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
* [platform] Add Psuutil and fixed voltage alarm for S9100
* Add I2C CPLD kernel module for psuutil.
* Support psuutil script.
* Add voltage min and max threshold.
Signed-off-by: Wade He <chihen.he@gmail.com>
* [Platform] Add Psuutil and update sensors.conf for S8810-32Q and S9200-64X
* Support psuutil script.
* Update sensors.conf for tmp75.
Signed-off-by: Wade He <chihen.he@gmail.com>
change hwmon kernel modules installation order on S8810-32Q/S8900-54XC/S8900-64XC/S9100-32X
change hwmon kernel modules installation order in i2c_utils.sh and update related fancontrol file
Check the hwmon kernel module insertion order in /sys/class/hwmon/hwmonX.
w83795 should be in /sys/class/hwmon/hwmon1, and jc42 should be the last one.
change hwmon kernel modules installation order on S8810-32Q/S8900-54XC/S8900-64XC/S9100-32X
* [Ingrasys] update port_config.ini and sfputil for ingrasys platforms
- What I did
Update port_config.ini on S8810-32Q/S8900-54XC/S8900-64XC/S9100-C32 platforms
- How I did it
Update alias field and add port field in port_config.ini
- How to verify it
Check with the "sfputil show eeprom" command. If no error occurs, it is passed.
- Description for the changelog
Update port_config.ini on S8810-32Q/S8900-54XC/S8900-64XC/S9100-C32 platforms
* [Ingrasys] remove debug message in sfputil.py on S8810-32Q
- What I did
remove debug message in sfputil.py on S8810-32Q
- How I did it
remove print in get_low_power_mode() and set_low_power_mode()
- How to verify it
There should be no debug message when executing "sfputil show lpmode"
and "sfputil lpmode on Ethernet0"command.
- Description for the changelog
remove debug message in sfputil.py on S8810-32Q
- A picture of a cute animal (not mandatory but encouraged)
* Update submodule platform/broadcom/sonic-platform-modules-ingrasys
* Fixed FAN Status Setup Error.
* Add Drivers deinitialization feature.
* Allow for updating drivers on a running system.
* Let fans returned to full speed when driver uninstalled.
* Change S8900-64XC fancontrol config
* Delete S9100 syncd.conf
Signed-off-by: Wade He <chihen.he@gmail.com>
* Update submodule
* Fixed build error in fsroot on different kernel versions between host and rootfs.
* Fixed Read HW Revision in CPLD.
* rmmod check to avoid error.
Signed-off-by: Wade He <chihen.he@gmail.com>
[swss]: Generate config files for Everflow and IPinIP from minigraph
- Add Everflow DST IP to minigraph file
- Extend minigraph.py to support Everflow
- Add templates file for Everflow and IPinIP configuration
- Add config.sh for swss docker to generate config files
( All device-specific files now reside under /device directory in a <vendor-name>/<platform-string>/<hardware-SKU> directory structure in repo.
* Device-specific files are now packaged into a Debian package (sonic-device-data) and are now installed to /usr/share/sonic/device/<platform-string>/<hardware-SKU>/ directory on switch.