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.
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.
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
- 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
- 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
- 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.
- 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>
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
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
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>
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)
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.
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>
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
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]
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
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>
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>
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
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
#### 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
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.
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