Compare commits

...
This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.

140 Commits

Author SHA1 Message Date
StormLiangMS
f0764d65bb Revert "[202211][swss.sh] optimize macsec feature state query (#12946) (#13509)"
This reverts commit e33b92fcaf.
2023-02-04 22:41:35 +08:00
Oleksandr Ivantsiv
a754c753bb [build] Add the possibility to disable compilation of teamd and radv containers. (#12920)
- Why I did it
This optimization is needed for DPU SONiC. DPU SONiC runs a limited set of containers and teamd and radv containers are not part of them. Unlike the other containers, there was no possibility to disable teamd and radv containers compilation.
To reduce DPU SONiC compilation time and reduce the image size this commit adds the possibility to disable their compilation.

- How I did it
Two new configuration options are added to rules/config file:

INCLUDE_TEAMD
INCLUDE_ROUTER_ADVERTISER
By default to preserve the existing behavior both options are enabled. There are two ways to override them:

To change option value to "n" in rules/config file.
To override their value using SONIC_OVERRIDE_BUILD_VARS env variable:
SONIC_OVERRIDE_BUILD_VARS="SONIC_INCLUDE_TEAMD=y SONIC_INCLUDE_ROUTER_ADVERTISER=n"

- How to verify it
The default behavior is preserved. To verify it compile the image without overriding new options. Install the image and verify that both teamd and radv containers are present and running.
To verify the new options override them with "n" value. Compile and install image. Verify that no docker containers are present. Verify that SWSS can start without errors.
2023-02-04 10:48:18 +08:00
byu343
2f27120c8a [Arista]: Add hwSku Arista-7260CX3-D108C10 (#13242)
* [Arista]: Add hwSku Arista-7260CX3-D108C10

* Add buffer-related config for Arista-7260CX3-D108C10
2023-02-04 10:48:14 +08:00
kenneth-arista
e3790d3044 [device/arista] Disabled polled_irq_mode for DNX SKUs (#13349)
Disabled polled_irq_mode for all Arista DNX devices as this mode
leads to excessive use of the CPU via an unneeded interrupt
polling thread.
2023-02-04 10:48:10 +08:00
Ikki Zhu
2ab45b1127 [Celestica Seastone] fix multi sonic platform issues (#13356)
Why I did it
Fix the following issues for Seastone platform:

- system-health issue: show system-health detail will not complete #9530, Celestica Seastone DX010-C32: show system-health detail fails with 'Chassis' object has no attribute 'initizalize_system_led' #11322
- show platform firmware updates issue: Celestica Seastone DX010-C32: show platform firmware updates #11317
- other platform optimization

How I did it
Modify and optimize the platform implememtation.

How to verify it
Manual run the test commands described in these issues.
2023-02-04 10:48:05 +08:00
Sudharsan Dhamal Gopalarathnam
ce8ffb6812 [yang] Add collector_vrf to sflow yang model (#12897)
- Why I did it
Fixed sflow yang model to include collector_vrf field.

- How I did it
Added leaf for collector_vrf under sflow_collector. Additionally aligned the configuration guide

- How to verify it
Added UT to verify.
2023-02-04 09:54:17 +08:00
Saikrishna Arcot
2e760823c1 Replace logrotate cron file with (adapted) systemd timer file (#12921)
Debian is shipping a systemd timer unit for logrotate, but we're also
packaging in a cron job, which means both of them will run, potentially
at the same time. Remove our cron file, and add an override to the
shipped timer file to have it be run every 10 minutes.

Fixes #12392.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2023-02-04 09:54:12 +08:00
Liu Shilong
56c2c65372 [build]: increase raw image disk size to 4GB (#12958)
3GB disk size is not enough for broadcom raw image.
2023-02-04 09:54:08 +08:00
Longxiang Lyu
918e2d11f8 [dualtor] Let T0 delay 10 seconds before sending BGP updates (#12996)
Why I did it
To ensure, that after a BGP startup, dualtor T0 receives BGP updates before sending out BGP updates.
Please refer to sonic-net/SONiC#1161 for more details.

How I did it
add coalesce-time 10000 to the frr bgp startup config.

Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
2023-02-04 09:54:05 +08:00
lixiaoyuner
7161ff46ca Add k8s support feature set and Add platform label for scheduler usage (#12997)
Why I did it
We plan to pilot k8s feature, need to fix several bugs including enable telemetry feature and add platform label.

How I did it
Add support feature set, only enable telemetry container upgrade for now
Add platform label for scheduler usage
Remove CNI installation code, it would be auto installed when install kubeadm
How to verify it
After sonic device join k8s cluster, show node labels to check if platform label is visible.

Signed-off-by: Yun Li yunli1@microsoft.com
2023-02-04 09:54:01 +08:00
Zain Budhwani
24be87504f Change bgp notification leaf name and mem_usage leaf type (#13012)
#### Why I did it

Improve naming convention for bgp notification events and change type of leaf for sonic-events-host mem usage from uint64 to decimal64

#### How I did it

Replace "-" with "_"

Replace uint64 with decimal64

#### How to verify it

Run yang model unit tests

#### Description for the changelog

Change YANG model leaf naming convention for bgp notification
2023-02-04 09:53:57 +08:00
kellyyeh
f4ae6219bf [dhcpmon] Fix dhcpmon socket filter and tx count issue (#13065)
Why I did it
Fix issue caused by dualtor support PR [dhcpmon] Open different socket for dual tor to enable interface filtering #11201
Improve code
How I did it
On single ToR, packets received count was duplicated due to socket filter set to "inbound"
Tx count not increasing due to filter set to "inbound". Added an outbound socket to count tx packets
Added vlan member interface mapping for Ethernet interface to vlan interface lookup in reference to PR Fix multiple vlan issue sonic-dhcp-relay#27
Exit when socket fails to initialize to allow dhcp_relay docker to restart
How to verify it
Tested on vstestbed single tor and dual tor, sent packets and verify printed out dhcpmon rx and tx counters is correct

Correct number of tx increases
Tx does not increase when ToR is on standby
2023-02-04 09:53:53 +08:00
Zain Budhwani
b4e22e2752 Fix segfault issue inside memory_checker (#13066)
#### Why I did it

Segfault was occuring when running memory_checker

#### How I did it

Deinit publisher immediately after publishing

#### How to verify it

Manual testing
2023-02-04 09:53:49 +08:00
Ikki Zhu
e182d03f57 Seastone add platform capability enhancement config (#13079) 2023-02-04 09:53:45 +08:00
andywongarista
19e94dfbfc [Arista] Update ip packet checksum when set to 0xffff on 720DT-48S (#13088)
Why I did it
This is to fix test_forward_ip_packet_with_0xffff_chksum_tolerant test failure on 720DT-48S. IP packets with checksum set to 0xffff will be forwarded with the same checksum on this platform, instead of updating to the correct value.

How I did it
Add bcm config sai_verify_incoming_chksum=0 so that checksum is updated instead of being left unchanged when checksum is 0xffff. Note that packets with invalid checksum are still dropped with this config.
2023-02-04 09:53:41 +08:00
bingwang-ms
3d2611b5c6 [minigraph]: Support port name in ACL table AttachTo attribute (#13105)
Why I did it
This PR is to update minigraph.py to support both port alias and port name as input of AttachTo attribute of ACL table.
Before this change, only port alias is supported.

How I did it
Add a global variable to store port names
Search both port names and port alias wheh parsing the value of AttachTo.

How to verify it
Verified by a new unit test case test_minigraph_acl_attach_to_ports
Verified by copying the new minigraph.py to a testbed and run conflg load_minigraph.
2023-02-04 09:53:37 +08:00
Yaqiang Zhu
39c1f878b3 [dhcp-relay] Add support for dhcp_relay config cli (#13373)
Why I did it
Currently the config cli of dhcpv4 is may cause confusion and config of dhcpv6 is missing.

How I did it
Add dhcp_relay config cli and test cases.

config dhcp_relay ipv4 helper (add | del) <vlan_id> <helper_ip_list>
config dhcp_relay ipv6 destination (add | del) <vlan_id> <destination_ip_list>
Updated docs for it in sonic-utilities: https://github.com/sonic-net/sonic-utilities/pull/2598/files
How to verify it
Build docker-dhcp-relay.gz with and without INCLUDE_DHCP_RELAY, and check target/docker-dhcp-relay.gz.log
2023-02-04 09:53:30 +08:00
Ikki Zhu
62fb0726ee [Platform/Seastone]: fix syseeprom tlv read issue (#12200)
Why I did it
Fix Seastone syseeprom tlv header read incorrect issue

How I did it
Set mux idle_state

How to verify it
i2cdump -y -f 12 0x50 i
2023-02-04 04:32:29 +08:00
Liu Shilong
cd84a1f26e [ci] Disable Shallow fetch in pipeline build. (#12964) 2023-02-04 02:36:55 +08:00
Vadym Hlushko
3530fdbea1 [SFP] Change logging severity when failed to read EEPROM (#13011)
- Why I did it
In order to prevent the sonic-mgmt/tests/platform_tests/sfp/test_sfputil.py test failing on the log analyzer step.

The mentioned test is performing the sfputil reset EthernetX for every interface on the SONiC switch, this action will flap the SFP device status (INSTERTED -> REMOVED -> INSTERTED).

The SONiC XCVRD daemon will catch this SFP device status change (because it is monitoring the presence status of the cable).
To judge the cable presence status, currently, we are still leveraging to read the first bytes of the EEPROM, and the EEPROM could be not ready at some moment and the SONiC XCVRD daemon will print the error log to Syslog:

ERR pmon#xcvrd: Error! Unable to read data for 'xx' port, page 'xx' offset 128, rc = 1, err msg: Sending access register

- How I did it
Change logging severity from ERR to WARNING

- How to verify it
Run the sonic-mgmt/tests/platform_tests/sfp/test_sfputil.py

OR much faster way to run the next script on the switch:

#!/bin/bash

START=0
END=248

for (( intf=$START; intf<=$END; intf+=8))
do
    sfputil reset Ethernet"${intf}"
done

sfputil show presence
2023-02-04 02:36:51 +08:00
Junchao-Mellanox
cf6f31b215 [Mellanox] Remove TODO comments which are no longer needed (#13023)
- Why I did it
Remove TODO comments which are no longer needed

- How I did it
Remove TODO comments which are no longer needed

- How to verify it
Only comment change
2023-02-04 02:36:47 +08:00
Kebo Liu
9680479661 [Mellanox] change the implementation of is_host() to fix a stuck issue on simx platform (#13100)
- Why I did it
Following code to judge whether a process is running inside a docker could get stuck on the simx platform

subprocess.Popen(["docker", "--version"],
                                stdout=subprocess.PIPE,
                                stderr=subprocess.STDOUT,
                                universal_newlines=True)
When it gets stuck, the config-chassisdb service can not be successfully started, thus the system can not be booted up.

root@sonic:/# service config-chassisdb status
     config-chassisdb.service - Config chassis_db
     Loaded: loaded (/lib/systemd/system/config-chassisdb.service; enabled; vendor preset: enabled)
     Active: activating (start) since Thu 2022-12-15 09:23:02 UTC; 29min ago
   Main PID: 571 (config-chassisd)
      Tasks: 14 (limit: 9501)
     Memory: 132.4M
     CGroup: /system.slice/config-chassisdb.service
                        ├─571 /bin/bash /usr/bin/config-chassisdb
			├─575 /usr/bin/python3 /usr/local/bin/sonic-cfggen -H -v DEVICE_METADATA.localhost.platform
			├─602 /bin/sh -c sudo decode-syseeprom -m
			├─603 sudo decode-syseeprom -m
			├─607 /usr/bin/python3 /usr/local/bin/decode-syseeprom -m
			├─616 /bin/sh -c docker --version 2>/dev/null
			└─617 docker --version

- How I did it
Use an alternative way to implement this function and issue can be avoided:

docker_env_file = '/.dockerenv'
return os.path.exists(docker_env_file) is False

- How to verify it
run regression on real hardware and simx platform.
2023-02-04 02:36:43 +08:00
Yoush
d59b43566f [centec]: reference to v1.11.0-1 sai debian package for master (#13206) 2023-02-04 02:36:38 +08:00
Kebo Liu
ab54549d53 [Mellanox] Skip the leftover hardware reboot cause in case of last boot is warm/fast reboot (#13246)
- Why I did it
In case of warm/fast reboot, the hardware reboot cause will NOT be cleared because CPLD will not be touched in this flow. To not confuse the reboot cause determine logic, the leftover hardware reboot cause shall be skipped by the platform API, platform API will return the 'REBOOT_CAUSE_NON_HARDWARE' instead of the "hardware" reboot cause.

- How I did it
Check the proc cmdline to see whether the last reboot is a warm or fast reboot, if yes skip checking the leftover hardware reboot cause.

- How to verify it
a. Manual test:
    - Perform a power loss
    - Perform a warm/fast reboot
    - Check the reboot cause should be "warm-reboot" or "fast-reboot" instead of "power loss"
b. Run reboot cause related regression test.

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2023-01-31 18:34:36 +08:00
Junchao-Mellanox
e631f426f4
[infra] Support syslog rate limit configuration (#12490) (#13535)
Backport of https://github.com/sonic-net/sonic-buildimage/pull/12490 into 202211

- Why I did it
Support syslog rate limit configuration feature

- How I did it
Remove unused rsyslog.conf from containers
Modify docker startup script to generate rsyslog.conf from template files
Add metadata/init data for syslog rate limit configuration

- How to verify it
Manual test
New sonic-mgmt regression cases
2023-01-30 20:11:44 +02:00
xumia
e50123bc71 [FIPS] Upgrade Open-SymCrypt version to 0.6 (#13461)
Why I did it
[FIPS] Upgrade Open-SymCrypt version to 0.6

Improve the SymCrypt performance
Support to download the debug packages from storage account in version 0.6.
How I did it
Upgrade to symcrypt-openssl from version 0.4 to version 0.6

Changes in https://github.com/sonic-net/sonic-fips:
0c29b23 Upgrade the submodules: SymCrypt and SymCrypt-OpenSSL #40
80022f3 Fix the ARM64 build failure
2e76a3d Disable the unsupported tests

Other changes will be added as well:
55b8e0a Merge pull request #35 from xumia/change-license
120c1a7 Upgrade SymCrypt and SymCrypt-OpenSSL
2f9c084 Merge pull request #39 from liuh-80/dev/liuh/update-openssh-version
a3be6c5 Revert openssh version
e02fa1e Update fips version

How to verify it
2023-01-30 14:37:28 +08:00
Zain Budhwani
537ecc5fa7
Update gnmi submodule ptr (#13323) 2023-01-27 10:39:14 -08:00
mssonicbld
18c7a5e239
rsyslog to start after interfaces-config (#13503) (#13528) 2023-01-27 16:22:04 +08:00
Stepan Blyshchak
e33b92fcaf
[202211][swss.sh] optimize macsec feature state query (#12946) (#13509)
backport of #12946

- Why I did it
There's a slowdown in bootup related to the execution of a show command during startup of swss service. show is a pretty heavy command and takes long time to execute ~2 sec.

- How I did it
I replaced show with sonic-db-cli which takes a ms to run.

- How to verify it
Boot the switch and verify swss is active.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2023-01-25 20:49:47 +02:00
StormLiangMS
65e080c349
[submodule] Advance sonic-platform-common pointer (#13481)
d0e1ccf - [syseeprom] Remove the trailing space in the value of VENDOR_EXT field in the eepromTlvInfo decode (Add Ingrasys S9100 platform submodule #333) (8 minutes ago)
b662bf1 - add SOP ROC in bulk status (Add default dhcp_relay.yml file to OneImage build #341) (17 minutes ago)
cdc887c - Don't read AUX_MON_TYPE if memory model is flat ([kernel]: update linux kernel to support z9100 #339) (17 minutes ago)
2236776 - Fix TODO comment ([boardcom]: update saibcm to 2.1.3.1-3 #336) (18 minutes ago)
56397d2 - Removing null characters while decoding from syseeprom ([Makefile]: Automatically rebuild sonic-slave #338) (18 minutes ago)
4651bb0 - [Ci] Upgrade to bullseye and fix the branch reference issue ([platform]: add z9100 platform modules #331) (18 minutes ago)
caed733 - Add get_transceiver_status and get_transceiver_pm to API interface (configurations are re-generated across reboots #315) (19 minutes ago)
75d7664 - Use github code scanning instead of LGTM ([platform]: add port_config.ini for dell z9100 #328) (4 weeks ago)
94595a8 - Add warning/critical thresholds for PSU power (Combine alias_map.json with port_config.ini #304) (6 weeks ago)
2023-01-24 09:16:40 +02:00
Dror Prital
d12c3b79bc
[202211][Mellanox] Add ASIC simulation version tag to fw.mk (#13473)
Signed-off-by: dprital <drorp@nvidia.com>
2023-01-23 13:28:19 +02:00
mssonicbld
87ef9f3543
[ci/build]: Upgrade SONiC package versions (#13464) 2023-01-22 22:27:06 +08:00
mssonicbld
80cd7876e5
[ci/build]: Upgrade SONiC package versions (#13462) 2023-01-21 22:45:44 +08:00
mssonicbld
05fb3f628f
[Arista] add support for hardware sku Arista-7260CX3-D92C16 (#13438) (#13448) 2023-01-20 17:36:37 +08:00
mssonicbld
76cedec3a2
[ci/build]: Upgrade SONiC package versions (#13416) 2023-01-18 22:51:15 +08:00
xumia
47649f4ad1 [Bug] Fix SONiC installation failure caused by pip/pip3 not found (#13284)
The main issue is the pip/pip3 command cannot be found when the package is being installed by apt-get.
When using the dpkg install, the searching path is PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
When using the apt-get install, the searching path is PATH=/usr/sbin:/usr/bin:/sbin:/bin
But the pip/pip3 default path is at /usr/local/bin, so dpkg works, but apt-get not work.

How I did it
Export the path /usr/local/bin for pip/pip3.
Make the deb packages can be installed by apt-get.
2023-01-18 16:37:02 +08:00
Stephen Sun
76c74de53e
[202211][submodule] Advance sonic-host-services pointer (#13383)
4a2ef996 Avoid printing message in error level when DEVICE_METADATA|localhost updates (25)
6c131c42 Use github code scanning instead of LGTM(26)
c55f5d18 Use github code scanning instead of LGTM

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2023-01-17 18:05:36 +02:00
mssonicbld
3b7b0c62c9
[ci/build]: Upgrade SONiC package versions (#13392) 2023-01-17 23:22:20 +08:00
xumia
308f808708
[Build][202211] Support Debian snapshot mirror to improve build stability (#13371)
Why I did it
Cherry pick from #13097
[Build] Support Debian snapshot mirror to improve build stability

It is to enhance the reproducible build, supports the Debian snapshot mirror. It guarantees all the docker images using the same Debian mirror snapshot and fixes the temporary build failure which is caused by remote Debain mirror indexes changed during the build. It is also to fix the version conflict issue caused by no fixed versions of some of the Debian packages.

How I did it
Add a new feature to support the Debian snapshot mirror.

How to verify it
2023-01-16 20:35:17 +08:00
mssonicbld
5447919184
[ci/build]: Upgrade SONiC package versions (#13368) 2023-01-15 22:42:46 +08:00
StormLiangMS
49268a65f2
[submodule advance][202211] sonic-utilities #13363
advance sonic-utilities
4bd35e62 - Revert "sonic-utilities: Update config reload() to verify formatting of an input file (#2529)" (#2595) (23 hours ago) [ganglv]
2023-01-15 17:58:25 +08:00
mssonicbld
a11c269ed3
[ci/build]: Upgrade SONiC package versions (#13364) 2023-01-14 23:12:48 +08:00
mssonicbld
35cdb760dc
[containercfgd] Add containercfgd and syslog rate limit configuration support (#12489) (#13361) 2023-01-14 13:16:14 +08:00
mssonicbld
1dc71aa4ff
[Mellanox] Update ECMP calculator README (#13051) (#13362) 2023-01-14 11:46:42 +08:00
StormLiangMS
542c47c855
[submodule advance] advance sonic-utilities submodule for 202211 branch #13202
advance sonic-utilities submodule for 202211 branch

34428157 - (HEAD, origin/202211) Revert "Optimize the execution time of the 'show techsupport' script to 5-10%, (Qos config change #2504)" (6 days ago) [stormliang]
c3bd01f6 - Revert "[generate_dump] Optimize the execution time of 'show techsupport' CLI by parallel function execution ([201811][Devices] Add new device CIG CS6436-56P #2512)" (6 days ago) [stormliang]
5a326d8b - [Mellanox] Change severity to NOTICE in Mellanox buffer migrator when unable to fetch DEVICE_METADATA due to empty CONFIG_DB during initialization ([warm boot] cherry-pick PR #2538 and advance related sub-modules in 201811 branch #2569) (2 weeks ago) [Stephen Sun]
50b36ef3 - Fix issue: unconfigured PGs are displayed in watermarkstat ([docker-lldp]: fix several issues in lldpd docker #2556) (2 weeks ago) [Stephen Sun]
a9fd2a79 - [Command Ref] Add doc for syslog rate limit ([sub module] move sairedis and swss to 201811 branch #2508) (2 weeks ago) [Junchao-Mellanox]
80546ff3 - [generate_dump] Optimize the execution time of 'show techsupport' CLI by parallel function execution ([201811][Devices] Add new device CIG CS6436-56P #2512) (2 weeks ago) [Vadym Hlushko]
6649ca8a - [timer.unit.j2] use wanted-by in timer unit ([201803] [services] Restart SwSS service upon unexpected critical process exit #2546) (2 weeks ago) [Stepan Blyshchak]
dd23d0ef - Fixes [Sub-If|VRF] Unbind sub-interface from VRF is failed #12170: Delete subinterface and recreate the subinterface in ([VLAN] "show mac" doesn't work when interface added to vlan as tagged member #2513) (2 weeks ago) [Preetham]
236749d3 - [db_migrator] Fix migration of Loopback data: handle all Loopback interfaces (DellEMC S6000 xcvrd support #2560) (2 weeks ago) [Vaibhav Hemant Dixit]
5762d814 - Optimize the execution time of the 'show techsupport' script to 5-10%, (Qos config change #2504) (2 weeks ago) [Vadym Hlushko]
d3c3e368 - [muxcable][show] update show mux tunnel-route to separate ASIC and kernel into two columns (build errors on branch 201811 for centec platform #2553) (2 weeks ago) [Jing Zhang]
c98648a1 - [show]Fix show route return code on error (Dell SMF driver hwmon number reorder fix for Dell S6100/Z9100 #2542) (2 weeks ago) [Sudharsan Dhamal Gopalarathnam]
01374673 - [route_check]: Ignore ASIC only SOC IPs (Added new SN3700/SN3700C Mellanox platforms #2548) (2 weeks ago) [Lawrence Lee]
d2967805 - YANG Validation for ConfigDB Updates: WARM_RESTART, SFLOW_SESSION, SFLOW, VXLAN_TUNNEL, VXLAN_EVPN_NVO, VXLAN_TUNNEL_MAP, MGMT_VRF_CONFIG, CABLE_LENGTH, VRF tables ([submodule 201811] advance sairedis and swss submodule for 201811 branch #2526) (2 weeks ago) [isabelmsft]
88b01ffd - [db_migrator] Remove import of swsssdk as it is not supported in master ([build]: apply proxy setting to curl. #2544) (2 weeks ago) [Vaibhav Hemant Dixit]
4ae970c6 - Support syslog rate limit configuration for containers and host (Move FRR from 4.0 to 6.0.2 and make new frr version and pkg compile #2454) (2 weeks ago) [Junchao-Mellanox]
608ed147 - [generate_dump] [Mellanox] Fix the duplicate dfw dump collection problem by adding symlinks ('show vlan config' is not displaying the VLAN members, after the clear config and reload with default l2 configuration. #2536) (2 weeks ago) [Vivek]
bdc2599f - [config] Add check in config interface ip command to block if the interface is portchannel member ([sub module] advance sonic-swss sub module #2539) (2 weeks ago) [Sudharsan Dhamal Gopalarathnam]
cff4fed5 - [system-health] Improve code structure of system health CLIs ([sub-module] advance sonic-swss sub-module #2453) (2 weeks ago) [Junchao-Mellanox]
488e5714 - Transceiver eeprom dom CLI modification to show output from TRANSCEIVER_DOM_THRESHOLD table (Fix for KeyError: 'DEVICE_NEIGHBOR' when executing 'show interfaces neighbor expected' command #2535) (2 weeks ago) [mihirpat1]
07ca5def - sonic-utilities: Update config reload() to verify formatting of an input file ([ntp]: Do not disable reader for error ENOBUFS #2529) (2 weeks ago) [Caitlin Choate]
f0f083a2 - [GCU] Add RemoveCreateOnlyDependency Validator/Generator (Enabling Fast-reboot command in s6100 loaded with T0 topo getting Failed unmounting /host error #2500) (2 weeks ago) [jingwenxie]
eca0253c - [QoS] Introduce delay to the qos reload flow (Config reload/load_minigraph not clearing State DB #2503) (2 weeks ago) [DavidZagury]
35158ee0 - Use github code scanning instead of LGTM ([sub module] sub module sonic-swss-common tracking 201811 branch #2530) (2 weeks ago) [Liu Shilong]
682b5cee - Change show kube command default value of insecure key to True ([submodule] update sonic-snmpagent #2517) (2 weeks ago) [lixiaoyuner]
ce19e631 - Add db_migrator_constants.py script to setup.py (Add device data for Arista 7060PX/DX4-32 #2534) (2 weeks ago) [Vaibhav Hemant Dixit]
0d0c2693 - [drop counters] Fix CLI script for unconfigured PGs ([config] Do not fail for minigraphs which do not have neighbors listed in <Devices> section #2518) (2 weeks ago) [Lior Avramov]
2c69d0fd - Update vrf add, del commands for duplicate/non-existing VRFs (solve package build dependency issue #2467) (2 weeks ago) [Muhammad Danish]
efc09280 - Port 202012 DB migration changes to newer branches ([vs]: Force10-S6000 buffer settings for virtual switch #2515) (2 weeks ago) [Vaibhav Hemant Dixit]
70a15aaa - [VXLAN]Fixing traceback in show remotemac when mac moves during command execution ([build] When generating image version, handle case where current commit has no reachable tags #2506) (2 weeks ago) [Sudharsan Dhamal Gopalarathnam]
2023-01-14 09:45:10 +08:00
mssonicbld
9dfce875af
[build] Fix isc-dhcp full version in rules.mk (#13288) (#13357) 2023-01-13 17:05:24 +08:00
StormLiangMS
65f3447e1d
[submodule advance 202211] advance dhcp relay for 202211 #13348
advance dhcp relay for 202211

4bf1868 - (HEAD, origin/master, origin/HEAD, master) fix relay-reply dhcpv6 packet counter issue (add support for a7050 qx32 platform #29) (2 weeks ago) [jcaiMR]
9b30690 - fix handleSwssNotification crash in dhcp6relay (Add libnl-nf-3-200 to docker-team #28) (4 weeks ago) [jcaiMR]
047afb7 - Fix multiple vlan issue (Failure trying to run: chroot /sonic-buildimage/fsroot mount -t proc proc /proc #27) (4 weeks ago) [jcaiMR]
ff6bec3 - Made the Error log informative (add python-tenjin as build dependency for p4-switch #22) (5 weeks ago) [Vivek]
2fbe729 - disable cfg dynamic change (p4: fix build dependency for python-p4c-bm #25) (6 weeks ago) [jcaiMR]
13d0805 - Use github code scanning instead of LGTM (Removed sx-libnl from Mellanox containers dependencies. #26) (6 weeks ago) [Liu Shilong]
1e846f6 - Fix packet range check for relay-reply packets (update sonic-swss and p4-switch submodule to fix docker sonic p4 bug #21) (7 weeks ago) [kellyyeh]
4d19e13 - Add unittest infrastructure (Cavium customization for docker containers #5) (8 weeks ago) [kellyyeh]
7f4fdab - fix packet range check issue (Makefile: add build dependency for python-p4c-bm #20) (9 weeks ago) [jcaiMR]
257ecdf - Add client packet UDP header length check (change port_config.ini directory for s6000 #19) (2 months ago) [kellyyeh]
2023-01-13 09:25:46 +08:00
Liu Shilong
72a2db455d
[build] Fix sonic-host-services dependency deepdiff version issue (#13335)
Why I did it
sonic_host_services depends on deepdiff.
But latest deepdiff version has error.

How I did it
pin deepdiff to previous version.

How to verify it
2023-01-12 13:17:50 +08:00
mssonicbld
7524e91aa1
The FAN driver framework module complies with s3ip sysfs specification (#12888) (#13212)
Why I did it
Provide a Fan driver framework that complies with s3ip sysfs specification

How I did it
1、 The framework module provides register and unregister interface and implementation.
2、 The framework will help you create the sysfs node

How to verify it
A demo driver base on this framework will display the sysfs node wich conform to the s3ip sysfs specification

Co-authored-by: tianshangfei <31125751+tianshangfei@users.noreply.github.com>
2023-01-09 14:24:41 +08:00
mssonicbld
ab0533e646
two platforms supporting S3IP SYSFS (TCS8400, TCS9400) (#12386) (#13210)
Why I did it
Add two platform that support s3IP framework

How I did it
Add two platforms supporting S3IP SYSFS (TCS8400, TCS9400)

How to verify it
Manual test

Co-authored-by: tianshangfei <31125751+tianshangfei@users.noreply.github.com>
2023-01-09 11:40:35 +08:00
mssonicbld
1e522ff3a9
Add ECMP calculator tool (#12482) (#13301) 2023-01-09 00:48:56 +08:00
Liu Shilong
e89456b3d9 [action] Keep 'request for xxx branch' label when finished auto-cherry-pick. (#13107)
Why I did it
To keep 'Request for xxx branch' label when finished auto-cherry-pick.

How I did it
Change logic in post cherry pick action.

How to verify it
2023-01-09 00:40:12 +08:00
StormLiangMS
57c347d3be
[submodule advance] advance sonic-platform-daemons submodule for 202211 branch (#13203)
Why I did it
advance sonic-platform-daemons submodule for 202211 branch

a35b57d - (HEAD, origin/202211) Remove TODO comments which are no longer needed (Support centec platform #325) (3 days ago) [Junchao-Mellanox]
3a3726b - [thermalctld] fix some redundant removal of state DB tables (configurations are re-generated across reboots #315) (3 days ago) [vdahiya12]
c5afac0 - Add new fields to status/dom_sensor/pm tables in STATE_DB for CMIS/C-CMIS (Combine alias_map.json with port_config.ini #304) (3 days ago) [longhuan-cisco]
1a338d4 - Create TRANSCEIVER_DOM_THRESHOLD table in state DB (Fix the reference in docker-snmp-sv2 to deprecated alias_map.json #320) (3 days ago) [mihirpat1]
7c77907 - Remove the argument that is causing the xcvrd to crash (ingrasys-s9100: Add ingrasys switch s9100 #318) (3 days ago) [Vivek]
5a70e7f - [ycabled] fix minor appl_db retrieving logic for update (dockers/docker-snmp-sv2/config.sh still references deprecated alias_map.json file #319) (3 days ago) [vdahiya12]
b669533 - Use github code scanning instead of LGTM (Consolidate device-specific files; install as a Debian package #316) (3 days ago) [Liu Shilong]
d3c6739 - Pass grid parameter while calling set_laser_freq ([swss]: update sonic-swss to fix buffer configuration on mlnx platform #317) (3 days ago) [mihirpat1]
778f843 - [PSU daemon] Support PSU power threshold checking (Add get_graph service to fetch minigraph automatically #288) (9 days ago) [Stephen Sun]
707a720 - [chassisd] update chassisd to write fabric and lc asics on sep erate table (ingrasys-s9100: Add ingrasys switch s9100 #311) (8 weeks ago) [arlakshm]
e8c5657 - [ycabled] fix exception-handling logic for ycabled (Move sysDescription to /etc/snmp #306) (8 weeks ago) [vdahiya12]
905874d - [ycabled] move swsscommon API's from subroutines to call them exactly once per task_worker/thread (Disable BCM54616S MII isolate mode #303) (9 weeks ago) [vdahiya12]
510d330 - Fix typo in xcvrd ([platform] Add support configurations files for DCS-7060CX-32S #313) (9 weeks ago) [Junchao-Mellanox]
9ae551f - [ycabled] add support for detach mode in 'active-active' topology (minigraph.py crashed when no png is in the minigraph #309) (2 months ago) [vdahiya12]
How I did it
How to verify it
2023-01-08 17:49:55 +08:00
Zain Budhwani
0db69530b0 Fix rsyslog_plugin UT with timestamp formatter (#13241)
#### Why I did it

Timestamp formatter inside UT was failing due to new year change

#### How I did it

Use a const stored year that will used as expected value

#### How to verify it

Run UT
2023-01-05 16:37:04 +08:00
Yutong Zhang
c199814fb1
Improve the display of pipeline. (#13127)
The display of azure pipeline is not specific now, such as when the step Run test fails, the display of itself shows successful, but the display of step Kvmdump shows fails, but actually, the step Kvmdump doesn't fail. I improve the display of azure pipeline in this pr, each step has its own success or failure, and is shown in azure pipeline.

Why I did it
The display of azure pipeline is not specific now, such as when the step Run test fails, the display of itself shows successful, but the display of step Kvmdump shows fails, but actually, the step Kvmdump doesn't fail. I improve the display of azure pipeline in this pr, each step has its own success or failure, and is shown in azure pipeline.

How I did it
Each step has its own signature of success or failure.
Using the chain of responsibility pattern to manage all status.
Modify the expected-state in each step.
2023-01-04 17:12:23 +08:00
Richard.Yu
fb6f0b53ba
[SAIServer]Upgrade SAI server init script (#13175) (#13227)
Why I did it
why
In order to apply different config across different platform, and use the code with a unified format, reuse syncd init script to init saiserver.

How I did it
how
Reuse syncd init script

How to verify it
Test
Test in DUT s6000 and dx010 with sonic 202205
2023-01-03 16:03:05 +08:00
mssonicbld
79b0890c53
The user framework module complies with s3ip sysfs specification (#12894) (#13215) 2023-01-01 12:35:32 +08:00
mssonicbld
684b07f172
The demo driver complies with s3ip sysfs specification,which use the s3ip kernel framework (#12895) (#13214) 2023-01-01 12:35:11 +08:00
mssonicbld
4ac8359854
The CPLD and FPGA driver framework module complies with s3ip sysfs specification (#12891) (#13218) 2023-01-01 12:34:50 +08:00
mssonicbld
313406a290
The build project of s3ip frameworkk (#12896) (#13213) 2023-01-01 12:32:42 +08:00
mssonicbld
967cc38356
The PSU driver module complies with s3ip sysfs specification (#12887) (#13211) 2023-01-01 12:32:36 +08:00
mssonicbld
fe5732a4cc
The slot and switch_rootsysfs driver framework module complies with s3ip sysfs specification (#12893) (#13216) 2023-01-01 12:28:41 +08:00
mssonicbld
5489913baf
The Sensor driver framework module complies with s3ip sysfs specification (#12890) (#13219) 2023-01-01 12:27:55 +08:00
mssonicbld
29e7348c7b
The Transceiver driver framework module complies with s3ip sysfs specification (#12889) (#13220) 2023-01-01 12:26:52 +08:00
mssonicbld
8552b92b98
The LED and watchdog driver framework module complies with s3ip sysfs specification (#12892) (#13217) 2023-01-01 12:24:31 +08:00
StormLiangMS
f6ff26b03f
[submodule advance] advance sonic-platform-common submodule for 202211 branch #13204
Why I did it
advance sonic-platform-common submodule for 202211 branch

75d7664 - (HEAD, origin/202211) Use github code scanning instead of LGTM ([platform]: add port_config.ini for dell z9100 #328) (4 hours ago) [Liu Shilong]
How I did it
How to verify it
2023-01-01 09:02:57 +08:00
Dror Prital
81cc5e8c06
[202211][submodule] Advance sonic-swss pointer (#13195)
Update sonic-swss submodule pointer to include the following:
* 782a2ef Align watermark flow with port configuration ([#2525](https://github.com/sonic-net/sonic-swss/pull/2525))
* dca78d8 [Fdbsyncd] Bug Fix for remote MAC move to local MAC and Fix for Static MAC advertisement in EVPN. ([#2521](https://github.com/sonic-net/sonic-swss/pull/2521))
* 28aa309 [fpm] Fix FpmLink to read all netlink messages from FPM message ([#2492](https://github.com/sonic-net/sonic-swss/pull/2492))

Signed-off-by: dprital <drorp@nvidia.com>
2022-12-29 09:08:50 +02:00
mssonicbld
4981fbc4f0
[ci/build]: Upgrade SONiC package versions (#13194) 2022-12-28 22:56:28 +08:00
Liu Shilong
60365bfcb7
Fix sonic slave pipeline to set correct tag on sonic slave image. (#13177) (#13186)
Why I did it
Currently sonic-slave-* tag is confusing. Set correct tag on sonic-slave-* image.
Fix job name to fit the build.

How I did it
build amd image in amd64:
sonic-slave-bullseye:cfe29bff67c
sonic-slave-bullseye:latest
sonic-slave-bullseye:master

build armhf image in amd64:
sonic-slave-bullseye-march-armhf:33614806dc3
sonic-slave-bullseye-march-armhf:latest
sonic-slave-bullseye-march-armhf:master

build arm64 image in amd64:
sonic-slave-bullseye-march-arm64:f3b1b16c801
sonic-slave-bullseye-march-arm64:latest
sonic-slave-bullseye-march-arm64:master

build arm64 image in arm64:
sonic-slave-bullseye:75cb326c9a7
sonic-slave-bullseye-arm64:latest
sonic-slave-bullseye:master

build armhf image in armhf:
sonic-slave-bullseye:64d178951fc
sonic-slave-bullseye-armhf:latest
sonic-slave-bullseye:master

How to verify it
2022-12-28 16:33:47 +08:00
mssonicbld
5a93494e2d
[ci/build]: Upgrade SONiC package versions (#13170) 2022-12-25 23:04:55 +08:00
Richard.Yu
515f798628
[202211][Submodule][SAI-Redis]Advance SAI Redis head pointer (#13158)
Why I did it
[202211][Submodule][SAI-Redis]Advance SAI Redis head pointer

How I did it
changes

sonic-net/sonic-sairedis@9a5c443
sonic-net/sonic-sairedis@99b789d
sonic-net/sonic-sairedis@9deef02
[202211][Submodule][SAI]Advance SAI head pointer sonic-sairedis#1186 sonic-net/sonic-sairedis@a995edf
remove useless parameter --skip_error=-2, which remove from [202211][Submodule][SAI]Advance SAI head pointer sonic-sairedis#1186
How to verify it
local image build
2022-12-25 10:18:15 +08:00
mssonicbld
5726918bff
[ci/build]: Upgrade SONiC package versions (#13161) 2022-12-25 07:58:49 +08:00
Liu Shilong
ac904cee9e [build] Fix unexpected warnings: No names found, cannot describe anything. (#12963)
Why I did it
In PR check pipelines, there are too many duplicated warnings:
fatal: No names found, cannot describe anything.
SONIC_IMAGE_VERSION will not change in one build. We don't need to calculate in every reference. We just need calculate one time, then record it.
In Makefile, '=' will calculate again and again when it is referred.

How I did it
Fix it in Makefile.

How to verify it
Check this PR's check pipeline result.
2022-12-22 20:51:58 +08:00
Liu Shilong
9bec8bd198 [build] Add retry when make SONiC image to improve success rate. (#12325)
Why I did it
Makefile needs some dependencies from the Internet. It will fail for network related issue.
Retries will fix most of these issues.

How I did it
Add retries when running commands which maybe related with networking.

How to verify it
2022-12-21 16:36:18 +08:00
xumia
025a8455cd [Build] Fix the docker image docker-dhcp-relay:latest not found issue (#13048)
Why I did it
It is to fix the broadcom build failure, it is caused by the build image docker-dhcp-relay:latest not found.

2022-12-14T00:09:57.5464893Z [ FAIL LOG START ] [ target/docker-dhcp-relay.gz-load ]
2022-12-14T00:09:57.5466036Z Attempting docker image lock for docker-dhcp-relay load
2022-12-14T00:09:57.5467113Z Obtained docker image lock for docker-dhcp-relay load
2022-12-14T00:09:57.5468206Z Loading docker image target/docker-dhcp-relay.gz
2022-12-14T00:09:57.5469361Z Loaded image: docker-dhcp-relay:internal.65852159-11ad82a07a
2022-12-14T00:09:57.5470686Z Tagging docker image docker-dhcp-relay:latest as docker-dhcp-relay-sonic:latest
2022-12-14T00:09:57.5471997Z Error response from daemon: No such image: docker-dhcp-relay:latest
2022-12-14T00:09:57.5473122Z [  FAIL LOG END  ] [ target/docker-dhcp-relay.gz-load ]
2022-12-14T00:09:57.5539792Z make: *** [slave.mk:1180: target/docker-dhcp-relay.gz-load] Error 1
2022-12-14T00:09:57.5540958Z make: *** Waiting for unfinished jobs....
The image had been built succeeded

2022-12-13T17:01:59.9046935Z [ finished ] [ target/docker-eventd.gz ] 
2022-12-13T17:02:00.4947165Z [ building ] [ target/docker-dhcp-relay.gz ] 
2022-12-13T17:02:00.6688627Z /sonic/dockers/docker-dhcp-relay/cli-plugin-tests /sonic
2022-12-13T17:02:41.1123955Z /sonic
2022-12-13T17:07:04.1786069Z [ finished ] [ target/docker-dhcp-relay.gz ] 
But it was tagged by another value:

Obtained docker image lock for docker-dhcp-relay save
Tagging docker image docker-dhcp-relay-sonic:latest as docker-dhcp-relay:internal.65852159-11ad82a07a
Saving docker image docker-dhcp-relay:internal.65852159-11ad82a07a
Released docker image lock for docker-dhcp-relay save
Removing docker image docker-dhcp-relay-sonic:latest
Untagged: docker-dhcp-relay-sonic:latest
target/docker-dhcp-relay.gz
File /dpkg_cache/docker-dhcp-relay.gz-2ddfa01a109ca69b7621f1a-450bae36026d9dee62646f2.tgz saved in cache 
[ CACHE::SAVED ] /dpkg_cache/docker-dhcp-relay.gz-2ddfa01a109ca69b7621f1a-450bae36026d9dee62646f2.tgz
How I did it
When the feature SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD not enabled, always save as the latest tag, not use the specify version.
The version is dynamic, it is changed when a new commit checked in, but the image of docker-dhcp-relay is not necessary to change.
2022-12-16 06:32:09 +08:00
Saikrishna Arcot
3d3b3e1232 [build]: Fix docker load image tag not being the expected tag (#12959)
PR #12829 modified the docker tagging scheme such that optional docker
containers would be tagged with the SONiC image version. However, the
docker-image-load macro wasn't updated for these changes. Update it
here.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-12-15 00:45:00 +08:00
mssonicbld
eabd881e4f
[ci/build]: Upgrade SONiC package versions (#13018) 2022-12-11 23:10:49 +08:00
mssonicbld
8b551f7964
[ci/build]: Upgrade SONiC package versions (#13016) 2022-12-11 00:38:22 +08:00
Stepan Blyshchak
0cd4c380e4 [dockers] save extension dockers with an image tag (#12829)
Fixes: #11521

- Why I did it
When build SONiC dockers, SONiC build system tags all of them with latest tag. This is Ok for all built-in dockers because we will also tag them with image version tag in sonic_debian_extension.j2 script. On the other hand, some of these dockers are SONiC packages and they are installed by sonic-package-manager which creates a only one tag whcih is recorded in the corresponding .gz file. This leads to having these dockers tagged only with latest tag. This change saves the tag as an image version string in .gz file, so that these dockers have version identification in their tag.

- How I did it
I modified slave.mk to save the version tag instead of latest tag.

- How to verify it
I verified this change by running show version

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2022-12-10 10:33:21 +08:00
Junchao-Mellanox
dd88006589 [Mellanox] Add device files for SN5600 (#12831)
- Why I did it
Add device files for new platform SN5600

- How I did it
Add device files for new platform SN5600

- How to verify it
Manual test
2022-12-10 10:33:21 +08:00
Yutong Zhang
1500c2d41c fix merge conflict 2022-12-10 10:33:21 +08:00
Michael Li
f753a8ba04 Reload BCM SDK kmods on syncd start to handle syncd restart issues (#12804)
Why I did it
There is an issue on the Arista PikeZ platform (using T3.X2: BCM56274) while running SONiC. If the 'syncd' container in SONiC is restarted, the expected behaviour is that syncd will automatically restart/recover; however it does not and always fails at create_switch due to BCM SDK kmod DMA operation cancellation getting stuck.

Sep 16 22:19:44.855125 pkz208 ERR syncd#syncd: [none] SAI_API_SWITCH:platform_process_command:428 Platform command "init soc" failed, rc = -1. Sep 16 22:19:44.855206 pkz208 INFO syncd#supervisord: syncd CMIC_CMC0_PKTDMA_CH4_DESC_COUNT_REQ:0x33#015 Sep 16 22:19:44.855264 pkz208 CRIT syncd#syncd: [none] SAI_API_SWITCH:platformInit:1909 initialization command "init soc" failed, rc = -1 (Internal error). Sep 16 22:19:44.855403 pkz208 CRIT syncd#syncd: [none] SAI_API_SWITCH:sai_driver_init:642 Error initializing driver, rc = -1. ... Sep 16 22:19:44.855891 pkz208 CRIT syncd#syncd: [none] SAI_API_SWITCH:brcm_sai_create_switch:1173 initializing SDK failed with error Operation failed (0xfffffff5).

Reloading the BCM SDK kmods allows the switch init to continue properly.

How I did it
If BCM SDK kmods are loaded, unload and load them again on syncd docker start script.

How to verify it
Steps to reproduce:

In SONiC, run 'docker ps' to see current running containers; 'syncd' should be present.
Run 'docker stop syncd'
Wait ~1 minute.
Run 'docker ps' to see that syncd is missing.
Check logs to see messages similar to the above.

Signed-off-by: Michael Li <michael.li@broadcom.com>
2022-12-10 10:33:21 +08:00
Mai Bui
c3c37f46ef [device/marvell] Mitigation for security vulnerability (#11876)
#### Why I did it
`os` and `commands` modules are not secure against maliciously constructed input
`getstatusoutput` is detected without a static string, uses `shell=True`
#### How I did it
Eliminate the use of `os` and `commands`
Use `subprocess` instead
2022-12-10 10:33:21 +08:00
Liu Shilong
a5db29924f [action] Add github action to merge mssonicbld's PRs which can be merged (#12564)
* [action] Add github action to scan auto-mergeable PRs
2022-12-10 10:33:21 +08:00
Neetha John
93ca0caaa9 Update ECN settings for storage backend (#12855)
Signed-off-by: Neetha John <nejo@microsoft.com>

Why I did it
ECN parameters need to be updated for storage backend

How I did it
Included the check for storage backend devices to update qos configs

How to verify it
Verified that the new ecn settings are applied on storage backend device.
Verified that the old ecn settings are applied for storage frontend, non storage frontend/backend devices
2022-12-10 10:33:21 +08:00
Mai Bui
6759ad27b5 [device/ragile] Mitigation for security vulnerability (#11744)
Signed-off-by: maipbui <maibui@microsoft.com>
#### Why I did it
The [xml.etree.ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html#module-xml.etree.ElementTree) module is not secure against maliciously constructed data.
`os` - not secure against maliciously constructed input and dangerous if used to evaluate dynamic content
`subprocess.getstatusoutput` is dangerous because include shell=True in the implementation
#### How I did it
Remove xml. Use [lxml](https://pypi.org/project/lxml/) XML parsers package that prevent potentially malicious operation.
Replace `os` by `subprocess`
Use command as an array instead of string
Use `getstatusoutput_noshell` in `sonic_py_common` lib
2022-12-10 10:33:21 +08:00
Junchao-Mellanox
5ecf4aa096 [YANG] Support syslog rate limit configuration (#12488)
- Why I did it
Change YANG model to support syslog rate limit configuration feature

- How I did it
modified sonic-syslog.yang and sonic-feature.yang to support the new added configuration schema

- How to verify it
Unit test
2022-12-10 10:33:21 +08:00
Kebo Liu
28f8da80ea [Mellanox] Add support to Mellanox Spectrum-4 ASIC Firmware compiling and upgrade (#12844)
- Why I did it
Add support for compiling Spectrum-4 ASIC firmware to the SONiC image
Add support for Spectrum-4 ASIC firmware upgrade

- How I did it
Update Mellanox fw make files to include Spectrum-4 ASIC firmware binaries.
Update firmware upgrade scripts to be able to detect Spectrum-4 ASIC.

- How to verify it
Run regression tests

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-12-10 10:33:21 +08:00
ganglv
28c8d4c88d [sonic-gnmi] Support GNMI native write (#10948)
Why I did it
Provide GNMI native write interface for configuration.

How I did it
Add configuration parameters for GNMI native write.

How to verify it
Check build pipeline.
2022-12-10 10:33:21 +08:00
ganglv
93ae2b3d92 Update submodule for sonic-gnmi (#12860)
Why I did it
Submodule update for sonic-gnmi
Incorporates:

8226e46 Upgrade pipeline to use bullseye. (sonic-net/sonic-gnmi#58)
ae72767 Add gnmi_dump tool for debug and unit test (sonic-net/sonic-gnmi#60)
6b0253a Add conditional check for split (sonic-net/sonic-gnmi#55)
99bfa8f Remove LOGLEVEL DB since is no longer used (sonic-net/sonic-gnmi#56)
54806a8 Support new gnmi config interface in telemetry container. (sonic-net/sonic-gnmi#7)

How I did it
Move submodule

How to verify it
Check build pipeline.
2022-12-10 10:33:21 +08:00
Aravind Mani
df8c893a9b [DPB] Dell Z9332f port breakout changes (#12789) 2022-12-10 10:33:21 +08:00
andywongarista
85700117db [Arista] Enable ipv6 128b lpm on 720DT-48S (#12832)
Why I did it
Added to allow test_crm_route to pass; the test tries to add a /126 ipv6 route and this change is required in order for the count of available routes to be updated correctly.
2022-12-10 10:33:21 +08:00
ganglv
2039fc50cc Update sonic-swss-common submodule (#12850)
Why I did it
Submodule update for sonic-swss-common
Incorporates:

5d481da Install swsscommon.i with libswsscommon-dev (#717)

How I did it
I have updated sonic-swss-common repo, this PR is used to update submodule.

How to verify it
Build image, install libswsscommon-dev, and check /usr/share/swss.
2022-12-10 10:33:21 +08:00
Mai Bui
5238bd78af [ruijie] Replace os.system and remove subprocess with shell=True (#12107)
Signed-off-by: maipbui <maibui@microsoft.com>
Dependency: [https://github.com/sonic-net/sonic-buildimage/pull/12065](https://github.com/sonic-net/sonic-buildimage/pull/12065)
#### Why I did it
1. `getstatusoutput` is used without a static string and it uses `shell=True`
2. `subprocess()` - when using with `shell=True` is dangerous. Using subprocess function without a static string can lead to command injection.
3. `os` - not secure against maliciously constructed input and dangerous if used to evaluate dynamic content.
#### How I did it
1. use `getstatusoutput` without shell=True
2. `subprocess()` - use `shell=False` instead. use an array string. Ref: [https://semgrep.dev/docs/cheat-sheets/python-command-injection/#mitigation](https://semgrep.dev/docs/cheat-sheets/python-command-injection/#mitigation)
3. `os` - use with `subprocess`
2022-12-10 10:33:21 +08:00
Vivek
48d4c0aa1e [Bullseye] Upgrade sonic-sdk image to bullseye (#12649)
- Why I did it
Upgrade the app-extension developer environments (sonic-sdk & sonic-sdk-bullseye) to bullseye

- How to verify it
Built an app-extension using these images and verified if it is up and running.

Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
2022-12-10 10:33:21 +08:00
Lior Avramov
f3821c6d2f [Mellanox] Add SDK hash calculator debian and update SDK makefile to compile it (#12840)
- Why I did it
Add SDK hash calculator Debian and update SDK makefile to compile it.

- How I did it
SDK hash calculator Debian will be used by ECMP calculator (PR #12482)

- How to verify it
Compile sonic-buildimage and verify SDK hash calculator Debian exist in target folder.
2022-12-10 10:33:21 +08:00
vdahiya12
5bc43c2925 [sonic-platform-daemons] submodule update (#12728)
* [sonic-platform-daemons] submodule update

git log --oneline 7c0a326..master
e8c5657 (HEAD -> master, origin/master, origin/HEAD) [ycabled] fix
exception-handling logic for ycabled (#306)
905874d [ycabled] move swsscommon API's from subroutines to call them
exactly once per task_worker/thread (#303)
510d330 Fix typo in xcvrd (#313)
9ae551f [ycabled] add support for detach mode in 'active-active'
topology (#309)
82fc7a6 Added filtering logic to send filtered fields from DB event
(#307)
8a2dad9 [ycabled] fix no port/state returned by grpc server (#308)
4ea12cf Fix xcvrd to support 400G ZR optic (#293)
23b6970 [ycabled] fix naming error for error condition for CLI handling
(#302)
501abb2 [ycabled] add some exception catching logic to some vendor
specific API's (#301)
534f839 [ycabled] add support for getting grpc secerts via shared file
(#298)
3622aac Remove shell=True (#300)
143422b add support to execute new ycable API's, add datetime field to
mux_info (#297)
6522c46 [ycabled] add notification for gRPC connection state transitions
to  IDLE/TRANSIENT_FAILURE (#295)
4b3b238 Install libyang to azure pipeline (#292)
8ff5f37 Use get() to fetch default value from dictionary for port
admin_status #286
b03cc74 [Xcvrd] Soak duplicate events and process only updated
interested events (#285)
3acb171 [ycable] cleanup logic for creating grpc future ready (#289)
ce3b6db [ycabled] fix insert events from xcvrd;cleanup some mux toggle
logic (#287)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2022-12-10 10:33:21 +08:00
ganglv
3dd03dfa33 Update submodule for sonic-swss-common (#12826)
Why I did it
sonic-swss-common needs to support SWIG wrapper for go.
Submodule update for sonic-swss-common
Incorporates:

d63130c [[CI]Install libyang from common-lib when build bullseye (#710)
bfe123e Add decorator for Yang default value. (#713)
1d66080 Use SWIGPYTHON to improve SWIG for GO wrapper. (#714)

How I did it
I have updated sonic-swss-common repo, this PR is used to update submodule.

How to verify it
Build image, and sonic-gnmi pipeline will verify SWIG wrapper.
2022-12-10 10:33:21 +08:00
jcaiMR
9b2a8e29c7 better solution for STATIC_ROUTE_EXPIRY_TIME check (#12824) 2022-12-10 10:33:21 +08:00
Cédric Ollivier
de104deb5e [build]: Force xz as compression type when building sonic-build-hooks debs (#12823)
Ubuntu 22.04 leverages Zstandard compression to dpkg by default.
Debian doesn't support it yet
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664

Fix #12822

Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2022-12-10 10:33:21 +08:00
xumia
1f97a5904f [Build] Fix the build exit unexpected in false condition in Makefile issue (#12814)
#### Why I did it

When build the sonic-slave-bash target, it cannot go to the shell failed in the step to build sonic-build-hooks, the error logs as below. It may have impact on some of the users, it may be relative to different version of the make.
```
$ QUIET=n BLDENV=bullseye make NOJESSIE=1 NOSTRETCH=1 sonic-slave-bash
+++ Making sonic-slave-bash +++
BLDENV=buster make -f Makefile.work sonic-slave-bash
make[1]: Entering directory `/builds2/stephens/wip/update-submodule/sonic-buildimage'
echo -n ""
pushd src/sonic-build-hooks; TRUSTED_GPG_URLS=https://packages.trafficmanager.net/debian/public_key.gpg,https://packages.microsoft.com/keys/microsoft.asc make all; popd
/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks /builds2/stephens/wip/update-submodule/sonic-buildimage
make[2]: Entering directory `/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks'
dpkg-deb: building package 'sonic-build-hooks' in 'buildinfo/sonic-build-hooks_1.0_all.deb'.
make[2]: Leaving directory `/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks'
/builds2/stephens/wip/update-submodule/sonic-buildimage
mkdir -p sonic-slave-buster/buildinfo
cp src/sonic-build-hooks/buildinfo/sonic-build-hooks* sonic-slave-buster/buildinfo
[ "n" == y ] && scripts/build_mirror_config.sh sonic-slave-buster amd64 buster
make[1]: *** [sonic-build-hooks] Error 1
make[1]: Leaving directory `/builds2/stephens/wip/update-submodule/sonic-buildimage'
make: *** [sonic-slave-bash] Error 2
```

#### How I did it
Change the format as below:
```
[ xxx = yyy ] && do something
```
To
```
if [ xxx = yyy ]; then do something; if
```

#### How to verify it
Verified by who found the issue, the issue gone when the patch applied.
2022-12-10 10:33:21 +08:00
Zain Budhwani
d71bc0dd63 Change value type of params in memory_checker (#12797)
Fix error when calling events API, required value is string, passing float
2022-12-10 10:33:21 +08:00
Stephen Sun
a338427948 [submodule] Advance sonic-utilities and sonic-platform-common pointers (#12791)
* Update submodule sonic-utilities

72b9cf9 [psushow & psuutil] Support PSU power threshold checking (#2326)
dfdc92e Revert "Support the bandit check by GitHub Action (#2358)" (#2509)
85638b2 YANG Validation for ConfigDB Updates: DEVICE_METADATA, SNMP, SNMP_COMMUNITY tables (#2481)
da44d71 YANG Validation for ConfigDB Updates: PORT_STORM_CONTROL, PORT_QOS_MAP, BUFFER_PROFILE, BUFFER_PG, BUFFER_QUEUE, BUFFER_POOL, FEATURE, DEFAULT_LOSSLESS_BUFFER_PARAMETER tables (#
ba9b628 [sfp] Fix issue: Application Advertisement is not well formatted (#2491)

Signed-off-by: Stephen Sun <stephens@nvidia.com>

* Update submodule sonic-platform-daemons

ed818f8 [PSU daemon] Support PSU power threshold checking (#288)
707a720 [chassisd] update chassisd to write fabric and lc asics on sep erate table (#311)
e8c5657 [ycabled] fix exception-handling logic for ycabled (#306)
905874d [ycabled] move swsscommon API's from subroutines to call them exactly once per task_worker/thread (#303)
510d330 Fix typo in xcvrd (#313)
9ae551f [ycabled] add support for detach mode in 'active-active' topology (#309)
82fc7a6 Added filtering logic to send filtered fields from DB event (#307)
8a2dad9 [ycabled] fix no port/state returned by grpc server (#308)
4ea12cf Fix xcvrd to support 400G ZR optic (#293)
23b6970 [ycabled] fix naming error for error condition for CLI handling (#302)
501abb2 [ycabled] add some exception catching logic to some vendor specific API's (#301)
534f839 [ycabled] add support for getting grpc secerts via shared file (#298)
3622aac Remove shell=True (#300)
143422b add support to execute new ycable API's, add datetime field to mux_info (#297)
6522c46 [ycabled] add notification for gRPC connection state transitions to  IDLE/TRANSIENT_FAILURE (#295)
4b3b238 Install libyang to azure pipeline (#292)
8ff5f37 Use get() to fetch default value from dictionary for port admin_status #286
b03cc74 [Xcvrd] Soak duplicate events and process only updated interested events (#285)
3acb171 [ycable] cleanup logic for creating grpc future ready (#289)
ce3b6db [ycabled] fix insert events from xcvrd;cleanup some mux toggle logic (#287)

Signed-off-by: Stephen Sun <stephens@nvidia.com>

* Update submodule sonic-platform-common

7c48be2 Add warning/critical thresholds for PSU power (#304)
f5ba0d0 Add missing PM and VDM related EEPROM read (#326)
02dd597 implement CMIS set_laser_freq to support 100GHz grid space (#294)

Signed-off-by: Stephen Sun <stephens@nvidia.com>

* Revert "Update submodule sonic-platform-daemons"

This reverts commit aea648b157.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2022-12-10 10:33:21 +08:00
bingwang-ms
147ab55cf2 Add missing flags in qos template file (#12793) 2022-12-10 10:33:21 +08:00
Mai Bui
4963c1cc97 [device/juniper] Mitigation for security vulnerability (#11838)
Signed-off-by: maipbui maibui@microsoft.com
Dependency: [https://github.com/sonic-net/sonic-buildimage/pull/12065](https://github.com/sonic-net/sonic-buildimage/pull/12065)
#### Why I did it
`commands` module is not secure
command injection in `getstatusoutput` being used without a static string
#### How I did it
Eliminate `commands` module, use `subprocess` module only
Convert Python 2 to Python 3
2022-12-10 10:33:21 +08:00
Bohan Yang
9b7a04dc0e [Arista]Add media_settings.json for x86_64-arista_7800r3a_36d2_lc (#12444)
Why I did it
TX FIR tuning should be done based on the type of inserted transceiver

How I did it
Add media_settings.json which contains the tuning data for 100G optic and 400G optic.

How to verify it
Tested against x86_64-arista_7800r3a_36d2_lc
2022-12-10 10:33:21 +08:00
Stephen Sun
91e12d7b49 [Mellanox] Support PSU power threshold checking (#11863)
* Support power threshold

Signed-off-by: Stephen Sun <stephens@nvidia.com>

* get_psu_power_warning_threshold => get_psu_power_warning_suppress_threshold

Signed-off-by: Stephen Sun <stephens@nvidia.com>

* Fix comments

Signed-off-by: Stephen Sun <stephens@nvidia.com>

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2022-12-10 10:33:21 +08:00
bingwang-ms
2e0d958a42 Apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor (#12730)
Why I did it
The PR is to apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor.
The traffic with DSCP 2 and DSCP 6 from T1 is treated as lossless traffic.

DSCP    TC    Queue
2      2     2
6      6     6
Traffic with DSCP 2 or DSCP 6 from downlink is still treated as lossy traffic as before.

How I did it
Define DSCP_TO_TC_MAP|AZURE_UPLINK and TC_TO_QUEUE_MAP|AZURE_UPLINK.

How to verify it
Verified by UT
Verified by coping the new template to a testbed, and rendering a config_db.json
2022-12-10 10:33:21 +08:00
Dror Prital
670c425717 [submodule] Advance sonic-mgmt-common pointer (#12705)
Update sonic-mgmt-common submodule pointer to include the following:

68e0341 Remove LOGLEVEL DB since is no longer used (#64)

Signed-off-by: dprital <drorp@nvidia.com>
2022-12-10 10:33:21 +08:00
Dror Prital
6b4c128e87 [submodule] Advance sonic-swss pointer (#12704)
Update sonic-swss submodule pointer to include the following:

da56bd6 Remove LOGLEVEL DB since is no longer used (#2507)

Signed-off-by: dprital <drorp@nvidia.com>
2022-12-10 10:33:21 +08:00
Dror Prital
ca05b8d418 [submodule] Advance sonic-py-swsssdk pointer (#12703)
Update sonic-py-swsssdk submodule pointer to include the following:

d3584fc Remove LOGLEVEL DB since is no longer used (#129)

Signed-off-by: dprital <drorp@nvidia.com>
2022-12-10 10:33:21 +08:00
Aravind Mani
3f27c2dd39 [Submodule] Update sonic-utilities pointer (#12760)
* [Submodule] update sonic-utilities submodule
2022-12-10 10:33:21 +08:00
Samuel Angebault
5cd134f32b [Arista] Update platform.json for 7060CX-32S (#12783)
Why I did it
Some sonic-mgmt platform_tests/api were failing on the 7060CX-32S

How I did it
Added the missing metadata in platform.json and platform_components.json
This is purely test data and does not impact our API implementation.

How to verify it
Run platform_tests / api and expect 100% pass rate.
2022-12-10 10:33:21 +08:00
Junchao-Mellanox
0883f6a4f8 [submodule] Update sonic-platform-common pointer (#12707) 2022-12-10 10:33:21 +08:00
Stephen Sun
f221ac3db5 [system health daemon] Support PSU power threshold checking (#11864) 2022-12-10 10:33:21 +08:00
Guohan Lu
3cd116d1ba Revert "[SAI PTF]Support sai ptf v2 Syncd-rpc (#12761)"
This reverts commit 9734b427ff.
2022-12-10 10:33:21 +08:00
Richard.Yu
0eb82ab217 [SAI PTF]Support sai ptf v2 Syncd-rpc (#12761)
Make syncd rpc docker which supports sai-ptf v2

local bulild the target

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=vs
NOSTRETCH=y NOJESSIE=y NOBULLSEYE=y SAITHRIFT_V2=y make target/docker-ptf-sai.gz

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=vs
NOSTRETCH=y NOJESSIE=y NOBULLSEYE=y make target/docker-ptf.gz

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=broadcom
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-syncd-brcm-rpcv2.gz
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-saiserverv2-brcm.gz

Test done:
#12619
NOSTRETCH=y NOJESSIE=y make configure PLATFORM=broadcom
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y make target/docker-syncd-brcm-rpc.gz
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y make target/docker-saiserver-brcm.gz

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2022-12-10 10:33:21 +08:00
ganglv
0f02d1ed2f Update sonic-host-services submodule (#12750)
Why I did it
Need sonic-host-services to support "config reload" and "config apply-patch"

How I did it
I have updated sonic-host-services repo, and I update the submodule with this PR

How to verify it
Build image and run unit test.
2022-12-10 10:33:21 +08:00
Yutong Zhang
9641ab32d5 [TestbedV2] Add wan topo test using TestbedV2. (#12751)
Add wan topo test using TestbedV2.

Why I did it
Add wan topo test using TestbedV2.

How I did it
Add a job to run wan topo in pr test.

Signed-off-by: Yutong Zhang <yutongzhang@microsoft.com>
2022-12-10 10:33:21 +08:00
Konstantin Vasin
36f79395e5 [Build] set apt Acquire::Retries to 3 for bullseye (#12758)
Why I did it
There were some changes in apt source code in version 2.1.9.
As a result apt used in bullseye (2.2.4) is intolerant to network issues.
This was fixed in 10631550f1 Already fixed version is used in bookworm (2.5.4)
And not yet affected version is used in buster (1.8.2.3)

How I did it
Set Acquire::Retries to 3 for sonic-slave-bullseye, docker-base-bullseye and final Debian image.

Ref: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1876035

Signed-off-by: Konstantin Vasin k.vasin@yadro.com
2022-12-10 10:33:21 +08:00
jcaiMR
382243b484 add fix for key not exists case (#12769) 2022-12-10 10:33:21 +08:00
Samuel Angebault
fdf84c8b8a [Arista] Update phy-credo package (#12755)
Why I did it
A recent migration of SonicV2Connector from swsssdk to swsscommon.swsscommon broke phy-credo.

How I did it
Change the import path while keeping a fallback on the previous one for 202205

How to verify it
phy-credo.service no longer fails due to an import error
2022-12-10 10:33:21 +08:00
Samuel Angebault
9c8049868c [Arista] Update platform.json for 7260CX3-64 (#12757)
Why I did it
Some sonic-mgmt platform_tests/api were failing on the 7260CX3-64

How I did it
Added the missing metadata in platform.json and platform_components.json
This is purely test data and does not impact our API implementation.

How to verify it
Run platform_tests/api and expect 100% passrate.
2022-12-10 10:33:21 +08:00
Hua Liu
309ea394ce Revert SSHD config change. (#12729)
Revert SSHD config change.

#### Why I did it
Some test case and code may impact by SSHD config change.


#### How I did it
Revert following change in build_debian.sh script:
ClientAliveInterval change back to 900.
MaxAuthTries change back to default value.
Banner change to disabled.

#### How to verify it
Pass all E2E test case.

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205

#### Description for the changelog
Revert SSHD config change.

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
2022-12-10 10:33:21 +08:00
Samuel Angebault
3d0ff0dab5 [Arista] Update platform library submodules (#12736)
add partial reboot cause support for linecards
add watchdog support for linecards
add power draw information for chassis
properly implement Chassis.get_port_or_cage_type
fix pcieutil on chassis with powered off cards
fix watchdog-control.service crash
misc fixes and cleanups
2022-12-10 10:33:21 +08:00
mssonicbld
b79d0dbb15
[ci/build]: Upgrade SONiC package versions (#12988) 2022-12-08 07:09:27 +08:00
LuiSzee
5ebc52ce2f [build][arm64] disable p4rt compile on arm64 for bazel not work (#12798)
pre-compiled bazel is not work in arm64 docker container

shil@2f910d8d37b2:/sonic/src/sonic-p4rt/sonic-pins$ uname -a
Linux 2f910d8d37b2 5.4.0-132-generic #148-Ubuntu SMP Mon Oct 17 16:02:06 UTC 2022 aarch64 GNU/Linux
shil@2f910d8d37b2:/sonic/src/sonic-p4rt/sonic-pins$ bazel
Opening zip "/proc/self/exe": lseek(): Bad file descriptor
FATAL: Failed to open '/proc/self/exe' as a zip file: (error: 9): Bad file descriptor
shil@2f910d8d37b2:/sonic/src/sonic-p4rt/sonic-pins$
2022-12-06 18:35:34 +08:00
zitingguo-ms
1d6e0b9935
fix thrift 014 makefile (#12935)
Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>

Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>
2022-12-06 10:31:58 +08:00
Yutong Zhang
bb0f738d78
[TestbedV2][202211]Sync pipeline in 202211 branch with master. (#12942)
Sync pipeline in 202211 branch with master.

Why I did it
Sync pipeline in 202211 branch with master.

How I did it
1. Remove the timeout in each step of a job, and control the timout outside.
2. Set all job mandatory.

Signed-off-by: Yutong Zhang <yutongzhang@microsoft.com>
2022-12-06 10:17:15 +08:00
mssonicbld
ca4df757a5
[centec][arm64] fix tsingma bsp compile error (#12774) (#12944) 2022-12-05 22:03:13 +08:00
Richard.Yu
61f1428eb3
[SAI-PTF][202211]enable sai-ptf logger in sai_adapter to log all the sai api invcations (#12933)
Why I did it
enable sai-ptf logger in sai_adapter to log all the sai api invcations

How I did it
add build parameter to enable the sai-ptf logger when build sai PRC

How to verify it
local build test
test the generated sai_adapter
test with pipeline

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2022-12-04 22:13:51 -08:00
Richard.Yu
3dcbf10918
[Submodule][SAI-Redis][202211]Advance SAI Redis head pointer (#12932)
Advance sairedis head pointer, include changes
- https://github.com/sonic-net/sonic-sairedis/pull/1165 1aa1e4e6e9

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2022-12-04 21:43:23 -08:00
zitingguo-ms
94d56b83ac
Publish docker saiserverv2 in 202211 branch (#12883)
Why I did it
Publish docker saiserverv2 in the build pipeline.

How I did it
Add docker saiserverv2 target in the build template.

How to verify it
Run test in #12837 and it has been built out successfully.
2022-11-30 22:25:17 -08:00
StormLiangMS
cd1c66c5e9
[202211] add release tag (#12864)
Why I did it
To create release tag for 202211 branch.

How I did it
To add release tag file for 202211

How to verify it
2022-11-30 21:27:28 +08:00
mssonicbld
426222c6ed
[build] Fix issue between reproducible build and dood. (#11084) (#12845) (#12851) 2022-11-29 23:02:01 +08:00
Liu Shilong
50739e5ce9
Fix version file name path suffix issue. (#12861) 2022-11-29 17:58:04 +08:00
Richard.Yu
c34e3ff86b
[submodule]Advance sairdis with sai 1.11 and add brcm and mlnx sai sdk (#12471) (#12820)
* Why I did it*
Advance submodule sairdis with sai 1.11 and add brcm and mlnx sai sdk

*How I did it*
Advance sairedis which contains
Todo: cause sairedis 202211 branch blocked by some dependences repo, map to sairedis master, will move to 202211 when branch ready
[submodule][SAI]Advance SAI head pointer sonic-sairedis#1155
[Recorder]: Acquire lock for ofstream changes sonic-sairedis#1145
[SAI submodule update] Enable support for SAI v1.11.0 sonic-sairedis#1140
Add brcm sdk 7.1 which update with sai 1.11
Add mlnx sdk which update with sai 1.11
*How to verify it*
Test with pipeline which enable RPC build as well https://github.com/sonic-net/sonic-buildimage/pull/12770/files
Test with sonic smoke test cases
Test with sai test cases

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Kebo Liu <kebol@nvidia.com>
Co-authored-by: Kebo Liu <kebol@nvidia.com>
Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Kebo Liu <kebol@nvidia.com>
Co-authored-by: Kebo Liu <kebol@nvidia.com>
2022-11-24 23:30:54 +08:00
mssonicbld
8256f6ca3e
[ci/build]: Upgrade SONiC package versions (#12818) 2022-11-24 06:33:34 +08:00
mssonicbld
6ef964eaf8
[ci/build]: Upgrade SONiC package versions (#12773) 2022-11-21 10:24:41 +08:00
stormliang
123993cc03 add 202211 branch for submodules which has dependency on 2022-11-20 03:21:59 +00:00
851 changed files with 139032 additions and 1668 deletions

View File

@ -139,9 +139,20 @@ jobs:
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
fi
if [ $(docker_syncd_rpc_image) == yes ]; then
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
pushd ./src/sonic-sairedis/SAI
git stash
popd
if [ $(GROUP_NAME) == broadcom ]; then
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-dnx-rpc.gz
pushd ./src/sonic-sairedis/SAI
git stash
popd
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y target/docker-saiserverv2-brcm.gz
pushd ./src/sonic-sairedis/SAI
git stash
popd
fi
fi
if [ $(syncd_rpc_image) == yes ]; then

View File

@ -36,6 +36,7 @@ jobs:
displayName: "Set cache options"
- checkout: self
submodules: recursive
fetchDepth: 0
condition: and(succeeded(), eq(variables.SKIP_CHECKOUT, ''))
displayName: 'Checkout code'
- script: |

View File

@ -106,6 +106,16 @@ jobs:
fi
if [ ${{ parameters.sync_rpc_image }} == true ]; then
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y target/docker-syncd-${{ parameters.platform_short }}-rpc.gz
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
pushd ./src/sonic-sairedis/SAI
git stash
popd
if [ ${{ parameters.platform }} == broadcom ]; then
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y target/docker-saiserverv2-brcm.gz
pushd ./src/sonic-sairedis/SAI
git stash
popd
fi
fi
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) target/sonic-${{ parameters.platform }}.bin

View File

@ -35,7 +35,7 @@ parameters:
- sonicbld-armhf
jobs:
- job: Build_${{ parameters.dist }}_${{ parameters.march }}${{ parameters.arch }}
- job: sonic_slave_${{ parameters.dist }}${{ parameters.march }}
timeoutInMinutes: 360
variables:
- template: /.azure-pipelines/template-variables.yml@buildimage
@ -46,7 +46,6 @@ jobs:
- template: /.azure-pipelines/template-clean-sonic-slave.yml@buildimage
- checkout: self
clean: true
submodules: recursive
- task: Docker@2
displayName: Login to ACR
inputs:
@ -56,6 +55,10 @@ jobs:
set -ex
image_tag=$(BLDENV=${{ parameters.dist }} make -f Makefile.work showtag PLATFORM=generic PLATFORM_ARCH=${{ parameters.arch }} | grep sonic-slave | tail -n 1)
image_latest=$(echo $(echo $image_tag | awk -F: '{print$1}'):latest)
if echo ${{ parameters.pool }} | grep ${{ parameters.arch }};then
image_latest=$(echo ${image_latest} | sed 's/:/-${{ parameters.arch }}:/')
fi
image_branch=$(echo $(echo $image_latest | awk -F: '{print$1}'):$(Build.SourceBranchName))
docker rmi $image_tag || true
if [[ "$(Build.Reason)" =~ [a-zA-Z]*CI ]] && docker pull ${{ parameters.registry_url }}/${image_tag};then
@ -69,7 +72,9 @@ jobs:
docker tag ${image_tag} ${REGISTRY_SERVER}/${image_tag}
docker push ${REGISTRY_SERVER}/${image_tag}
if [[ "${{ parameters.arch }}" == "amd64" ]];then
docker tag ${image_tag} ${REGISTRY_SERVER}/${image_branch}
docker push ${REGISTRY_SERVER}/${image_branch}
if [[ "$(Build.SourceBranchName)" == "master" ]];then
docker tag ${image_tag} ${REGISTRY_SERVER}/${image_latest}
docker push ${REGISTRY_SERVER}/${image_latest}
fi

View File

@ -30,7 +30,6 @@ trigger:
paths:
include:
- sonic-slave-*
- src/sonic-build-hooks
- files/build/versions
- Makefile
- Makefile.work
@ -57,7 +56,7 @@ parameters:
default: sonicdev
stages:
- stage: Build
- stage: Build_in_amd64
jobs:
- ${{ each dist in parameters.dists }}:
- ${{ if endswith(variables['Build.DefinitionName'], dist) }}:
@ -67,7 +66,9 @@ stages:
pool: sonicbld
arch: ${{ arch }}
dist: ${{ dist }}
- stage: Build_march
${{ if ne(arch, 'amd64') }}:
march: _march_${{ arch }}
- stage: Build_native_arm
dependsOn: []
jobs:
- ${{ each dist in parameters.dists }}:
@ -79,4 +80,4 @@ stages:
pool: sonicbld-${{ arch }}
arch: ${{ arch }}
dist: ${{ dist }}
march: march_
march: _${{ arch }}

View File

@ -11,12 +11,12 @@ parameters:
default: 36000
- name: MIN_WORKER
type: number
type: string
default: 1
- name: MAX_WORKER
type: number
default: 2
type: string
default: 1
- name: TEST_SET
type: string
@ -81,11 +81,10 @@ steps:
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID"
# When "LOCK_TESTBED" finish, it changes into "PREPARE_TESTBED"
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --timeout 43200 --expected-states PREPARE_TESTBED EXECUTING KVMDUMP FINISHED CANCELLED FAILED
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state LOCK_TESTBED
env:
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
displayName: Lock testbed
timeoutInMinutes: 240
- script: |
set -ex
@ -95,11 +94,10 @@ steps:
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID"
# When "PREPARE_TESTBED" finish, it changes into "EXECUTING"
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --timeout 2400 --expected-states EXECUTING KVMDUMP FINISHED CANCELLED FAILED
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state PREPARE_TESTBED
env:
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
displayName: Prepare testbed
timeoutInMinutes: 40
- script: |
set -ex
@ -107,11 +105,10 @@ steps:
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID"
# When "EXECUTING" finish, it changes into "KVMDUMP", "FAILED", "CANCELLED" or "FINISHED"
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --timeout 18000 --expected-states KVMDUMP FINISHED CANCELLED FAILED
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state EXECUTING
env:
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
displayName: Run test
timeoutInMinutes: 300
- script: |
set -ex
@ -119,12 +116,11 @@ steps:
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID"
# When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED"
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --timeout 43200 --expected-states FINISHED CANCELLED FAILED
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP
condition: succeededOrFailed()
env:
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
displayName: KVM dump
timeoutInMinutes: 20
- script: |
set -ex

View File

@ -2,3 +2,5 @@ variables:
DEFAULT_CONTAINER_REGISTRY: 'publicmirror.azurecr.io'
COMMON_LIB_BUILD_ENVS: 'bullseye'
SONIC_SLAVE_DOCKER_DRIVER: 'overlay2'
SONIC_BUILD_RETRY_COUNT: 3
SONIC_BUILD_RETRY_INTERVAL: 600

59
.github/workflows/automerge_scan.yml vendored Normal file
View File

@ -0,0 +1,59 @@
name: AutoMergeScan
on:
schedule:
- cron: '31 */2 * * *'
workflow_dispatch:
jobs:
automerge_scan:
runs-on: ubuntu-latest
steps:
- name: Debug
env:
TOKEN: ${{ secrets.TOKEN }}
run: |
set -e
echo ${TOKEN} | gh auth login --with-token
gh pr list -R sonic-net/sonic-buildimage -A mssonicbld --json additions,assignees,author,baseRefName,body,changedFiles,closed,closedAt,comments,commits,createdAt,deletions,files,headRefName,headRepository,headRepositoryOwner,id,isCrossRepository,isDraft,labels,latestReviews,maintainerCanModify,mergeCommit,mergeStateStatus,mergeable,mergedAt,mergedBy,milestone,number,potentialMergeCommit,projectCards,reactionGroups,reviewDecision,reviewRequests,reviews,state,statusCheckRollup,title,updatedAt,url > prs.log
cat prs.log | jq
- name: Main
run: |
set -e
count=$(cat prs.log | jq 'length')
for ((i=0;i<$count;i++))
do
url=$(cat prs.log | jq -r ".[$i].url")
created_at=$(cat prs.log | jq -r ".[$i].createdAt")
echo PR: $(($i+1))/$count, URL: $url, createdAt: $created_at, now: $(date -u +"%FT%TZ")
[[ "$url" == "" ]] && continue
[[ $created_at > $(date --date "1 hour ago" -u +"%FT%TZ") ]] && continue
checks=$(cat prs.log | jq ".[$i].statusCheckRollup")
checks_count=$(echo $checks | jq 'length')
echo Checks count: $checks_count
for ((j=0;j<$checks_count;j++))
do
check=$(echo $checks | jq ".[$j]")
state=$(echo $check | jq -r '.state')
conclusion=$(echo $check | jq -r '.conclusion')
# EasyCLA success flag: state=SUCCESS
# Others success flag: conclusion in SUCCESS,NEUTRAL
if [[ "$state" == "SUCCESS" ]];then
# check pass
continue
elif [[ "$conclusion" == "SUCCESS" ]] || [[ "$conclusion" == "NEUTRAL" ]];then
# check pass
continue
else
echo "$url Check failed!!!"
echo $check | jq
continue 2
fi
done
# merge the PR
echo ========Merging PR========
gh pr merge --rebase --admin -R sonic-net/sonic-buildimage $url || true
echo ========Finished PR========
done

View File

@ -46,4 +46,4 @@ jobs:
exit 1
fi
gh pr edit $origin_pr_url --add-label "Included in ${base_ref} Branch"
gh pr edit $origin_pr_url --remove-label "Created PR to ${base_ref} Branch,Request for ${base_ref} Branch,Approved for ${base_ref} Branch"
gh pr edit $origin_pr_url --remove-label "Created PR to ${base_ref} Branch,Approved for ${base_ref} Branch"

8
.gitmodules vendored
View File

@ -1,15 +1,19 @@
[submodule "sonic-swss-common"]
path = src/sonic-swss-common
url = https://github.com/sonic-net/sonic-swss-common
branch = 202211
[submodule "sonic-linux-kernel"]
path = src/sonic-linux-kernel
url = https://github.com/sonic-net/sonic-linux-kernel
branch = 202211
[submodule "sonic-sairedis"]
path = src/sonic-sairedis
url = https://github.com/sonic-net/sonic-sairedis
branch = 202211
[submodule "sonic-swss"]
path = src/sonic-swss
url = https://github.com/sonic-net/sonic-swss
branch = 202211
[submodule "src/p4c-bm/p4c-bm"]
path = platform/p4/p4c-bm/p4c-bm
url = https://github.com/krambn/p4c-bm
@ -31,15 +35,18 @@
[submodule "src/sonic-utilities"]
path = src/sonic-utilities
url = https://github.com/sonic-net/sonic-utilities
branch = 202211
[submodule "platform/broadcom/sonic-platform-modules-arista"]
path = platform/broadcom/sonic-platform-modules-arista
url = https://github.com/aristanetworks/sonic
[submodule "src/sonic-platform-common"]
path = src/sonic-platform-common
url = https://github.com/sonic-net/sonic-platform-common
branch = 202211
[submodule "src/sonic-platform-daemons"]
path = src/sonic-platform-daemons
url = https://github.com/sonic-net/sonic-platform-daemons
branch = 202211
[submodule "src/sonic-platform-pde"]
path = src/sonic-platform-pde
url = https://github.com/sonic-net/sonic-platform-pdk-pde
@ -97,6 +104,7 @@
[submodule "src/linkmgrd"]
path = src/linkmgrd
url = https://github.com/sonic-net/sonic-linkmgrd.git
branch = 202211
[submodule "src/sonic-p4rt/sonic-pins"]
path = src/sonic-p4rt/sonic-pins
url = https://github.com/sonic-net/sonic-pins.git

View File

@ -33,20 +33,21 @@ PLATFORM_PATH := platform/$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))
PLATFORM_CHECKOUT := platform/checkout
PLATFORM_CHECKOUT_FILE := $(PLATFORM_CHECKOUT)/$(PLATFORM).ini
PLATFORM_CHECKOUT_CMD := $(shell if [ -f $(PLATFORM_CHECKOUT_FILE) ]; then PLATFORM_PATH=$(PLATFORM_PATH) j2 $(PLATFORM_CHECKOUT)/template.j2 $(PLATFORM_CHECKOUT_FILE); fi)
MAKE_WITH_RETRY := ./scripts/run_with_retry $(MAKE)
%::
@echo "+++ --- Making $@ --- +++"
ifeq ($(NOJESSIE), 0)
EXTRA_DOCKER_TARGETS=$(notdir $@) $(MAKE) -f Makefile.work jessie
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) -f Makefile.work jessie
endif
ifeq ($(NOSTRETCH), 0)
EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=stretch $(MAKE) -f Makefile.work stretch
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=stretch -f Makefile.work stretch
endif
ifeq ($(NOBUSTER), 0)
EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=buster $(MAKE) -f Makefile.work buster
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=buster -f Makefile.work buster
endif
ifeq ($(NOBULLSEYE), 0)
BLDENV=bullseye $(MAKE) -f Makefile.work $@
$(MAKE_WITH_RETRY) BLDENV=bullseye -f Makefile.work $@
endif
BLDENV=bullseye $(MAKE) -f Makefile.work docker-cleanup

View File

@ -37,6 +37,9 @@
# * ENABLE_TRANSLIB_WRITE: Enable translib write/config operations via the gNMI interface.
# * Default: unset
# * Values: y
# * ENABLE_NATIVE_WRITE: Enable native write/config operations via the gNMI interface.
# * Default: unset
# * Values: y
# * SONIC_DPKG_CACHE_METHOD: Specifying method of obtaining the Debian packages from cache: none or cache
# * SONIC_DPKG_CACHE_SOURCE: Debian package cache location when cache enabled for debian packages
# * BUILD_LOG_TIMESTAMP: Set timestamp in the build log (simple/none)
@ -177,6 +180,7 @@ $(shell \
SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) \
PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
scripts/generate_buildinfo_config.sh)
# Generate the slave Dockerfile, and prepare build info for it
@ -450,7 +454,6 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
INCLUDE_KUBERNETES=$(INCLUDE_KUBERNETES) \
KUBERNETES_VERSION=$(KUBERNETES_VERSION) \
KUBERNETES_CNI_VERSION=$(KUBERNETES_CNI_VERSION) \
K8s_GCR_IO_PAUSE_VERSION=$(K8s_GCR_IO_PAUSE_VERSION) \
INCLUDE_KUBERNETES_MASTER=$(INCLUDE_KUBERNETES_MASTER) \
SONIC_ENABLE_PFCWD_ON_START=$(ENABLE_PFCWD_ON_START) \
@ -480,6 +483,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \
SONIC_INCLUDE_MUX=$(INCLUDE_MUX) \
ENABLE_TRANSLIB_WRITE=$(ENABLE_TRANSLIB_WRITE) \
ENABLE_NATIVE_WRITE=$(ENABLE_NATIVE_WRITE) \
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
SONIC_ENABLE_IMAGE_SIGNATURE=$(ENABLE_IMAGE_SIGNATURE) \
@ -497,6 +501,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
SONIC_SLAVE_DOCKER_DRIVER=$(SONIC_SLAVE_DOCKER_DRIVER) \
MIRROR_URLS=$(MIRROR_URLS) \
MIRROR_SECURITY_URLS=$(MIRROR_SECURITY_URLS) \
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
$(SONIC_OVERRIDE_BUILD_VARS)
.PHONY: sonic-slave-build sonic-slave-bash init reset
@ -545,7 +550,7 @@ sonic-build-hooks:
$(Q)pushd src/sonic-build-hooks; TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) $(MAKE) all; popd
$(Q)mkdir -p $(SLAVE_DIR)/buildinfo
$(Q)cp src/sonic-build-hooks/buildinfo/sonic-build-hooks* $(SLAVE_DIR)/buildinfo
$(Q)[ "$(MULTIARCH_QEMU_ENVIRON)" == y ] && scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV)
$(Q)if [ "$(MULTIARCH_QEMU_ENVIRON)" == y ]; then scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV); fi
$(Q)scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV)
sonic-slave-base-build : | sonic-build-hooks

View File

@ -177,21 +177,21 @@ stages:
pool:
vmImage: 'ubuntu-20.04'
displayName: "kvmtest-t0 by TestbedV2"
timeoutInMinutes: 1080
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: false
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: t0
MIN_WORKER: 2
MAX_WORKER: 3
MIN_WORKER: $(T0_INSTANCE_NUM)
MAX_WORKER: $(T0_INSTANCE_NUM)
- job: t0_2vlans_testbedv2
pool:
vmImage: 'ubuntu-20.04'
displayName: "kvmtest-t0-2vlans by TestbedV2"
timeoutInMinutes: 1080
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: false
steps:
@ -199,7 +199,8 @@ stages:
parameters:
TOPOLOGY: t0
TEST_SET: t0-2vlans
MAX_WORKER: 1
MIN_WORKER: $(T0_2VLANS_INSTANCE_NUM)
MAX_WORKER: $(T0_2VLANS_INSTANCE_NUM)
DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a"
- job:
@ -254,15 +255,15 @@ stages:
pool:
vmImage: 'ubuntu-20.04'
displayName: "kvmtest-t1-lag by TestbedV2"
timeoutInMinutes: 600
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: false
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: t1-lag
MIN_WORKER: 2
MAX_WORKER: 3
MIN_WORKER: $(T1_LAG_INSTANCE_NUM)
MAX_WORKER: $(T1_LAG_INSTANCE_NUM)
- job:
pool:
@ -320,35 +321,53 @@ stages:
displayName: "kvmtest-multi-asic-t1-lag by TestbedV2"
pool:
vmImage: 'ubuntu-20.04'
timeoutInMinutes: 1080
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: true
continueOnError: false
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: t1-8-lag
TEST_SET: multi-asic-t1-lag
MIN_WORKER: 1
MAX_WORKER: 1
MIN_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
MAX_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
NUM_ASIC: 4
- job: dualtor_testbedv2
pool:
vmImage: 'ubuntu-20.04'
displayName: "kvmtest-dualtor-t0 by TestbedV2"
timeoutInMinutes: 1080
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: false
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: dualtor
MIN_WORKER: 1
MAX_WORKER: 1
MIN_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
MAX_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
COMMON_EXTRA_PARAMS: "--disable_loganalyzer "
- job: sonic_t0_testbedv2
displayName: "kvmtest-t0-sonic by TestbedV2"
pool:
vmImage: 'ubuntu-20.04'
timeoutInMinutes: 240
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
continueOnError: false
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: t0-64-32
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
TEST_SET: t0-sonic
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"
VM_TYPE: vsonic
SPECIFIED_PARAMS: '{\"test_pretest.py\":[\"--completeness_level=confident\",\"--allow_recover\"],\"test_posttest.py\":[\"--completeness_level=confident\",\"--allow_recover\"]}'
- job: wan_testbedv2
displayName: "kvmtest-wan by TestbedV2"
pool:
vmImage: 'ubuntu-20.04'
timeoutInMinutes: 1080
@ -357,10 +376,7 @@ stages:
steps:
- template: .azure-pipelines/run-test-scheduler-template.yml
parameters:
TOPOLOGY: t0-64-32
MIN_WORKER: 1
MAX_WORKER: 2
TEST_SET: t0-sonic
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"
VM_TYPE: vsonic
SPECIFIED_PARAMS: '{\"test_pretest.py\":[\"--completeness_level=confident\",\"--allow_recover\"],\"test_posttest.py\":[\"--completeness_level=confident\",\"--allow_recover\"]}'
TOPOLOGY: wan-pub
MIN_WORKER: $(WAN_INSTANCE_NUM)
MAX_WORKER: $(WAN_INSTANCE_NUM)
COMMON_EXTRA_PARAMS: "--skip_sanity "

View File

@ -110,7 +110,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT mount
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
scripts/build_mirror_config.sh files/apt $CONFIGURED_ARCH $IMAGE_DISTRO
sudo cp files/apt/sources.list.$CONFIGURED_ARCH $FILESYSTEM_ROOT/etc/apt/sources.list
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages},no-check-valid-until} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages},no-check-valid-until,apt-multiple-retries} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
## Note: set lang to prevent locale warnings in your chroot
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
@ -272,7 +272,6 @@ then
## Install Kubernetes
echo '[INFO] Install kubernetes'
install_kubernetes ${KUBERNETES_VERSION}
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubernetes-cni=${KUBERNETES_CNI_VERSION}
else
echo '[INFO] Skipping Install kubernetes'
fi
@ -468,16 +467,12 @@ rm /files/etc/ssh/sshd_config/ClientAliveInterval
rm /files/etc/ssh/sshd_config/ClientAliveCountMax
touch /files/etc/ssh/sshd_config/EmptyLineHack
rename /files/etc/ssh/sshd_config/EmptyLineHack ""
set /files/etc/ssh/sshd_config/ClientAliveInterval 300
set /files/etc/ssh/sshd_config/ClientAliveInterval 900
set /files/etc/ssh/sshd_config/ClientAliveCountMax 0
ins #comment before /files/etc/ssh/sshd_config/ClientAliveInterval
set /files/etc/ssh/sshd_config/#comment[following-sibling::*[1][self::ClientAliveInterval]] "Close inactive client sessions after 5 minutes"
rm /files/etc/ssh/sshd_config/MaxAuthTries
set /files/etc/ssh/sshd_config/MaxAuthTries 3
set /files/etc/ssh/sshd_config/#comment[following-sibling::*[1][self::ClientAliveInterval]] "Close inactive client sessions after 15 minutes"
rm /files/etc/ssh/sshd_config/LogLevel
set /files/etc/ssh/sshd_config/LogLevel VERBOSE
rm /files/etc/ssh/sshd_config/Banner
set /files/etc/ssh/sshd_config/Banner /etc/issue
save
quit
EOF

View File

@ -1,4 +1,6 @@
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{% set different_dscp_to_tc_map = true %}
{% set different_tc_to_queue_map = true %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
@ -67,7 +69,73 @@
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"AZURE_UPLINK": {
"0" : "1",
"1" : "1",
"2" : "2",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "6",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
"2" : "1",
@ -174,6 +242,17 @@
"7": "7",
"8": "1"
},
"AZURE_UPLINK": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",

View File

@ -1,4 +1,6 @@
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{% set different_dscp_to_tc_map = true %}
{% set different_tc_to_queue_map = true %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
@ -67,7 +69,73 @@
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"AZURE_UPLINK": {
"0" : "1",
"1" : "1",
"2" : "2",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "6",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
"2" : "1",
@ -174,6 +242,17 @@
"7": "7",
"8": "1"
},
"AZURE_UPLINK": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",

View File

@ -3,7 +3,7 @@
"DCS-7050CX3-32S": {
"component": {
"Aboot()": {},
"Scd(addr=0000:00:18.7)": {},
"Scd(addr=0000:02:00.0)": {},
"Ucd90120A(addr=3-004e)": {},
"Ucd90120A(addr=16-004e)": {},
"CrowSysCpld(addr=2-0023)": {}

View File

@ -1,7 +1,23 @@
{
"chassis": {
"name": "DCS-7060CX-32S",
"components": [],
"components": [
{
"name": "Aboot()"
},
{
"name": "Scd(addr=0000:02:00.0)"
},
{
"name": "Ucd90120A(addr=4-004e)"
},
{
"name": "Ucd90120A(addr=8-004e)"
},
{
"name": "CrowSysCpld(addr=2-0023)"
}
],
"fans": [],
"fan_drawers": [
{
@ -40,52 +56,55 @@
"psus": [
{
"name": "psu1",
"fans": []
"fans": [
{
"name": "psu1/1",
"speed": {
"controllable": false
}
}
]
},
{
"name": "psu2",
"fans": []
"fans": [
{
"name": "psu2/1",
"speed": {
"controllable": false
}
}
]
}
],
"thermals": [
{
"name": "Cpu temp sensor"
"name": "Cpu temp sensor",
"controllable": false
},
{
"name": "Cpu board temp sensor"
"name": "Cpu board temp sensor",
"controllable": false
},
{
"name": "Back-panel temp sensor"
"name": "Back-panel temp sensor",
"controllable": false
},
{
"name": "Board sensor"
"name": "Board sensor",
"controllable": false
},
{
"name": "Switch chip left sensor"
"name": "Switch chip left sensor",
"controllable": false
},
{
"name": "Switch chip right sensor"
"name": "Switch chip right sensor",
"controllable": false
},
{
"name": "Front-panel temp sensor"
},
{
"name": "Power supply 1 hotspot sensor"
},
{
"name": "Power supply 1 inlet temp sensor"
},
{
"name": "Power supply 1 exhaust temp sensor"
},
{
"name": "Power supply 2 hotspot sensor"
},
{
"name": "Power supply 2 inlet temp sensor"
},
{
"name": "Power supply 2 exhaust temp sensor"
"name": "Front-panel temp sensor",
"controllable": false
}
],
"sfps": [
@ -821,4 +840,4 @@
}
}
}
}
}

View File

@ -0,0 +1,13 @@
{
"chassis": {
"DCS-7050CX3-32S": {
"component": {
"Aboot()": {},
"Scd(addr=0000:02:00.0)": {},
"Ucd90120A(addr=4-004e)": {},
"Ucd90120A(addr=8-004e)": {},
"CrowSysCpld(addr=2-0023)": {}
}
}
}
}

View File

@ -10,6 +10,7 @@ dma_desc_timeout_usec.0=15000000
fpem_mem_entries.0=0
higig2_hdr_mode.0=1
ifp_inports_support_enable.0=1
ipv6_lpm_128b_enable.0=1
l2xmsg_mode.0=1
l2_mem_entries.0=65536
l3_mem_entries.0=32768
@ -301,3 +302,4 @@ stable_size=0x5500000
tdma_timeout_usec.0=15000000
tslam_timeout_usec.0=15000000
sai_mdio_access_clause22=1
sai_verify_incoming_chksum=0

View File

@ -0,0 +1 @@
../../../common/profiles/th2/7260/BALANCED

View File

@ -0,0 +1 @@
../../../common/profiles/th2/7260/RDMA-CENTRIC

View File

@ -0,0 +1 @@
../../../common/profiles/th2/7260/TCP-CENTRIC

View File

@ -0,0 +1,17 @@
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(2,12) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(20,64) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(0,2) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(12,20) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}

View File

@ -0,0 +1,3 @@
{%- set default_topo = 't0' %}
{%- include 'buffers_config.j2' %}

View File

@ -0,0 +1 @@
BALANCED/buffers_defaults_t0.j2

View File

@ -0,0 +1 @@
../Arista-7260CX3-C64/buffers_extra_queues.j2

View File

@ -0,0 +1 @@
../Arista-7260CX3-C64/buffers_pool_sizes_t0.j2

View File

@ -0,0 +1,951 @@
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
{%- set IPinIP_sock = '' -%}
{%- set map_prio = '' -%}
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
{%- if 'dualtor' in switch_subtype.lower() %}
{%- set IPinIP_sock = 'sai_tunnel_support=1
sai_tunnel_underlay_route_mode=1
host_as_route_disable=1
l3_ecmp_levels=2' -%}
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
{%- endif %}
{%- endif %}
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #}
l3_alpm_hit_skip=1
sai_adjust_acl_drop_in_rx_drop=1
{{ map_prio }}
PHY_AN_ALLOW_PLL_CHANGE=1
arl_clean_timeout_usec=15000000
asf_mem_profile=2
bcm_num_cos=10
bcm_stat_flags=1
bcm_stat_jumbo=9236
cdma_timeout_usec=15000000
core_clock_frequency=1700
dma_desc_timeout_usec=15000000
dpp_clock_ratio=2:3
higig2_hdr_mode=1
ipv6_lpm_128b_enable=1
l3_alpm_enable=2
lpm_scaling_enable=0
l2xmsg_mode=1
max_vp_lags=0
mem_scan_enable=1
miim_intr_enable=0
module_64ports=1
os=unix
oversubscribe_mode=1
pbmp_xport_xe=0xfffffffd3fffffff4fffffffc7ffffffe
#pbmp_xport_xe=0x47fffffff1fffffffcfffffffe7ffffffe
phy_an_allow_pll_change_hg=0
phy_an_c73=1
phy_chain_rx_lane_map_physical{1.0}=0x3210
phy_chain_rx_lane_map_physical{101.0}=0x0123
phy_chain_rx_lane_map_physical{105.0}=0x0123
phy_chain_rx_lane_map_physical{109.0}=0x0123
phy_chain_rx_lane_map_physical{113.0}=0x2301
phy_chain_rx_lane_map_physical{117.0}=0x3210
phy_chain_rx_lane_map_physical{121.0}=0x3210
phy_chain_rx_lane_map_physical{125.0}=0x1203
phy_chain_rx_lane_map_physical{129.0}=0x3210
phy_chain_rx_lane_map_physical{13.0}=0x0321
phy_chain_rx_lane_map_physical{133.0}=0x1032
phy_chain_rx_lane_map_physical{137.0}=0x3210
phy_chain_rx_lane_map_physical{141.0}=0x0123
phy_chain_rx_lane_map_physical{145.0}=0x3210
phy_chain_rx_lane_map_physical{149.0}=0x2310
phy_chain_rx_lane_map_physical{153.0}=0x0132
phy_chain_rx_lane_map_physical{157.0}=0x1302
phy_chain_rx_lane_map_physical{161.0}=0x3021
phy_chain_rx_lane_map_physical{165.0}=0x2031
phy_chain_rx_lane_map_physical{169.0}=0x2031
phy_chain_rx_lane_map_physical{17.0}=0x3210
phy_chain_rx_lane_map_physical{173.0}=0x1302
phy_chain_rx_lane_map_physical{177.0}=0x2031
phy_chain_rx_lane_map_physical{181.0}=0x0213
phy_chain_rx_lane_map_physical{185.0}=0x0213
phy_chain_rx_lane_map_physical{189.0}=0x1302
phy_chain_rx_lane_map_physical{193.0}=0x3120
phy_chain_rx_lane_map_physical{197.0}=0x0231
phy_chain_rx_lane_map_physical{201.0}=0x2031
phy_chain_rx_lane_map_physical{205.0}=0x0213
phy_chain_rx_lane_map_physical{209.0}=0x2013
phy_chain_rx_lane_map_physical{21.0}=0x3021
phy_chain_rx_lane_map_physical{213.0}=0x3021
phy_chain_rx_lane_map_physical{217.0}=0x0231
phy_chain_rx_lane_map_physical{221.0}=0x2031
phy_chain_rx_lane_map_physical{225.0}=0x1203
phy_chain_rx_lane_map_physical{229.0}=0x1230
phy_chain_rx_lane_map_physical{233.0}=0x3021
phy_chain_rx_lane_map_physical{237.0}=0x1032
phy_chain_rx_lane_map_physical{241.0}=0x2301
phy_chain_rx_lane_map_physical{245.0}=0x0321
phy_chain_rx_lane_map_physical{249.0}=0x2301
phy_chain_rx_lane_map_physical{25.0}=0x2301
phy_chain_rx_lane_map_physical{253.0}=0x2301
phy_chain_rx_lane_map_physical{257.0}=0x3210
phy_chain_rx_lane_map_physical{29.0}=0x3021
phy_chain_rx_lane_map_physical{33.0}=0x1302
phy_chain_rx_lane_map_physical{37.0}=0x2031
phy_chain_rx_lane_map_physical{41.0}=0x3021
phy_chain_rx_lane_map_physical{45.0}=0x1023
phy_chain_rx_lane_map_physical{49.0}=0x0213
phy_chain_rx_lane_map_physical{5.0}=0x3201
phy_chain_rx_lane_map_physical{53.0}=0x3201
phy_chain_rx_lane_map_physical{57.0}=0x2013
phy_chain_rx_lane_map_physical{61.0}=0x0213
phy_chain_rx_lane_map_physical{65.0}=0x1203
phy_chain_rx_lane_map_physical{69.0}=0x0213
phy_chain_rx_lane_map_physical{73.0}=0x0213
phy_chain_rx_lane_map_physical{77.0}=0x3120
phy_chain_rx_lane_map_physical{81.0}=0x0213
phy_chain_rx_lane_map_physical{85.0}=0x2031
phy_chain_rx_lane_map_physical{89.0}=0x2031
phy_chain_rx_lane_map_physical{9.0}=0x0321
phy_chain_rx_lane_map_physical{93.0}=0x3120
phy_chain_rx_lane_map_physical{97.0}=0x1203
phy_chain_rx_polarity_flip_physical{1.0}=0x1
phy_chain_rx_polarity_flip_physical{10.0}=0x0
phy_chain_rx_polarity_flip_physical{100.0}=0x1
phy_chain_rx_polarity_flip_physical{101.0}=0x1
phy_chain_rx_polarity_flip_physical{102.0}=0x0
phy_chain_rx_polarity_flip_physical{103.0}=0x1
phy_chain_rx_polarity_flip_physical{104.0}=0x0
phy_chain_rx_polarity_flip_physical{105.0}=0x1
phy_chain_rx_polarity_flip_physical{106.0}=0x0
phy_chain_rx_polarity_flip_physical{107.0}=0x1
phy_chain_rx_polarity_flip_physical{108.0}=0x0
phy_chain_rx_polarity_flip_physical{109.0}=0x0
phy_chain_rx_polarity_flip_physical{11.0}=0x1
phy_chain_rx_polarity_flip_physical{110.0}=0x1
phy_chain_rx_polarity_flip_physical{111.0}=0x0
phy_chain_rx_polarity_flip_physical{112.0}=0x1
phy_chain_rx_polarity_flip_physical{113.0}=0x1
phy_chain_rx_polarity_flip_physical{114.0}=0x0
phy_chain_rx_polarity_flip_physical{115.0}=0x1
phy_chain_rx_polarity_flip_physical{116.0}=0x0
phy_chain_rx_polarity_flip_physical{117.0}=0x0
phy_chain_rx_polarity_flip_physical{118.0}=0x0
phy_chain_rx_polarity_flip_physical{119.0}=0x1
phy_chain_rx_polarity_flip_physical{12.0}=0x1
phy_chain_rx_polarity_flip_physical{120.0}=0x0
phy_chain_rx_polarity_flip_physical{121.0}=0x1
phy_chain_rx_polarity_flip_physical{122.0}=0x0
phy_chain_rx_polarity_flip_physical{123.0}=0x1
phy_chain_rx_polarity_flip_physical{124.0}=0x0
phy_chain_rx_polarity_flip_physical{125.0}=0x0
phy_chain_rx_polarity_flip_physical{126.0}=0x1
phy_chain_rx_polarity_flip_physical{127.0}=0x1
phy_chain_rx_polarity_flip_physical{128.0}=0x1
phy_chain_rx_polarity_flip_physical{129.0}=0x0
phy_chain_rx_polarity_flip_physical{13.0}=0x1
phy_chain_rx_polarity_flip_physical{130.0}=0x1
phy_chain_rx_polarity_flip_physical{131.0}=0x1
phy_chain_rx_polarity_flip_physical{132.0}=0x0
phy_chain_rx_polarity_flip_physical{133.0}=0x1
phy_chain_rx_polarity_flip_physical{134.0}=0x1
phy_chain_rx_polarity_flip_physical{135.0}=0x1
phy_chain_rx_polarity_flip_physical{136.0}=0x0
phy_chain_rx_polarity_flip_physical{137.0}=0x0
phy_chain_rx_polarity_flip_physical{138.0}=0x0
phy_chain_rx_polarity_flip_physical{139.0}=0x1
phy_chain_rx_polarity_flip_physical{14.0}=0x0
phy_chain_rx_polarity_flip_physical{140.0}=0x0
phy_chain_rx_polarity_flip_physical{141.0}=0x1
phy_chain_rx_polarity_flip_physical{142.0}=0x0
phy_chain_rx_polarity_flip_physical{143.0}=0x1
phy_chain_rx_polarity_flip_physical{144.0}=0x0
phy_chain_rx_polarity_flip_physical{145.0}=0x1
phy_chain_rx_polarity_flip_physical{146.0}=0x0
phy_chain_rx_polarity_flip_physical{147.0}=0x1
phy_chain_rx_polarity_flip_physical{148.0}=0x0
phy_chain_rx_polarity_flip_physical{149.0}=0x0
phy_chain_rx_polarity_flip_physical{15.0}=0x1
phy_chain_rx_polarity_flip_physical{150.0}=0x1
phy_chain_rx_polarity_flip_physical{151.0}=0x1
phy_chain_rx_polarity_flip_physical{152.0}=0x0
phy_chain_rx_polarity_flip_physical{153.0}=0x0
phy_chain_rx_polarity_flip_physical{154.0}=0x1
phy_chain_rx_polarity_flip_physical{155.0}=0x1
phy_chain_rx_polarity_flip_physical{156.0}=0x0
phy_chain_rx_polarity_flip_physical{157.0}=0x0
phy_chain_rx_polarity_flip_physical{158.0}=0x0
phy_chain_rx_polarity_flip_physical{159.0}=0x1
phy_chain_rx_polarity_flip_physical{16.0}=0x0
phy_chain_rx_polarity_flip_physical{160.0}=0x0
phy_chain_rx_polarity_flip_physical{161.0}=0x1
phy_chain_rx_polarity_flip_physical{162.0}=0x1
phy_chain_rx_polarity_flip_physical{163.0}=0x0
phy_chain_rx_polarity_flip_physical{164.0}=0x1
phy_chain_rx_polarity_flip_physical{165.0}=0x0
phy_chain_rx_polarity_flip_physical{166.0}=0x0
phy_chain_rx_polarity_flip_physical{167.0}=0x1
phy_chain_rx_polarity_flip_physical{168.0}=0x1
phy_chain_rx_polarity_flip_physical{169.0}=0x1
phy_chain_rx_polarity_flip_physical{17.0}=0x1
phy_chain_rx_polarity_flip_physical{170.0}=0x1
phy_chain_rx_polarity_flip_physical{171.0}=0x0
phy_chain_rx_polarity_flip_physical{172.0}=0x0
phy_chain_rx_polarity_flip_physical{173.0}=0x0
phy_chain_rx_polarity_flip_physical{174.0}=0x0
phy_chain_rx_polarity_flip_physical{175.0}=0x1
phy_chain_rx_polarity_flip_physical{176.0}=0x1
phy_chain_rx_polarity_flip_physical{177.0}=0x1
phy_chain_rx_polarity_flip_physical{178.0}=0x1
phy_chain_rx_polarity_flip_physical{179.0}=0x0
phy_chain_rx_polarity_flip_physical{18.0}=0x0
phy_chain_rx_polarity_flip_physical{180.0}=0x0
phy_chain_rx_polarity_flip_physical{181.0}=0x1
phy_chain_rx_polarity_flip_physical{182.0}=0x1
phy_chain_rx_polarity_flip_physical{183.0}=0x0
phy_chain_rx_polarity_flip_physical{184.0}=0x0
phy_chain_rx_polarity_flip_physical{185.0}=0x0
phy_chain_rx_polarity_flip_physical{186.0}=0x0
phy_chain_rx_polarity_flip_physical{187.0}=0x1
phy_chain_rx_polarity_flip_physical{188.0}=0x1
phy_chain_rx_polarity_flip_physical{189.0}=0x0
phy_chain_rx_polarity_flip_physical{19.0}=0x1
phy_chain_rx_polarity_flip_physical{190.0}=0x0
phy_chain_rx_polarity_flip_physical{191.0}=0x1
phy_chain_rx_polarity_flip_physical{192.0}=0x0
phy_chain_rx_polarity_flip_physical{193.0}=0x0
phy_chain_rx_polarity_flip_physical{194.0}=0x0
phy_chain_rx_polarity_flip_physical{195.0}=0x1
phy_chain_rx_polarity_flip_physical{196.0}=0x1
phy_chain_rx_polarity_flip_physical{197.0}=0x1
phy_chain_rx_polarity_flip_physical{198.0}=0x1
phy_chain_rx_polarity_flip_physical{199.0}=0x0
phy_chain_rx_polarity_flip_physical{2.0}=0x0
phy_chain_rx_polarity_flip_physical{20.0}=0x0
phy_chain_rx_polarity_flip_physical{200.0}=0x0
phy_chain_rx_polarity_flip_physical{201.0}=0x0
phy_chain_rx_polarity_flip_physical{202.0}=0x0
phy_chain_rx_polarity_flip_physical{203.0}=0x1
phy_chain_rx_polarity_flip_physical{204.0}=0x0
phy_chain_rx_polarity_flip_physical{205.0}=0x1
phy_chain_rx_polarity_flip_physical{206.0}=0x1
phy_chain_rx_polarity_flip_physical{207.0}=0x0
phy_chain_rx_polarity_flip_physical{208.0}=0x0
phy_chain_rx_polarity_flip_physical{209.0}=0x1
phy_chain_rx_polarity_flip_physical{21.0}=0x0
phy_chain_rx_polarity_flip_physical{210.0}=0x1
phy_chain_rx_polarity_flip_physical{211.0}=0x0
phy_chain_rx_polarity_flip_physical{212.0}=0x0
phy_chain_rx_polarity_flip_physical{213.0}=0x0
phy_chain_rx_polarity_flip_physical{214.0}=0x0
phy_chain_rx_polarity_flip_physical{215.0}=0x1
phy_chain_rx_polarity_flip_physical{216.0}=0x0
phy_chain_rx_polarity_flip_physical{217.0}=0x0
phy_chain_rx_polarity_flip_physical{218.0}=0x0
phy_chain_rx_polarity_flip_physical{219.0}=0x1
phy_chain_rx_polarity_flip_physical{22.0}=0x0
phy_chain_rx_polarity_flip_physical{220.0}=0x1
phy_chain_rx_polarity_flip_physical{221.0}=0x0
phy_chain_rx_polarity_flip_physical{222.0}=0x0
phy_chain_rx_polarity_flip_physical{223.0}=0x1
phy_chain_rx_polarity_flip_physical{224.0}=0x1
phy_chain_rx_polarity_flip_physical{225.0}=0x1
phy_chain_rx_polarity_flip_physical{226.0}=0x0
phy_chain_rx_polarity_flip_physical{227.0}=0x0
phy_chain_rx_polarity_flip_physical{228.0}=0x1
phy_chain_rx_polarity_flip_physical{229.0}=0x0
phy_chain_rx_polarity_flip_physical{23.0}=0x1
phy_chain_rx_polarity_flip_physical{230.0}=0x0
phy_chain_rx_polarity_flip_physical{231.0}=0x1
phy_chain_rx_polarity_flip_physical{232.0}=0x1
phy_chain_rx_polarity_flip_physical{233.0}=0x1
phy_chain_rx_polarity_flip_physical{234.0}=0x0
phy_chain_rx_polarity_flip_physical{235.0}=0x0
phy_chain_rx_polarity_flip_physical{236.0}=0x0
phy_chain_rx_polarity_flip_physical{237.0}=0x1
phy_chain_rx_polarity_flip_physical{238.0}=0x0
phy_chain_rx_polarity_flip_physical{239.0}=0x1
phy_chain_rx_polarity_flip_physical{24.0}=0x0
phy_chain_rx_polarity_flip_physical{240.0}=0x0
phy_chain_rx_polarity_flip_physical{241.0}=0x1
phy_chain_rx_polarity_flip_physical{242.0}=0x0
phy_chain_rx_polarity_flip_physical{243.0}=0x1
phy_chain_rx_polarity_flip_physical{244.0}=0x0
phy_chain_rx_polarity_flip_physical{245.0}=0x1
phy_chain_rx_polarity_flip_physical{246.0}=0x1
phy_chain_rx_polarity_flip_physical{247.0}=0x1
phy_chain_rx_polarity_flip_physical{248.0}=0x0
phy_chain_rx_polarity_flip_physical{249.0}=0x0
phy_chain_rx_polarity_flip_physical{25.0}=0x1
phy_chain_rx_polarity_flip_physical{250.0}=0x1
phy_chain_rx_polarity_flip_physical{251.0}=0x0
phy_chain_rx_polarity_flip_physical{252.0}=0x1
phy_chain_rx_polarity_flip_physical{253.0}=0x1
phy_chain_rx_polarity_flip_physical{254.0}=0x0
phy_chain_rx_polarity_flip_physical{255.0}=0x1
phy_chain_rx_polarity_flip_physical{256.0}=0x0
phy_chain_rx_polarity_flip_physical{257.0}=0x0
phy_chain_rx_polarity_flip_physical{259.0}=0x0
phy_chain_rx_polarity_flip_physical{26.0}=0x0
phy_chain_rx_polarity_flip_physical{27.0}=0x1
phy_chain_rx_polarity_flip_physical{28.0}=0x0
phy_chain_rx_polarity_flip_physical{29.0}=0x0
phy_chain_rx_polarity_flip_physical{3.0}=0x1
phy_chain_rx_polarity_flip_physical{30.0}=0x0
phy_chain_rx_polarity_flip_physical{31.0}=0x0
phy_chain_rx_polarity_flip_physical{32.0}=0x1
phy_chain_rx_polarity_flip_physical{33.0}=0x0
phy_chain_rx_polarity_flip_physical{34.0}=0x0
phy_chain_rx_polarity_flip_physical{35.0}=0x1
phy_chain_rx_polarity_flip_physical{36.0}=0x1
phy_chain_rx_polarity_flip_physical{37.0}=0x1
phy_chain_rx_polarity_flip_physical{38.0}=0x1
phy_chain_rx_polarity_flip_physical{39.0}=0x0
phy_chain_rx_polarity_flip_physical{4.0}=0x0
phy_chain_rx_polarity_flip_physical{40.0}=0x0
phy_chain_rx_polarity_flip_physical{41.0}=0x0
phy_chain_rx_polarity_flip_physical{42.0}=0x1
phy_chain_rx_polarity_flip_physical{43.0}=0x1
phy_chain_rx_polarity_flip_physical{44.0}=0x1
phy_chain_rx_polarity_flip_physical{45.0}=0x1
phy_chain_rx_polarity_flip_physical{46.0}=0x0
phy_chain_rx_polarity_flip_physical{47.0}=0x0
phy_chain_rx_polarity_flip_physical{48.0}=0x1
phy_chain_rx_polarity_flip_physical{49.0}=0x1
phy_chain_rx_polarity_flip_physical{5.0}=0x1
phy_chain_rx_polarity_flip_physical{50.0}=0x1
phy_chain_rx_polarity_flip_physical{51.0}=0x0
phy_chain_rx_polarity_flip_physical{52.0}=0x0
phy_chain_rx_polarity_flip_physical{53.0}=0x0
phy_chain_rx_polarity_flip_physical{54.0}=0x0
phy_chain_rx_polarity_flip_physical{55.0}=0x1
phy_chain_rx_polarity_flip_physical{56.0}=0x0
phy_chain_rx_polarity_flip_physical{57.0}=0x0
phy_chain_rx_polarity_flip_physical{58.0}=0x0
phy_chain_rx_polarity_flip_physical{59.0}=0x1
phy_chain_rx_polarity_flip_physical{6.0}=0x0
phy_chain_rx_polarity_flip_physical{60.0}=0x1
phy_chain_rx_polarity_flip_physical{61.0}=0x0
phy_chain_rx_polarity_flip_physical{62.0}=0x0
phy_chain_rx_polarity_flip_physical{63.0}=0x1
phy_chain_rx_polarity_flip_physical{64.0}=0x1
phy_chain_rx_polarity_flip_physical{65.0}=0x1
phy_chain_rx_polarity_flip_physical{66.0}=0x1
phy_chain_rx_polarity_flip_physical{67.0}=0x0
phy_chain_rx_polarity_flip_physical{68.0}=0x1
phy_chain_rx_polarity_flip_physical{69.0}=0x0
phy_chain_rx_polarity_flip_physical{7.0}=0x0
phy_chain_rx_polarity_flip_physical{70.0}=0x0
phy_chain_rx_polarity_flip_physical{71.0}=0x1
phy_chain_rx_polarity_flip_physical{72.0}=0x1
phy_chain_rx_polarity_flip_physical{73.0}=0x1
phy_chain_rx_polarity_flip_physical{74.0}=0x1
phy_chain_rx_polarity_flip_physical{75.0}=0x0
phy_chain_rx_polarity_flip_physical{76.0}=0x0
phy_chain_rx_polarity_flip_physical{77.0}=0x0
phy_chain_rx_polarity_flip_physical{78.0}=0x0
phy_chain_rx_polarity_flip_physical{79.0}=0x1
phy_chain_rx_polarity_flip_physical{8.0}=0x1
phy_chain_rx_polarity_flip_physical{80.0}=0x1
phy_chain_rx_polarity_flip_physical{81.0}=0x1
phy_chain_rx_polarity_flip_physical{82.0}=0x1
phy_chain_rx_polarity_flip_physical{83.0}=0x0
phy_chain_rx_polarity_flip_physical{84.0}=0x0
phy_chain_rx_polarity_flip_physical{85.0}=0x1
phy_chain_rx_polarity_flip_physical{86.0}=0x1
phy_chain_rx_polarity_flip_physical{87.0}=0x0
phy_chain_rx_polarity_flip_physical{88.0}=0x0
phy_chain_rx_polarity_flip_physical{89.0}=0x0
phy_chain_rx_polarity_flip_physical{9.0}=0x1
phy_chain_rx_polarity_flip_physical{90.0}=0x0
phy_chain_rx_polarity_flip_physical{91.0}=0x1
phy_chain_rx_polarity_flip_physical{92.0}=0x1
phy_chain_rx_polarity_flip_physical{93.0}=0x0
phy_chain_rx_polarity_flip_physical{94.0}=0x0
phy_chain_rx_polarity_flip_physical{95.0}=0x1
phy_chain_rx_polarity_flip_physical{96.0}=0x0
phy_chain_rx_polarity_flip_physical{97.0}=0x1
phy_chain_rx_polarity_flip_physical{98.0}=0x1
phy_chain_rx_polarity_flip_physical{99.0}=0x0
phy_chain_tx_lane_map_physical{1.0}=0x2031
phy_chain_tx_lane_map_physical{101.0}=0x1023
phy_chain_tx_lane_map_physical{105.0}=0x1302
phy_chain_tx_lane_map_physical{109.0}=0x0321
phy_chain_tx_lane_map_physical{113.0}=0x2301
phy_chain_tx_lane_map_physical{117.0}=0x3120
phy_chain_tx_lane_map_physical{121.0}=0x3102
phy_chain_tx_lane_map_physical{125.0}=0x3210
phy_chain_tx_lane_map_physical{129.0}=0x1023
phy_chain_tx_lane_map_physical{13.0}=0x3021
phy_chain_tx_lane_map_physical{133.0}=0x3210
phy_chain_tx_lane_map_physical{137.0}=0x2031
phy_chain_tx_lane_map_physical{141.0}=0x1302
phy_chain_tx_lane_map_physical{145.0}=0x3210
phy_chain_tx_lane_map_physical{149.0}=0x0213
phy_chain_tx_lane_map_physical{153.0}=0x3210
phy_chain_tx_lane_map_physical{157.0}=0x1320
phy_chain_tx_lane_map_physical{161.0}=0x3210
phy_chain_tx_lane_map_physical{165.0}=0x0231
phy_chain_tx_lane_map_physical{169.0}=0x3120
phy_chain_tx_lane_map_physical{17.0}=0x1032
phy_chain_tx_lane_map_physical{173.0}=0x0312
phy_chain_tx_lane_map_physical{177.0}=0x0231
phy_chain_tx_lane_map_physical{181.0}=0x3210
phy_chain_tx_lane_map_physical{185.0}=0x3210
phy_chain_tx_lane_map_physical{189.0}=0x1320
phy_chain_tx_lane_map_physical{193.0}=0x0321
phy_chain_tx_lane_map_physical{197.0}=0x3120
phy_chain_tx_lane_map_physical{201.0}=0x3120
phy_chain_tx_lane_map_physical{205.0}=0x0123
phy_chain_tx_lane_map_physical{209.0}=0x3120
phy_chain_tx_lane_map_physical{21.0}=0x0213
phy_chain_tx_lane_map_physical{213.0}=0x3021
phy_chain_tx_lane_map_physical{217.0}=0x0312
phy_chain_tx_lane_map_physical{221.0}=0x2301
phy_chain_tx_lane_map_physical{225.0}=0x0123
phy_chain_tx_lane_map_physical{229.0}=0x2031
phy_chain_tx_lane_map_physical{233.0}=0x0231
phy_chain_tx_lane_map_physical{237.0}=0x0213
phy_chain_tx_lane_map_physical{241.0}=0x1320
phy_chain_tx_lane_map_physical{245.0}=0x2031
phy_chain_tx_lane_map_physical{249.0}=0x3120
phy_chain_tx_lane_map_physical{25.0}=0x0231
phy_chain_tx_lane_map_physical{253.0}=0x0321
phy_chain_tx_lane_map_physical{257.0}=0x3210
phy_chain_tx_lane_map_physical{29.0}=0x1230
phy_chain_tx_lane_map_physical{33.0}=0x1032
phy_chain_tx_lane_map_physical{37.0}=0x0123
phy_chain_tx_lane_map_physical{41.0}=0x0213
phy_chain_tx_lane_map_physical{45.0}=0x0132
phy_chain_tx_lane_map_physical{49.0}=0x2031
phy_chain_tx_lane_map_physical{5.0}=0x2301
phy_chain_tx_lane_map_physical{53.0}=0x2301
phy_chain_tx_lane_map_physical{57.0}=0x2031
phy_chain_tx_lane_map_physical{61.0}=0x2031
phy_chain_tx_lane_map_physical{65.0}=0x1230
phy_chain_tx_lane_map_physical{69.0}=0x2013
phy_chain_tx_lane_map_physical{73.0}=0x0213
phy_chain_tx_lane_map_physical{77.0}=0x2310
phy_chain_tx_lane_map_physical{81.0}=0x0321
phy_chain_tx_lane_map_physical{85.0}=0x2013
phy_chain_tx_lane_map_physical{89.0}=0x0213
phy_chain_tx_lane_map_physical{9.0}=0x3012
phy_chain_tx_lane_map_physical{93.0}=0x3102
phy_chain_tx_lane_map_physical{97.0}=0x3210
phy_chain_tx_polarity_flip_physical{1.0}=0x0
phy_chain_tx_polarity_flip_physical{10.0}=0x1
phy_chain_tx_polarity_flip_physical{100.0}=0x0
phy_chain_tx_polarity_flip_physical{101.0}=0x0
phy_chain_tx_polarity_flip_physical{102.0}=0x1
phy_chain_tx_polarity_flip_physical{103.0}=0x0
phy_chain_tx_polarity_flip_physical{104.0}=0x0
phy_chain_tx_polarity_flip_physical{105.0}=0x0
phy_chain_tx_polarity_flip_physical{106.0}=0x1
phy_chain_tx_polarity_flip_physical{107.0}=0x1
phy_chain_tx_polarity_flip_physical{108.0}=0x1
phy_chain_tx_polarity_flip_physical{109.0}=0x0
phy_chain_tx_polarity_flip_physical{11.0}=0x1
phy_chain_tx_polarity_flip_physical{110.0}=0x0
phy_chain_tx_polarity_flip_physical{111.0}=0x0
phy_chain_tx_polarity_flip_physical{112.0}=0x1
phy_chain_tx_polarity_flip_physical{113.0}=0x1
phy_chain_tx_polarity_flip_physical{114.0}=0x1
phy_chain_tx_polarity_flip_physical{115.0}=0x1
phy_chain_tx_polarity_flip_physical{116.0}=0x0
phy_chain_tx_polarity_flip_physical{117.0}=0x1
phy_chain_tx_polarity_flip_physical{118.0}=0x0
phy_chain_tx_polarity_flip_physical{119.0}=0x0
phy_chain_tx_polarity_flip_physical{12.0}=0x0
phy_chain_tx_polarity_flip_physical{120.0}=0x0
phy_chain_tx_polarity_flip_physical{121.0}=0x0
phy_chain_tx_polarity_flip_physical{122.0}=0x0
phy_chain_tx_polarity_flip_physical{123.0}=0x0
phy_chain_tx_polarity_flip_physical{124.0}=0x1
phy_chain_tx_polarity_flip_physical{125.0}=0x0
phy_chain_tx_polarity_flip_physical{126.0}=0x1
phy_chain_tx_polarity_flip_physical{127.0}=0x1
phy_chain_tx_polarity_flip_physical{128.0}=0x1
phy_chain_tx_polarity_flip_physical{129.0}=0x1
phy_chain_tx_polarity_flip_physical{13.0}=0x0
phy_chain_tx_polarity_flip_physical{130.0}=0x0
phy_chain_tx_polarity_flip_physical{131.0}=0x1
phy_chain_tx_polarity_flip_physical{132.0}=0x0
phy_chain_tx_polarity_flip_physical{133.0}=0x1
phy_chain_tx_polarity_flip_physical{134.0}=0x1
phy_chain_tx_polarity_flip_physical{135.0}=0x1
phy_chain_tx_polarity_flip_physical{136.0}=0x1
phy_chain_tx_polarity_flip_physical{137.0}=0x1
phy_chain_tx_polarity_flip_physical{138.0}=0x1
phy_chain_tx_polarity_flip_physical{139.0}=0x1
phy_chain_tx_polarity_flip_physical{14.0}=0x1
phy_chain_tx_polarity_flip_physical{140.0}=0x1
phy_chain_tx_polarity_flip_physical{141.0}=0x0
phy_chain_tx_polarity_flip_physical{142.0}=0x1
phy_chain_tx_polarity_flip_physical{143.0}=0x1
phy_chain_tx_polarity_flip_physical{144.0}=0x1
phy_chain_tx_polarity_flip_physical{145.0}=0x1
phy_chain_tx_polarity_flip_physical{146.0}=0x1
phy_chain_tx_polarity_flip_physical{147.0}=0x1
phy_chain_tx_polarity_flip_physical{148.0}=0x0
phy_chain_tx_polarity_flip_physical{149.0}=0x1
phy_chain_tx_polarity_flip_physical{15.0}=0x0
phy_chain_tx_polarity_flip_physical{150.0}=0x0
phy_chain_tx_polarity_flip_physical{151.0}=0x0
phy_chain_tx_polarity_flip_physical{152.0}=0x0
phy_chain_tx_polarity_flip_physical{153.0}=0x1
phy_chain_tx_polarity_flip_physical{154.0}=0x0
phy_chain_tx_polarity_flip_physical{155.0}=0x0
phy_chain_tx_polarity_flip_physical{156.0}=0x0
phy_chain_tx_polarity_flip_physical{157.0}=0x0
phy_chain_tx_polarity_flip_physical{158.0}=0x0
phy_chain_tx_polarity_flip_physical{159.0}=0x0
phy_chain_tx_polarity_flip_physical{16.0}=0x0
phy_chain_tx_polarity_flip_physical{160.0}=0x0
phy_chain_tx_polarity_flip_physical{161.0}=0x0
phy_chain_tx_polarity_flip_physical{162.0}=0x1
phy_chain_tx_polarity_flip_physical{163.0}=0x1
phy_chain_tx_polarity_flip_physical{164.0}=0x0
phy_chain_tx_polarity_flip_physical{165.0}=0x1
phy_chain_tx_polarity_flip_physical{166.0}=0x1
phy_chain_tx_polarity_flip_physical{167.0}=0x1
phy_chain_tx_polarity_flip_physical{168.0}=0x0
phy_chain_tx_polarity_flip_physical{169.0}=0x0
phy_chain_tx_polarity_flip_physical{17.0}=0x0
phy_chain_tx_polarity_flip_physical{170.0}=0x1
phy_chain_tx_polarity_flip_physical{171.0}=0x1
phy_chain_tx_polarity_flip_physical{172.0}=0x1
phy_chain_tx_polarity_flip_physical{173.0}=0x0
phy_chain_tx_polarity_flip_physical{174.0}=0x0
phy_chain_tx_polarity_flip_physical{175.0}=0x1
phy_chain_tx_polarity_flip_physical{176.0}=0x0
phy_chain_tx_polarity_flip_physical{177.0}=0x1
phy_chain_tx_polarity_flip_physical{178.0}=0x0
phy_chain_tx_polarity_flip_physical{179.0}=0x0
phy_chain_tx_polarity_flip_physical{18.0}=0x1
phy_chain_tx_polarity_flip_physical{180.0}=0x0
phy_chain_tx_polarity_flip_physical{181.0}=0x0
phy_chain_tx_polarity_flip_physical{182.0}=0x0
phy_chain_tx_polarity_flip_physical{183.0}=0x0
phy_chain_tx_polarity_flip_physical{184.0}=0x1
phy_chain_tx_polarity_flip_physical{185.0}=0x0
phy_chain_tx_polarity_flip_physical{186.0}=0x1
phy_chain_tx_polarity_flip_physical{187.0}=0x1
phy_chain_tx_polarity_flip_physical{188.0}=0x1
phy_chain_tx_polarity_flip_physical{189.0}=0x0
phy_chain_tx_polarity_flip_physical{19.0}=0x1
phy_chain_tx_polarity_flip_physical{190.0}=0x0
phy_chain_tx_polarity_flip_physical{191.0}=0x0
phy_chain_tx_polarity_flip_physical{192.0}=0x0
phy_chain_tx_polarity_flip_physical{193.0}=0x1
phy_chain_tx_polarity_flip_physical{194.0}=0x1
phy_chain_tx_polarity_flip_physical{195.0}=0x1
phy_chain_tx_polarity_flip_physical{196.0}=0x0
phy_chain_tx_polarity_flip_physical{197.0}=0x0
phy_chain_tx_polarity_flip_physical{198.0}=0x1
phy_chain_tx_polarity_flip_physical{199.0}=0x1
phy_chain_tx_polarity_flip_physical{2.0}=0x1
phy_chain_tx_polarity_flip_physical{20.0}=0x1
phy_chain_tx_polarity_flip_physical{200.0}=0x1
phy_chain_tx_polarity_flip_physical{201.0}=0x1
phy_chain_tx_polarity_flip_physical{202.0}=0x1
phy_chain_tx_polarity_flip_physical{203.0}=0x1
phy_chain_tx_polarity_flip_physical{204.0}=0x1
phy_chain_tx_polarity_flip_physical{205.0}=0x0
phy_chain_tx_polarity_flip_physical{206.0}=0x1
phy_chain_tx_polarity_flip_physical{207.0}=0x1
phy_chain_tx_polarity_flip_physical{208.0}=0x1
phy_chain_tx_polarity_flip_physical{209.0}=0x1
phy_chain_tx_polarity_flip_physical{21.0}=0x0
phy_chain_tx_polarity_flip_physical{210.0}=0x1
phy_chain_tx_polarity_flip_physical{211.0}=0x1
phy_chain_tx_polarity_flip_physical{212.0}=0x0
phy_chain_tx_polarity_flip_physical{213.0}=0x0
phy_chain_tx_polarity_flip_physical{214.0}=0x1
phy_chain_tx_polarity_flip_physical{215.0}=0x0
phy_chain_tx_polarity_flip_physical{216.0}=0x1
phy_chain_tx_polarity_flip_physical{217.0}=0x1
phy_chain_tx_polarity_flip_physical{218.0}=0x1
phy_chain_tx_polarity_flip_physical{219.0}=0x0
phy_chain_tx_polarity_flip_physical{22.0}=0x0
phy_chain_tx_polarity_flip_physical{220.0}=0x1
phy_chain_tx_polarity_flip_physical{221.0}=0x0
phy_chain_tx_polarity_flip_physical{222.0}=0x0
phy_chain_tx_polarity_flip_physical{223.0}=0x0
phy_chain_tx_polarity_flip_physical{224.0}=0x1
phy_chain_tx_polarity_flip_physical{225.0}=0x1
phy_chain_tx_polarity_flip_physical{226.0}=0x1
phy_chain_tx_polarity_flip_physical{227.0}=0x1
phy_chain_tx_polarity_flip_physical{228.0}=0x0
phy_chain_tx_polarity_flip_physical{229.0}=0x0
phy_chain_tx_polarity_flip_physical{23.0}=0x0
phy_chain_tx_polarity_flip_physical{230.0}=0x1
phy_chain_tx_polarity_flip_physical{231.0}=0x1
phy_chain_tx_polarity_flip_physical{232.0}=0x1
phy_chain_tx_polarity_flip_physical{233.0}=0x0
phy_chain_tx_polarity_flip_physical{234.0}=0x0
phy_chain_tx_polarity_flip_physical{235.0}=0x0
phy_chain_tx_polarity_flip_physical{236.0}=0x0
phy_chain_tx_polarity_flip_physical{237.0}=0x1
phy_chain_tx_polarity_flip_physical{238.0}=0x1
phy_chain_tx_polarity_flip_physical{239.0}=0x1
phy_chain_tx_polarity_flip_physical{24.0}=0x0
phy_chain_tx_polarity_flip_physical{240.0}=0x0
phy_chain_tx_polarity_flip_physical{241.0}=0x1
phy_chain_tx_polarity_flip_physical{242.0}=0x1
phy_chain_tx_polarity_flip_physical{243.0}=0x1
phy_chain_tx_polarity_flip_physical{244.0}=0x0
phy_chain_tx_polarity_flip_physical{245.0}=0x1
phy_chain_tx_polarity_flip_physical{246.0}=0x1
phy_chain_tx_polarity_flip_physical{247.0}=0x1
phy_chain_tx_polarity_flip_physical{248.0}=0x1
phy_chain_tx_polarity_flip_physical{249.0}=0x1
phy_chain_tx_polarity_flip_physical{25.0}=0x1
phy_chain_tx_polarity_flip_physical{250.0}=0x0
phy_chain_tx_polarity_flip_physical{251.0}=0x0
phy_chain_tx_polarity_flip_physical{252.0}=0x0
phy_chain_tx_polarity_flip_physical{253.0}=0x1
phy_chain_tx_polarity_flip_physical{254.0}=0x1
phy_chain_tx_polarity_flip_physical{255.0}=0x1
phy_chain_tx_polarity_flip_physical{256.0}=0x0
phy_chain_tx_polarity_flip_physical{257.0}=0x0
phy_chain_tx_polarity_flip_physical{259.0}=0x0
phy_chain_tx_polarity_flip_physical{26.0}=0x0
phy_chain_tx_polarity_flip_physical{27.0}=0x0
phy_chain_tx_polarity_flip_physical{28.0}=0x0
phy_chain_tx_polarity_flip_physical{29.0}=0x1
phy_chain_tx_polarity_flip_physical{3.0}=0x1
phy_chain_tx_polarity_flip_physical{30.0}=0x1
phy_chain_tx_polarity_flip_physical{31.0}=0x1
phy_chain_tx_polarity_flip_physical{32.0}=0x0
phy_chain_tx_polarity_flip_physical{33.0}=0x0
phy_chain_tx_polarity_flip_physical{34.0}=0x0
phy_chain_tx_polarity_flip_physical{35.0}=0x0
phy_chain_tx_polarity_flip_physical{36.0}=0x1
phy_chain_tx_polarity_flip_physical{37.0}=0x1
phy_chain_tx_polarity_flip_physical{38.0}=0x1
phy_chain_tx_polarity_flip_physical{39.0}=0x1
phy_chain_tx_polarity_flip_physical{4.0}=0x1
phy_chain_tx_polarity_flip_physical{40.0}=0x0
phy_chain_tx_polarity_flip_physical{41.0}=0x0
phy_chain_tx_polarity_flip_physical{42.0}=0x0
phy_chain_tx_polarity_flip_physical{43.0}=0x0
phy_chain_tx_polarity_flip_physical{44.0}=0x0
phy_chain_tx_polarity_flip_physical{45.0}=0x1
phy_chain_tx_polarity_flip_physical{46.0}=0x0
phy_chain_tx_polarity_flip_physical{47.0}=0x1
phy_chain_tx_polarity_flip_physical{48.0}=0x1
phy_chain_tx_polarity_flip_physical{49.0}=0x0
phy_chain_tx_polarity_flip_physical{5.0}=0x1
phy_chain_tx_polarity_flip_physical{50.0}=0x0
phy_chain_tx_polarity_flip_physical{51.0}=0x0
phy_chain_tx_polarity_flip_physical{52.0}=0x1
phy_chain_tx_polarity_flip_physical{53.0}=0x0
phy_chain_tx_polarity_flip_physical{54.0}=0x1
phy_chain_tx_polarity_flip_physical{55.0}=0x1
phy_chain_tx_polarity_flip_physical{56.0}=0x0
phy_chain_tx_polarity_flip_physical{57.0}=0x0
phy_chain_tx_polarity_flip_physical{58.0}=0x1
phy_chain_tx_polarity_flip_physical{59.0}=0x1
phy_chain_tx_polarity_flip_physical{6.0}=0x1
phy_chain_tx_polarity_flip_physical{60.0}=0x1
phy_chain_tx_polarity_flip_physical{61.0}=0x0
phy_chain_tx_polarity_flip_physical{62.0}=0x1
phy_chain_tx_polarity_flip_physical{63.0}=0x1
phy_chain_tx_polarity_flip_physical{64.0}=0x1
phy_chain_tx_polarity_flip_physical{65.0}=0x0
phy_chain_tx_polarity_flip_physical{66.0}=0x1
phy_chain_tx_polarity_flip_physical{67.0}=0x1
phy_chain_tx_polarity_flip_physical{68.0}=0x0
phy_chain_tx_polarity_flip_physical{69.0}=0x1
phy_chain_tx_polarity_flip_physical{7.0}=0x1
phy_chain_tx_polarity_flip_physical{70.0}=0x1
phy_chain_tx_polarity_flip_physical{71.0}=0x1
phy_chain_tx_polarity_flip_physical{72.0}=0x0
phy_chain_tx_polarity_flip_physical{73.0}=0x1
phy_chain_tx_polarity_flip_physical{74.0}=0x0
phy_chain_tx_polarity_flip_physical{75.0}=0x0
phy_chain_tx_polarity_flip_physical{76.0}=0x0
phy_chain_tx_polarity_flip_physical{77.0}=0x0
phy_chain_tx_polarity_flip_physical{78.0}=0x0
phy_chain_tx_polarity_flip_physical{79.0}=0x1
phy_chain_tx_polarity_flip_physical{8.0}=0x0
phy_chain_tx_polarity_flip_physical{80.0}=0x0
phy_chain_tx_polarity_flip_physical{81.0}=0x1
phy_chain_tx_polarity_flip_physical{82.0}=0x1
phy_chain_tx_polarity_flip_physical{83.0}=0x1
phy_chain_tx_polarity_flip_physical{84.0}=0x0
phy_chain_tx_polarity_flip_physical{85.0}=0x1
phy_chain_tx_polarity_flip_physical{86.0}=0x0
phy_chain_tx_polarity_flip_physical{87.0}=0x0
phy_chain_tx_polarity_flip_physical{88.0}=0x0
phy_chain_tx_polarity_flip_physical{89.0}=0x1
phy_chain_tx_polarity_flip_physical{9.0}=0x0
phy_chain_tx_polarity_flip_physical{90.0}=0x1
phy_chain_tx_polarity_flip_physical{91.0}=0x1
phy_chain_tx_polarity_flip_physical{92.0}=0x0
phy_chain_tx_polarity_flip_physical{93.0}=0x0
phy_chain_tx_polarity_flip_physical{94.0}=0x0
phy_chain_tx_polarity_flip_physical{95.0}=0x0
phy_chain_tx_polarity_flip_physical{96.0}=0x0
phy_chain_tx_polarity_flip_physical{97.0}=0x0
phy_chain_tx_polarity_flip_physical{98.0}=0x1
phy_chain_tx_polarity_flip_physical{99.0}=0x1
port_init_cl72_hg=1
robust_hash_disable_egress_vlan=1
robust_hash_disable_mpls=1
robust_hash_disable_vlan=1
stable_size=0x5500000
stable_size=0x5500000
tdma_timeout_usec=15000000
tslam_timeout_usec=15000000
dport_map_direct=1
portmap_1=5:50
portmap_2=7:50
portmap_3=13:50
portmap_4=15:50
portmap_5=25:50
portmap_6=27:50
portmap_7=21:50
portmap_8=23:50
portmap_9=37:50
portmap_10=39:50
portmap_11=45:50
portmap_12=47:50
portmap_13=57:100
portmap_14=53:100
portmap_15=9:50
portmap_16=11:50
portmap_17=1:50
portmap_18=3:50
portmap_19=17:50
portmap_20=19:50
portmap_21=29:50
portmap_22=31:50
portmap_23=41:50
portmap_24=43:50
portmap_25=33:50
portmap_26=35:50
portmap_27=49:50
portmap_28=51:50
portmap_29=61:50
portmap_30=63:50
portmap_34=77:100
portmap_35=65:100
portmap_38=85:50
portmap_39=87:50
portmap_40=89:50
portmap_41=91:50
portmap_42=109:50
portmap_43=111:50
portmap_44=97:50
portmap_45=99:50
portmap_46=117:100
portmap_47=121:100
portmap_48=69:50
portmap_49=71:50
portmap_50=73:50
portmap_51=75:50
portmap_52=93:50
portmap_53=95:50
portmap_54=81:50
portmap_55=83:50
portmap_56=101:50
portmap_57=103:50
portmap_58=105:50
portmap_59=107:50
portmap_60=125:50
portmap_61=127:50
portmap_62=113:50
portmap_63=115:50
portmap_66=257:10
portmap_68=141:100
portmap_69=133:100
portmap_70=149:50
portmap_71=151:50
portmap_72=153:50
portmap_73=155:50
portmap_74=173:50
portmap_75=175:50
portmap_76=161:50
portmap_77=163:50
portmap_78=181:50
portmap_79=183:50
portmap_80=185:50
portmap_81=187:50
portmap_82=129:50
portmap_83=131:50
portmap_84=137:50
portmap_85=139:50
portmap_86=157:50
portmap_87=159:50
portmap_88=145:50
portmap_89=147:50
portmap_90=165:50
portmap_91=167:50
portmap_92=169:50
portmap_93=171:50
portmap_94=189:50
portmap_95=191:50
portmap_96=177:50
portmap_97=179:50
portmap_100=259:10
portmap_102=197:100
portmap_103=205:100
portmap_104=217:50
portmap_105=219:50
portmap_106=213:50
portmap_107=215:50
portmap_108=229:50
portmap_109=231:50
portmap_110=237:50
portmap_111=239:50
portmap_112=249:50
portmap_113=251:50
portmap_114=245:50
portmap_115=247:50
portmap_116=201:50
portmap_117=203:50
portmap_118=193:50
portmap_119=195:50
portmap_120=209:50
portmap_121=211:50
portmap_122=221:50
portmap_123=223:50
portmap_124=233:50
portmap_125=235:50
portmap_126=225:50
portmap_127=227:50
portmap_128=241:50
portmap_129=243:50
portmap_130=253:50
portmap_131=255:50
# tuning parameters
serdes_preemphasis_1=0x580c
serdes_preemphasis_2=0x580c
serdes_preemphasis_3=0x580c
serdes_preemphasis_4=0x580c
serdes_preemphasis_5=0x580c
serdes_preemphasis_6=0x580c
serdes_preemphasis_7=0x580c
serdes_preemphasis_8=0x580c
serdes_preemphasis_9=0x580c
serdes_preemphasis_10=0x580c
serdes_preemphasis_11=0x580c
serdes_preemphasis_12=0x580c
serdes_preemphasis_13=0x83404
serdes_preemphasis_14=0x83404
serdes_preemphasis_15=0x580c
serdes_preemphasis_16=0x580c
serdes_preemphasis_17=0x580c
serdes_preemphasis_18=0x580c
serdes_preemphasis_19=0x580c
serdes_preemphasis_20=0x580c
serdes_preemphasis_21=0x580c
serdes_preemphasis_22=0x580c
serdes_preemphasis_23=0x580c
serdes_preemphasis_24=0x580c
serdes_preemphasis_25=0x580c
serdes_preemphasis_26=0x580c
serdes_preemphasis_27=0x580c
serdes_preemphasis_28=0x580c
serdes_preemphasis_29=0x580c
serdes_preemphasis_30=0x580c
serdes_preemphasis_34=0xf3d05
serdes_preemphasis_35=0xd3804
serdes_preemphasis_38=0x580c
serdes_preemphasis_39=0x580c
serdes_preemphasis_40=0x580c
serdes_preemphasis_41=0x580c
serdes_preemphasis_42=0x580c
serdes_preemphasis_43=0x580c
serdes_preemphasis_44=0x580c
serdes_preemphasis_45=0x580c
serdes_preemphasis_46=0xb3604
serdes_preemphasis_47=0x72b03
serdes_preemphasis_48=0x580c
serdes_preemphasis_49=0x580c
serdes_preemphasis_50=0x580c
serdes_preemphasis_51=0x580c
serdes_preemphasis_52=0x580c
serdes_preemphasis_53=0x580c
serdes_preemphasis_54=0x580c
serdes_preemphasis_55=0x580c
serdes_preemphasis_56=0x580c
serdes_preemphasis_57=0x580c
serdes_preemphasis_58=0x580c
serdes_preemphasis_59=0x580c
serdes_preemphasis_60=0x580c
serdes_preemphasis_61=0x580c
serdes_preemphasis_62=0x580c
serdes_preemphasis_63=0x580c
serdes_preemphasis_66=0x43004
serdes_preemphasis_68=0xf4006
serdes_preemphasis_69=0xf4006
serdes_preemphasis_70=0x580c
serdes_preemphasis_71=0x580c
serdes_preemphasis_72=0x580c
serdes_preemphasis_73=0x580c
serdes_preemphasis_74=0x580c
serdes_preemphasis_75=0x580c
serdes_preemphasis_76=0x580c
serdes_preemphasis_77=0x580c
serdes_preemphasis_78=0x580c
serdes_preemphasis_79=0x580c
serdes_preemphasis_80=0x580c
serdes_preemphasis_81=0x580c
serdes_preemphasis_82=0x580c
serdes_preemphasis_83=0x580c
serdes_preemphasis_84=0x580c
serdes_preemphasis_85=0x580c
serdes_preemphasis_86=0x580c
serdes_preemphasis_87=0x580c
serdes_preemphasis_88=0x580c
serdes_preemphasis_89=0x580c
serdes_preemphasis_90=0x580c
serdes_preemphasis_91=0x580c
serdes_preemphasis_92=0x580c
serdes_preemphasis_93=0x580c
serdes_preemphasis_94=0x580c
serdes_preemphasis_95=0x580c
serdes_preemphasis_96=0x580c
serdes_preemphasis_97=0x580c
serdes_preemphasis_100=0x43004
serdes_preemphasis_102=0xf3c05
serdes_preemphasis_103=0xf3c05
serdes_preemphasis_104=0x580c
serdes_preemphasis_105=0x580c
serdes_preemphasis_106=0x580c
serdes_preemphasis_107=0x580c
serdes_preemphasis_108=0x580c
serdes_preemphasis_109=0x580c
serdes_preemphasis_110=0x580c
serdes_preemphasis_111=0x580c
serdes_preemphasis_112=0x580c
serdes_preemphasis_113=0x580c
serdes_preemphasis_114=0x580c
serdes_preemphasis_115=0x580c
serdes_preemphasis_116=0x580c
serdes_preemphasis_117=0x580c
serdes_preemphasis_118=0x580c
serdes_preemphasis_119=0x580c
serdes_preemphasis_120=0x580c
serdes_preemphasis_121=0x580c
serdes_preemphasis_122=0x580c
serdes_preemphasis_123=0x580c
serdes_preemphasis_124=0x580c
serdes_preemphasis_125=0x580c
serdes_preemphasis_126=0x580c
serdes_preemphasis_127=0x580c
serdes_preemphasis_128=0x580c
serdes_preemphasis_129=0x580c
serdes_preemphasis_130=0x580c
serdes_preemphasis_131=0x580c
mmu_init_config="MSFT-TH2-Tier0"
{{ IPinIP_sock }}
phy_an_lt_msft=1

View File

@ -0,0 +1 @@
BALANCED/pg_profile_lookup.ini

View File

@ -0,0 +1,121 @@
# name lanes alias index speed
Ethernet0 77,78,79,80 Ethernet1/1 1 100000
Ethernet4 65,66,67,68 Ethernet2/1 2 100000
Ethernet8 85,86 Ethernet3/1 3 50000
Ethernet10 87,88 Ethernet3/3 3 50000
Ethernet12 89,90 Ethernet4/1 4 50000
Ethernet14 91,92 Ethernet4/3 4 50000
Ethernet16 109,110 Ethernet5/1 5 50000
Ethernet18 111,112 Ethernet5/3 5 50000
Ethernet20 97,98 Ethernet6/1 6 50000
Ethernet22 99,100 Ethernet6/3 6 50000
Ethernet24 5,6 Ethernet7/1 7 50000
Ethernet26 7,8 Ethernet7/3 7 50000
Ethernet28 13,14 Ethernet8/1 8 50000
Ethernet30 15,16 Ethernet8/3 8 50000
Ethernet32 25,26 Ethernet9/1 9 50000
Ethernet34 27,28 Ethernet9/3 9 50000
Ethernet36 21,22 Ethernet10/1 10 50000
Ethernet38 23,24 Ethernet10/3 10 50000
Ethernet40 37,38 Ethernet11/1 11 50000
Ethernet42 39,40 Ethernet11/3 11 50000
Ethernet44 45,46 Ethernet12/1 12 50000
Ethernet46 47,48 Ethernet12/3 12 50000
Ethernet48 57,58,59,60 Ethernet13/1 13 100000
Ethernet52 53,54,55,56 Ethernet14/1 14 100000
Ethernet56 117,118,119,120 Ethernet15/1 15 100000
Ethernet60 121,122,123,124 Ethernet16/1 16 100000
Ethernet64 141,142,143,144 Ethernet17/1 17 100000
Ethernet68 133,134,135,136 Ethernet18/1 18 100000
Ethernet72 197,198,199,200 Ethernet19/1 19 100000
Ethernet76 205,206,207,208 Ethernet20/1 20 100000
Ethernet80 217,218 Ethernet21/1 21 50000
Ethernet82 219,220 Ethernet21/3 21 50000
Ethernet84 213,214 Ethernet22/1 22 50000
Ethernet86 215,216 Ethernet22/3 22 50000
Ethernet88 229,230 Ethernet23/1 23 50000
Ethernet90 231,232 Ethernet23/3 23 50000
Ethernet92 237,238 Ethernet24/1 24 50000
Ethernet94 239,240 Ethernet24/3 24 50000
Ethernet96 249,250 Ethernet25/1 25 50000
Ethernet98 251,252 Ethernet25/3 25 50000
Ethernet100 245,246 Ethernet26/1 26 50000
Ethernet102 247,248 Ethernet26/3 26 50000
Ethernet104 149,150 Ethernet27/1 27 50000
Ethernet106 151,152 Ethernet27/3 27 50000
Ethernet108 153,154 Ethernet28/1 28 50000
Ethernet110 155,156 Ethernet28/3 28 50000
Ethernet112 173,174 Ethernet29/1 29 50000
Ethernet114 175,176 Ethernet29/3 29 50000
Ethernet116 161,162 Ethernet30/1 30 50000
Ethernet118 163,164 Ethernet30/3 30 50000
Ethernet120 181,182 Ethernet31/1 31 50000
Ethernet122 183,184 Ethernet31/3 31 50000
Ethernet124 185,186 Ethernet32/1 32 50000
Ethernet126 187,188 Ethernet32/3 32 50000
Ethernet128 69,70 Ethernet33/1 33 50000
Ethernet130 71,72 Ethernet33/3 33 50000
Ethernet132 73,74 Ethernet34/1 34 50000
Ethernet134 75,76 Ethernet34/3 34 50000
Ethernet136 93,94 Ethernet35/1 35 50000
Ethernet138 95,96 Ethernet35/3 35 50000
Ethernet140 81,82 Ethernet36/1 36 50000
Ethernet142 83,84 Ethernet36/3 36 50000
Ethernet144 101,102 Ethernet37/1 37 50000
Ethernet146 103,104 Ethernet37/3 37 50000
Ethernet148 105,106 Ethernet38/1 38 50000
Ethernet150 107,108 Ethernet38/3 38 50000
Ethernet152 9,10 Ethernet39/1 39 50000
Ethernet154 11,12 Ethernet39/3 39 50000
Ethernet156 1,2 Ethernet40/1 40 50000
Ethernet158 3,4 Ethernet40/3 40 50000
Ethernet160 17,18 Ethernet41/1 41 50000
Ethernet162 19,20 Ethernet41/3 41 50000
Ethernet164 29,30 Ethernet42/1 42 50000
Ethernet166 31,32 Ethernet42/3 42 50000
Ethernet168 41,42 Ethernet43/1 43 50000
Ethernet170 43,44 Ethernet43/3 43 50000
Ethernet172 33,34 Ethernet44/1 44 50000
Ethernet174 35,36 Ethernet44/3 44 50000
Ethernet176 49,50 Ethernet45/1 45 50000
Ethernet178 51,52 Ethernet45/3 45 50000
Ethernet180 61,62 Ethernet46/1 46 50000
Ethernet182 63,64 Ethernet46/3 46 50000
Ethernet184 125,126 Ethernet47/1 47 50000
Ethernet186 127,128 Ethernet47/3 47 50000
Ethernet188 113,114 Ethernet48/1 48 50000
Ethernet190 115,116 Ethernet48/3 48 50000
Ethernet192 129,130 Ethernet49/1 49 50000
Ethernet194 131,132 Ethernet49/3 49 50000
Ethernet196 137,138 Ethernet50/1 50 50000
Ethernet198 139,140 Ethernet50/3 50 50000
Ethernet200 201,202 Ethernet51/1 51 50000
Ethernet202 203,204 Ethernet51/3 51 50000
Ethernet204 193,194 Ethernet52/1 52 50000
Ethernet206 195,196 Ethernet52/3 52 50000
Ethernet208 209,210 Ethernet53/1 53 50000
Ethernet210 211,212 Ethernet53/3 53 50000
Ethernet212 221,222 Ethernet54/1 54 50000
Ethernet214 223,224 Ethernet54/3 54 50000
Ethernet216 233,234 Ethernet55/1 55 50000
Ethernet218 235,236 Ethernet55/3 55 50000
Ethernet220 225,226 Ethernet56/1 56 50000
Ethernet222 227,228 Ethernet56/3 56 50000
Ethernet224 241,242 Ethernet57/1 57 50000
Ethernet226 243,244 Ethernet57/3 57 50000
Ethernet228 253,254 Ethernet58/1 58 50000
Ethernet230 255,256 Ethernet58/3 58 50000
Ethernet232 157,158 Ethernet59/1 59 50000
Ethernet234 159,160 Ethernet59/3 59 50000
Ethernet236 145,146 Ethernet60/1 60 50000
Ethernet238 147,148 Ethernet60/3 60 50000
Ethernet240 165,166 Ethernet61/1 61 50000
Ethernet242 167,168 Ethernet61/3 61 50000
Ethernet244 169,170 Ethernet62/1 62 50000
Ethernet246 171,172 Ethernet62/3 62 50000
Ethernet248 189,190 Ethernet63/1 63 50000
Ethernet250 191,192 Ethernet63/3 63 50000
Ethernet252 177,178 Ethernet64/1 64 50000
Ethernet254 179,180 Ethernet64/3 64 50000
Ethernet256 257 Ethernet65 65 10000
Ethernet260 259 Ethernet66 66 10000

View File

@ -0,0 +1 @@
BALANCED/qos.json.j2

View File

@ -0,0 +1,2 @@
SAI_INIT_CONFIG_FILE=/etc/sai.d/config.bcm
SAI_NUM_ECMP_MEMBERS=64

View File

@ -0,0 +1 @@
Arista-7260CX3-D96C16

View File

@ -1,7 +1,26 @@
{
"chassis": {
"name": "DCS-7260CX3-64",
"components": [],
"components": [
{
"name": "Aboot()"
},
{
"name": "Scd(addr=0000:06:00.0)"
},
{
"name": "Scd(addr=0000:ff:0b.3)"
},
{
"name": "Ucd90160(addr=74-004e)"
},
{
"name": "Ucd90120A(addr=83-0034)"
},
{
"name": "RookSysCpld(addr=81-0023)"
}
],
"fans": [],
"fan_drawers": [
{
@ -40,55 +59,59 @@
"psus": [
{
"name": "psu1",
"fans": []
"fans": [
{
"name": "psu1/1",
"speed": {
"controllable": false
}
}
]
},
{
"name": "psu2",
"fans": []
"fans": [
{
"name": "psu2/1",
"speed": {
"controllable": false
}
}
]
}
],
"thermals": [
{
"name": "Board sensor"
"name": "Board sensor",
"controllable": false
},
{
"name": "PCH temp sensor"
"name": "PCH temp sensor",
"controllable": false
},
{
"name": "Physical id 0"
"name": "Physical id 0",
"controllable": false
},
{
"name": "CPU core0 temp sensor"
"name": "CPU core0 temp sensor",
"controllable": false
},
{
"name": "CPU core1 temp sensor"
"name": "CPU core1 temp sensor",
"controllable": false
},
{
"name": "CPU board temp sensor"
"name": "CPU board temp sensor",
"controllable": false
},
{
"name": "Back-panel temp sensor"
"name": "Back-panel temp sensor",
"controllable": false
},
{
"name": "Front-panel temp sensor"
},
{
"name": "Power supply 1 hotspot sensor"
},
{
"name": "Power supply 1 inlet temp sensor"
},
{
"name": "Power supply 1 exhaust temp sensor"
},
{
"name": "Power supply 2 hotspot sensor"
},
{
"name": "Power supply 2 inlet temp sensor"
},
{
"name": "Power supply 2 exhaust temp sensor"
"name": "Front-panel temp sensor",
"controllable": false
}
],
"sfps": [
@ -1528,4 +1551,4 @@
}
}
}
}
}

View File

@ -0,0 +1,14 @@
{
"chassis": {
"DCS-7260CX3-64": {
"component": {
"Aboot()": {},
"Scd(addr=0000:06:00.0)": {},
"Scd(addr=0000:ff:0b.3)": {},
"Ucd90160(addr=74-004e)": {},
"Ucd90120A(addr=83-0034)": {},
"RookSysCpld(addr=81-0023)": {}
}
}
}
}

View File

@ -270,7 +270,7 @@ tdma_timeout_usec.BCM8869X=1000000
tslam_timeout_usec.BCM8869X=1000000
appl_enable_intr_init.BCM8869X=1
polled_irq_mode.BCM8869X=1
polled_irq_mode.BCM8869X=0
polled_irq_delay.BCM8869X=1000
bcm_stat_interval.BCM8869X=1000

View File

@ -273,7 +273,7 @@ tdma_timeout_usec.BCM8869X=1000000
tslam_timeout_usec.BCM8869X=1000000
appl_enable_intr_init.BCM8869X=1
polled_irq_mode.BCM8869X=1
polled_irq_mode.BCM8869X=0
polled_irq_delay.BCM8869X=1000
bcm_stat_interval.BCM8869X=1000

View File

@ -269,7 +269,7 @@ tdma_timeout_usec.BCM8869X=1000000
tslam_timeout_usec.BCM8869X=1000000
appl_enable_intr_init.BCM8869X=1
polled_irq_mode.BCM8869X=1
polled_irq_mode.BCM8869X=0
polled_irq_delay.BCM8869X=1000
bcm_stat_interval.BCM8869X=1000

View File

@ -270,7 +270,7 @@ tdma_timeout_usec.BCM8869X=1000000
tslam_timeout_usec.BCM8869X=1000000
appl_enable_intr_init.BCM8869X=1
polled_irq_mode.BCM8869X=1
polled_irq_mode.BCM8869X=0
polled_irq_delay.BCM8869X=1000
bcm_stat_interval.BCM8869X=1000

View File

@ -763,7 +763,7 @@ tdma_timeout_usec.BCM8869X=1000000
tslam_timeout_usec.BCM8869X=1000000
appl_enable_intr_init.BCM8869X=1
polled_irq_mode.BCM8869X=1
polled_irq_mode.BCM8869X=0
polled_irq_delay.BCM8869X=1000
bcm_stat_interval.BCM8869X=1000

View File

@ -634,7 +634,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

View File

@ -633,7 +633,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

View File

@ -652,7 +652,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

View File

@ -651,7 +651,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

View File

@ -634,7 +634,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

View File

@ -634,7 +634,7 @@ tslam_timeout_usec=1000000
### Interrupts
appl_enable_intr_init=1
polled_irq_mode=1
polled_irq_mode=0
# reduce CPU load, configure delay 100ms
polled_irq_delay=1000

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,10 @@
{
"chassis": {
"name": "Celestica-DX010-C32",
"status_led": {
"controllable": true,
"colors": ["green", "off"]
},
"components": [
{
"name": "CPLD1"
@ -20,39 +24,103 @@
],
"fans": [
{
"name": "FAN-1F"
"name": "FAN-1F",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-1R"
"name": "FAN-1R",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-2F"
"name": "FAN-2F",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-2R"
"name": "FAN-2R",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-3F"
"name": "FAN-3F",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-3R"
"name": "FAN-3R",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-4F"
"name": "FAN-4F",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-4R"
"name": "FAN-4R",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-5F"
"name": "FAN-5F",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
},
{
"name": "FAN-5R"
"name": "FAN-5R",
"status_led": {
"controllable": false
},
"speed": {
"controllable": false
}
}
],
"fan_drawers": [
{
"name": "Drawer1",
"status_led": {
"controllable": true,
"colors": ["red", "green", "amber", "off"]
},
"fans": [
{
"name": "FAN-1F"
@ -64,6 +132,10 @@
},
{
"name": "Drawer2",
"status_led": {
"controllable": true,
"colors": ["red", "green", "amber", "off"]
},
"fans": [
{
"name": "FAN-2F"
@ -75,6 +147,10 @@
},
{
"name": "Drawer3",
"status_led": {
"controllable": true,
"colors": ["red", "green", "amber", "off"]
},
"fans": [
{
"name": "FAN-3F"
@ -86,6 +162,10 @@
},
{
"name": "Drawer4",
"status_led": {
"controllable": true,
"colors": ["red", "green", "amber", "off"]
},
"fans": [
{
"name": "FAN-4F"
@ -97,6 +177,10 @@
},
{
"name": "Drawer5",
"status_led": {
"controllable": true,
"colors": ["red", "green", "amber", "off"]
},
"fans": [
{
"name": "FAN-5F"
@ -110,36 +194,60 @@
"psus": [
{
"name": "PSU-1",
"status_led": {
"controllable": true,
"colors": ["green", "off"]
},
"fans": [
{
"name": "PSU-1 FAN-1"
"name": "PSU-1 FAN-1",
"speed": {
"controllable": false
}
}
]
},
{
"name": "PSU-2",
"status_led": {
"controllable": true,
"colors": ["green", "off"]
},
"fans": [
{
"name": "PSU-2 FAN-1"
"name": "PSU-2 FAN-1",
"speed": {
"controllable": false
}
}
]
}
],
"thermals": [
{
"name": "Front-panel temp sensor 1"
"name": "Front-panel temp sensor 1",
"controllable": false,
"low-crit-threshold": false
},
{
"name": "Front-panel temp sensor 2"
"name": "Front-panel temp sensor 2",
"controllable": false,
"low-crit-threshold": false
},
{
"name": "ASIC temp sensor"
"name": "ASIC temp sensor",
"controllable": false,
"low-crit-threshold": false
},
{
"name": "Rear-panel temp sensor 1"
"name": "Rear-panel temp sensor 1",
"controllable": false,
"low-crit-threshold": false
},
{
"name": "Rear-panel temp sensor 2"
"name": "Rear-panel temp sensor 2",
"controllable": false,
"low-crit-threshold": false
}
],
"sfps": [

View File

@ -1,13 +1,14 @@
{
"chassis": {
"Celestica-DX010-C32": {
"Seastone-DX010": {
"component": {
"CPLD1": {},
"CPLD2": {},
"CPLD3": {},
"CPLD4": {},
"CPLD5": {},
"BIOS": {}
}
}
}
}
}

View File

@ -20,7 +20,7 @@ NUM_FAN_TRAY = 5
NUM_PSU = 2
NUM_THERMAL = 5
NUM_SFP = 32
NUM_COMPONENT = 5
NUM_COMPONENT = 6
RESET_REGISTER = "0x103"
HOST_REBOOT_CAUSE_PATH = "/host/reboot-cause/"
REBOOT_CAUSE_FILE = "reboot-cause.txt"
@ -44,6 +44,7 @@ class Chassis(ChassisBase):
self.__initialize_psu()
self.__initialize_thermals()
self.__initialize_components()
self.__initialize_system_led()
def __initialize_sfp(self):
sfputil_helper = SfpUtilHelper()
@ -86,6 +87,9 @@ class Chassis(ChassisBase):
component = Component(index)
self._component_list.append(component)
def __initialize_system_led(self):
self.set_status_led(self.STATUS_LED_COLOR_GREEN)
def __get_air_flow(self):
air_flow_path = '/usr/share/sonic/device/{}/fan_airflow'.format(
self._api_helper.platform) \
@ -317,6 +321,14 @@ class Chassis(ChassisBase):
"""
return False
def initizalize_system_led(self):
"""
This function is not defined in chassis base class,
system-health command would invoke chassis.initizalize_system_led(),
add this stub function just to let the command sucessfully execute
"""
pass
def set_status_led(self, color):
"""
Sets the state of the PSU status LED
@ -345,7 +357,7 @@ class Chassis(ChassisBase):
"""
status = self._api_helper.read_txt_file(STATUS_LED_PATH)
status_str = {
'255': self.STATUS_LED_COLOR_GREEN,
'1': self.STATUS_LED_COLOR_GREEN,
'0': self.STATUS_LED_COLOR_OFF
}.get(status, None)

View File

@ -25,9 +25,11 @@ CPLD_ADDR_MAPPING = {
}
GETREG_PATH = "/sys/devices/platform/dx010_cpld/getreg"
BIOS_VERSION_PATH = "/sys/class/dmi/id/bios_version"
COMPONENT_NAME_LIST = ["CPLD1", "CPLD2", "CPLD3", "CPLD4", "BIOS"]
COMPONENT_NAME_LIST = ["CPLD1", "CPLD2", "CPLD3", "CPLD4", "CPLD5", "BIOS"]
COMPONENT_DES_LIST = ["Used for managing the CPU",
"Used for managing QSFP+ ports (1-10)", "Used for managing QSFP+ ports (11-20)", "Used for managing QSFP+ ports (22-32)", "Basic Input/Output System"]
"Used for managing QSFP+ ports (1-10)", "Used for managing QSFP+ ports (11-21)",
"Used for misc status and control", "Used for managing QSFP+ ports (22-32)",
"Basic Input/Output System"]
class Component(ComponentBase):

View File

@ -197,7 +197,7 @@ class Psu(PsuBase):
"""
set_status_str = {
self.STATUS_LED_COLOR_GREEN: '1',
self.STATUS_LED_COLOR_GREEN: '255',
self.STATUS_LED_COLOR_OFF: '0'
}.get(color, None)

View File

@ -1,10 +1,8 @@
{
"services_to_ignore": [],
"devices_to_ignore": [
"asic",
"psu.temperature",
"PSU2 Fan",
"PSU1 Fan"
"PSU-1 FAN-1",
"PSU-2 FAN-1"
],
"user_defined_checkers": [],
"polling_interval": 60,
@ -13,4 +11,4 @@
"normal": "green",
"booting": "orange_blink"
}
}
}

View File

@ -1 +1,23 @@
{% if ('type' in DEVICE_METADATA['localhost'] and 'BackEnd' in DEVICE_METADATA['localhost']['type'] and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true') %}
{%- macro generate_wred_profiles() %}
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"wred_green_enable" : "true",
"wred_yellow_enable" : "true",
"wred_red_enable" : "true",
"ecn" : "ecn_all",
"green_max_threshold" : "12000144",
"green_min_threshold" : "1048576",
"yellow_max_threshold" : "2097152",
"yellow_min_threshold" : "1048576",
"red_max_threshold" : "2097152",
"red_min_threshold" : "1048576",
"green_drop_probability" : "5",
"yellow_drop_probability": "5",
"red_drop_probability" : "5"
}
},
{%- endmacro %}
{% endif %}
{%- include 'qos_config.j2' %}

View File

@ -1 +1,23 @@
{% if ('type' in DEVICE_METADATA['localhost'] and 'BackEnd' in DEVICE_METADATA['localhost']['type'] and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true') %}
{%- macro generate_wred_profiles() %}
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"wred_green_enable" : "true",
"wred_yellow_enable" : "true",
"wred_red_enable" : "true",
"ecn" : "ecn_all",
"green_max_threshold" : "12000144",
"green_min_threshold" : "1048576",
"yellow_max_threshold" : "2097152",
"yellow_min_threshold" : "1048576",
"red_max_threshold" : "2097152",
"red_min_threshold" : "1048576",
"green_drop_probability" : "5",
"yellow_drop_probability": "5",
"red_drop_probability" : "5"
}
},
{%- endmacro %}
{% endif %}
{%- include 'qos_config.j2' %}

View File

@ -151,6 +151,8 @@
},
{%- endmacro %}
{% elif ('subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR') %}
{% set different_dscp_to_tc_map = true %}
{% set different_tc_to_queue_map = true %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
@ -219,6 +221,72 @@
"62": "1",
"63": "1"
},
"AZURE_UPLINK": {
"0" : "1",
"1" : "1",
"2" : "2",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "6",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
@ -326,6 +394,17 @@
"7": "7",
"8": "1"
},
"AZURE_UPLINK": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",

View File

@ -1,4 +1,5 @@
{% if ('type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] == 'LeafRouter') %}
{% set different_dscp_to_tc_map = true %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
@ -150,6 +151,8 @@
},
{%- endmacro %}
{% elif ('subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR') %}
{% set different_dscp_to_tc_map = true %}
{% set different_tc_to_queue_map = true %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
@ -218,6 +221,72 @@
"62": "1",
"63": "1"
},
"AZURE_UPLINK": {
"0" : "1",
"1" : "1",
"2" : "2",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "6",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
@ -325,6 +394,17 @@
"7": "7",
"8": "1"
},
"AZURE_UPLINK": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",

View File

@ -0,0 +1,106 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x400G"
},
"Ethernet8": {
"default_brkout_mode": "1x400G"
},
"Ethernet16": {
"default_brkout_mode": "1x400G"
},
"Ethernet24": {
"default_brkout_mode": "1x400G"
},
"Ethernet32": {
"default_brkout_mode": "1x400G"
},
"Ethernet40": {
"default_brkout_mode": "1x400G"
},
"Ethernet48": {
"default_brkout_mode": "1x400G"
},
"Ethernet56": {
"default_brkout_mode": "1x400G"
},
"Ethernet64": {
"default_brkout_mode": "1x400G"
},
"Ethernet72": {
"default_brkout_mode": "1x400G"
},
"Ethernet80": {
"default_brkout_mode": "1x400G"
},
"Ethernet88": {
"default_brkout_mode": "1x400G"
},
"Ethernet96": {
"default_brkout_mode": "1x400G"
},
"Ethernet104": {
"default_brkout_mode": "1x400G"
},
"Ethernet112": {
"default_brkout_mode": "1x400G"
},
"Ethernet120": {
"default_brkout_mode": "1x400G"
},
"Ethernet128": {
"default_brkout_mode": "1x400G"
},
"Ethernet136": {
"default_brkout_mode": "1x400G"
},
"Ethernet144": {
"default_brkout_mode": "1x400G"
},
"Ethernet152": {
"default_brkout_mode": "1x400G"
},
"Ethernet160": {
"default_brkout_mode": "1x400G"
},
"Ethernet168": {
"default_brkout_mode": "1x400G"
},
"Ethernet176": {
"default_brkout_mode": "1x400G"
},
"Ethernet184": {
"default_brkout_mode": "1x400G"
},
"Ethernet192": {
"default_brkout_mode": "1x400G"
},
"Ethernet200": {
"default_brkout_mode": "1x400G"
},
"Ethernet208": {
"default_brkout_mode": "1x400G"
},
"Ethernet216": {
"default_brkout_mode": "1x400G"
},
"Ethernet224": {
"default_brkout_mode": "1x400G"
},
"Ethernet232": {
"default_brkout_mode": "1x400G"
},
"Ethernet240": {
"default_brkout_mode": "1x400G"
},
"Ethernet248": {
"default_brkout_mode": "1x400G"
},
"Ethernet256": {
"default_brkout_mode": "1x10G"
},
"Ethernet257": {
"default_brkout_mode": "1x10G"
}
}
}

View File

@ -611,5 +611,340 @@
]
},
"interfaces": {}
"interfaces": {
"Ethernet0": {
"index": "1,1,1,1,1,1,1,1",
"lanes": "33,34,35,36,37,38,39,40",
"breakout_modes": {
"1x400G": ["etp1"],
"2x200G[100G,40G]": ["etp1a", "etp1b"],
"4x100G[50G]": ["etp1a", "etp1b", "etp1c", "etp1d"],
"1x100G(4)": ["etp1"]
}
},
"Ethernet8": {
"index": "2,2,2,2,2,2,2,2",
"lanes": "41,42,43,44,45,46,47,48",
"breakout_modes": {
"1x400G": ["etp2"],
"2x200G[100G,40G]": ["etp2a", "etp2b"],
"4x100G[50G]": ["etp2a", "etp2b", "etp2c", "etp2d"],
"1x100G(4)": ["etp2"]
}
},
"Ethernet16": {
"index": "3,3,3,3,3,3,3,3",
"lanes": "49,50,51,52,53,54,55,56",
"breakout_modes": {
"1x400G": ["etp3"],
"2x200G[100G,40G]": ["etp3a", "etp3b"],
"4x100G[50G]": ["etp3a", "etp3b", "etp3c", "etp3d"],
"1x100G(4)": ["etp3"]
}
},
"Ethernet24": {
"index": "4,4,4,4,4,4,4,4",
"lanes": "57,58,59,60,61,62,63,64",
"breakout_modes": {
"1x400G": ["etp4"],
"2x200G[100G,40G]": ["etp4a", "etp4b"],
"4x100G[50G]": ["etp4a", "etp4b", "etp4c", "etp4d"],
"1x100G(4)": ["etp4"]
}
},
"Ethernet32": {
"index": "5,5,5,5,5,5,5,5",
"lanes": "65,66,67,68,69,70,71,72",
"breakout_modes": {
"1x400G": ["etp5"],
"2x200G[100G,40G]": ["etp5a", "etp5b"],
"4x100G[50G]": ["etp5a", "etp5b", "etp5c", "etp5d"],
"1x100G(4)": ["etp5"]
}
},
"Ethernet40": {
"index": "6,6,6,6,6,6,6,6",
"lanes": "73,74,75,76,77,78,79,80",
"breakout_modes": {
"1x400G": ["etp6"],
"2x200G[100G,40G]": ["etp6a", "etp6b"],
"4x100G[50G]": ["etp6a", "etp6b", "etp6c", "etp6d"],
"1x100G(4)": ["etp6"]
}
},
"Ethernet48": {
"index": "7,7,7,7,7,7,7,7",
"lanes": "81,82,83,84,85,86,87,88",
"breakout_modes": {
"1x400G": ["etp7"],
"2x200G[100G,40G]": ["etp7a", "etp7b"],
"4x100G[50G]": ["etp7a", "etp7b", "etp7c", "etp7d"],
"1x100G(4)": ["etp7"]
}
},
"Ethernet56": {
"index": "8,8,8,8,8,8,8,8",
"lanes": "89,90,91,92,93,94,95,96",
"breakout_modes": {
"1x400G": ["etp8"],
"2x200G[100G,40G]": ["etp8a", "etp8b"],
"4x100G[50G]": ["etp8a", "etp8b", "etp8c", "etp8d"],
"1x100G(4)": ["etp8"]
}
},
"Ethernet64": {
"index": "9,9,9,9,9,9,9,9",
"lanes": "1,2,3,4,5,6,7,8",
"breakout_modes": {
"1x400G": ["etp9"],
"2x200G[100G,40G]": ["etp9a", "etp9b"],
"4x100G[50G]": ["etp9a", "etp9b", "etp9c", "etp9d"],
"1x100G(4)": ["etp9"]
}
},
"Ethernet72": {
"index": "10,10,10,10,10,10,10,10",
"lanes": "9,10,11,12,13,14,15,16",
"breakout_modes": {
"1x400G": ["etp10"],
"2x200G[100G,40G]": ["etp10a", "etp10b"],
"4x100G[50G]": ["etp10a", "etp10b", "etp10c", "etp10d"],
"1x100G(4)": ["etp10"]
}
},
"Ethernet80": {
"index": "11,11,11,11,11,11,11,11",
"lanes": "17,18,19,20,21,22,23,24",
"breakout_modes": {
"1x400G": ["etp11"],
"2x200G[100G,40G]": ["etp11a", "etp11b"],
"4x100G[50G]": ["etp11a", "etp11b", "etp11c", "etp11d"],
"1x100G(4)": ["etp11"]
}
},
"Ethernet88": {
"index": "12,12,12,12,12,12,12,12",
"lanes": "25,26,27,28,29,30,31,32",
"breakout_modes": {
"1x400G": ["etp12"],
"2x200G[100G,40G]": ["etp12a", "etp12b"],
"4x100G[50G]": ["etp12a", "etp12b", "etp12c", "etp12d"],
"1x100G(4)": ["etp12"]
}
},
"Ethernet96": {
"index": "13,13,13,13,13,13,13,13",
"lanes": "97,98,99,100,101,102,103,104",
"breakout_modes": {
"1x400G": ["etp13"],
"2x200G[100G,40G]": ["etp13a", "etp13b"],
"4x100G[50G]": ["etp13a", "etp13b", "etp13c", "etp13d"],
"1x100G(4)": ["etp13"]
}
},
"Ethernet104": {
"index": "14,14,14,14,14,14,14,14",
"lanes": "105,106,107,108,109,110,111,112",
"breakout_modes": {
"1x400G": ["etp14"],
"2x200G[100G,40G]": ["etp14a", "etp14b"],
"4x100G[50G]": ["etp14a", "etp14b", "etp14c", "etp14d"],
"1x100G(4)": ["etp14"]
}
},
"Ethernet112": {
"index": "15,15,15,15,15,15,15,15",
"lanes": "113,114,115,116,117,118,119,120",
"breakout_modes": {
"1x400G": ["etp15"],
"2x200G[100G,40G]": ["etp15a", "etp15b"],
"4x100G[50G]": ["etp15a", "etp15b", "etp15c", "etp15d"],
"1x100G(4)": ["etp15"]
}
},
"Ethernet120": {
"index": "16,16,16,16,16,16,16,16",
"lanes": "121,122,123,124,125,126,127,128",
"breakout_modes": {
"1x400G": ["etp16"],
"2x200G[100G,40G]": ["etp16a", "etp16b"],
"4x100G[50G]": ["etp16a", "etp16b", "etp16c", "etp16d"],
"1x100G(4)": ["etp16"]
}
},
"Ethernet128": {
"index": "17,17,17,17,17,17,17,17",
"lanes": "129,130,131,132,133,134,135,136",
"breakout_modes": {
"1x400G": ["etp17"],
"2x200G[100G,40G]": ["etp17a", "etp17b"],
"4x100G[50G]": ["etp17a", "etp17b", "etp17c", "etp17d"],
"1x100G(4)": ["etp17"]
}
},
"Ethernet136": {
"index": "18,18,18,18,18,18,18,18",
"lanes": "137,138,139,140,141,142,143,144",
"breakout_modes": {
"1x400G": ["etp18"],
"2x200G[100G,40G]": ["etp18a", "etp18b"],
"4x100G[50G]": ["etp18a", "etp18b", "etp18c", "etp18d"],
"1x100G(4)": ["etp18"]
}
},
"Ethernet144": {
"index": "19,19,19,19,19,19,19,19",
"lanes": "145,146,147,148,149,150,151,152",
"breakout_modes": {
"1x400G": ["etp19"],
"2x200G[100G,40G]": ["etp19a", "etp19b"],
"4x100G[50G]": ["etp19a", "etp19b", "etp19c", "etp19d"],
"1x100G(4)": ["etp19"]
}
},
"Ethernet152": {
"index": "20,20,20,20,20,20,20,20",
"lanes": "153,154,155,156,157,158,159,160",
"breakout_modes": {
"1x400G": ["etp20"],
"2x200G[100G,40G]": ["etp20a", "etp20b"],
"4x100G[50G]": ["etp20a", "etp20b", "etp20c", "etp20d"],
"1x100G(4)": ["etp20"]
}
},
"Ethernet160": {
"index": "21,21,21,21,21,21,21,21",
"lanes": "225,226,227,228,229,230,231,232",
"breakout_modes": {
"1x400G": ["etp21"],
"2x200G[100G,40G]": ["etp21a", "etp21b"],
"4x100G[50G]": ["etp21a", "etp21b", "etp21c", "etp21d"],
"1x100G(4)": ["etp21"]
}
},
"Ethernet168": {
"index": "22,22,22,22,22,22,22,22",
"lanes": "233,234,235,236,237,238,239,240",
"breakout_modes": {
"1x400G": ["etp22"],
"2x200G[100G,40G]": ["etp22a", "etp22b"],
"4x100G[50G]": ["etp22a", "etp22b", "etp22c", "etp22d"],
"1x100G(4)": ["etp22"]
}
},
"Ethernet176": {
"index": "23,23,23,23,23,23,23,23",
"lanes": "241,242,243,244,245,246,247,248",
"breakout_modes": {
"1x400G": ["etp23"],
"2x200G[100G,40G]": ["etp23a", "etp23b"],
"4x100G[50G]": ["etp23a", "etp23b", "etp23c", "etp23d"],
"1x100G(4)": ["etp23"]
}
},
"Ethernet184": {
"index": "24,24,24,24,24,24,24,24",
"lanes": "249,250,251,252,253,254,255,256",
"breakout_modes": {
"1x400G": ["etp24"],
"2x200G[100G,40G]": ["etp24a", "etp24b"],
"4x100G[50G]": ["etp24a", "etp24b", "etp24c", "etp24d"],
"1x100G(4)": ["etp24"]
}
},
"Ethernet192": {
"index": "25,25,25,25,25,25,25,25",
"lanes": "161,162,163,164,165,166,167,168",
"breakout_modes": {
"1x400G": ["etp25"],
"2x200G[100G,40G]": ["etp25a", "etp25b"],
"4x100G[50G]": ["etp25a", "etp25b", "etp25c", "etp25d"],
"1x100G(4)": ["etp25"]
}
},
"Ethernet200": {
"index": "26,26,26,26,26,26,26,26",
"lanes": "169,170,171,172,173,174,175,176",
"breakout_modes": {
"1x400G": ["etp26"],
"2x200G[100G,40G]": ["etp26a", "etp26b"],
"4x100G[50G]": ["etp26a", "etp26b", "etp26c", "etp26d"],
"1x100G(4)": ["etp26"]
}
},
"Ethernet208": {
"index": "27,27,27,27,27,27,27,27",
"lanes": "177,178,179,180,181,182,183,184",
"breakout_modes": {
"1x400G": ["etp27"],
"2x200G[100G,40G]": ["etp27a", "etp27b"],
"4x100G[50G]": ["etp27a", "etp27b", "etp27c", "etp27d"],
"1x100G(4)": ["etp27"]
}
},
"Ethernet216": {
"index": "28,28,28,28,28,28,28,28",
"lanes": "185,186,187,188,189,190,191,192",
"breakout_modes": {
"1x400G": ["etp28"],
"2x200G[100G,40G]": ["etp28a", "etp28b"],
"4x100G[50G]": ["etp28a", "etp28b", "etp28c", "etp28d"],
"1x100G(4)": ["etp28"]
}
},
"Ethernet224": {
"index": "29,29,29,29,29,29,29,29",
"lanes": "193,194,195,196,197,198,199,200",
"breakout_modes": {
"1x400G": ["etp29"],
"2x200G[100G,40G]": ["etp29a", "etp29b"],
"4x100G[50G]": ["etp29a", "etp29b", "etp29c", "etp29d"],
"1x100G(4)": ["etp29"]
}
},
"Ethernet232": {
"index": "30,30,30,30,30,30,30,30",
"lanes": "201,202,203,204,205,206,207,208",
"breakout_modes": {
"1x400G": ["etp30"],
"2x200G[100G,40G]": ["etp30a", "etp30b"],
"4x100G[50G]": ["etp30a", "etp30b", "etp30c", "etp30d"],
"1x100G(4)": ["etp30"]
}
},
"Ethernet240": {
"index": "31,31,31,31,31,31,31,31",
"lanes": "209,210,211,212,213,214,215,216",
"breakout_modes": {
"1x400G": ["etp31"],
"2x200G[100G,40G]": ["etp31a", "etp31b"],
"4x100G[50G]": ["etp31a", "etp31b", "etp31c", "etp31d"],
"1x100G(4)": ["etp31"]
}
},
"Ethernet248": {
"index": "32,32,32,32,32,32,32,32",
"lanes": "217,218,219,220,221,222,223,224",
"breakout_modes": {
"1x400G": ["etp32"],
"2x200G[100G,40G]": ["etp32a", "etp32b"],
"4x100G[50G]": ["etp32a", "etp32b", "etp32c", "etp32d"],
"1x100G(4)": ["etp32"]
}
},
"Ethernet256": {
"index": "33",
"lanes": "257",
"breakout_modes": {
"1x10G": ["etp33"]
}
},
"Ethernet257": {
"index": "34",
"lanes": "258",
"breakout_modes": {
"1x10G": ["etp34"]
}
}
}
}

View File

@ -34,13 +34,9 @@
import binascii
import os
import sys
import subprocess
from sonic_eeprom import eeprom_tlvinfo
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
from sonic_py_common.general import getstatusoutput_noshell
def fantype_detect():
@ -56,9 +52,7 @@ def fantype_detect():
for filename in os.listdir(refpgaTMC_path):
if filename.endswith('_type'):
fantype_path = os.path.join(refpgaTMC_path, filename)
cat_string = "cat "
fantype_string = cat_string + fantype_path
status, fan_type = commands.getstatusoutput(fantype_string)
status, fan_type = getstatusoutput_noshell(['cat', fantype_path])
if ((fan_type == AFO) or (fan_type == AFI)):
return fan_type
else:
@ -176,17 +170,21 @@ def main():
eeprom_file.write("Main board eeprom (0x57)\r\n")
eeprom_file.write("===============================\r\n")
MainEepromCreate = 'sudo echo 24c02 0x57 > /sys/bus/i2c/devices/i2c-0/new_device'
MainEepromCreate = '24c02 0x57'
out_file = '/sys/bus/i2c/devices/i2c-0/new_device'
# Write the contents of Main Board EEPROM to file
try:
os.system(MainEepromCreate)
with open(out_file, 'w') as file:
file.write(MainEepromCreate)
except OSError:
print('Error: Execution of "%s" failed', MainEepromCreate)
return False
MainEepromFileCmd = 'cat /sys/bus/i2c/devices/i2c-0/0-0057/eeprom > /etc/init.d/MainEeprom_qfx5200_ascii'
MainEepromFileCmd = ['cat', '/sys/bus/i2c/devices/i2c-0/0-0057/eeprom']
out_file = '/etc/init.d/MainEeprom_qfx5200_ascii'
try:
os.system(MainEepromFileCmd)
with open(out_file, 'w') as file:
subprocess.call(MainEepromFileCmd, universal_newlines=True, stdout=file)
except OSError:
print('Error: Execution of "%s" failed', MainEepromFileCmd)
return False

View File

@ -32,8 +32,8 @@
# components is subject to the terms and conditions of the respective license
# as noted in the Third-Party source code file.
import os
import binascii
import subprocess
from sonic_eeprom import eeprom_tlvinfo
@ -81,10 +81,12 @@ def main():
eeprom_file.write("Vendor Name=%s\r\n" % eeprom_qfx5210.vendor_name_str())
eeprom_file.write("Manufacture Name=%s\r\n" % eeprom_qfx5210.manufacture_name_str())
CPUeepromFileCmd = 'cat /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-0056/eeprom > /etc/init.d/eeprom_qfx5210_ascii'
CPUeepromFileCmd = ['cat', '/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-0056/eeprom']
# Write the contents of CPU EEPROM to file
out_file = '/etc/init.d/eeprom_qfx5210_ascii'
try:
os.system(CPUeepromFileCmd)
with open(out_file, 'w') as file:
subprocess.call(CPUeepromFileCmd, universal_newlines=True, stdout=file)
except OSError:
print('Error: Execution of "%s" failed', CPUeepromFileCmd)
return False

View File

@ -1,17 +1,13 @@
try:
import os
import time
import sys
import re
import subprocess
from sonic_sfp.sfputilbase import SfpUtilBase
from sonic_py_common.general import getstatusoutput_noshell
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
smbus_present = 1
try:
@ -31,9 +27,10 @@ class SfpUtil(SfpUtilBase):
_qsfp_ports = list(range(_port_start, ports_in_block + 1))
def __init__(self):
os.system("modprobe i2c-dev")
subprocess.call(["modprobe", "i2c-dev"])
if not os.path.exists("/sys/bus/i2c/devices/0-0050"):
os.system("echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-0/new_device")
with open("/sys/bus/i2c/devices/i2c-0/new_device", 'w') as file:
file.write("optoe2 0x50")
eeprom_path = '/sys/bus/i2c/devices/0-0050/eeprom'
# for x in range(self.port _start, self.port_end +1):
@ -74,8 +71,8 @@ class SfpUtil(SfpUtilBase):
def i2c_get(self, device_addr, offset):
status = 0
if smbus_present == 0:
x = "i2cget -y 0 " + hex(device_addr) + " " + hex(offset)
cmdstatus, status = commands.getstatusoutput(x)
x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)]
cmdstatus, status = getstatusoutput_noshell(x)
if cmdstatus != 0:
return cmdstatus
status = int(status, 16)
@ -86,8 +83,8 @@ class SfpUtil(SfpUtilBase):
def i2c_set(self, device_addr, offset, value):
if smbus_present == 0:
cmd = "i2cset -y 0 " + hex(device_addr) + " " + hex(offset) + " " + hex(value)
os.system(cmd)
cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)]
subprocess.call(cmd)
else:
bus = smbus.SMBus(0)
bus.write_byte_data(device_addr, offset, value)

View File

@ -1,17 +1,13 @@
try:
import os
import time
import sys
import re
import subprocess
from sonic_sfp.sfputilbase import SfpUtilBase
from sonic_py_common.general import getstatusoutput_noshell
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
smbus_present = 1
try:
@ -31,9 +27,10 @@ class SfpUtil(SfpUtilBase):
_qsfp_ports = list(range(_port_start, ports_in_block + 1))
def __init__(self):
os.system("modprobe i2c-dev")
subprocess.call(["modprobe", "i2c-dev"])
if not os.path.exists("/sys/bus/i2c/devices/0-0050"):
os.system("echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-0/new_device")
with open("/sys/bus/i2c/devices/i2c-0/new_device", 'w') as file:
file.write("optoe2 0x50")
eeprom_path = '/sys/bus/i2c/devices/0-0050/eeprom'
# for x in range(self.port _start, self.port_end +1):
@ -74,8 +71,8 @@ class SfpUtil(SfpUtilBase):
def i2c_get(self, device_addr, offset):
status = 0
if smbus_present == 0:
x = "i2cget -y 0 " + hex(device_addr) + " " + hex(offset)
cmdstatus, status = commands.getstatusoutput(x)
x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)]
cmdstatus, status = getstatusoutput_noshell(x)
if cmdstatus != 0:
return cmdstatus
status = int(status, 16)
@ -86,8 +83,8 @@ class SfpUtil(SfpUtilBase):
def i2c_set(self, device_addr, offset, value):
if smbus_present == 0:
cmd = "i2cset -y 0 " + hex(device_addr) + " " + hex(offset) + " " + hex(value)
os.system(cmd)
cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)]
subprocess.call(cmd)
else:
bus = smbus.SMBus(0)
bus.write_byte_data(device_addr, offset, value)

View File

@ -1,9 +1,4 @@
import sys
import os.path
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
from sonic_py_common.general import getstatusoutput_noshell
smbus_present = 1
try:
@ -32,8 +27,7 @@ class PsuUtil(PsuBase):
if index is None:
return False
if smbus_present == 0:
cmdstatus, psustatus = commands.getstatusoutput(
'i2cget -y 0 0x41 0xa') # need to verify the cpld register logic
cmdstatus, psustatus = getstatusoutput_noshell(["i2cget", "-y", "0", "0x41", "0xa"])
psustatus = int(psustatus, 16)
else:
bus = smbus.SMBus(0)
@ -56,8 +50,7 @@ class PsuUtil(PsuBase):
return False
if smbus_present == 0:
cmdstatus, psustatus = commands.getstatusoutput(
'i2cget -y 0 0x41 0xa') # need to verify the cpld register logic
cmdstatus, psustatus = getstatusoutput_noshell(["i2cget", "-y", "0", "0x41", "0xa"])
psustatus = int(psustatus, 16)
else:
bus = smbus.SMBus(0)

View File

@ -2,17 +2,13 @@ try:
import os
import time
import re
import sys
import glob
import subprocess
from sonic_sfp.sfputilbase import SfpUtilBase
from sonic_py_common.general import getstatusoutput_noshell
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
smbus_present = 1
try:
@ -43,7 +39,7 @@ class SfpUtil(SfpUtilBase):
# Enable optical SFP Tx
if smbus_present == 0:
os.system("i2cset -y -m 0x0f 0 0x41 0x5 0x00")
subprocess.call(["i2cset", "-y", "-m", "0x0f", "0", "0x41", "0x5", "0x00"])
else:
bus = smbus.SMBus(0)
DEVICE_ADDRESS = 0x41
@ -66,8 +62,9 @@ class SfpUtil(SfpUtilBase):
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
#print port_eeprom_path
if not os.path.exists(port_eeprom_path):
bus_dev_path = bus_path.format(self.port_to_i2c_mapping[x])
os.system("echo optoe2 0x50 > " + bus_dev_path + "/new_device")
bus_dev_path = bus_path.format(self.port_to_i2c_mapping[x]) + "/new_device"
with open(bus_dev_path, 'w') as f:
f.write("optoe2 0x50")
self.port_to_eeprom_mapping[x] = port_eeprom_path
self._port_to_eeprom_mapping[x] = port_eeprom_path
SfpUtilBase.__init__(self)
@ -113,8 +110,7 @@ class SfpUtil(SfpUtilBase):
pos = [1, 2, 4, 8]
bit_pos = pos[prt]
if smbus_present == 0:
cmdstatus, sfpstatus = commands.getstatusoutput(
'i2cget -y 0 0x41 0x3') # need to verify the cpld register logic
cmdstatus, sfpstatus = getstatusoutput_noshell(['i2cget', '-y', '0', '0x41', '0x3'])
sfpstatus = int(sfpstatus, 16)
else:
bus = smbus.SMBus(0)

View File

@ -1,17 +1,13 @@
try:
import os
import time
import sys
import re
import subprocess
from sonic_sfp.sfputilbase import SfpUtilBase
from sonic_py_common.general import getstatusoutput_noshell
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
smbus_present = 1
try:
@ -31,9 +27,10 @@ class SfpUtil(SfpUtilBase):
_qsfp_ports = list(range(_port_start, ports_in_block + 1))
def __init__(self):
os.system("modprobe i2c-dev")
subprocess.call(["modprobe", "i2c-dev"])
if not os.path.exists("/sys/bus/i2c/devices/0-0050"):
os.system("echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-0/new_device")
with open("/sys/bus/i2c/devices/i2c-0/new_device", 'w') as file:
file.write("optoe2 0x50")
eeprom_path = '/sys/bus/i2c/devices/0-0050/eeprom'
# for x in range(self.port _start, self.port_end +1):
@ -74,8 +71,8 @@ class SfpUtil(SfpUtilBase):
def i2c_get(self, device_addr, offset):
status = 0
if smbus_present == 0:
x = "i2cget -y 0 " + hex(device_addr) + " " + hex(offset)
cmdstatus, status = commands.getstatusoutput(x)
x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)]
cmdstatus, status = getstatusoutput_noshell(x)
if cmdstatus != 0:
return cmdstatus
status = int(status, 16)
@ -86,8 +83,8 @@ class SfpUtil(SfpUtilBase):
def i2c_set(self, device_addr, offset, value):
if smbus_present == 0:
cmd = "i2cset -y 0 " + hex(device_addr) + " " + hex(offset) + " " + hex(value)
os.system(cmd)
cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)]
subprocess.call(cmd)
else:
bus = smbus.SMBus(0)
bus.write_byte_data(device_addr, offset, value)

View File

@ -1,17 +1,13 @@
try:
import os
import time
import sys
import re
import subprocess
from sonic_sfp.sfputilbase import SfpUtilBase
from sonic_py_common.general import getstatusoutput_noshell
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
if sys.version_info[0] < 3:
import commands
else:
import subprocess as commands
smbus_present = 1
try:
@ -31,9 +27,10 @@ class SfpUtil(SfpUtilBase):
_qsfp_ports = list(range(_port_start, ports_in_block + 1))
def __init__(self):
os.system("modprobe i2c-dev")
subprocess.call(["modprobe", "i2c-dev"])
if not os.path.exists("/sys/bus/i2c/devices/0-0050"):
os.system("echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-0/new_device")
with open("/sys/bus/i2c/devices/i2c-0/new_device", 'w') as file:
file.write("optoe2 0x50")
eeprom_path = '/sys/bus/i2c/devices/0-0050/eeprom'
# for x in range(self.port _start, self.port_end +1):
@ -74,8 +71,8 @@ class SfpUtil(SfpUtilBase):
def i2c_get(self, device_addr, offset):
status = 0
if smbus_present == 0:
x = "i2cget -y 0 " + hex(device_addr) + " " + hex(offset)
cmdstatus, status = commands.getstatusoutput(x)
x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)]
cmdstatus, status = getstatusoutput_noshell(x)
if cmdstatus != 0:
return cmdstatus
status = int(status, 16)
@ -86,8 +83,8 @@ class SfpUtil(SfpUtilBase):
def i2c_set(self, device_addr, offset, value):
if smbus_present == 0:
cmd = "i2cset -y 0 " + hex(device_addr) + " " + hex(offset) + " " + hex(value)
os.system(cmd)
cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)]
subprocess.call(cmd)
else:
bus = smbus.SMBus(0)
bus.write_byte_data(device_addr, offset, value)

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2

View File

@ -0,0 +1,128 @@
{#
Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES.
Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '67737959' %}
{% set ingress_lossy_pool_size = '67737959' %}
{% set egress_lossless_pool_size = '158229504' %}
{% set egress_lossy_pool_size = '67737959' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
},
"ingress_lossy_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossy_pool_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
},
"egress_lossy_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ egress_lossy_pool_size }}",
{%- endif %}
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"ingress_lossy_profile": {
"pool":"ingress_lossy_pool",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"9216",
"dynamic_th":"7"
},
"q_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"0",
"dynamic_th":"3"
}
},
{%- endmacro %}
{%- macro generate_profile_lists(port_names) %}
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
{% for port in port_names.split(',') %}
"{{ port }}": {
"profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
{% for port in port_names.split(',') %}
"{{ port }}": {
"profile_list" : "egress_lossless_profile,egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{%- endmacro %}
{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
{% for port in port_names.split(',') %}
"{{ port }}|3-4": {
"profile" : "egress_lossless_profile"
},
{% endfor %}
{% for port in port_names.split(',') %}
"{{ port }}|0-2": {
"profile" : "q_lossy_profile"
},
{% endfor %}
{% for port in port_names.split(',') %}
"{{ port }}|5-6": {
"profile" : "q_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{%- endmacro %}

View File

@ -0,0 +1,128 @@
{#
Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES.
Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '52161690' %}
{% set ingress_lossy_pool_size = '52161690' %}
{% set egress_lossless_pool_size = '158229504' %}
{% set egress_lossy_pool_size = '52161690' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
},
"ingress_lossy_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossy_pool_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
},
"egress_lossy_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ egress_lossy_pool_size }}",
{%- endif %}
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"ingress_lossy_profile": {
"pool":"ingress_lossy_pool",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"9216",
"dynamic_th":"7"
},
"q_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"0",
"dynamic_th":"3"
}
},
{%- endmacro %}
{%- macro generate_profile_lists(port_names) %}
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
{% for port in port_names.split(',') %}
"{{ port }}": {
"profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
{% for port in port_names.split(',') %}
"{{ port }}": {
"profile_list" : "egress_lossless_profile,egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{%- endmacro %}
{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
{% for port in port_names.split(',') %}
"{{ port }}|3-4": {
"profile" : "egress_lossless_profile"
},
{% endfor %}
{% for port in port_names.split(',') %}
"{{ port }}|0-2": {
"profile" : "q_lossy_profile"
},
{% endfor %}
{% for port in port_names.split(',') %}
"{{ port }}|5-6": {
"profile" : "q_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{%- endmacro %}

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_dynamic.json.j2

View File

@ -0,0 +1,199 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet8": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet16": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet24": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet32": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet40": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet48": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet56": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet64": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet72": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet80": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet88": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet96": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet104": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet112": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet120": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet128": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet136": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet144": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet152": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet160": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet168": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet176": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet184": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet192": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet200": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet208": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet216": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet224": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet232": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet240": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet248": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet256": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet264": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet272": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet280": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet288": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet296": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet304": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet312": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet320": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet328": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet336": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet344": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet352": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet360": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet368": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet376": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet384": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet392": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet400": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet408": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet416": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet424": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet432": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet440": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet448": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet456": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet464": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet472": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet480": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet488": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet496": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet504": {
"default_brkout_mode": "1x800G[400G,200G,100G,50G,40G,25G,10G]"
},
"Ethernet512": {
"default_brkout_mode": "1x25G[10G]"
}
}
}

View File

@ -0,0 +1,42 @@
##
## Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 64512 19456 45056 0
25000 5m 67584 19456 48128 0
40000 5m 75776 19456 57344 0
50000 5m 82944 19456 63488 0
100000 5m 133120 19456 113664 0
200000 5m 150528 19456 131072 0
400000 5m 250880 19456 231424 0
800000 5m 304128 38912 257024 0
10000 40m 65536 19456 46080 0
25000 40m 71680 19456 52224 0
40000 40m 81920 19456 62464 0
50000 40m 89088 19456 69632 0
100000 40m 146432 19456 126976 0
200000 40m 177152 19456 157696 0
400000 40m 303104 19456 283648 0
800000 40m 410624 38912 362496 0
10000 300m 75776 19456 56320 0
25000 300m 96256 19456 76800 0
40000 300m 120832 19456 101376 0
50000 300m 138240 19456 118784 0
100000 300m 244736 19456 225280 0
200000 300m 374784 19456 355328 0
400000 300m 697344 19456 677888 0
800000 300m 1198080 38912 1150976 0

View File

@ -0,0 +1,82 @@
##
## Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
# name lanes alias index
Ethernet0 0,1,2,3,4,5,6,7 etp1 1
Ethernet8 8,9,10,11,12,13,14,15 etp2 2
Ethernet16 16,17,18,19,20,21,22,23 etp3 3
Ethernet24 24,25,26,27,28,29,30,31 etp4 4
Ethernet32 32,33,34,35,36,37,38,39 etp5 5
Ethernet40 40,41,42,43,44,45,46,47 etp6 6
Ethernet48 48,49,50,51,52,53,54,55 etp7 7
Ethernet56 56,57,58,59,60,61,62,63 etp8 8
Ethernet64 64,65,66,67,68,69,70,71 etp9 9
Ethernet72 72,73,74,75,76,77,78,79 etp10 10
Ethernet80 80,81,82,83,84,85,86,87 etp11 11
Ethernet88 88,89,90,91,92,93,94,95 etp12 12
Ethernet96 96,97,98,99,100,101,102,103 etp13 13
Ethernet104 104,105,106,107,108,109,110,111 etp14 14
Ethernet112 112,113,114,115,116,117,118,119 etp15 15
Ethernet120 120,121,122,123,124,125,126,127 etp16 16
Ethernet128 128,129,130,131,132,133,134,135 etp17 17
Ethernet136 136,137,138,139,140,141,142,143 etp18 18
Ethernet144 144,145,146,147,148,149,150,151 etp19 19
Ethernet152 152,153,154,155,156,157,158,159 etp20 20
Ethernet160 160,161,162,163,164,165,166,167 etp21 21
Ethernet168 168,169,170,171,172,173,174,175 etp22 22
Ethernet176 176,177,178,179,180,181,182,183 etp23 23
Ethernet184 184,185,186,187,188,189,190,191 etp24 24
Ethernet192 192,193,194,195,196,197,198,199 etp25 25
Ethernet200 200,201,202,203,204,205,206,207 etp26 26
Ethernet208 208,209,210,211,212,213,214,215 etp27 27
Ethernet216 216,217,218,219,220,221,222,223 etp28 28
Ethernet224 224,225,226,227,228,229,230,231 etp29 29
Ethernet232 232,233,234,235,236,237,238,239 etp30 30
Ethernet240 240,241,242,243,244,245,246,247 etp31 31
Ethernet248 248,249,250,251,252,253,254,255 etp32 32
Ethernet256 256,257,258,259,260,261,262,263 etp33 33
Ethernet264 264,265,266,267,268,269,270,271 etp34 34
Ethernet272 272,273,274,275,276,277,278,279 etp35 35
Ethernet280 280,281,282,283,284,285,286,287 etp36 36
Ethernet288 288,289,290,291,292,293,294,295 etp37 37
Ethernet296 296,297,298,299,300,301,302,303 etp38 38
Ethernet304 304,305,306,307,308,309,310,311 etp39 39
Ethernet312 312,313,314,315,316,317,318,319 etp40 40
Ethernet320 320,321,322,323,324,325,326,327 etp41 41
Ethernet328 328,329,330,331,332,333,334,335 etp42 42
Ethernet336 336,337,338,339,340,341,342,343 etp43 43
Ethernet344 344,345,346,347,348,349,350,351 etp44 44
Ethernet352 352,353,354,355,356,357,358,359 etp45 45
Ethernet360 360,361,362,363,364,365,366,367 etp46 46
Ethernet368 368,369,370,371,372,373,374,375 etp47 47
Ethernet376 376,377,378,379,380,381,382,383 etp48 48
Ethernet384 384,385,386,387,388,389,390,391 etp49 49
Ethernet392 392,393,394,395,396,397,398,399 etp50 50
Ethernet400 400,401,402,403,404,405,406,407 etp51 51
Ethernet408 408,409,410,411,412,413,414,415 etp52 52
Ethernet416 416,417,418,419,420,421,422,423 etp53 53
Ethernet424 424,425,426,427,428,429,430,431 etp54 54
Ethernet432 432,433,434,435,436,437,438,439 etp55 55
Ethernet440 440,441,442,443,444,445,446,447 etp56 56
Ethernet448 448,449,450,451,452,453,454,455 etp57 57
Ethernet456 456,457,458,459,460,461,462,463 etp58 58
Ethernet464 464,465,466,467,468,469,470,471 etp59 59
Ethernet472 472,473,474,475,476,477,478,479 etp60 60
Ethernet480 480,481,482,483,484,485,486,487 etp61 61
Ethernet488 488,489,490,491,492,493,494,495 etp62 62
Ethernet496 496,497,498,499,500,501,502,503 etp63 63
Ethernet504 504,505,506,507,508,509,510,511 etp64 64
Ethernet512 512 etp65 65

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2

View File

@ -0,0 +1,3 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_5600.xml
SAI_DUMP_STORE_PATH=/var/log/mellanox/sdk-dumps
SAI_DUMP_STORE_AMOUNT=10

View File

@ -0,0 +1,502 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES.
Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<root>
<platform_info type="5600">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- ISSU enabled -->
<issu-enabled>1</issu-enabled>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>65</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<width>8</width>
<module>34</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 2 - 1Gb , 16 - 10Gb , 32 - 40Gb , 384 - 50Gb , 1536 - 100Gb , 4096 - 200Gb, 32768 - 400G, 262144 - 800G -->
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>8</width>
<module>35</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>8</width>
<module>32</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>8</width>
<module>33</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>8</width>
<module>38</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>8</width>
<module>39</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>8</width>
<module>36</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>8</width>
<module>37</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>8</width>
<module>42</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>8</width>
<module>43</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>8</width>
<module>40</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>8</width>
<module>41</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>8</width>
<module>46</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>8</width>
<module>47</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>8</width>
<module>44</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>8</width>
<module>45</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>65</local-port>
<width>8</width>
<module>58</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>69</local-port>
<width>8</width>
<module>59</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>73</local-port>
<width>8</width>
<module>56</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>77</local-port>
<width>8</width>
<module>57</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>81</local-port>
<width>8</width>
<module>62</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>85</local-port>
<width>8</width>
<module>63</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>89</local-port>
<width>8</width>
<module>60</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>93</local-port>
<width>8</width>
<module>61</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>97</local-port>
<width>8</width>
<module>50</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>101</local-port>
<width>8</width>
<module>51</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>105</local-port>
<width>8</width>
<module>48</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 2 - 1Gb , 16 - 10Gb , 32 - 40Gb , 384 - 50Gb , 1536 - 100Gb , 4096 - 200Gb, 32768 - 400G, 262144 - 800G -->
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>109</local-port>
<width>8</width>
<module>49</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>113</local-port>
<width>8</width>
<module>54</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>117</local-port>
<width>8</width>
<module>55</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>121</local-port>
<width>8</width>
<module>52</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>125</local-port>
<width>8</width>
<module>53</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>129</local-port>
<width>8</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>133</local-port>
<width>8</width>
<module>29</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>137</local-port>
<width>8</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>141</local-port>
<width>8</width>
<module>31</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>145</local-port>
<width>8</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>149</local-port>
<width>8</width>
<module>25</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>153</local-port>
<width>8</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>157</local-port>
<width>8</width>
<module>27</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>161</local-port>
<width>8</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>165</local-port>
<width>8</width>
<module>21</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>169</local-port>
<width>8</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>173</local-port>
<width>8</width>
<module>23</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>177</local-port>
<width>8</width>
<module>16</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>181</local-port>
<width>8</width>
<module>17</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>185</local-port>
<width>8</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>189</local-port>
<width>8</width>
<module>19</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>193</local-port>
<width>8</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>197</local-port>
<width>8</width>
<module>5</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>201</local-port>
<width>8</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>205</local-port>
<width>8</width>
<module>7</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>209</local-port>
<width>8</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>213</local-port>
<width>8</width>
<module>1</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>217</local-port>
<width>8</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>221</local-port>
<width>8</width>
<module>3</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>225</local-port>
<width>8</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>229</local-port>
<width>8</width>
<module>13</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>233</local-port>
<width>8</width>
<module>14</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 2 - 1Gb , 16 - 10Gb , 32 - 40Gb , 384 - 50Gb , 1536 - 100Gb , 4096 - 200Gb -->
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>237</local-port>
<width>8</width>
<module>15</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>241</local-port>
<width>8</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>245</local-port>
<width>8</width>
<module>9</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>249</local-port>
<width>8</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>253</local-port>
<width>8</width>
<module>11</module>
<breakout-modes>3</breakout-modes>
<port-speed>1536</port-speed>
</port-info>
<port-info>
<local-port>257</local-port>
<width>1</width>
<module>64</module>
<breakout-modes>0</breakout-modes>
<port-speed>64</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -0,0 +1 @@
ACS-SN5600 t1

View File

@ -0,0 +1,146 @@
##
## Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
- bus: '00'
dev: '00'
fn: '0'
id: 3ec4
name: 'Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
(rev 07)'
- bus: '00'
dev: '01'
fn: '0'
id: '1901'
name: 'PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller
(x16) (rev 07)'
- bus: '00'
dev: '01'
fn: '1'
id: '1905'
name: 'PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor
PCIe Controller (x8) (rev 07)'
- bus: '00'
dev: 08
fn: '0'
id: '1911'
name: 'System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th
Gen Core Processor Gaussian Mixture Model'
- bus: '00'
dev: '12'
fn: '0'
id: a379
name: 'Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller
(rev 10)'
- bus: '00'
dev: '14'
fn: '0'
id: a36d
name: 'USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller
(rev 10)'
- bus: '00'
dev: '14'
fn: '2'
id: a36f
name: 'RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)'
- bus: '00'
dev: '15'
fn: '0'
id: a368
name: 'Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO
I2C Controller #0 (rev 10)'
- bus: '00'
dev: '16'
fn: '0'
id: a360
name: 'Communication controller: Intel Corporation Cannon Lake PCH HECI Controller
(rev 10)'
- bus: '00'
dev: '17'
fn: '0'
id: a353
name: 'SATA controller: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller
(rev 10)'
- bus: '00'
dev: 1b
fn: '0'
id: a340
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev
f0)'
- bus: '00'
dev: 1b
fn: '2'
id: a342
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #19 (rev
f0)'
- bus: '00'
dev: 1b
fn: '4'
id: a32c
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev
f0)'
- bus: '00'
dev: 1c
fn: '0'
id: a33d
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev
f0)'
- bus: '00'
dev: 1c
fn: '6'
id: a33e
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #7 (rev
f0)'
- bus: '00'
dev: 1c
fn: '7'
id: a33f
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #8 (rev
f0)'
- bus: '00'
dev: 1d
fn: '0'
id: a334
name: 'PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #13 (rev
f0)'
- bus: '00'
dev: 1e
fn: '0'
id: a328
name: 'Communication controller: Intel Corporation Cannon Lake PCH Serial IO UART
Host Controller (rev 10)'
- bus: '00'
dev: 1f
fn: '0'
id: a30e
name: 'ISA bridge: Intel Corporation Cannon Lake LPC Controller (rev 10)'
- bus: '00'
dev: 1f
fn: '4'
id: a323
name: 'SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)'
- bus: '00'
dev: 1f
fn: '5'
id: a324
name: 'Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller
(rev 10)'
- bus: '00'
dev: 1f
fn: '6'
id: 15bb
name: 'Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev
10)'

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
mellanox

View File

@ -0,0 +1,15 @@
{
"chassis": {
"SN5600": {
"component": {
"ONIE": { },
"SSD": { },
"BIOS": { },
"CPLD1": { },
"CPLD2": { },
"CPLD3": { },
"CPLD4": { }
}
}
}
}

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/platform_reboot

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/platform_wait

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/eeprom.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/psuutil.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfplpmget.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfplpmset.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfpreset.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfputil.py

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/pmon_daemon_control.json

View File

@ -0,0 +1,301 @@
##################################################################################
# Copyright (c) 2019 - 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Platform specific sensors config for SN5600
##################################################################################
# Bus names
bus "i2c-39" "i2c-1-mux (chan_id 6)"
# Temperature sensors
chip "mlxsw-i2c-*-48"
label temp1 "Ambient ASIC Temp"
chip "tmp102-i2c-*-49"
label temp1 "Ambient Fan Side Temp (air intake)"
chip "adt75-i2c-*-49"
label temp1 "Ambient Fan Side Temp (air intake)"
chip "tmp102-i2c-*-4a"
label temp1 "Ambient Port Side Temp (air exhaust)"
chip "adt75-i2c-*-4a"
label temp1 "Ambient Port Side Temp (air exhaust)"
# Power controllers
chip "mp2975-i2c-*-62"
label in1 "PMIC-1 PSU 13V5 Rail (in1)"
label in2 "PMIC-1 VDD_M ADJ Rail (out1)"
ignore in3
label temp1 "PMIC-1 VDD_M ADJ Temp 1"
ignore temp2
label power1 "PMIC-1 13V5 VDD_M (in)"
label power2 "PMIC-1 VDD_M Rail Pwr (out1)"
ignore power3
label curr1 "PMIC-1 13V5 VDD_M Rail Curr (in1)"
label curr2 "PMIC-1 VDD_M Rail Curr (out1)"
ignore curr3
ignore curr4
ignore curr5
ignore curr6
ignore curr7
ignore curr8
ignore curr9
ignore curr10
chip "mp2975-i2c-*-63"
label in1 "PMIC-2 PSU 13V5 Rail (in1)"
label in2 "PMIC-2 VDD_T0 ADJ Rail (out1)"
label in3 "PMIC-2 VDD_T1 ADJ Rail (out2)"
label temp1 "PMIC-2 VDD_T0 ADJ Temp 1"
label temp2 "PMIC-2 VDD_T1 ADJ Temp 2"
label power1 "PMIC-2 13V5 VDD_T0 VDD_T1 (in)"
label power2 "PMIC-2 VDD_T0 Rail Pwr (out1)"
label power3 "PMIC-2 VDD_T1 Rail Pwr (out2)"
label curr1 "PMIC-2 13V5 VDD_T0 VDD_T1 Rail Curr (in1)"
label curr2 "PMIC-2 VDD_T0 Rail Curr (out1)"
label curr3 "PMIC-2 VDD_T1 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-64"
label in1 "PMIC-3 PSU 13V5 Rail (in1)"
label in2 "PMIC-3 VDD_T2 ADJ Rail (out1)"
label in3 "PMIC-3 VDD_T3 ADJ Rail (out2)"
label temp1 "PMIC-3 VDD_T2 ADJ Temp 1"
label temp2 "PMIC-3 VDD_T3 ADJ Temp 2"
label power1 "PMIC-3 13V5 VDD_T2 VDD_T3 (in)"
label power2 "PMIC-3 VDD_T2 Rail Pwr (out1)"
label power3 "PMIC-3 VDD_T3 Rail Pwr (out2)"
label curr1 "PMIC-3 13V5 VDD_T2 VDD_T3 Rail Curr (in1)"
label curr2 "PMIC-3 VDD_T2 Rail Curr (out1)"
label curr3 "PMIC-3 VDD_T3 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-65"
label in1 "PMIC-4 PSU 13V5 Rail (in1)"
label in2 "PMIC-4 VDD_T4 ADJ Rail (out1)"
label in3 "PMIC-4 VDD_T5 ADJ Rail (out2)"
label temp1 "PMIC-4 VDD_T4 ADJ Temp 1"
label temp2 "PMIC-4 VDD_T5 ADJ Temp 2"
label power1 "PMIC-4 13V5 VDD_T4 VDD_T5 (in)"
label power2 "PMIC-4 VDD_T4 Rail Pwr (out1)"
label power3 "PMIC-4 VDD_T5 Rail Pwr (out2)"
label curr1 "PMIC-4 13V5 VDD_T4 VDD_T5 Rail Curr (in1)"
label curr2 "PMIC-4 VDD_T4 Rail Curr (out1)"
label curr3 "PMIC-4 VDD_T5 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-66"
label in1 "PMIC-5 PSU 13V5 Rail (in1)"
label in2 "PMIC-5 VDD_T6 ADJ Rail (out1)"
label in3 "PMIC-5 VDD_T7 ADJ Rail (out2)"
label temp1 "PMIC-5 VDD_T6 ADJ Temp 1"
label temp2 "PMIC-5 VDD_T7 ADJ Temp 2"
label power1 "PMIC-5 13V5 VDD_T6 VDD_T7 (in)"
label power2 "PMIC-5 VDD_T6 Rail Pwr (out1)"
label power3 "PMIC-5 VDD_T7 Rail Pwr (out2)"
label curr1 "PMIC-5 13V5 VDD_T6 VDD_T7 Rail Curr (in1)"
label curr2 "PMIC-5 VDD_T6 Rail Curr (out1)"
label curr3 "PMIC-5 VDD_T7 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-67"
label in1 "PMIC-6 PSU 13V5 Rail (in1)"
label in2 "PMIC-6 DVDD_T0 ADJ Rail (out1)"
label in3 "PMIC-6 DVDD_T1 ADJ Rail (out2)"
label temp1 "PMIC-6 DVDD_T0 ADJ Temp 1"
label temp2 "PMIC-6 DVDD_T1 ADJ Temp 2"
label power1 "PMIC-6 13V5 DVDD_T0 DVDD_T1 (in)"
label power2 "PMIC-6 DVDD_T0 Rail Pwr (out1)"
label power3 "PMIC-6 DVDD_T1 Rail Pwr (out2)"
label curr1 "PMIC-6 13V5 DVDD_T0 DVDD_T1 Rail Curr (in1)"
label curr2 "PMIC-6 DVDD_T0 Rail Curr (out1)"
label curr3 "PMIC-6 DVDD_T1 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-68"
label in1 "PMIC-7 PSU 13V5 Rail (in1)"
label in2 "PMIC-7 DVDD_T2 ADJ Rail (out1)"
label in3 "PMIC-7 DVDD_T3 ADJ Rail (out2)"
label temp1 "PMIC-7 DVDD_T2 ADJ Temp 1"
label temp2 "PMIC-7 DVDD_T3 ADJ Temp 2"
label power1 "PMIC-7 13V5 DVDD_T2 DVDD_T3 (in)"
label power2 "PMIC-7 DVDD_T2 Rail Pwr (out1)"
label power3 "PMIC-7 DVDD_T3 Rail Pwr (out2)"
label curr1 "PMIC-7 13V5 DVDD_T2 DVDD_T3 Rail Curr (in1)"
label curr2 "PMIC-7 DVDD_T2 Rail Curr (out1)"
label curr3 "PMIC-7 DVDD_T3 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-69"
label in1 "PMIC-8 PSU 13V5 Rail (in1)"
label in2 "PMIC-8 DVDD_T4 ADJ Rail (out1)"
label in3 "PMIC-8 DVDD_T5 ADJ Rail (out2)"
label temp1 "PMIC-8 DVDD_T4 ADJ Temp 1"
label temp2 "PMIC-8 DVDD_T5 ADJ Temp 2"
label power1 "PMIC-8 13V5 DVDD_T4 DVDD_T5 (in)"
label power2 "PMIC-8 DVDD_T4 Rail Pwr (out1)"
label power3 "PMIC-8 DVDD_T5 Rail Pwr (out2)"
label curr1 "PMIC-8 13V5 DVDD_T4 DVDD_T5 Rail Curr (in1)"
label curr2 "PMIC-8 DVDD_T4 Rail Curr (out1)"
label curr3 "PMIC-8 DVDD_T5 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-6a"
label in1 "PMIC-9 PSU 13V5 Rail (in1)"
label in2 "PMIC-9 DVDD_T6 ADJ Rail (out1)"
label in3 "PMIC-9 DVDD_T7 ADJ Rail (out2)"
label temp1 "PMIC-9 DVDD_T6 ADJ Temp 1"
label temp2 "PMIC-9 DVDD_T7 ADJ Temp 2"
label power1 "PMIC-9 13V5 DVDD_T6 DVDD_T7 (in)"
label power2 "PMIC-9 DVDD_T6 Rail Pwr (out1)"
label power3 "PMIC-9 DVDD_T7 Rail Pwr (out2)"
label curr1 "PMIC-9 13V5 DVDD_T6 DVDD_T7 Rail Curr (in1)"
label curr2 "PMIC-9 DVDD_T6 Rail Curr (out1)"
label curr3 "PMIC-9 DVDD_T7 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
chip "mp2975-i2c-*-6b"
label in1 "PMIC-10 PSU 13V5 Rail (in1)"
label in2 "PMIC-10 HVDD_T03 1V2 Rail (out1)"
label in3 "PMIC-10 HVDD_T47 1V2 Rail (out2)"
label temp1 "PMIC-10 HVDD_T03 1V2 Temp 1"
label temp2 "PMIC-10 HVDD_T47 1V2 Temp 2"
label power1 "PMIC-10 13V5 HVDD_T03 HVDD_T47 (in)"
label power2 "PMIC-10 HVDD_T03 Rail Pwr (out1)"
label power3 "PMIC-10 HVDD_T47 Rail Pwr (out2)"
label curr1 "PMIC-10 13V5 HVDD_T03 HVDD_T47 Rail Curr (in1)"
label curr2 "PMIC-10 HVDD_T03 Rail Curr (out1)"
label curr3 "PMIC-10 HVDD_T47 Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
ignore curr7
ignore curr8
ignore curr9
ignore curr10
ignore curr11
chip "mp2975-i2c-*-6e"
label in1 "PMIC-11 PSU 13V5 Rail (in1)"
label in2 "PMIC-11 VDDSCC 0V75 Rail (out1)"
label in3 "PMIC-11 DVDD_M ADJ Rail (out2)"
label temp1 "PMIC-11 VDDSCC 1V2 Temp 1"
label temp2 "PMIC-11 DVDD_M 1V2 Temp 2"
label power1 "PMIC-11 13V5 VDDSCC DVDD_M (in)"
label power2 "PMIC-11 VDDSCC Rail Pwr (out1)"
label power3 "PMIC-11 DVDD_M Rail Pwr (out2)"
label curr1 "PMIC-11 13V5 VDDSCC DVDD_M Rail Curr (in1)"
label curr2 "PMIC-11 VDDSCC Rail Curr (out1)"
label curr3 "PMIC-11 DVDD_M Rail Curr (out2)"
ignore curr4
ignore curr5
ignore curr6
# Power supplies
chip "dps460-i2c-*-5a"
label in1 "PSU-1(L) 220V Rail (in)"
ignore in2
label in3 "PSU-1(L) 12V Rail (out)"
label fan1 "PSU-1(L) Fan 1"
label temp1 "PSU-1(L) Temp 1"
label temp2 "PSU-1(L) Temp 2"
label temp3 "PSU-1(L) Temp 3"
label power1 "PSU-1(L) 220V Rail Pwr (in)"
label power2 "PSU-1(L) 12V Rail Pwr (out)"
label curr1 "PSU-1(L) 220V Rail Curr (in)"
label curr2 "PSU-1(L) 12V Rail Curr (out)"
chip "dps460-i2c-*-59"
label in1 "PSU-2(R) 220V Rail (in)"
ignore in2
label in3 "PSU-2(R) 12V Rail (out)"
label fan1 "PSU-2(R) Fan 1"
label temp1 "PSU-2(R) Temp 1"
label temp2 "PSU-2(R) Temp 2"
label temp3 "PSU-2(R) Temp 3"
label power1 "PSU-2(R) 220V Rail Pwr (in)"
label power2 "PSU-2(R) 12V Rail Pwr (out)"
label curr1 "PSU-2(R) 220V Rail Curr (in)"
label curr2 "PSU-2(R) 12V Rail Curr (out)"
# Power converters
chip "pmbus-i2c-*-10"
label in1 "IBC-1 PWR CONV 54V Rail (in1)"
ignore in2
ignore in3
label temp1 "IBC-1 Temp 1"
label curr1 "IBC-1 13V5 Rail Curr (out)"
ignore curr2
chip "pmbus-i2c-*-11"
label in1 "IBC-2 PWR CONV 54V Rail (in1)"
ignore in2
ignore in3
label temp1 "IBC-2 Temp 1"
label curr1 "IBC-2 13V5 Rail Curr (out)"
ignore curr2
chip "pmbus-i2c-*-13"
label in1 "IBC-3 PWR CONV 54V Rail (in1)"
ignore in2
ignore in3
label temp1 "IBC-3 Temp 1"
label curr1 "IBC-3 13V5 Rail Curr (out)"
ignore curr2
chip "pmbus-i2c-*-15"
label in1 "IBC-4 PWR CONV 54V Rail (in1)"
ignore in2
ignore in3
label temp1 "IBC-4 Temp 1"
label curr1 "IBC-4 13V5 Rail Curr (out)"
ignore curr2
#COMEX CFL
chip "mp2975-i2c-39-6b"
label in1 "PMIC-6 PSU 12V Rail (vin)"
label in2 "PMIC-6 COMEX VCORE (out1)"
label in3 "PMIC-6 COMEX VCCSA (out2)"
label temp1 "PMIC-6 Temp"
label power1 "PMIC-6 COMEX Pwr (pin)"
label power2 "PMIC-6 COMEX VCORE Pwr (pout1)"
label power3 "PMIC-6 COMEX VCCSA Pwr (pout2)"
label curr1 "PMIC-6 COMEX Curr (iin)"
label curr2 "PMIC-6 COMEX VCORE Rail Curr (out1)"
ignore curr3
ignore curr4
ignore curr5
label curr6 "PMIC-6 COMEX VCCSA Rail Curr (out2)"
ignore curr7
# Chassis fans
chip "mlxreg_fan-isa-*"
label fan1 "Chassis Fan Drawer-1 Tach 1"
label fan2 "Chassis Fan Drawer-1 Tach 2"
label fan3 "Chassis Fan Drawer-2 Tach 1"
label fan4 "Chassis Fan Drawer-2 Tach 2"
label fan5 "Chassis Fan Drawer-3 Tach 1"
label fan6 "Chassis Fan Drawer-3 Tach 2"
label fan7 "Chassis Fan Drawer-4 Tach 1"
label fan8 "Chassis Fan Drawer-4 Tach 2"
# Memory sensors
bus "i2c-0" "SMBus I801 adapter at efa0"
chip "jc42-i2c-0-1c"
label temp1 "SODIMM Temp"
chip "jc42-i2c-0-1a"
label temp1 "SODIMM Temp"
# PCH
chip "pch_cannonlake-virtual-*"
label temp1 "PCH Temp"
# SSD
chip "drivetemp-*"
label temp1 "SSD Temp"
chip "*-acpi-*"
label temp1 "CPU ACPI temp"

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/system_health_monitoring_config.json

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/thermal_policy.json

View File

@ -5,11 +5,10 @@
# * PSU
#
import os
import xml.etree.ElementTree as ET
import glob
from fru import *
from fantlv import *
from lxml import etree as ET
MAILBOX_DIR = "/sys/bus/i2c/devices/"

View File

@ -6,8 +6,8 @@
* PSU
"""
import os
import xml.etree.ElementTree as ET
import glob
from lxml import etree as ET
MAILBOX_DIR = "/sys/bus/i2c/devices/"
PORTS_DIR = "/sys/class/net/"

View File

@ -5,8 +5,8 @@
# * PSU
#
import os
import xml.etree.ElementTree as ET
import glob
from lxml import etree as ET
MAILBOX_DIR = "/sys/bus/i2c/devices/"
PORTS_DIR = "/sys/class/net/"

View File

@ -11,6 +11,7 @@
import os.path
import sys
import ast
sys.path.append('/usr/share/sonic/platform/plugins')
import pddfparse
import json
@ -170,7 +171,7 @@ class FanUtil(FanBase):
print("Setting fan speed is not allowed !")
return False
else:
duty_cycle_to_pwm = eval(plugin_data['FAN']['duty_cycle_to_pwm'])
duty_cycle_to_pwm = ast.literal_eval(plugin_data['FAN']['duty_cycle_to_pwm'])
pwm = duty_cycle_to_pwm(val)
print("New Speed: %d%% - PWM value to be set is %d\n" % (val, pwm))

Some files were not shown because too many files have changed in this diff Show More