eff5c1c [thermalctld] No need exit thermalcltd when loading invalid policy file (#172)
5b6d9c0 [syseepromd] Add unit tests; Refactor to allow for greater unit test coverage (#156)
1c3f75e (HEAD -> master, origin/master, origin/HEAD) pindown the version of github.com/openconfig/gnoi (#76)
33acd5b [ci]: setup proper azp (#75)
5d82051 [CI] Set up CI with Azure Pipelines (#72)
0688cdb Remove go get commands from Makefile to prevent go.mod file from chan… (#66)
5c63670 (HEAD, origin/master, origin/HEAD) [intfmgrd] reach reconciled state at start when there are no interfaces configuration to process (#1695)
66e1aab [Dynamic Buffer Calc] Enhancement: coding style and LGTM alerts (#1693)
637e8d0 Skip Macsec test case till macsec orch code is made SAIv1.8.0 compatible (#1688)
872b5cb [ci]: archive swss pytests (#1690)
73cbd91 [Makefile] Reorder libsaimetadata and libswsscommon (#1689)
cba6576 Correct the sflow default sample rate (#1623)
aac71e6 Don't update pools when ingress_lossless_pool is created but the initialization hasn't finished yet (#1685)
ae5f051 Fix dynamic buffer bug occuring in rare condition (#1678)
691bd30 [voq/systemlag] Voq system lag functionality (#1605)
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Why I did it
Add bgpcfgd support for static routes.
How I did it
Add bgpcfgd support to subscribe changes in STATIC_ROUTE table in CONFIG_DB and program via vtysh. The key of STATIC_ROUTE table is formatted as STATIC_ROUTE|vrf|ip_prefix, while the vrf is optional. If would be treated the same as "default" if no vrf is given.
Add unit tests.
#### Why I did it
Allowing an application to set a stop timeout for processes and threads provides the following benefits:
1. Prevents the application from hanging indefinitely in the case a process or thread does not exit
2. Allow ProcessTaskBase a chance to let the process exit gracefully before attempting to kill it
Default values are as follows:
- ProcessTaskBase: 1 second
- ThreadTaskBase: No timeout
#### How I did it
- Add optional `stop_timeout_secs` parameter to initializers of ProcessTaskBase and ThreadTaskBase
- Additionally:
- Prefix private attributes with an underscore
- Remove obsolete comments
Compiling ethtool from source is causing ethtool unit tests to fail on ARM Platforms.
These tests are failing: (By default netlink-interface is enabled while compiling ethtool)
Link: ([Test File Link](https://salsa.debian.org/kernel-team/ethtool/-/blob/debian/1%255.9-1/test-cmdline.c#L28))
```
FAIL: test-cmdline
==================
E: ethtool 16_char_devname! returns 1
E: ethtool
127_char_devname0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcde returns 1
E: ethtool --change devname xcvr external returns 0
E: ethtool --change devname speed 100 duplex half port tp autoneg on advertise 0x1 phyad 1 xcvr external wol p sopass 01:23:45:67:89:ab msglvl 1 returns 0
FAIL test-cmdline (exit status: 1)
```
Tested this on Local ARM Emulated Container:
```
(Docker Container Emulating ARM)
vkarri@3a03c70eed35:/tmp/ethtool$ ./ethtool 16_char_devname!
netlink interface initialization failed, device name longer than 15 not supported
vkarri@3a03c70eed35:/tmp/ethtool$ echo $?
1 (Expected 0)
vkarri@3a03c70eed35:~/ethtool$ ./ethtool 16_char_devnameee
netlink interface initialization failed, device name longer than 15 not supported
Checked for dependencies: (all are present)
vkarri@3a03c70eed35:~/ethtool$ apt-cache policy libmnl0
libmnl0:
Installed: 1.0.4-2
Candidate: 1.0.4-2
Version table:
*** 1.0.4-2 500
500 http://deb.debian.org/debian buster/main armhf Packages
500 http://packages.trafficmanager.net/debian/debian buster/main armhf Packages
100 /var/lib/dpkg/status
vkarri@3a03c70eed35:~/ethtool$ apt-cache policy libc6
libc6:
Installed: 2.28-10
Candidate: 2.28-10
Version table:
*** 2.28-10 500
500 http://deb.debian.org/debian buster/main armhf Packages
500 http://packages.trafficmanager.net/debian/debian buster/main armhf Packages
100 /var/lib/dpkg/status
```
#### How I did it
Disabled netlink-interface for ethtool.
Even though Netlink is not available, it doesn't seem to impact what ethtool was supposed to do. In fact the older version which was in use before this PR [#5725](https://github.com/Azure/sonic-buildimage/pull/5725) did not have netlink support and everything seemed to work well
Article on Netlink-Support for ethtool: https://lwn.net/Articles/783633/
Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
#### Why I did it
To eliminate the need to write duplicate code in order to import a Python module from a source file.
#### How I did it
Add `general` module to sonic-py-common, which contains a `load_module_from_source()` function which supports both Python 2 and 3.
Call this new function in:
- sonic-ctrmgrd/tests/container_test.py
- sonic-ctrmgrd/tests/ctrmgr_tools_test.py
- sonic-host-services/tests/determine-reboot-cause_test.py
- sonic-host-services/tests/hostcfgd/hostcfgd_test.py
- sonic-host-services/tests/procdockerstatsd_test.py
- sonic-py-common/sonic_py_common/daemon_base.py
872f0a3 [Y-Cable] refactor get_firmware_version to comply with all vendors (#182)
cc162d6 [sonic_y_cable]: Decorate all method for mux simulator (#181)
fa02416 Change import order in Ycable helper and EEPROM read bytearray change in SFP plugin (#177)
0b60982 [thermal_base] Add setter functions for critical thresholds (#180)
10dc16f [y_cable] add support for enable/disable autoswitch feature on Y cable (#176)
c6c81a8 [fan_drawer_base.py] Fix FanDrawer get_status_led interface (#175)
Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms.
Why I did:
In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace.
It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table.
For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error.
How I did:
If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
ASIC key used in system health daemon is not present in Dell platforms.
Fixes#6343
Got the thermal sensor list using 2.0 API and retrieved the ASIC keys.
- When generating L2 preset, check for dual ToR setting from CLI option `-a '{"is_dualtor": true}'`
- When dual ToR is specified, add subtype field to DEVICE_METADATA table
- When dual ToR is specified, add MUX_CABLE, TUNNEL, LOOPBACK_INTERFACE, and PEER_SWITCH tables
df46ed418e661a9bccdb2639d8873def356f8ba0 (HEAD -> master, origin/master, origin/HEAD) Fix the LLDP_LOC_CHASSIS not getting populated if no remote neighbors are present (#39)
e487532e11cc0e97cfce573b6b997fdd0beeb660 [CI] Set up CI&PR with Azure Pipelines (#38)
3c9f488490a1dbded20dbf2d8a88a5ab4dbda8df Replace swsssdk's SonicV2Connector with swsscommon's implementation (#35)
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Feb 17 Fix tests failing due to duplicate vxlan tunnel creation (#75)
Mar 11 Update route api to specify limitation (#77)
Apr 01 Add host_ifname field while adding entry in VLAN table (#80)
Unset CONFIG_THERMAL_STATISTICS to prevent kernel crash (#199)
[net] Disable prio and cls cgroups to make working cgroup2 sock matching (#198)
[doc]: Fix typos in README (#206)
[Mellanox] Backport patch to remove critical trip point from thermal zones (#201)
Signed-off-by: Stephen Sun <stephens@nvidia.com>
#### Why I did it
Plexus-utils before 3.0.16 is vulnerable to command injection because it does not correctly process the contents of double quoted strings.
#### How I did it
Upgrade to 3.0.16
c5be3ca4 [psud] Increase unit test coverage; Refactor mock platform (#154)
450b7d78 Bug fix: the fields that are not supported by vendor should be "N/A" in STATE_DB (#168)
Signed-off-by: Stephen Sun <stephens@nvidia.com>
Signed-off-by: Yong Zhao yozhao@microsoft.com
Why I did it
If device reboot was caused by kernel panic, then we need retrieve and store the key information into the symbol file previous-reboot-cause.json. The CLI show reboot-cause will read this file to get the reason of previous reboot.
This PR is related to PR in sonic-utilities repo: Azure/sonic-utilities#1486
How I did it
The string variable previous_reboot_cause will be parsed to check whether it contains the keyword Kernel Panic. If it did, then store the keyword and time information into a dictionary.
How to verify it
I verified this change on a virtual testbed.
admin@vlab-01:/host/reboot-cause$ more previous-reboot-cause.json
{"gen_time": "2021_03_24_23_22_35", "cause": "Kernel Panic", "user": "N/A", "time": "Wed 24 Mar 2021 11:22:03 PM UTC", "comment": "N/A"}
admin@vlab-01:/host/reboot-cause$ show reboot-cause
Kernel Panic [Time: Wed 24 Mar 2021 11:22:03 PM UTC]
* Add manageability to the yang model tests by splitting the tests
and config data for the tests into multiple files.
The "tests" directory contains all the tests and the "tests_config"
directory contains the configs used for the tests.
New tests can be added in new json files.
Signed-off-by: Joyas Joseph <joyas_joseph@dell.com>
Update the sonic-swss submodule to include failure notification for orchagent. The following is the new commit in the submodule.
fa983d2 Add failure notification for orchagent
this PR updates the following commits in sonic-platform-daemons
260cf2d [xcvrd] change firmware information fields name inside MUX_CABLE_INFO table for Y cable (#165)
cfa600f [thermalctld] Initialize fan led in thermalctld for the first run (#167)
8509f43 [thermalctld] Refactor to allow for greater unit test coverage; Add more unit tests (#157)
70f4e7b [syseepromd] Update warning message to be more informative (#160)
Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
[SFlowMgr] Sflow Crash on 200G ports handled (#1683)
Remove PGs from an administratively down port. (#1677)
Stablize the test case (#1679)
Revert "Revert "[buffermgr] Support maximum port headroom checking (#1607)" (#1675)" (#1682)
Signed-off-by: Stephen Sun <stephens@nvidia.com>
Dynamic Port Breakout fall in case "autoneg" field exist in config_db.
- How I did it
Added "autoneg" field in sonic-port yang model.
- How to verify it
Add "autoneg" field into config_db like this:
"Ethernet8": {
"index": "2",
"lanes": "8,9,10,11",
"fec": "rs",
"pfc_asym": "off",
"mtu": "9100",
"alias": "Ethernet8",
"admin_status": "up",
"autoneg": "on",
"speed": "100000",
},
Changes:
-- YANG models for PORTCHANNEL_MEMBER table.
-- Yang Model Test.
-- Yang Mgmt Test with PORTCHANNEL_MEMBER table in config_db.json
Signed-off-by: Praveen Chaudhary <pchaudhary@linkedin.com>
* [yang-models]: Remove PLY Extensions and change translation code.
With assumption that TABLE_SEPARATOR and ENTRY_SEPARATOR for configDB is always "|",
translation from configDB.json to sonicYang.json can be done based on keys specified
in YANG Lists inside YANG models. So removing extensions is good idea.
Changes:
-- Remove use of regex in Translation code.
-- Remove regex Extensions from YANG models.
-- Improved debugging i.e. log on stdout in case of any Exception from sonic-yang-mgmt,
so that failed tests can be debugged faster. Also this is good to debug Dynamic
port breakout issues.
-- Minor Test changes.
Co-authored-by: lguohan <lguohan@gmail.com>
IPV4ANY is not valid value, fix to IPv4ANY
without this change, test case failed sometimes when the validation on IP_TYPE happens first and then PACKET_ACTION.
* 1ee04fb (HEAD -> master, origin/master, origin/HEAD) Modified the tests to use mock functionality of get_child_port function under portconfig utility (#1464)
* 99d251f Enable PFCWD only on ports where PFC is enabled (#1508)
* eb7945f Warmboot script improvements - timeout exec, disable swss autorestart, remove trap (#1495)
* c7d4947 [show] Fix int status of LAGs, configured as Vlan members (#1478)
Signed-off-by: Maksym Belei <Maksym_Belei@jabil.com>
The default bgp connect retry timer is 120 seconds. A reconnection will happen 120 seconds if the initial connection fails. This PR aims to allow a more frequent retry.
Update sonic-sairedis submodule and also update sonic-swss submodule as there are interdependent changes.
* src/sonic-sairedis 13474d1...bc58b0f (12):
> Add gbsyncdmgrd; deprecate gbsyncd_startup.py (#809)
> Remove gbsyncd_start.sh (#808)
> [gbsyncd] Fix shebang in gbsyncd_startup.py; Make script executable (#807)
> [saiasiccmp] Add saiasiccmp tool to compare 2 asic views (#791)
> [configure] Add -Wno-psabi to remove "passing argument changed in GCC 7.1" (#799)
> Update FlexCounter.cpp, use m_pollInterval in MUTEX lock (#797)
> [vs] Add special warm boot logic to populate default attributes (#796)
> [ci]: add vstest (#795)
> [tests] Add macsec unittest (#782)
> [debian/control] libsairedis-dev depends on libzmq5-dev (#794)
> [ci]: use build template (#793)
> Rename duplicate file name (#773)
* src/sonic-swss 0b0d24c...5adb73e (47):
> Initialize system port type variable (#1681)
> [Dynamic Buffer Calc] Enhance the field checking in table handling (#1680)
> Handle the clear request for 'Q_SHARED_ALL' (#1653)
> [MuxOrch] FDB ageout safety check (#1674)
> Deactivate mirror session only when session status is true in updateLagMember (#1666)
> Revert "[buffermgr] Support maximum port headroom checking (#1607)" (#1675)
> reduce severity of log to info in case of flush on non-existing member (#1669)
> Revert "[Dynamic buffer calc] Bug fix: Remove PGs from an administratively down port. (#1652)" (#1676)
> [Dynamic buffer calc] Bug fix: Remove PGs from an administratively down port. (#1652)
> [acl] Move ACL table constants to acltable.h (#1671)
> [nbrmgrd] added function to parse IP address from APP_DB (#1672)
> [MUX/PFCWD] Use in_ports for acls instead of seperate ACL table (#1670)
> [vog/systemlag] Voq lagid allocator (#1603)
> Add table descriptions for dynamic buffer calculation to the documents (#1664)
> [vstest/subintf] Add vs test case to validate processing sequence of APPL DB keys (#1663)
> Remove vxlanmgrd dependency on orchagent (#1647)
> Keep attribute order in bulk mode (#1659)
> [mux] VS test for neigh, route and fdb (#1656)
> [linksync] Netdev oper status determination using IFF_RUNNING (#1568)
> [portorch] parse on/off value from autoneg (#1658)
> [intfsorch] Create subport with the entry contains necessary attributes (#1650)
> [ci]: Purge swss before install (#1654)
> Update StateDB with error if state change failed, Update APP_DB in all state chg req (#1662)
> Added changes to handle dependency check in FdbSyncd and FpmSyncd for warm-boot (#1556)
> [synchronous mode] Add failure notification for SAI failures in synchronous mode (#1596)
> [acl] Enable VLAN ID qualifier for ACL rules (#1648)
> Updated PFCWD to use single ACL table for PFCWD and MUX (#1620)
> [orchagent] Increase SAI REDIS response timeout to support FW upgrade during init (Mellanox only). (#1637)
> [vstest/nhg]: use dvs_route fixture to make test_nhg more robust
> [vstest]: add dvs_route fixture
> [vstest/subintf] Update vs tests to validate physical port host interface vlan tag attribute (#1634)
> Remove useless header in macsecorch (#1628)
> Add SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS counter, create new FlexCounter group (#1600)
> fixed unsupported resource issue (#1641)
> [test_virtual_chassis]: use wait_for to make test more robust (#1640)
> spell check fixes (#1630)
> [bufferorch] Handle NOT IMPLEMENTED status returned during set attr operation (#1639)
> [ci]: run vstest
> [test_virtual_chassis]: use wait_for function to improve test robustness
> [Mux] Neighbor handling based on FDB entry (#1631)
> [ci]: use build template (#1633)
> Log level change from ERR to INFO for fetch systemports issue (#1632)
> Migrate serdes programming to port serdes object (#1611)
> [tests] Remove legacy saiattributelist.h dependency (#1608)
> [buffermgr] Support maximum port headroom checking (#1607)
> Support shared headroom pool on top of dynamic buffer calculation (#1581)
> Fix the compiling errors in gcc9 (#1621)
c20bf60 Qi Luo Mon Mar 15 14:28:31 2021 -0700 Implement rfc4363 FdbUpdater for lag inside vlan (#203)
292024a abdosi Mon Mar 15 12:15:21 2021 -0700 Updated lldpRemManAddrTable to use all the management ip address associated with interface. (#201)
9b83459 liushilongbuaa Fri Mar 12 14:35:23 2021 +0800 [CI] Setup dummy azure pipeline (#198)
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
* 553936b (HEAD, origin/master, origin/HEAD, master) route_check: Fix hanging & logging level (#1520)
* ed45412 [show][config] add support for setting and displaying switching modes on Y cable (#1501)
* bf46638 Handling error scenario of adding port to Vlan which is part of LAG (#1516)
* ae39883 Fix bug: show vlan config for vlan with no members (#1503)
* 3a482ac [test] Update unit test coverage for command 'show mac' (#1504)
* 4a0c010 [config] Disable/enable container monitoring when stopping/starting services (#1499)