f753a8ba04
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> |
||
---|---|---|
.. | ||
arp_update | ||
asic_status.py | ||
asic_status.sh | ||
bgp.sh | ||
configdb-load.sh | ||
core_cleanup.py | ||
database.sh | ||
gbsyncd-platform.sh | ||
gbsyncd.sh | ||
lldp.sh | ||
mark_dhcp_packet.py | ||
mgmt-framework.sh | ||
radv.sh | ||
service_mgmt.sh | ||
snmp.sh | ||
sonic-netns-exec | ||
supervisor-proc-exit-listener | ||
swss.sh | ||
syncd_common.sh | ||
syncd.sh | ||
teamd.sh | ||
telemetry.sh | ||
update_chassisdb_config | ||
write_standby.py |