* [FRR]: Use stg in a proper way.
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
* [FRR]restore the detach status for frr submodule after finish patching
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
* [FRR]use the 'FRR_VERSION' exported from 'rule/frr.mk'.
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
From 5.1 version of PyYAML python module, yaml.load() API is deprecated. Code should be compatible to support both the versions, else error/warning messages are seen like below,
2019-07-02 08:25:35,284 – INFO: [D1] /usr/local/lib/python2.7/dist-packages/sonic_device_util.py:44: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
In teamd v1.28, the port can only be enabled if sync bit is set
in recveived LACPDU from partner by the following commit
"teamd: lacp: update port state according to partner's sync bit"
(54f137c105)
However, lacp fallback feature needs to enable port even if partner
LACPDU is not received within a given period and fallback cfg is enabled.
To fix the lacp fallback breakage, we have to bypass the sync bit
check in lacp fallback mode.
Signed-off-by: Haiyang Zheng <haiyang.z@alibaba-inc.com>
* Makefile: ARM kernel support from sonic-linux-kernel
* Fix for multiarch build docker spawn
Platform: Install the DTB deb for the platform
Signed-off-by: Antony Rheneus <arheneus@marvell.com>
While doing CLI changes for SNMP configuration, few changes are made in backend to handle the modified CLI.
** Changes**
- "community" for "snmp trap" is also made as "configurable". snmpd_conf.j2 is modified to handle the same.
- Changed the snmp.yml file generation from postStartAction to preStartAction in docker_image_ctl.j2 specific to SNMP docker, to ensure that the snmp.yml is generated before sonic-cfggen generates the snmpd.conf.
- Changed to make the code common for management vrf and default vrf. Users can configure snmp trap and snmp listening IP for both management vrf and default vrf.
* Update driver and Add new platform API implementation for Inventec D6356
* Update Platform API (SFP)
* Update Platform API (QSFP)
* Update Platform API (FAN, THERMAL)
Signed-off-by: David Xiao <xiao.david@inventec.com>
*Currently get_firmware_version implementated by using chassis.get_firmware_version and chassis._component_name_list which are not supported in the latest sonic_platform_common, causing chassis broken. Update this part so that it aligns to the latest sonic_platform_common
*Support component API
* 1f4a1d7 2019-09-24 | Add warm boot support with removed/created port (#515) (HEAD, origin/master, origin/HEAD) [Kamil Cudnik]
* 59e530a 2019-09-20 | Add support for debug counters (#517) [Danny Allen]
* 1ed09e0 2019-09-20 | fully support bulk_remove in sairedis (#516) [Dong Zhang]
* 6cb1b31 2019-09-17 | Add support for port remove and port create (no warm boot) (#500) [Kamil Cudnik]
* 83d86ed 2019-09-17 | Fix c_str() in printf for string (#514) [Kamil Cudnik]
* 11b44b5 2019-09-16 | Advance SAI reference pointer to v1.5.0 (#509) [Wenda Ni]
* 38c6945 2019-09-14 | support sflow on virtual switch (#498) [Rakesh Datta]
* e7d766e 2019-09-09 | Add acl counter match logic based on acl entry field (#511) [Kamil Cudnik]
* 58845ce 2019-09-06 | Add extra check for warm boot discovered RIDs (#502) [Kamil Cudnik]
* b4893ef 2019-09-05 | [flex counter]: Lower the severity of log during rif counter support check (#504) [shikenghua]
* b859344 2019-09-03 | fix found typo in new added syncMode related codes (#506) [Dong Zhang]
Signed-off-by: Guohan Lu <gulv@microsoft.com>
The script sonic-gns3a.sh creates a GNS3 appliance flle, that points to a sonin-vs.img (SONiC Virtual Switch).
The appliance file (and sonic-vs.img file) can subsequently be imported into a GNS3 simulation environment.
Adjust the SDK makefiles so that it reflects the dependencies among libraries in SDK 4.3.2104.
This is a supplement of PR [Mellanox]Update SDK(4.3.2104), SAI-Implementation(1.15) and firmware 2162. It doesn't impact the sonic-mellanox.bin image but makes the future SDK-integration easier.
- after reloading minigraph, write latest version string in the DB.
- if old config_db.json file exists, use it and migrate to latest version.
- only reload minigraph when config_db.json doesn't exist and minigraph
exists.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
1. add the console port in install.conf
2. update the ag9032v2a configuration file
3. add the default_sku in ag9032v2a
Signed-off-by: hans-tseng <hans.tseng@deltaww.com>
Issue Overview
shutdown flow
For any shutdown flow, which means all dockers are stopped in order, pmon docker stops after syncd docker has stopped, causing pmon docker fail to release sx_core resources and leaving sx_core in a bad state. The related logs are like the following:
INFO syncd.sh[23597]: modprobe: FATAL: Module sx_core is in use.
INFO syncd.sh[23597]: Unloading sx_core[FAILED]
INFO syncd.sh[23597]: rmmod: ERROR: Module sx_core is in use
config reload & service swss.restart
In the flows like "config reload" and "service swss restart", the failure cause further consequences:
sx_core initialization error with error message like "sx_core: create EMAD sdq 0 failed. err: -16"
syncd fails to execute the create switch api with error message "syncd_main: Runtime error: :- processEvent: failed to execute api: create, key: SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000, status: SAI_STATUS_FAILURE"
swss fails to call SAI API "SAI_SWITCH_ATTR_INIT_SWITCH", which causes orchagent to restart. This will introduce an extra 1 or 2 minutes for the system to be available, failing related test cases.
reboot, warm-reboot & fast-reboot
In the reboot flows including "reboot", "fast-reboot" and "warm-reboot" this failure doesn't have further negative effects since the system has already rebooted. In addition, "warm-reboot" requires the system to be shutdown as soon as possible to meet the GR time restriction of both BGP and LACP. "fast-reboot" also requires to meet the GR time restriction of BGP which is longer than LACP. In this sense, any unnecessary steps should be avoided. It's better to keep those flows untouched.
summary
To summarize, we have to come up with a way to ensure:
shutdown pmon docker ahead of syncd for "config reload" or "service swss restart" flow;
don't shutdown pmon docker ahead of syncd for "fast-reboot" or "warm-reboot" flow in order to save time.
for "reboot" flow, either order is acceptable.
Solution
To solve the issue, pmon shoud be stopped ahead of syncd stopped for all flows except for the warm-reboot.
- How I did it
To stop pmon ahead of syncd stopped. This is done in /usr/local/bin/syncd.sh::stop() and for all shutdown sequence.
Now pmon stops ahead of syncd so there must be a way in which pmon can start after syncd started. Another point that should be taken consideration is that pmon starting should be deferred so that services which have the logic of graceful restart in fast-reboot and warm-reboot have sufficient CPU cycles to meet their deadline.
This is done by add "syncd.service" as "After" to pmon.service and startin /usr/local/bin/syncd.sh::wait()
To start pmon automatically after syncd started.