Commit Graph

2156 Commits

Author SHA1 Message Date
ngoc-do
c2b5e931a2
Add fabric lane mapping to vs (sai.profile) and HWSKU Force10-S6000 (#6185)
Signed-off-by: ngocdo <ngocdo@arista.com>
2021-04-07 09:10:40 -07:00
yozhao101
0ceaf846c3
[sonic-utilities] Update submodule. (#7227)
3f2a296 - 2021-04-06 | [fast-reboot] Fix fast-reboot-dump.py SonicV2Connector after late merge (# 1546) [Shlomi Bitton]
87b2481 - 2021-04-04 | Reduce time taken by show commands on multi-asic platforms (# 1544) [Abhishek Dosi]
9bbc25f - 2021-04-04 | [config] Eliminate race condition between reloading Monit config and monitoring container_checker (# 1543) [Yong Zhao]
e0f678a - 2021-04-03 | [setup.py]: move the module to test requirement (# 1542) [Guohan Lu]
37376dd - 2021-04-02 | [ci]: download latest docker-sonic-vs from sonic-swss repo (# 1541) [Guohan Lu]
d55d406 - 2021-3-31 | [acl_loader]: add iptype match to the rules for dataplane acl (# 1540) [Guohan Lu]
12fc01e - 2021-04-03 | [reboot] No need enable the Linux magic system request key (# 1538) [Yong Zhao]
0ce6a25 - 2021-04-05 | [show][config] cli support for firmware upgrade on Y-Cable (# 1528) [Vaibhav Dahiya]
e9cfb32 - 2021-04-02 | [fast-reboot] Fix dump script to support PortChannels in a VLAN group (# 1393) [Shlomi Bitton]

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2021-04-06 19:08:00 -07:00
abdosi
9f2deae8fb
[multi-asic] optimize api that checks port/port-channel/bgp is internal (#7232)
Optimize the API's is_port_internal() , is_portchannel_internal() and is_bgp_internal ()to call get_entry(Redis hget) instead of get_table (Redis keys *)
2021-04-05 18:55:10 -07:00
Aravind Mani
6d83a424b5
[dell]: System Health: Fix ASIC key issue in Dell platform (#6556)
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.
2021-04-05 18:00:38 -07:00
Prince Sunny
7aa03bead9
Submodule update sai-redis (#7223)
1942d73 - 2021-04-02 : [vslib] Allow host interface object ID to be "VLAN" type (#804) [Volodymyr Samotiy]
2021-04-05 15:28:15 -07:00
Lawrence Lee
0a86699e73
[sonic-config-engine]: Update L2 preset for dualtor (#7215)
- 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
2021-04-05 13:06:27 -07:00
abdosi
38258acda3
[submodule update] sonic-db-syncd (#7225)
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>
2021-04-03 07:36:11 -07:00
Aravind Mani
27f4daba54
Update Media settings test case (#7220) 2021-04-02 10:07:09 -07:00
Yilan
b6ed39d248
[build]: Fix pip3 hook ENABLE_VERSION_CONTROL_PY param (#7147) 2021-04-01 22:43:34 -07:00
Shi Su
66216e59bf
[sonic-sairedis] Update submodule (#7202)
1906fdf [pyext] Update Makefile to disable warning Wconversion for older swig (#817)
1dbcaeb Remove gbsyncd_startup.py (#813)
0372615 [vslib] Refresh queue pause status (#814)
00d883c [sairedis] Add sai_dbg_generate_dump api to redis interface (#811)
8585803 [sairedis] Unlock api mutex for communication mode (#812)
c69549a [pyext] Add SWIG sairedis python submodule (#806)
2021-04-01 22:41:49 -07:00
Sumukha Tumkur Vani
71afd4ba63
[submodule]: Update restapi (#7213)
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)
2021-04-01 22:40:55 -07:00
vganesan-nokia
973affce39
[voq/inbandif] Support for inband port as regular port (#6477)
Changes in this PR are to make LLDP to consider Inband port and to avoid regular
port handling on Inband port.
2021-04-01 16:24:57 -07:00
Stephen Sun
aa63c71420
[submodule]: update sonic-linux-kernel (#7211)
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>
2021-04-01 08:36:30 -07:00
xumia
812d753be1
Fix CVE-2017-1000487 security alert (#7173)
#### 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
2021-03-31 22:45:06 -07:00
Stephen Sun
606c9676ec
[submodule]: update sonic-platform-daemons (#7196)
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>
2021-03-31 15:07:37 -07:00
yozhao101
6fc589744f
[determine-reboot-cause] Support 'Kernel Panic' reboot cause (#7153)
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]
2021-03-31 12:14:16 -07:00
Stepan Blyshchak
d580090476
[sonic-utilities] submodule update (#7201)
9a2872d [cli] Dynamic cli extension via plugins (#1186)
6b51bcd [ci]: add vstest to azure pipeline (#1436)
28b64ec [acl-loader]: do not add default deny rule for egress acl (#1531)

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2021-03-31 12:00:35 -07:00
joyas-joseph
0b64dc30d8
[yang]: Split yang tests into multiple files (#6939)
* 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>
2021-03-31 10:58:13 -07:00
Shi Su
50f3be5259
[sonic-swss] Update submodule (#7197)
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
2021-03-31 10:45:36 -07:00
vdahiya12
4b2e83ec16
[sonic-platform-daemons] submodule update (#7143)
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>
2021-03-30 12:26:18 -07:00
Stephen Sun
423f6c7f30
[submodule]: update submodule head for sonic-swss (#7187)
[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>
2021-03-30 10:17:51 -07:00
Dmytro Shevchuk
d8627e6414
[yang] update yang model, add autoneg to sonic-port (#5963)
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",
},
2021-03-30 08:27:58 -07:00
Praveen Chaudhary
a1992c054f
[sonic-portchannel.yang]: YANG models for PORTCHANNEL_MEMBER table. (#7020)
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>
2021-03-30 08:26:37 -07:00
Mykola Gerasymenko
eb12244c3f
[submodule]: update swss-common (#7121)
- fix getting hash from redis db (#465)
- [dbconnector] Initialize redisContext (#464)
2021-03-29 15:23:50 -07:00
yozhao101
0f0faeeadd
[sonic-utilites] Update submodule. (#7172)
- 4d89510 - 2021-3-28 | [reboot] User-friendly reboot cause message for kernel panic (#1486) [Yong Zhao]
- 1f1696a - 2021-3-26 | Add all parameter to show/clear queue watermark command (#1149) [ Petro Bratash]

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2021-03-28 22:41:40 -07:00
ArthiSivanantham
cc36a145cb
[yang]: SONiC Yang model for PORTCHANNEL_INTERFACE table (#7034)
* SONiC Yang model for PORTCHANNEL_INTERFACE table

Signed-off-by: Arthi Sivanantham <arthi_sivanantham@dell.com>
2021-03-28 00:51:11 -07:00
Praveen Chaudhary
d3d0c2623d
[yang-models]: Remove PLY Extensions and change translation code. (#6915)
* [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>
2021-03-28 00:49:10 -07:00
Dong Zhang
6d23a78ffb
[sonic-yang-model] fix ip_type value in test cases (#6968)
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.
2021-03-27 21:16:06 -07:00
Joe LeVeque
c651a9ade4
[dockers][supervisor] Increase event buffer size for process exit listener; Set all event buffer sizes to 1024 (#7083)
To prevent error [messages](https://dev.azure.com/mssonic/build/_build/results?buildId=2254&view=logs&j=9a13fbcd-e92d-583c-2f89-d81f90cac1fd&t=739db6ba-1b35-5485-5697-de102068d650&l=802) like the following from being logged:

```
Mar 17 02:33:48.523153 vlab-01 INFO swss#supervisord 2021-03-17 02:33:48,518 ERRO pool supervisor-proc-exit-listener event buffer overflowed, discarding event 46
```

This is basically an addendum to https://github.com/Azure/sonic-buildimage/pull/5247, which increased the event buffer size for dependent-startup. While supervisor-proc-exit-listener doesn't subscribe to as many events as dependent-startup, there is still a chance some containers (like swss, as in the example above) have enough processes running to cause an overflow of the default buffer size of 10.

This is especially important for preventing erroneous log_analyzer failures in the sonic-mgmt repo regression tests, which have started occasionally causing PR check builds to fail. Example [here](https://dev.azure.com/mssonic/build/_build/results?buildId=2254&view=logs&j=9a13fbcd-e92d-583c-2f89-d81f90cac1fd&t=739db6ba-1b35-5485-5697-de102068d650&l=802).

I set all supervisor-proc-exit-listener event buffer sizes to 1024, and also updated all dependent-startup event buffer sizes to 1024, as well, to keep things simple, unified, and allow headroom so that we will not need to adjust these values frequently, if at all.
2021-03-27 21:14:24 -07:00
dependabot[bot]
247ac7ba17
Bump lxml from 4.6.2 to 4.6.3 in /src/sonic-config-engine (#7122)
Bumps [lxml](https://github.com/lxml/lxml) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.6.2...lxml-4.6.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-27 11:54:38 -07:00
maksymbelei95
2ef0eb8c08
[Submodule update] - sonic-utilities (#7144)
* 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>
2021-03-27 11:50:20 -07:00
Shi Su
de64c4e34c
[bgp]: Reduce bgp connect retry timer to 10 seconds (#7169)
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.
2021-03-27 11:36:56 -07:00
Joe LeVeque
bf43dd375a
[sonic-sairedis][sonic-swss] Update submodules (#7089)
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)
2021-03-26 10:01:08 -07:00
abdosi
4be9844728
[Submodule update] sonic-snmpagent (#7107)
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>
2021-03-24 18:46:18 -07:00
Renuka Manavalan
1bc1a2413a
[submodule]: SONiC-utilities submodule update: (#7129)
* 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)
2021-03-24 12:55:31 -07:00
trzhang-msft
8f83b33e02
DHCP Relay: add option -si to support using src intf ip in relay (#7052)
* add option si to support using src intf ip in relay
2021-03-19 13:27:14 -07:00
Prince Sunny
28cb43cb42
[Submodule update] - sonic-utilities (#7091)
Updated with following commits:

19d4042 - 2021-03-16 : Add self timeout and crash if exceeded. (#1502) [Renuka Manavalan]
aa71231 - 2021-03-16 : [reboot]: Stop mux before reboot on dual ToR (#1500) [Lawrence Lee]
fbad274 - 2021-03-16 : Add 'show' and 'clear' command for PG drop (#1461) [Andriy Yurkiv]
0de99c3 - 2021-03-12 : [decode-syseeprom] When reading from DB, display CRC-32 and all Vendor Extensions (#1497) [Joe LeVeque]
569a079 - 2021-03-12 : [decode-syseeprom] When reading from DB, display CRC-32 and all Vendor Extensions (#1497) [Joe LeVeque]
47d1a14 - 2021-03-12 : [generate-dump] Remove Arista specific logic (#1482) [Samuel Angebault]
1260f90 - 2021-03-12 : [warm-reboot]: Check empty key before issuing redis hget (#1496) [Vaibhav Hemant Dixit]
2021-03-18 13:08:47 -07:00
judyjoseph
9d9503e1fe
To decrease the Connect Retry Timer from default value which is 120sec to 10 sec. (#7087)
Why I did it
It was observed that on a multi-asic DUT bootup, the BGP internal sessions between ASIC's was taking more time to get ESTABLISHED than external BGP sessions. The internal sessions was coming up almost exactly 120 secs later.

In multi-asic platform the bgp dockers ( which is per ASIC ) on switch start are bring brought up around the same time and they try to make the bgp sessions with neighbors (in peer ASIC's) which may be not be completely up. This results in BGP connect fail and the retry happens after 120sec which is the default Connect Retry Timer

How I did it
Add the command to set the bgp neighboring session retry timer to 10sec for internal bgp neighbors.
2021-03-17 23:14:38 -07:00
shlomibitton
43d4d45645
Backport ethtool to support QSFP-DD (#5725)
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
2021-03-16 09:56:53 -07:00
rathnasabapathyv
6beba298b0
[yang]: To follow consistent naming-conventions for key-attributes of all different types of interfaces (#7049)
As discussed in the yang subgroup community meeting, this change is bring consistent naming-conventions for all different type of interfaces in sonic-yang-model. Particularly the key-attribute name. Since the relevant interface container does have a context about that interface, having a simple & clear key-attribute name will be sufficient. For e.g. PORT/PORT_LIST/port_name has been renamed as PORT/PORT_LIST/name. Similar changes are done for portchannel, VLAN & loopback interfaces as well.
2021-03-16 05:24:04 -07:00
Tamer Ahmed
51ab39fcb2
[hostcfgd]: Add Ability To Configure Feature During Run-time (#6700)
Features may be enabled/disabled for the same topology based on run-time
configuration. This PR adds the ability to enable/disable feature based
on config db data.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-03-13 05:56:27 -08:00
Joe LeVeque
7f52abc621
[sonic-config-engine] Parse AutoNegotiation element from LinkMetadata section of minigraph file (#7031)
Parse the value `AutoNegotiation` element from the `LinkMetadata` section of minigraph file. If the element is present, an `autoneg` key will be added to the port in the `PORT` table of Config DB with a value of either `off` or `on`

If an `autoneg` value is present in port_config.ini, the value from the minigraph will take precedence, overriding that value.

Also remove `AutoNegotiation` and `EnableAutoNegotiation` elements from the `DeviceInfo` section, as we will use this data in the `LinkMetadata` section to determine whether to enable auto-negotiation for a port.
2021-03-12 16:34:27 -08:00
vdahiya12
9b816a25d3
[sonic-utilities] update sub_module (#7037)
This PR updates the following commits in sonic-utilities

5739cd9 [show][config] fix for show/config muxcable hwmode model value; fix show/config muxcable return codes; (#1494)
4a5bd47 [pytest] Increase verbosity (#1451)


Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-03-12 10:39:39 -08:00
lguohan
06de63a835
[submodule]: update sonic-utilities (#7025)
* 6ced42c 2021-03-11 | Revert "[config] Enable/disable container monitoring when starting/stopping the services. (#1471)" (HEAD, origin/master, origin/HEAD) [Guohan Lu]
* e1c52a0 2021-03-11 | [warm-reboot]: added automated recover for ISSU file (#1466) [Vadym Hlushko]
* a4ae643 2021-03-10 | [PDDF] Remove references to deprecated platform plugins (#1485) [fk410167]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-03-11 17:58:23 -08:00
Joe LeVeque
fabd6892f6
[sonic-platform-daemons] Update submodule (#6998)
* src/sonic-platform-daemons 068bccc...e5165b7 (7):
  > [xcvrd] Fix crash: If 'dom_capability' not in port_info_dict, insert 'N/A' (#162)
  > fix the muxcable state change notification received from other modules, omit the check inside hw_state table (#159)
  > [xcvrd] Fix crash on platforms which support media settings with Python 3 (#158)
  > [xcvrd] Save the dom_capability of transceiver into db (#72)
  > [xcvrd] Fix xcvrd crash on other port prefixes (#123)
  > [xcvrd] Make functions used for media setting python3 compatible (#153)
  > [psud] Refactor unit tests; increase unit test coverage (#146)
2021-03-10 14:44:48 -08:00
Shi Su
ac7eb460e5
[frr]: upgrade frr to frr-7.5.1 (#7003)
Update FRR to 7.5.1. The following is a list of new commits.
```
df7ab485b FRRouting Release 7.5.1
f4ed841b8 Merge pull request #8187 from opensourcerouting/rpmfixes-75
86d5a20e3 Merge pull request #8193 from mjstapp/fix_signals_7_5
b339cc149 lib: avoid signal-handling race with event loop poll call
0f7b432c3 lib: add debug output for signal mask
c0290c86d lib: add sigevent_check api
7a5348665 doc: Fix CentOS 7 Documentation
2a8e69f48 Merge pull request #8064 from donaldsharp/foo
cf4d1a744 redhat: Fix changelog incorrect date format
b78dcb209 Merge pull request #8181 from idryzhov/7.5-zebra-blackhole
2032e7e72 zebra: don't use kernel nexthops for blackhole routes
e52003567 bgpd: When deleting a neighbor from a peer-group the PGNAME is optional
aa86a6a6f Merge pull request #8161 from mjstapp/fix_sa_7_5_backports
13a8efb4b Merge pull request #8156 from idryzhov/7.5-backports-2021-02-26
58911c6ed lib: Free memory leak in error path in clippy
556dfd211 lib: use right type for wconv() return val
bd9caa8f1 lib: fix some misc SA warnings
683b3fe3f lib: register dependency between control plane protocol and vrf nb nodes
b45248fb6 lib: add definitions for vrf xpaths
7b9f10d04 lib: add ability to register dependencies between northbound nodes
9c240815c bgpd: Bgp peer group issue
d1b43634b bgpd: upon bgp deletion, do not systematically ask to remove main bgp
f5d1dc55e bgpd: Fix crash when we don't have a nexthop
c2e463478 frr-reload: rpki context exiting uses exit and not end
f11db1698 bgpd: Blackhole nexthops are not reachable
c628e94ff staticd: fix vrf enabling
49b079ef1 staticd: fix nexthop creation and installation
0077038e9 staticd: fix nexthop validation
be3dfbbc7 zebra: use AF_INET for protocol family
```
2021-03-10 12:50:54 -08:00
judyjoseph
a09a85b64a
[sonic-cfggen]: Use unix socket when reading from DB only if we are using sudo. (#7002)
Closes issue #6982.
The issue was root caused as we were using the unix_socket for reading from DB as a default mechanism (#5250). The redis unix socket is created as follows.

admin@str--acs-1:~$ ls -lrt /var/run/redis/redis.sock 
srwxrw---- 1 root redis 0 Mar  6 01:57 /var/run/redis/redis.sock
So it used to work fine for the user "root" or if user is part of redis group ( admin was made part of redis group by default )

Check if the user is with sudo permissions then use the redis unix socket, else fallback to tcp socket.
2021-03-10 09:07:47 -08:00
vdahiya12
ddf51c7f75
[sonic-utilities] submodule update (#6992)
this PR updates the following commits in sonic-utilities

13ce4b6 [show][config] fix show mux status health field; add support for hwmode functionality to toggle mux, check mux direction for Y cable (#1467)
f78e7ce [acl-loader] Improve input validation for acl_loader (#1479)
748dbbf [show] Fix 'show mac' output, when FDB entry with Vlan 1 is present (#1368)
64604db [acl] Expand VLAN into VLAN members when creating an ACL table (#1475)
10de91d [config reload]: On dual ToR systems, cache ARP and FDB tables (#1465)
10a359a [Mellanox] Change mellanox buffer migrator for new SKU Mellanox-SN2700-D40C8S8 (#1470)
38c8e00 [acl-loader] Add support for matching on ICMP and VLAN info (#1469)
e555ea9 [SKU creator] fix wrong speed in case breakout of 2x50 (#1380)
4a78c01 [config] Enable/disable container monitoring when starting/stopping the services. (#1471)
dd3c2c3 [warm-reboot] Check if warm restart flag is set when issuing a warm-reboot (#1460)
e32b5ac Add soft-reboot reboot type (#1453)
8b3bc18 [reload] Improve reload by using sonic.target. (#1199)
99673bc [reboot] Add platform-specific reboot cause update hook (#1454)
2f6e36e [CLI][techsupport] Add NOOP option for commands that did not have that option (#1445)
1fa4b94 [psushow] Add more output columns; Add option to output in JSON format (#1416)
79ccd03 [show] cli support for show muxcable cableinfo (#1448)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-03-10 08:13:35 -08:00
Renuka Manavalan
6f7cd8d772
Copy dummy flannel.conf to get around absence of CNI Network (#6985)
Why I did it
We skip install of CNI plugin, as we don't need. But this leaves node in "not ready" state, upon joining master.
To fix, we copy this dummy .conf file in /etc/cni/net.d

How I did it
Keep this file in /usr/share/sonic/templates and copy to /etc/cni/net.d upon joining k8s master.

How to verify it
Upon configuring master-IP and enable join, watch node join and move to ready state.
You may verify using kubectl get nodes command
2021-03-09 19:49:54 -08:00
Praveen Chaudhary
41af024d14
[sonic-yang-models]: Test to Validate yang models with SONiC config. (#6637)
Changes:
— Remove unnecessary file libyang-python-tests/sample_config_db.json
— Keep only config in format of sonic_yang.json in yang_model_tests/yangTest.json.
— Keep config in format of config_db.json in file tests/files/sample_config_db.json
— Add a test case to validate yang models.


**- Why I did it**
As per discussion in sonic Yang workgroup, arranging files better so that Yang model can be in force for new config, also adding a test case to validate young models upto some extent.

**- How I did it**
Changes:
— Remove unnecessary file libyang-python-tests/sample_config_db.json
— Keep only config in format of sonic_yang.json in yang_model_tests/yangTest.json.
— Keep config in format of config_db.json in file tests/files/sample_config_db.json
— Add a test case to validate yang models.

**- How to verify it**
Build PKGs----Building-----
2021-03-09 18:48:35 -08:00
trzhang-msft
4e4f76c7ce
dhcp for dual tor: include all vlan intf into downstream intf (#6990)
* include all vlan intf into downstream intf

* add a comment
2021-03-09 18:12:44 -08:00
vdahiya12
46a4a8ad8d
[sonic-platform-common] submodule update (#6983)
Includes the following commits:

1673d25 [y_cable] refactor upgrade firmware API's; Fix vendor and part number API's read size for read_eeprom (#174)
ed93a15 [sonic_platform_base] Proper use of class and instance attributes (#173)
691de92 [sonic_y_cable] add stub function for upgrade firmware of Y cable and split the get_part_number and get_vendor API's (#171)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-03-08 10:16:25 -08:00
Prince Sunny
13467e5853
[Submodule] Update sonic-swss (#6937)
* [Submodule] Update sonic-swss till the commit:
0b0d24c - 2021-02-04 : [Mux] Route handling based on mux status, kernel tunnel support (#1615) [Prince Sunny]
2021-03-08 09:47:45 -08:00
Ying Xie
005d432487
Revert "[sonic-platform-daemons] submodule update (#6957)" (#6979)
This reverts commit 7034edc9af.
2021-03-06 19:06:10 -08:00
anish-n
a61888f7da
[minigraph] Adjust minigraph parsing per Fine Grained ECMP matchmode changes (#6885)
To adjust config db generated via minigraph per matchmode changes in fine grained ecmp. The changes are done so that nexthop IP based filtering can occur to determine routes as requiring Fine Grained ECMP, in the past the only mode was to use the IP prefix of the route for filtering, with this matchmode change we will use nexthop IP based filtering
Azure/SONiC#727

How I did it
Change will modify config db entry created for FG_NHG to include 'match_mode': 'nexthop-based' so that nexthop IP based filtering can occur to determine routes as requiring Fine Grained ECMP. Changes also remove FG_NHG_PREFIX entry since its not needed under matchmode nexthop-based.
2021-03-05 10:17:56 -08:00
Tamer Ahmed
bb03e5bb37
Start DHCP Relay When Helpers IPs Are Available (#6961)
#### Why I did it

It is possible to have DHCP relay configuration with no servers/
helpers which result in DHCP container to crash. This PR fixes this
issue by not starting DHCP relay for vlans with no DHCP helpers.

resolves: #6931 
closes: #6931 
#### How I did it
Do not add program group for dhcp relay with not dhcp helpers

#### How to verify it
Unit test
2021-03-04 20:43:08 -08:00
vdahiya12
7034edc9af
[sonic-platform-daemons] submodule update (#6957)
30d09be fix the muxcable state change notification received from other modules, omit the check inside hw_state table (#159)
32ec23c [xcvrd] Fix crash on platforms which support media settings with Python 3 (#158)
47bcf90 [xcvrd] Save the dom_capability of transceiver into db (#72)
b9381a5 [xcvrd] Fix xcvrd crash on other port prefixes (#123)
c3c1a59 [xcvrd] Make functions used for media setting python3 compatible (#153)
e179ffc [psud] Refactor unit tests; increase unit test coverage (#146)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-03-04 09:42:30 -08:00
Shi Su
24759dc0d3
[sonic-swss-common] Update submodule (#6958)
Update the sonic-swss-common submodule. The following are the commits in the submodule.

f01fede [debian/control] libswsscommon-dev depends on libbost-dev (#458)
607a8ce Convert return value of get_all function in SonicV2Connector to dict (#462)
2021-03-04 09:18:21 -08:00
Joe LeVeque
980a024dd4
Fix Python 3 'importlib' bug; Add support for Python 2 back in sonic-py-common (#6933)
Fix a strange bug introduced by https://github.com/Azure/sonic-buildimage/pull/6832 which would only occur in environments with both Python 2 and Python 3 installed (e.g., the PMon container). Error messages such as the following would be seen:

```
ERR pmon#ledd[29]: Failed to load ledutil: module 'importlib' has no attribute 'machinery'
```

This is very odd, and it seems like the Python 2 version of importlib, which is basically just a stub, is taking precedence over the Python 3 version. I found that this occurs when calling `import importlib`. However, calling `import importlib.machinery` and `import importlib.util` causes the proper package to be referenced, and the `machinery` and `util` modules are loaded successfully. This is how it is specified in examples in the official documentation, however there is nothing mentioned regarding that it *should* be done this way or that `import importlib` is unreliable.

Also, since sonic-py-common is still used in environments with Python 2 installed we should maintain support for both Python 2 and 3 until we completely deprecate Python 2, so I have added this back in.
2021-03-02 18:31:19 -08:00
Danny Allen
880a743c43
[openconfig_acl] Allow setting ICMP type/code to 0 (#6932)
There is a bug in how pyangbind translates yang models into python bindings. The model always sets integer values to 0 by default, so there is no way to check if a user has provided a value that is equal to 0. This is problematic for ICMP and VLAN (among others) because 0 is a valid input value.

This change converts ICMP and VLAN fields to union types so that acl-loader will treat them as null values unless a user explicitly adds an integer value.

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-03-02 14:32:00 -08:00
Kebo Liu
b4fdd5f0b0
[submodule]: update sonic-linux-kernel (#6908)
1. [dni_dps460] Add attributes to retrieve PMBus status command codes 65fccd7a07
2. [mellanox]: Backport new kernel patches 2fcd4e3c67
3. [ci]: build amd64/armhf/arm64 for CI build 7c57fef2f3
4. Fix read and write failure to ‘fan1_target’ attribute of ‘dni_dps460’ fc74b1ce22
5. [backport]: i2c mux pca954x allow management of device idle state 173ebe7b9c
6. README: Fix typo in *difficult* 7778c99e78
2021-02-28 23:58:59 -08:00
Danny Allen
abb3867b72
[openconfig_acl] Add SONiC ACL extension to open config ACL model (#6896)
- Add support for VLAN ID match
- Add support for ICMP type/code match

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-02-28 15:02:31 -08:00
abdosi
30b6668b7d
Changes in FRR temapltes for multi-asic (#6901)
1. Made the command next-hop-self force only applicable on back-end asic bgp. This is done so that BGPL iBGP session running on backend can send e-BGP learn nexthop. Back end asic FRR is able to recursively resolve the eBGP nexthop in its routing table since it knows about all the connected routes advertise from front end asic.

2. Made all front-end asic bgp use global loopback ip (Loopback0) as router id and back end asic bgp use Loopbacl4096 as ruter-id and originator id for Route-Reflector. This is done so that routes learnt by external peer do not see Loopback4096 as router id in show ip bgp <route-prerfix> output.

3. To handle above change need to pass Loopback4096 from BGP manager for jinja2 template generation. This was missing and this change/fix is needed for this also https://github.com/Azure/sonic-buildimage/blob/master/dockers/docker-fpm-frr/frr/bgpd/templates/dynamic/instance.conf.j2#L27

4. Enhancement to add mult_asic specific bgpd template generation unit test cases.
2021-02-26 17:05:15 -08:00
Qi Luo
833584eff9
[minigraph] For egress ACL attaching to vlan, break them into vlan members (#6895)
#### Why I did it
Some platforms have difficult to attach egress ACL to vlan.

#### How I did it
For egress ACL attaching to vlan, break them into vlan members.

#### How to verify it
Unit test
Tested in DUT
2021-02-26 10:41:49 -08:00
Sangita Maity
18263c99dd
[DPB|master] Update Dynamic Port Breakout Logic for flexible alias support a… (#6831)
To fix [DPB| wrong aliases for interfaces](https://github.com/Azure/sonic-buildimage/issues/6024) issue, implimented flexible alias support [design doc](https://github.com/Azure/SONiC/pull/749)

> [[dpb|config] Fix the validation logic of breakout mode](https://github.com/Azure/sonic-utilities/pull/1440) depends on this

#### How I did it

1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 
2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode.
```
{
    "interfaces": {
        "Ethernet0": {
            "index": "1,1,1,1",
            "lanes": "0,1,2,3",
            "breakout_modes": {
                "1x100G[40G]": ["Eth1"],
                "2x50G": ["Eth1/1", "Eth1/2"],
                "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"],
                "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"],
                "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"]
            }
        }
}
```
#### How to verify it
`config interface breakout`

Signed-off-by: Sangita Maity <samaity@linkedin.com>
2021-02-26 00:13:33 -08:00
abdosi
a520cecb44
[multi-asic] BBR support on internal-peers for multi-asic platfroms. (#6848)
Enable BBR config allowas-in 1 for internal peers

Why I did:
To advertise BBR routes learnt via e-BGP peer in one asic/namespace to another iBGP asic/namespace via Route Reflector.
2021-02-25 23:15:02 -08:00
abdosi
c66cbc12d3
[multi-asic] Enhanced iptable default rules (#6765)
What I did:-

For multi-asic platforms added iptable v4 rule to communicate on docker bridge ip
For multi-asic platforms extend iptable v4 rule for iptable v6 also
For multi-asic program made all internal rules applicable for all protocols (not filter based on tcp/udp). This is done to be consistent same as local host rule
For multi-asic platforms made nat rule (to forward traffic from namespace to host) generic for all protocols and also use Source IP if present for matching
2021-02-25 09:39:36 -08:00
Stepan Blyshchak
e179ec2fae
[services] introduce sonic.target (#5705)
- Why I did it
Group all SONiC services together and able to manage them together. Will be used in config reload command as much simpler and generic way to restart services.

- How I did it
Add services to sonic.target

- How to verify it
Together with Azure/sonic-utilities#1199
config reload -y

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
2021-02-25 14:26:24 +02:00
pra-moh
2a339faf7e
[submodule]: update telemetry submodule (#6810)
- Adding instructions to build telemetry server/go client inside docker (#68)
- Add RBAC, gNOI, API Versioning and Bulk Set operations. (#61) …
- Support NonTLS option for testing purpose only. (#67) …
- Oc gnmi examples (#62) …
2021-02-24 17:22:54 -08:00
Joe LeVeque
72c420320f
Use 'importlib' module in lieu of deprecated 'imp' module (#6832)
Migrate from using the `imp` module to using the `importlib` module. As of Python 3, the `imp` module has been deprecated in favor of the `importlib` module.
2021-02-24 16:41:03 -08:00
Dmytro Shevchuk
3abd2167bc
[yang] update crm yang model for dynamic port breakout (#6395)
- Why I did it
Fix DPB crash caused of new entries in config db.
Details: #6331

- How I did it
Updated crm yang model
2021-02-24 20:48:43 +02:00
Ze Gan
4068944202
[MACsec]: Set MACsec feature to be auto-start (#6678)
1. Add supervisord as the entrypoint of docker-macsec
2. Add wpa_supplicant conf into docker-macsec
3. Set the macsecmgrd as the critical_process
4. Configure supervisor to monitor macsecmgrd
5. Set macsec in the features list
6. Add config variable `INCLUDE_MACSEC`
7. Add macsec.service

**- How to verify it**

Change the `/etc/sonic/config_db.json` as follow
```
{
    "PORT": {
        "Ethernet0": {
            ...
            "macsec": "test"
         }
    }
    ...
    "MACSEC_PROFILE": {
        "test": {
            "priority": 64,
            "cipher_suite": "GCM-AES-128",
            "primary_cak": "0123456789ABCDEF0123456789ABCDEF",
            "primary_ckn": "6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435",
            "policy": "security"
        }
    }
}
```
To execute `sudo config reload -y`, We should find the following new items were inserted in app_db of redis
```
127.0.0.1:6379> keys *MAC*
1) "MACSEC_EGRESS_SC_TABLE:Ethernet0:72152375678227538"
2) "MACSEC_PORT_TABLE:Ethernet0"
127.0.0.1:6379> hgetall "MACSEC_EGRESS_SC_TABLE:Ethernet0:72152375678227538"
1) "ssci"
2) ""
3) "encoding_an"
4) "0"
127.0.0.1:6379> hgetall "MACSEC_PORT_TABLE:Ethernet0"
 1) "enable"
 2) "false"
 3) "cipher_suite"
 4) "GCM-AES-128"
 5) "enable_protect"
 6) "true"
 7) "enable_encrypt"
 8) "true"
 9) "enable_replay_protect"
10) "false"
11) "replay_window"
12) "0"
```

Signed-off-by: Ze Gan <ganze718@gmail.com>
2021-02-23 13:22:45 -08:00
Junchao-Mellanox
d76d74ed8b
[snmpagent] Update submodule pointer for snmpagent (#6850)
183162f Fix issue: expect redis pubsub data to be str type instead of bytes type (#196)

#### Why I did it

Update submodule pointer for snmpagent to include PR https://github.com/Azure/sonic-snmpagent/pull/196 

#### How I did it

Update submodule pointer for snmpagent

#### How to verify it

Run build
2021-02-23 10:48:09 -08:00
Qi Luo
c8ed3676ab
[minigraph] Support tagged VlanInterface if attached to multiple vlans (#6833)
It is possible that one interface attaches multiple vlans. The VlanInterface should be in tagged mode.

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2021-02-22 10:14:55 -08:00
Prince Sunny
b39adef46b
Submodule update for restapi (#6808) 2021-02-19 13:33:31 -08:00
Tamer Ahmed
2fc37dd767
[sonic-swss-common] Submodule Update (#6812)
Change in this update:
    b75aab7 [swss-common] Add LINKMGR CFG and MUX LINKMGR state table names (#421)
    4a77d1c [ci]: add vstest (#459)
    07258a6 [ci]: use build template (#457)
    ddcae3e runRedisScript api to process integer returned by script run in the redis (#447)
    33d89c7 [systemlag] Schema defs for system lag (#448)
    af01f37 spell check fixes (#456)
    7afd43d Update to make getNamespaces() API at par with the get_ns_list() swssdk-py API. (#455)

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-02-18 11:25:03 -08:00
vdahiya12
ceacdb49f6
[sonic-platform-daemons] sub_module update (#6814)
This PR includes the following commit in sonic-platform-daemons

068bccc [xcvrd] Store mux_cable telemetry data in State DB (#148)
93cac0a [ci]: download from sonic-buildimage.vs artifact (#152)
d651e9b [GitHub] Add pull request template (#151)
bd7830b [pcied] Remove unnecessary message and move the configuration path (#144)
9080fda [ci] Call pip2/3 using sudo (#150)
de60784 [ci] Test and build packages using Azure Pipelines (#149)
8bf0fd1 [ledd] Refactor to allow for more thorough unit testing; Increase unit test coverage (#147)
26bdc9e Set up CI with Azure Pipelines
1fcaa57 [pcied] Add PCIe AER stats collection (#100)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-02-18 00:56:30 -08:00
Shi Su
951ce675f1
[frr]: upgrade frr to frr-7.5-s3 tag (#6807)
Update FRR 7.5 head. The following is a list of new commits.

```
e2f17ae47ad047e66923c2ff1e84c9ba10d4ad38 Merge pull request #8096 from idryzhov/7.5-backports-2021-02-16
380341362ced8e317c18b7395acb012de1f23acd ospf6d: Don't send hellos on loopback interface
7fa78b659f8e720466e0df62689327ea4b9ff867 bgpd: send correct BMP down message when nht fails
385faf6c079a41def1e6eb882cbfd50047559644 [filter]: change return code for errors
d9a0e9a2934f2f75c64496fe4c724a18aa581fcb bfdd: fix session lookup
08afa0a75311a4e8cb2a18116384b603f7f2d751 ospf6d : fix issue in ecmp inter area  route
2299afa1a9128d87d5169742b993c0ada575eb83 ospfd:  Prevent duplicate packet read in certain vrf situations
ff42a28af659ee61c0efb877b10738a5812f4bc2 vrf: use wrappers to change VRF_CONFIGURED flag
2bdc59ca21da2d67b77ec70a2fadffbca60690cd vrf: mark vrf as configured when entering vrf node
b9611f65a71adc0b8fa14a5a4d1a8f44e04dcd85 ospf6d: Fix LSA formatting out-of-bounds access
610ebf56913fa56167b0a2a127b07afe020a1efe bfdd: Prevent use after free ( again )
35b0cd5d753dda9aa70ea1c06db61a8d4b8671e3 *: Fix usage of bfd_adj_event
95b8915d0f4de3eae5438632ecd0827061ef48e8 ospf6d: Fix LSA formatting inconsistent retvals
49d73d8be84dbd23d767697474019165e511786c pimd: SGRpt prune received during prune didn't override holdtime
1d0d19afa9bb7cd4bc476d00c887876bc04eee95 eigrpd: Correctly set the mtu for eigrp packets sent
bbb08db69f8eb554d23b4920c1c1e3982d8d2a91 zebra: Prevent sending of unininted data
0813d650a8120458ab7d9317061f3864dbc6f2f7 ospf6d: prevent use after free
2f2e981d967b36b240fca82fea8a961d927ef43c lib: Prevent unininted usage of data
6171becdb391ea5b88916a3a28b04b555e1fc518 bfdd: Prevent storage of ifp pointer that has been deleted
9ebb41cf4bb51e0872796530bf8c7a4d819053db bfdd: Prevent unininited data transmittal
72e16db6fea3629111537f9eb10c86f2d275adcb eigrpd: Prevent uninitialized value from being used
72b61a5bb09d59c3cc0d1d401d51de96949dff52 zebra: disallow resolution to duplicate nexthops
1083bae40b00c0ed2c9f3521ae1ab9675a87202e bgpd: Initialize bgp_notify.raw_data before passing to bgp_notify_receive()
31df7314310416f10c133dcfe9c4586edadf3fbb doc: ebgp-requires-policy requires manuall session clearing
ecc8ec678d2d8a1c3d1d50a22732f9fc4bad689c watchfrr: fix SA warning
9d9365d161979a031de817c1fbcab6508dfee013 watchfrr: fix crash on missing optional argument
907e600d63c1c5b6bda40b0a08344a72533b1787 pimd: Prevent use after free
b47374f0e95d99c93bfe2d14afe55219a9fda455 doc: Update bgp doc for more rfc-8212 talk
4fbeef60cc8dc5362ff84fc91d1a4e343e4e32c7 docker: centos 7, 8 yang bump and repo fixes
808e6d731f330df4a91fdfd6df6a3c8dce1651a6 docker: prefer alpine:latest for building
91b3c471f1c48818370a0f218add917f0d46aa47 Merge pull request #8092 from donaldsharp/7.5_track
60be43c0bf63c16ca42008fa802d0a2050f3fce2 Merge pull request #8090 from ton31337/fix/static_network_vrf_7.5
1f6785aa60cc57a5c8d5de98c9c09a344a0c9262 ospf6d: Track wait_timer and disable when needed
c89e326be91312bed066eb2447ea8944e25a225e bgpd: Check for peer->su_remote if not NULL when handling IPv6 nexthop
15e070f6448870c98c030b6b5013ad8750d8918b Merge pull request #8047 from pguibert6WIND/nhrp_shortcut_routes_75
912994efec94082ae7d8c5e014c410964bea19f4 Merge pull request #8034 from qlyoung/fix-gnu-readline-bracketed-paste-7.5.1
9f50536993f1eb900fbfbe98d21b8c072bbd9c15 nhrpd: replace nhrp route nexthop with onlink route when prefix=nh
8c185008246db31c34574d7b79358001ac411f84 nhrpd: shortcut routes installed with nexthop.
c46c87d19758040bc3f3902ab8e4a0f1bb908721 vtysh: disable bracketed paste in readline
20b35e4c3386de798f3b0cb9f2a7e6b04d995485 Merge pull request #8018 from ton31337/fix/drop_aggregate_as_attribute_if_malformed_7.5
fa25d7327fd64613cc7530aba2edfcde038da074 bgpd: Unset only aggregator flag when AGGREGATOR_AS is 0
3ee9a3726fe1a526d946c1978487a4509fe98f29 bgpd: Drop aggregator_as attribute if malformed in case of BGP_AS_ZERO
be88595c6a2011f0e882bfa663baa61c86ede14e Merge pull request #8005 from opensourcerouting/snap-libyang1-fix-75
fd840ad37f2e836b210c6e60fc6325a4c3e495ce snapcraft: Update rtrlib to 0.7.0
3d00552fa9aedb96acd7ea773bc14fd2b77e7e0f snapcraft: Fix passthrough path for Libyang 1.x
```
2021-02-17 23:03:19 -08:00
vdahiya12
89a41e94b1
[sonic-platform-common] sub_module update (#6797)
This PR updates the following commits
c6b642b [ci]: download from sonic-buildimage.vs artifact (#168)
e76ecc6 [sonic_y_cable] add support for retrieving firmware info for Y cable, internal and nic temperature and voltage (#162)
f9cf8c9 [GitHub] Add pull request template (#167)
c31636e [ci] Call pip2/3 using sudo (#166)
5521f67 [ci] Test and build packages using Azure Pipelines (#164)
faca35c [ci]: Set up CI with Azure Pipelines

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-02-17 10:39:17 -08:00
Joe LeVeque
19ecdbb4e1
[sonic-utilities] Update submodule (#6777)
Commits include:

* src/sonic-utilities c7e46c9...42cab68 (3):
  > [consutil] Look for udevprefix.conf file under platform dir, not plugins (#1431)
  > [ci]: download from sonic-buildimage.vs artifact (#1428)
  > [storyteller] sort output by time and improve lag support (#1430)
2021-02-14 10:41:10 -08:00
Lawrence Lee
d3072cdd0d
[sonic-utilities]: Submodule update (#6760)
sonic-utilities 28d358f...f5b8a1e (22):
> Fix deprecation warnings (#1423)
> Fix: initialize SonicDBConfig differently for single or multi_asic (continued) (#1417)
> [multi-asic] show ip interface changes for multi asic (#1396)
> [show mux]: Sort output by intf name (#1418)
> [ci] Test and build package using Azure Pipelines (#1406)
> [GitHub] Tweak PR and issue templates (#1419)
> Import 'mock' module from 'unittest' library (#1415)
> Revert "Add FW dump with new SAI implementation (#1338)" (#1407)
> [config reload]: Restart macsec container (#1410)
> [pcieutil] Remove the warning message and change the config file location (#1362)
> Fix: initialize SonicDBConfig differently for single or multi_asic (#1409)
> Support shared headroom pool on top of dynamic buffer calculation (#1348)
> Fix unsupported fs.squashfs extraction in sonic-installer (#1366)
> [show] Use proper variable to avoid exception in natshow script (#1383)
> Set up CI with Azure Pipelines
> [config reload]: Restart mux container (#1401)
> Advertise ipv6 link local address (#1402)
> [storyteller] Enhance the storyteller utility (#1400)
> [show] Fix int status when portchannel is in the system (#1376)
> [config][show] cli support for retrieving ber, eye-info and configuring prbs, loopback on Y-cable  (#1386)
> Skip route check for tun0 interfaces (#1399)
> do not parse stderr to get correct routing stack (#1398)
> [storyteller] allow storyteller to work on downloaded logs (#1388)
> [vrf]: Fix freezing during interface binding (#1325)
> Use SonicV2Connector/ConfigDBConnector/SonicDBConfig from swsscommon instread of swsssdk (#1392)

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-02-11 21:27:24 -08:00
Joe LeVeque
bcc0c9e5b2
[sonic-platform-common] Update submodule (#6762)
* src/sonic-platform-common bd4dc03...513920c (1):
  > [sffbase] Make convert_hex_to_string() compatible with both Python 2 and Python 3 (#165)
2021-02-10 23:06:53 -08:00
Lior Avramov
c5a1132d44
[submodule] update sonic-sairedis (#6747)
Includes below commits:
13474d1 2021-02-08 [sairedis][syncd] VidManager add updateIndex method (Azure#787)
be8059f 2021-02-08 [sairedis] Add get response timeout knob (Azure#774)
3663e30 2021-02-06 [syncd] Create base class SaiSwitchInterface (Azure#786)
3360b0f 2021-02-05 Reduce log level of redis channel to debug (Azure#790)
08d338a 2021-02-05 syncd: Fix profile iterator bug (Azure#789)
a6377d0 2021-02-03 [ci]: use publish pipeline artifacts to publish syslog (Azure#788)

Signed-off-by: liora <liora@nvidia.com>
2021-02-10 15:20:30 -08:00
Joe LeVeque
7ea0d9e27a
[sonic-platform-common] Update submodule (#6742)
Submodule commits included:

* src/sonic-platform-common 6ad0004...bd4dc03 (1):
  > [sonic_sfp/qsfp_dd.py] Update DOM capability method name to align with other drivers (#163)

Also align all calling function names to match.
2021-02-10 06:12:49 -08:00
Arun Saravanan Balachandran
3015de1dd0
[sonic-host-service] Move to sonic-host-services package (#6273)
- Why I did it

To move ‘sonic-host-service’ which is currently built as a separate package to ‘sonic-host-services' package. 

- How I did it

- Moved 'sonic-host-server' to 'src/sonic-host-services' and included it as part of the python3 wheel.
- Other files were moved to 'src/sonic-host-services-data' and included as part of the deb package.
- Changed build option ‘INCLUDE_HOST_SERVICE’ to ‘ENABLE_HOST_SERVICE_ON_START’ for enabling sonic-hostservice at boot-up by default.
2021-02-08 19:35:08 -08:00
lguohan
834347b8f7
[sonic-linux-kernel]: security update to kernel 4.19.152 (#6490)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 21:02:06 -08:00
Guohan Lu
47e5f05c4e [tacacs]: do not modify local user if there is no priviledge
check the uid before modify local user account.

when run sudo, the process the invoke nss_tacplus library
does not have priviledge to modify the user profile, and
will generate below error messages:

    user_rw@sonic:~$ sudo bash
    usermod: Permission denied.
    usermod: cannot lock /etc/passwd; try again later.
    usermod: Permission denied.
    usermod: cannot lock /etc/passwd; try again later.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 12:28:52 -08:00
Guohan Lu
87ecaebafc [tacacs]: use stg to apply patch
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 12:28:30 -08:00
Qi Luo
d4b852abd2
[sonic-swss-common] Update submodule (#6686)
Includes below commits
```
9e91e0d 2021-02-04 | Fix: RedisClient.set() should return bool (#454) [Qi Luo]
244a0bf 2021-02-04 | [swig] Add missing functions for ConfigDBConnector (#453) [Qi Luo]
e659698 2021-01-22 | [dbconnector] Make sure json is declared as non null object (#452) [Kamil Cudnik]
```
2021-02-05 12:47:04 -08:00
madhanmellanox
4a93bb297f
[submodule]: Updating sonic-swss (#6685)
Changed Error log to Notice log during FDB flush notification after VLAN delete (#1618) 288fb40d8ff4ec825645c2fbab1e79f50881a9f2

- How to verify it
Create a VLAN and add member port to it. Then inject traffic on the member port for that VLAN. Ensure that FDB entry is learnt for that VLAN member port. Then remove the member port and remove VLAN. Check if you get a NOTICE log that "failed to locate VLAN" appears in syslogs.

Co-authored-by: Madhan Babu <madhan@l-csi-0241l.mtl.labs.mlnx>
2021-02-04 15:28:16 -08:00
lguohan
ed4f8d0262
[submodule]: update sonic-utilities (#6681)
* 28d358f 2021-02-01 | [show] Run fwutil with sudo (#1364) (HEAD) [Volodymyr Boiko]
* a50b7a2 2021-01-29 | [ecnconfig] Allow ecn unit test to run without sudo (#1390) [Neetha John]
* 8a1109e 2021-01-29 | [sonic-installer] Add information to syslog (#1369) [Dmytro]
* c7c01e4 2021-01-27 | [show] fix "show interfaces breakout" command (#1198) [Dmytro Shevchuk]
* 7a8024a 2021-01-27 | Prevent user from adding more then a single untagged VLAN to an interface (#1382) [Eran Dahan]
* 41e62c6 2021-01-26 | [pcieutil] Add 'pcie-aer' sub-command to display AER stats (#1169) [Arun Saravanan Balachandran]
* 47f412b 2021-01-25 | Improve robustness of consutil plugin loading (#1353) [Samuel Angebault]
* 64aa1b8 2021-01-26 | [show] Fix warnings, related to gearbox, while show commands execution (#1343) [maksymbelei95]
* ff226d0 2021-01-25 | Prevent configuring IP interface on a port which is a member of VLAN (#1374) [Eran Dahan]
* f1522b9 2021-01-21 | [config_mgmt.py]: Set leaf-list to empty list while port breakout. (#1268) [Praveen Chaudhary]
* 99c05d5 2021-01-21 | add vlan_intf_object only if there are ipv4 or ipv6 mappings (#1377) [Sumukha Tumkur Vani]
* b082684 2021-01-21 | [ecn] Add tests for ecnconfig command (#1372) [Neetha John]
* 23e0920 2021-01-21 | [sfpshow] Enhance QSFP-DD DOM information (#1207) [shlomibitton]
* f4edba1 2021-01-20 | [ecnconfig] handle backend port names when extracting port I/F ID from the port name (#1361) [Mahesh Maddikayala]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-04 09:19:34 -08:00
abdosi
92e3517946
Fix Allow prefix Delete case (#6671)
When we add allow-list key with action above route-map gets updated . For eg if we add deny action above template will become to no-export community. Now if we delete the key Issue is we still keep the no-export and do not move back to drop community.

This PR fixes this issue by rolling back default route-map community value back to constants.yml default action.
2021-02-04 08:15:36 -08:00
liushilongbuaa
e387531e1b
Version control git (#6562)
* support reproduceable build for git clone

Signed-off-by: shilongliu <shilongliu@microsoft.com>

* fix

* bug-fix

Signed-off-by: shilongliu <shilongliu@microsoft.com>

* bug-fix

Signed-off-by: shilongliu <shilongliu@microsoft.com>

Co-authored-by: shilongliu <shilongliu@microsoft.com>
2021-02-04 17:01:06 +08:00
lguohan
9e5fcec1ca
[submodule]: update sonic-snmpagent (#6663)
* 3885f19 2021-02-02 | let sysDescr_pass use python3 (#195) (HEAD, origin/master, origin/HEAD) [lguohan]
* ad302d4 2021-01-28 | Fix: 'key not found' exception in bgp4.py (#192) [bingwang-ms]
* 59e2a1c 2021-01-27 | Fix fdb_vlanmac() on corner cases (#193) [Qi Luo]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-03 20:08:39 -08:00
vdahiya12
efce68079a
[sonic-platform-common] submodule update (#6669)
This PR updates the following commits in sonic-platform-common
6ad0004 [component] add auto_update_firmware() to support the auto update. (#106)
49076a9 [sonic_y_cable] Add support for measuring BER and EYE scan and running Loopback, PRBS modes on the Y cable (#158)
6b12b4c [sfp] Add parsing the dom_capability to sff8472 (#102)
7fc76b9 [sonic_pcie] Add get_pcie_aer_stats and its common implementation (#144)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-02-03 17:05:13 -08:00
Shi Su
a09ff52cd5
[bgpcfgd]: Fix unit test for bgp manager (#6668)
The check for check_neig_meta was not following the value in constants. Fix it to match the value in constants.
2021-02-03 15:33:49 -08:00
Tamer Ahmed
80cd8c435f
[sairedis] Submodule Update (#6649)
Change in this updat:
    b39e746 Spell check fixes (#783)
    373be80 [build-vm] Don't Install Lib Boost 1.67 (#784)

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-02-03 05:32:09 -08:00
Renuka Manavalan
890545f317
Update minigraph.py to parse kubernetes config from minigraph.xml (#6633)
Update minigraph parser to retrieve kubernetes server info from minigraph.xml and update "KUBERNETES_MASTER|SERVER" in running config.
Update minigraph parser to include clusterName from minigraph.xml into "DEVICE_METADATA|localhost"
2021-02-02 11:16:37 -08:00
Shi Su
ee18483c0f
[Bgpcfgd] Add unit tests (#6634)
Add unit tests for bgpcfgd and fix a minor bug in manager_intf.py found in testing
2021-02-01 21:12:41 -08:00
lguohan
5c8b70eace
[frr]: upgrade frr to frr-7.5-s2 tag (#6628)
pick-up upstream fixes. important ones

- bgpd: Removing "neighbor <peer-group> allowas-in"

complete lists

*   6b2b5cce3 2021-01-29 | Merge pull request #7977 from ton31337/fix/allowas_in_reset_value_7.5 (HEAD -> frr/7.5, tag: frr-7.5-s2, upstream/stable/7.5, origin/frr/7.5, stable/7.5) [Donald Sharp]
|\
| * f403534df 2021-01-28 | bgpd: Removing "neighbor <peer-group> allowas-in" [Kishore Kunal]
* |   86e2f106c 2021-01-28 | Merge pull request #7962 from ton31337/fix/bgpd_validate_community_7.5 [Donald Sharp]
|\ \
| |/
|/|
| * e182af45c 2021-01-05 | bgpd: separate lcommunity validation from tokenizer [Wesley Coakley]
| * 2cf37d594 2020-12-30 | bgpd: Validate community list if they are not malformed [Donatas Abraitis]
|/
*   a4af08a19 2021-01-22 | Merge pull request #7912 from idryzhov/7.5-backports-2021-01 [Donald Sharp]
|\
| * 160021013 2021-01-12 | bgpd : multiple memory leak fixes in show commands [Sarita Patra]
| * 46a2b560f 2021-01-19 | tools: fix frr-reload BFD profile support [Rafael Zalamena]
| * 7f6c81fca 2020-12-02 | ospfd: fix area removal at interface level [ckishimo]
| * f7db4dfb1 2021-01-08 | bfdd: update vrf of received packet [Philippe Guibert]
| * 4d470f3ef 2021-01-08 | bfdd: enable bfd session if vrf interface available [Philippe Guibert]
| * c656985fb 2021-01-08 | bfdd: socket should be bound to vrf interface by default [Philippe Guibert]
| * f30c002b8 2021-01-15 | bgpd: Allow peer-groups to have `ttl-security hops` configured [Donald Sharp]
| * 85ff76513 2021-01-15 | configure.ac: Correct library name for sysrepo [Bo Zhang]
| * d00c543f1 2020-12-04 | bgpd: Handle IPv6 prefixes with IPv4 nexthops for zebra [Donatas Abraitis]
| * 87b9b2973 2021-01-06 | zebra: zebra route-map delay-timer is global not per vrf [Donald Sharp]
| * 91e1adec9 2021-01-05 | bgpd: Fix default-originate clearing from peer-groups. [zyxwvu Shi]
| * 0f2f32fa1 2021-01-05 | isisd: When last area address is removed, resign if we were DR [Karen Schoener]
| * 842e99d49 2021-01-02 | vrrpd.yang bug fix: modify augment path to comply with rfc 7950 [Bo Zhang]
| * 9616ef937 2020-12-24 | ospfd: fix no show database output when selecting vrf [Louis Scalbert]
| * 4c4764e36 2020-11-30 | ospf6d: ospfv3 disable on the interface, but interface prefix still shown in the output [Yash Ranjan]
| * 1870dbd86 2020-12-14 | ospf6d: Link LSA is not updated when router priority is modified [Mobashshera Rasool]
| * 4883a06c3 2020-12-10 | bgpd: fix evpn route-map vni filter at origin [Chirag Shah]
|/
*   9c087052a 2021-01-15 | Merge pull request #7877 from vishaldhingra/static_7_5 [Mark Stapp]
|\
| * a687b6b27 2021-01-15 | staticd: Backend cofiguration code to fix table-id problem [vdhingra]
| * 52370b494 2021-01-15 | staticd: autogenerated code modifications due to yang changes [vdhingra]
| * f9d6511f2 2021-01-15 | staticd: make table-id as the key for path-list [vdhingra]
|/

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-01 12:02:37 -08:00
guxianghong
4421a6823b
[arm64] disable snmp's parallel make (#6592)
snmpd's compile is always failed with file truncated on ARM64 arch, the error log is like "/usr/bin/ld: mibgroup/ip-forward-mib/inetCidrRouteTable/.libs/inetCidrRouteTable_interface.o: file not recognized: file truncated"

Co-authored-by: Xianghong Gu <xgu@centecnetworks.com>
2021-01-31 17:30:30 -08:00
Junchao-Mellanox
2a0351c65c
Check fan speed before check fan status (#6586)
**- Why I did it**
In thermalctd, when speed of fan exceeds threshold, the fan status will be saved as "bad". So in system health, it is better to check fan speed before fan status. In this case, if fan speed exceeds threshold, we get more detailed information.

**- How I did it**
Move fan speed check logic before fan status check

**- How to verify it**
Manual test
2021-01-31 09:06:36 +02:00
Tamer Ahmed
284c2738e8
[sonic-device-data]: Update BRCM Tunnel/ECMP Parameter For 7050cx3 SKUs (#6415)
Update Tunnel and ECMP parameters for brcm 7050cx3 48x50G+8x100G and 32x100G SKUs.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-01-29 14:15:48 -08:00
dflynn-Nokia
2a2c6b73fa
[submodule] update sonic-sairedis (#6609)
This update includes the following changes

  > [syncd armhf] Fix syncd crash when running community test suites (#777)
  > Revert "[tests]:Add unittest for MACsec on p2p establishment (#771)"
  > [tests]:Add unittest for MACsec on p2p establishment (#771)
  > [tests] Enable azure pipeline make check to respect unittests (#760)
2021-01-29 11:32:27 -08:00
lguohan
759936c67c
[submodule]: update sonic-swss (#6601)
* 832815e 2021-01-28 | [orchagent]: Add MACsec Orchagent (#1474) (HEAD, origin/master, origin/HEAD) [Ze Gan]
* dd4e409 2021-01-28 | [MACsecMgr]: Add MACsec Manager (#1475) [Ze Gan]
* 91e231c 2021-01-28 | [portsorch] Configure hostif tagging for subports (#1573) [Vitaliy Senchyshyn]
* 008325c 2021-01-29 | [PortsOrch] Add reference counting to ports for ACL bindings (#1614) [chaoskao]
* bbd2ca6 2021-01-28 | [crm]: Ignore unsupported/non-implemented switch attributes (#1613) [Prabhu Sreenivasan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-29 08:21:55 -08:00
Qi Luo
1c8d5ec500
Bump pyyaml from 5.3.1 to 5.4.1 (#6511)
RCE resolved in new version https://github.com/yaml/pyyaml/issues/420
2021-01-28 10:46:56 -08:00
Vaibhav Hemant Dixit
98298f7f7f
[sonic-sairedis] advance submodule to include fix for syncd crash during shutdown (#6581)
Remove unregisterMessageHandler from NetMsgRegistrar thread (#779)
2021-01-27 21:55:18 -08:00
bingwang-ms
6fa807d0d0
[bgpmon]: Fix exception in bgpmon caused by duplicate bgp neighbor ID (#6546)
* Fix exception in bgpmon caused by duplicate keys
It is possible that BGP neighbors in IPv4 and IPv6 address families
share the same name (such as bgp monitor). However, such case is not
handled in bgpmon, and an Exception will be raised. This commit will
address the issue by Using set instead of list to avoid duplicate keys.
2021-01-26 23:01:42 -08:00
Prince Sunny
7337483381
[submodule]: update sonic-swss (#6561)
f4aefba - 2021-01-25 : [Mux] Fix repeating logs in case of tunnel creation fail (#1610) [Prince Sunny]
2021-01-26 13:35:11 -08:00
Tamer Ahmed
8d857fab16
[dhcp-relay]: Launch DHCP Relay On L3 Vlan (#6527)
Recent changes brought l2 vlan concept which do not have DHCP
clients behind them and so DHCP relay is not required. Also,
dhcpmon fails to launch on those vlans as their interfaces
lack IP addresses. This PR limit launch of both DHCP relay
and dhcpmon to L3 vlans only.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-01-25 10:48:48 -08:00
Guohan Lu
a38377e96d [submodule]: update sonic-swss
* f4e8245 2021-01-24 | [fpmsyncd] Skip routes to eth0 or docker0 (#1606) (HEAD, origin/master, origin/HEAD) [Shi Su]
* f4c3579 2021-01-23 | Enhance dynamic buffer calculation and bug fixes (#1601) [Stephen Sun]
* e800c9f 2021-01-22 | [logfile]: Add option to specify swss rec file name (#1546) [arlakshm]
* 1acf60e 2021-01-17 | Implementation of System ports initialization, Interface & Neighbor Synchronization... (#1431) [minionatwork]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-24 22:25:11 -08:00
lguohan
cd3ed549c3
[submodule]: update sonic-sairedis (#6544)
* 20b9573 2021-01-24 | [SAI]: update SAI submodule (#775) (HEAD, origin/master, origin/HEAD) [lguohan]
* 667c33d 2021-01-22 | [syncd] Comparison logic add support to LABEL attribute with higher priority (#764) [Kamil Cudnik]
* aaf5b98 2021-01-22 | [vslib]: Fix missing MACsec Create Port action (#770) [Ze Gan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-24 21:01:47 -08:00
Zhenhong Zhao
a171e6c5e4
[frrcfgd] introduce frrcfgd to manage frr config when frr_mgmt_framework_config is true (#5142)
- Support for non-template based FRR configurations (BGP, route-map, OSPF, static route..etc) using config DB schema.
- Support for save & restore - Jinja template based config-DB data read and apply to FRR during startup

**- How I did it**

- add frrcfgd service
- when frr_mgmg_framework_config is set, frrcfgd starts in bgp container
- when user changed the BGP or other related table entries in config DB, frrcfgd will run corresponding VTYSH commands to program on FRR.
- add jinja template to generate FRR config file to be used by FRR daemons while bgp container restarted

**- How to verify it**
1. Add/delete data on config DB and then run VTYSH "show running-config" command to check if FRR configuration changed.
1. Restart bgp container and check if generated FRR config file is correct and run VTYSH "show running-config" command to check if FRR configuration is consistent with attributes in config DB

Co-authored-by: Zhenhong Zhao <zhenhong.zhao@dell.com>
2021-01-24 17:57:03 -08:00
Dmytro Shevchuk
dd0e1100a5
[sonic-cfggen] parse optional fec and autoneg fields from hwsku.json (#6155)
**- Why I did it**

For now `hwsku.json` and `platform.json` dont support optional fields. For example no way to add `fec` or `autoneg` field using `platform.json` and `hwsku.json`.

**- How I did it**
Added parsing of optional fields from hwsku.json.

**- How to verify it**
Add optional field to `hwsku.json`. After first boot will be generated new `config_db.json` or you can generate it using `sonic-cfggen` command. In this file must be optional field from `hwsku.json` or check using command `redis-cli hgetall PORT_TABLE:Ethernet0`
Example of `hwsku.json`, that must be parsed:
```
{
    "interfaces": {
        "Ethernet0": {
            "default_brkout_mode": "1x100G[40G]",
            "fec": "rs",
            "autoneg": "0"
        },
...
}
```
Example of generated `config_db.json`:
```
    "PORT": {
        "Ethernet0": {
            "alias": "Ethernet0",
            "lanes": "0,1,2,3",
            "speed": "100000",
            "index": "1",
            "admin_status": "up",
            "fec": "rs",
            "autoneg": "0",
            "mtu": "9100"
        },
```
So, we can see this entries in redis db:
```
admin@sonic:~$ redis-cli hgetall PORT_TABLE:Ethernet0

 1) "alias"
 2) "Ethernet0"
 3) "lanes"
 4) "0,1,2,3"
 5) "speed"
 6) "100000"
 7) "index"
 8) "1"
 9) "admin_status"
10) "up"
11) "fec"
12) "rs"
13) "autoneg"
14) "0"
15) "mtu"
16) "9100"
17) "description"
18) ""
19) "oper_status"
20) "up"
```

Also its way to fix `show interface status`, `FEC` field but also need add `FEC` field to `hwsku.json`.
Before:
```
admin@sonic:~$ show interfaces status
  Interface            Lanes    Speed    MTU    FEC        Alias    Vlan    Oper    Admin             Type    Asym PFC
-----------  ---------------  -------  -----  -----  -----------  ------  ------  -------  ---------------  ----------
  Ethernet0          0,1,2,3     100G   9100     N/A    Ethernet0  routed      up       up  QSFP28 or later         N/A
```
After:
```
admin@sonic:~$ show interfaces status
  Interface            Lanes    Speed    MTU    FEC        Alias    Vlan    Oper    Admin             Type    Asym PFC
-----------  ---------------  -------  -----  -----  -----------  ------  ------  -------  ---------------  ----------
  Ethernet0          0,1,2,3     100G   9100     rs    Ethernet0  routed      up       up  QSFP28 or later         N/A
```
2021-01-24 17:46:33 -08:00
Praveen Chaudhary
24df482e0e
[yang_model_test]: Tests for default value of docker_routing_config_mode and Empty ACL ports. (#6470)
Tests for default value of docker_routing_config_mode and Empty ACL ports.

Signed-off-by: Praveen Chaudhary <pchaudhary@linkedin.com>
2021-01-24 17:33:12 -08:00
judyjoseph
46b3bd5503
[teamd]: Increase wait timeout for teamd docker stop to clean Port channels. (#6537)
The Portchannels were not getting cleaned up as the cleanup activity was taking more than 10 secs which is default docker timeout after which a SIGKILL will be send.
Fixes #6199
To check if it works out for this issue in 201911 ? #6503

This issue is significantly seen in master branch compared to 201911 because the Portchannel cleanup takes more time in master. Test on a DUT with 8 Port Channels.

master

    admin@str-s6000-acs-8:~$ time sudo systemctl stop teamd
    real    0m15.599s
    user    0m0.061s
    sys     0m0.038s
Sonic 201911.v58

    admin@str-s6000-acs-8:~$ time sudo systemctl stop teamd
    real    0m5.541s
    user    0m0.020s
    sys     0m0.028s
2021-01-23 20:57:52 -08:00
Joe LeVeque
238803d6bf
[sonic-host-services] Report unit test coverage (#6533)
To view unit test coverage of sonic-host-services package upon build
2021-01-23 00:32:06 -08:00
Joe LeVeque
d4cde6d310
[process-reboot-cause] Make process-reboot-cause executable (#6534)
process-reboot-cause script should be executable.
2021-01-23 00:29:13 -08:00
Joe LeVeque
4a8e513460
[sonic-platform-daemons] Update submodule (#6535)
Submodule changes to be committed:

* src/sonic-platform-daemons 81318f7...e72f6cd (3):
  > [ledd] Minor refactor; add unit tests (#143)
  > [thermalctld] Report unit test coverage (#141)
  > [psud] Increase unit test coverage (#140)
2021-01-23 00:28:04 -08:00
Guohan Lu
104367838d Revert "[files/build/versions]: support reproduceable build for git (#5774)"
This reverts commit d75c290f00.
2021-01-22 10:28:44 -08:00
Prince Sunny
07200ee4f3
Submodule update swss-common (#6525) 2021-01-22 09:31:53 -08:00
abdosi
5f39926646
Updated BBR to use peer group name as prefix. (#6515)
To make BBR configured for peer-group if it's name starts with (prefixed) with the string define in constants.yml instead of exact string match.
2021-01-22 08:29:27 -08:00
Lawrence Lee
8729fdc9ed
[minigraph.py]: Force /128 prefix for server IPv6 loopbacks (#6524)
Meet the requirement for the MUX_CABLE table that IPv6 loopbacks have a /128 prefix

Note that this change only affects the MUX_CABLE table, all other tables continue to use the loopback address provided in minigraph.

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-01-21 15:05:35 -08:00
yozhao101
be3c036794
[supervisord] Monitoring the critical processes with supervisord. (#6242)
- Why I did it
Initially, we used Monit to monitor critical processes in each container. If one of critical processes was not running
or crashed due to some reasons, then Monit will write an alerting message into syslog periodically. If we add a new process
in a container, the corresponding Monti configuration file will also need to update. It is a little hard for maintenance.

Currently we employed event listener of Supervisod to do this monitoring. Since processes in each container are managed by
Supervisord, we can only focus on the logic of monitoring.

- How I did it
We borrowed the event listener of Supervisord to monitor critical processes in containers. The event listener will take
following steps if it was notified one of critical processes exited unexpectedly:

The event listener will first check whether the auto-restart mechanism was enabled for this container or not. If auto-restart mechanism was enabled, event listener will kill the Supervisord process, which should cause the container to exit and subsequently get restarted.

If auto-restart mechanism was not enabled for this contianer, the event listener will enter a loop which will first sleep 1 minute and then check whether the process is running. If yes, the event listener exits. If no, an alerting message will be written into syslog.

- How to verify it
First, we need checked whether the auto-restart mechanism of a container was enabled or not by running the command show feature status. If enabled, one critical process should be selected and killed manually, then we need check whether the container will be restarted or not.

Second, we can disable the auto-restart mechanism if it was enabled at step 1 by running the commnad sudo config feature autorestart <container_name> disabled. Then one critical process should be selected and killed. After that, we will see the alerting message which will appear in the syslog every 1 minute.

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

 201811
 201911
[x ] 202006
2021-01-21 12:57:49 -08:00
Tamer Ahmed
5c31f6d8cc
[sonic-swss-common]: Update Submodule (#6508)
Update in this change:
640a218 [packaging]: Add Support For Libboost v1.71.0 (#449)

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-01-21 12:11:04 -08:00
Qi Luo
21c3573607
[sonic-swss] Update submodule (#6336)
Including below commits:

36f7332 2021-01-14 | modified ERR log to NOTICE log for FDB notification failure after VLAN delete (#1595) [madhanmellanox]
c21c883 2021-01-12 | [ci]: download artifacts from master branch build (#1597) [lguohan]
a1d03a4 2021-01-12 | [fgnhgorch] Match mode changes for Fine Grained ECMP (#1565) [anish-n]
1b65f3d 2021-01-12 | [ci]: use sonicbld pool (#1594) [lguohan]
48ae866 2021-01-12 | [pfcwd] Update PFC storm detection logic for Mellanox platforms (#1586) [Volodymyr Samotiy]
850001f 2021-01-12 | [FPMSYNCD] Evpn/Vxlan related changes to support FRR7.5(#1585) [KISHORE KUNAL]
64ca9bb 2021-01-12 | [ci]: only copy artifacts when build is successful (#1590) [lguohan]
17d0dae 2021-01-11 | [Fdborch] Fix for arm compilation (#1592) [Prince Sunny]
693a02c 2021-01-08 | [gearbox] Add support for "hwinfo" field (#1547) [Baptiste Covolato]
7e3b2c6 2021-01-09 | [Evpn Warmreboot] Added Dependancy check logic in VrfMgr (#1466) [nkelapur]
a960e2e 2021-01-09 | [Orchagent]: FdbOrch changes for EVPN VXLAN (#1275) [Pankaj Jain]
097cfda 2021-01-08 | [swss test] update setup guide for swss tests (#1582) [Ying Xie]
b42253a 2021-01-05 | Fix for armhf build (#1580) [Qi Luo]
d8c1465 2021-01-05 | [dvs] Update/disable DVS tests with new FRR 7.5 behavior (#1579) [Danny Allen]
f6c7422 2021-01-05 | ASIC internal temperature sensors support (#1517) [Santhosh Kumar T]
0aa9ef2 2021-01-01 | Simply by auto iterator type, because we will tune the return types of library functions (#1577) [Qi Luo]
773238b 2020-12-31 | [build]: Fix format string for size_t (#1576) [Qi Luo]
7ba4e43 2020-12-30 | [fgnhgorch] add warm reboot support for fgnhg (#1538) [weixchen1215]
4cf6617 2020-12-30 | [ci]: add build for arm64 and armhf (#1572) [lguohan]
6ebc0ed 2020-12-29 | [ci]: add azure-pipeline for amd64 (#1571) [lguohan]
e32b9d0 2020-12-29 | [FDBSYNCD] Added pytest for fdbsyncd (#1560) [KISHORE KUNAL]
a43f6be 2020-12-30 | [crm] Add support for snat, dnat and ipmc crm resources (#1511) [Prabhu Sreenivasan]
7fc3888 2020-12-29 | PY Test script for EVPN L3 VxLAN (#1330) [Tapash Das]
6eb36d9 2020-12-27 | vlanmgr changes related to EVPN VxLan warmboot (#1460) [anilkpan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-21 11:14:15 -08:00
Tamer Ahmed
df297731f6
[submodule]: Update SONiC Utilities Submodule (#6507)
Changes in this update:
37695c8 [show]: Use TCP Connection For Muxcable Commands (#1371)
8119ba2 Validations checks while creating and deleting a Portchannel (#1326)
3df267e [config] Fix Breakout mode option and BREAKOUT_CFG table check method (#1270)
9bd709b [show] Fix show arp in case with FDB entries, linked to default VLAN (#1357)
bc2d27e [generate_dump]: fix syntax error

signed-of-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2021-01-21 00:25:08 -08:00
liushilongbuaa
d75c290f00
[files/build/versions]: support reproduceable build for git (#5774)
* support reproduceable build for git clone

Signed-off-by: shilongliu <shilongliu@microsoft.com>

* fix

Co-authored-by: shilongliu <shilongliu@microsoft.com>
2021-01-21 14:16:02 +08:00
KISHORE KUNAL
cad2025ad0
[frr]: ADD L3 VNI EVPN Support for SONiC, Send RMAC and VLAN along with prefix to fpmsyncd. (#4806)
Currently FRR is send Prefix with VNI information to FPMSYNCD. This PR allows FRR to send RMAC with EVPN Type5 prefix to fpmsyncd. This is a temp fix. This patch will be removed once neighorch is ready to handle the Prefix and ARP (containing RMAC) separately.
2021-01-20 15:00:29 -08:00
Qi Luo
3c16f80382
sonic-config-engine uses libswsscommon instead of swsssdk (#6406)
**- Why I did it**
swsssdk will be deprecated. Migrate sonic-config-engine to use libswsscommon library instead

**- How to verify it**
Unit test
2021-01-20 12:06:08 -08:00
shlomibitton
abb01394cd
[submodule]: update sonic-utilities (#6485)
- [route_check.py] - update includes checks on subscriptions (https://github.com/Azure/sonic-utilities/pull/1344)
- Validations checks while adding a member to PortChannel and removing a member from a Portchannel (https://github.com/Azure/sonic-utilities/pull/1328)
- [show] Add subcommand to show midplane status for modular chassis (https://github.com/Azure/sonic-utilities/pull/1267)
- [pytest][qos][config] Added pytests for "config qos reload" commands" (https://github.com/Azure/sonic-utilities/pull/1346)
- Drop explict 3 seconds pause between two object updates/deletes. (https://github.com/Azure/sonic-utilities/pull/1359)
- [show]fix for show muxcable status by replacing "hostname" to "peer_switch" for deriving tor ipv4_address (https://github.com/Azure/sonic-utilities/pull/1360)
- [PFCWD] Fix 'start' pfcwd command (https://github.com/Azure/sonic-utilities/pull/1345)

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
2021-01-20 09:10:35 -08:00
Danny Allen
3a942fb544
[submodule] Update sonic-sairedis submodule pointer (#6496)
[ci]: download artifacts from master branch (#768)
Do not create fabric port if mapping is not available (#769)
[syncd] Comparison logic log also current attr value on set operation (#763)
Add fabric port test to vslib (#737)
[ci]: use sonicbld pool (#766)
[tests] Remove exit command blocking all tests to run (#765)
[vslib]: adapt macsec sai 1.7.1 (#755)
Add support for SAI_SWITCH_ATTR_AVAILABLE_IPMC_ENTRY needed by CRM (#756)

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-01-19 15:57:42 -08:00
lguohan
6d13d0fa9b
[submodule]: update sonic-wpa-supplicant (#6492)
* 3b330db4a 2021-01-18 | [build]: Fix build error when compiling for armhf (32-bit) (#30) (HEAD, origin/master, origin/HEAD, master) [dflynn-Nokia]
* 56aaa225b 2021-01-16 | [ci]: add pipeline for armhf and arm64 (#29) [lguohan]
* 90da6141c 2021-01-12 | [ci]: propagate the correct error code the next step (#27) [lguohan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-19 13:57:43 -08:00
Vadym Hlushko
1ea5fd7c70
[DPB][YANG-models] extended regex pattern according to Mellanox systems speeds requirements (#6279)
[DPB][MLNX][YANG] fixed range of max speed

- Why I did it
All Mellanox platforms require DPB modes with a specific set of speeds example

- How I did it
Extended regex pattern inside YANG model.
Supported platforms: SN2010, SN2100, SN2410, SN2700, SN3420, SN3700, SN3700C, SN3800, SN4600C, SN4410, SN4700

- How to verify it
Manually tested DPB CLI on all platform with all modes

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
2021-01-17 10:39:40 +02:00
Lawrence Lee
063e11cce1
[minigraph.py]: Don't create mux table entries for servers w/o loopbacks (#6457)
Avoid sonic-cfggen crashing when a server does not have a configured loopback address in the minigraph

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-01-17 00:23:11 -08:00
Lawrence Lee
ffcef27eb1
[minigraph.py]: Check for empty cluster tag before parsing (#6440)
Some non-production minigraphs will have an empty ClusterName tag

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-01-15 08:03:47 -08:00
Partha Dutta
58a13b4c11
Export libyang API "lyd_check_mandatory_tree" for Management framework (CVL) (#5714)
- Why I did it
Management framework (CVL) needs to call lyd_check_mandatory_tree() for validation and hence exported lyd_check_mandatory_tree() as an API.

- How I did it
Added "API" keyword before lyd_check_mandatory_tree() definition.

- How to verify it
There is no functionality code change here and no specific steps to verify it. Management framework (CVL) should be able to call this function and no patching and compilation error should be seen.

- Description for the changelog
Added "API" keyword before export lyd_check_mandatory_tree() function definition.
2021-01-14 16:47:57 -08:00
Joe LeVeque
c141bb90e9
Remove things needed for building Python 3 from source (#6441)
**- Why I did it**

Prior to SONiC using Debian Buster, we needed to build Python 3.5 or newer from source for installation in the SNMP container, becuase it wasn't available from the Debian repository for Jessie or Stretch. Now that all containers are based on Buster, we simply install Python 3.7 from the Debian repository in the host as well as all containers. We are no longer building Python 3 from source, so the Makefile is unused and we no longer need to install build dependencies in the slave containers.

**- How I did it**

- Remove Python 3 makefile
- No longer install Python 3 build dependencies in the slave containers.
2021-01-14 10:25:40 -08:00
Stepan Blyshchak
9a1b42ff6b
[snmpagent] update submodule (#6169)
Includes below sonic-snmpagent commits
```
dfde06e 2021-01-13 | Revert "[rfc1213] Interface MIB add l3 vlan interfaces & aggregate rif counters (#169)" (#191) [Stepan Blyshchak]
45edd7e 2021-01-04 | [snmpagent] Fix hardcoded qsfp lane count by reading sensor status from DB (#184) [Junchao-Mellanox]
3b72a6f 2021-01-02 | Fix: handle empty LOC_CHASSIS_TABLE (#190) [Qi Luo]
4aad821 2020-12-29 | [sysName]: Implement sysName OID (#185) [SuvarnaMeenakshi]
8efb4bb 2020-12-29 | [rfc1213] fix counter value type (#189) [Stepan Blyshchak]
025483a 2020-12-23 | [RouteUpdater]: Fix multi_asic mock function implementation and multi_asic variable name (#186) [SuvarnaMeenakshi]
381ae47 2020-12-10 | [mibs] b'VLAN_TABLE:' -> 'VLAN_TABLE' (#181) [Stepan Blyshchak]
e54036c 2020-12-09 | [rfc1213] Interface MIB add l3 vlan interfaces & aggregate rif counters (#169) [Stepan Blyshchak]
fd1eae7 2020-11-24 | Set swsscommon logging level (#178) [Qi Luo]
706d504 2020-11-23 | Improve MockRedis _encode(): so it will work on all types of value (#179) [Qi Luo]
64c93a1 2020-11-16 | [RFC4292][Namespace]: Fix implementation of RouteUpdater for multi-asic platform (#176) [SuvarnaMeenakshi]
b8f19ee 2020-11-12 | [sonic-snmpagent] SONiC physical entity mib extension (#168) [Junchao-Mellanox]
6b94ec3 2020-11-05 | Replace swsssdk.SonicV2Connector with swsscommon.SonicV2Connector (SWIG wrapper of C++ implementation) in production code (#162) [Qi Luo]
```

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Co-authored-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2021-01-14 00:34:34 -08:00
Kebo Liu
86553342eb
[sonic-linux-kernel]: Update sonic-linux-kernel submodule (#6433)
Update sonic-linux-kernel pointer to pick up new commits:

- Backport patches to increase critical threshold for ASIC and validate transceiver temperature a7c1af7c44edde90dff49d672071139043bcdb65  548e8e0be4
- [ci]: Set up CI with Azure Pipelines   548e8e0be49692050ea4071d5e9945816bc5aacc a7c1af7c44

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2021-01-13 15:18:05 -08:00
Vaibhav Hemant Dixit
8b4b146760
[sonic-swss-common] Advance swss-common head to include General Protection error fix (#6436)
To include Kernel GP fault seen in *syncd processes:
Azure/sonic-swss-common#444
2021-01-13 10:18:17 -08:00
xumia
1dcab4d1e3
Fix py3 version changed even version control enabled issue (#6422)
* Fix py3 version changed even version control enabled issue

* Add some comments and simplify the script

* Add the comment to explain how to get the not hooked command
2021-01-13 18:40:39 +08:00
Lawrence Lee
6e63ecfa1d
[minigraph.py]: Force /32 prefix for mux cable server IPv4 loopbacks (#6418)
Server IPv4 loopbacks do not always arrive with /32 prefix, which is a requirement for the MUX_CABLE table in config DB

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-01-12 06:04:48 -08:00
lguohan
ab2ae41212
[build]: fix dpkg admindir corruption issue in parallel build (#6408)
Fix #119

when parallel build is enable, multiple dpkg-buildpackage
instances are running at the same time. /var/lib/dpkg is shared
by all instances and the /var/lib/dpkg/updates could be corrupted
and cause the build failure.

the fix is to use overlay fs to mount separate /var/lib/dpkg
for each dpkg-buildpackage instance so that they are not affecting
each other.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-12 06:03:12 -08:00
xumia
4ef3f1376f
[arista]: Fix web package md5 hash not correct issue (#6411)
Need to add the follow redirection option -L when downloading the package with redirection.
2021-01-11 10:33:08 -08:00
Lawrence Lee
3dd993e019
[minigraph.py]: Add peer switch hostname to device metadata (#6405)
To make the peer switch hostname easily accessible from config DB. Add peer_switch field to DEVICE_METADATA table

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2021-01-11 10:18:39 -08:00
Ying Xie
281651510c
[utilities] advance utilities submodule head (#6402)
- (HEAD, github/master) [storyteller] adding a grep wrapper with predefined scenarios (#1349)
- Adding global-timeout, individual command timeout, log files collection (#1249)
- Add FW dump with new SAI implementation (#1338)
- [unit test][pfcwd] Fix tests that require sudo access (#1340)

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2021-01-11 08:13:04 -08:00
Ze Gan
c22575218a
[docker-macsec]: MACsec container and wpa_supplicant component (#5700)
The HLD about MACsec feature is at :

https://github.com/Azure/SONiC/blob/master/doc/macsec/MACsec_hld.md

- How to verify it
This PR doesn't set MACsec container automatically start, You should manually start the container by docker run docker-macsec
wpa_supplicant binary can be found at MACsec container.
This PR depends on the PR, WPA_SUPPLICANT, and The MACsec container will be set as automatically start by later PR.

Signed-off-by: zegan <zegan@microsoft.com>
2021-01-10 10:39:59 -08:00
dependabot[bot]
72b635083d
Bump lxml from 4.6.1 to 4.6.2 in /src/sonic-config-engine (#6385)
Bumps [lxml](https://github.com/lxml/lxml) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.6.1...lxml-4.6.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-08 15:47:29 -08:00
Qi Luo
5b7f88abf3
[sonic-swss-common] Update submodule (#6382)
Includes sonic-swss-common commits:
```
71dc350 2021-01-07 | Lower the log level for outdated key for SubscriberStateTable notification (#441) [Qi Luo]
7e40582 2021-01-08 | Add boost dependencies (#442) [Ze Gan]
30a8ddf 2021-01-05 | Change DBConnector::hgetall return type from map to unordered_map (#440) [Qi Luo]
021108d 2021-01-02 | MCLAG Enhancements per HLD https://github.com/Azure/SONiC/pull/596 (#405) [Praveen-Brcm]
54996fc 2021-01-02 | Implement ConfigDBConnector and ConfigDBPipeConnector in C++ (#437) [Qi Luo]
8286525 2020-12-27 | Simply refactor DBConnector hgetall() [Qi Luo]
6d1d33b 2020-12-27 | Fix RedisTransactioner: handle empty deque [Qi Luo]
624e0b8 2020-12-26 | Move complex class constructor as explicit, and fix several mistaken copy constructor usage [Qi Luo]
3b983f9 2020-12-30 | [ci]: add timeout to 180 minutes for arm build (#439) [lguohan]
f2e4210 2020-12-29 | Add utility for string and redis (#434) [Ze Gan]
7a885fd 2020-12-29 | [build]: add build check for arm64 and armhf (#436) [lguohan]
47bccc4 2020-12-24 | Add missed vector header to rediscommand.h (#435) [Ze Gan]
```
2021-01-08 14:13:25 -08:00
pavel-shirshov
83715cfc49
[bgpcfgd]: Support default action for "Allow prefix" feature (#6370)
* Use 20 and 30 route-map entries instead of 2 and 3 for TSA

* Added support for dynamic "Allow list" default action.

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2021-01-08 14:03:26 -08:00
Joe LeVeque
2d77a36658
[system-health] Make run_command() Python 3-compliant (#6371)
Pass universal_newlines=True parameter to subprocess.Popen(); no longer use .encode('utf-8') on resulting stdout.
This was missed in #5886

Note: I would prefer to use text=True instead of universal_newlines=True, as the former is an alias only available in Python 3 and is more understandable than the latter. However, Even though the setup.py file for this package only specifies Python 3, the LGTM tool finds other Python 2 code in the repo and validates the code as Python 2 code and alerts that text=True is an invalid parameter. Will stick with universal_newlines=True for now. Once all Python code in the repo has been converted to Python 3, I will change all universal_newlines=True to text=True.
2021-01-07 05:48:13 -08:00
Joe LeVeque
a013b8c247
[sonic-platform-common][sonic-platform-daemons] Update submodules (#6352)
src/sonic-platform-common 9935fca...8664efc (2):

Make sonic_sfp Python2 and Python3 compatible (#157)
[sffbase.py] Fix to make Python 3-compatible (#156)

src/sonic-platform-daemons e6c786b...81318f7 (1):

[psud] Fix issue where PSU Fan info is not updated in State DB (#137)

Fixes #6341
2021-01-06 14:47:30 -08:00
Ying Xie
78dae94e5e
[sairedis] advance sairedis submodule head (#6365)
To incldue following changes:

- [ci]: add build for arm64 and armhf (#757)
- Use template hgetall, because we will tune the return types of library functions (#759)
- [syncd] Fix bulk multi attrs for same key db update (#761)

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2021-01-06 06:14:25 -08:00
Vaibhav Hemant Dixit
6fd78b6e3d
[determine-reboot-cause] Ignore non-hardware reboot cause (#6349)
- Why I did it - Reboot cause prints "Non-Hardware (N/A)" instead of showing the software reboot cause.
The issue is mishandling of hardware reboot cause in determine-reboot-cause script.

- How I did it
Fixed the handling for Non Hardware reboot cause. Ignore if Non-Hardware is present in the hardware_reboot_cause output. Added some code refactoring for simplicity.

- How to verify it - With fix, the hardware reboot cause is ignored (if it is non hw):
2021-01-05 10:47:42 -08:00
sudhanshukumar22
7fc2d381a9
[lldp] lldp upstream patches (#6118)
The details are as follows:

    1. 0010-Ported-fix-for-length-exceeded-from-lldp-community.patch

    Patch taken from 78243478dc

    lib: remove limit on system description length

    The limit was introduced in 9c49ced while fixing a memory leak.
    The state data is used to ensure we don't interleave operations. We
    need to handle the case where the value is truncated because it is
    larger than the allocated size.

    Fix issue https://github.com/lldpd/lldpd/issues/408

    2. 0011-fix-med-location-len.patch
    
    Patch taken from 5c3479463a

    lib: fix LLDP-MED location parsing in liblldpctl

    Some bounds were not checked correctly when parsing LLDP-MED civic
    location fields. This triggers out-of-bound reads (no write) in
    lldpcli, ultimately leading to a crash.

    Fix https://github.com/lldpd/lldpd/pull/420

Signed-off-by: sudhanshukumar22 <sudhanshu.kumar@broadcom.com>
2021-01-04 23:19:50 -08:00
Sabareesh-Kumar-Anandan
d6b92da643
[libyang1] Adding LFS support for arm32 (#6346)
In the emulated armhf environment, the function readdir()returns NULL on a ext4 file system directory. When running the libyang1 test cases, it will require to load the plugins from the files (such as metadata.so), because the readdir() is failing, the plugins can’t be loaded in the emulated armhf environment, so it causes libyang1 test error. This error is a combination of the following reasons.
• Emulation of a 32-bit target from a 64-bit host –> qemu from x86_64 to armhf
• Glibc version > 2.27 – Debian buster is using glibc 2.28

- How I did it
Enabled large file support by setting _FILE_OFFSET_BITS=64 for libyang1.

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2021-01-04 12:28:32 -08:00
Mahesh Maddikayala
c6253f6334
[sonic-py-common] Added an API to get file path containing SONiC version (#6309)
* [sonic-py-common] add an API to get file path containing SONiC version so that the API can be mocked for unit tests.
2021-01-03 08:10:28 -08:00
Tony Titus
70ba59109d
[sonic-swss-common] Update submodule (#6317)
Including commits in sonic-swss-common repo:

b423b9c Add support for hexists call (#432) [Tony Titus]
0982996 Remove extension of tableNameSeparatorMap (#430) [Qi Luo]
d16cc76 [build]: add azure pipeline build badge (#429) [lguohan]
f2aaf55 Set up CI with Azure Pipelines (#428) [lguohan]
2020-12-31 17:43:09 -08:00
Vaibhav Hemant Dixit
40f69f0aac
[determine-reboot-cause] Skip invoking platform code for unit tests for hardware_reboot_cause (#6325)
What: Modify unit test to not call any platform dependent api in test_find_hardware_reboot_cause.

- Why I did it
MELLANOX build is failing for the recent PRs. The errors are due to platform library being invoked in a unit test for determine-reboot-cause script.

Verified by running unit tests and a successful Mellanox build.

Co-authored-by: Vaibhav Hemant Dixit <vadixit@microsoft.com>
2020-12-30 17:48:56 -08:00
kktheballer
ba92a081ce
Minigraph ECMP parsing support (cleaner format) (#4985)
Why I did it
To support FG_ECMP  scenarios
- How I did it
Modified minigraph parser to parse ECMP fields in the case they are present in minigraph
- How to verify it
Loaded ensuing config_db file on a DUT to verify the fields are parsed and configure device correctly
2020-12-30 15:18:21 -08:00
Joe LeVeque
566ea4f601
[system-health] Convert to Python 3 (#5886)
- Convert system-health scripts to Python 3
- Build and install system-health as a Python 3 wheel
- Also convert newlines from DOS to UNIX
2020-12-29 14:04:09 -08:00
Pavel Shirshov
a7b8f8914e Patch libyang1.0.184 so version and let frr 7.5 use the patched version 2020-12-29 03:44:49 -08:00
Ubuntu
273846a412 FRR 7.5
Build libyang1 which is required for frr 7.5
2020-12-29 03:44:49 -08:00
Stepan Blyshchak
23f1d51de3
[ipinip.json.j2] align mellanox configuration dst_ip with other platforms (#6304)
Mellanox already supports multiple destination IPs in IPinIP tunnel configuration, thus removing mellanox
exception for IPinIP configuration.

- How I did it

Removed "dst_ip" field generation in mellanox platform condition.
Sorted the "dst_ip" list, so that it is easier to test against sample configuration in unit tests.
Aligned unit test sample.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2020-12-28 20:53:12 -08:00
Guohan Lu
9432bb82ec [submodule]: update sonic-utilities
* 7924bd1 2020-12-28 | [route_check]: ignore routes pointing to Loopback interface (#1337) (HEAD, origin/master, origin/HEAD) [lguohan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-12-28 10:34:34 -08:00
Guohan Lu
b846b9d9aa [submodule]: update sonic-swss
* 321291a 2020-12-26 | [loopback]: skip route pointing to loopback interface (#1570) (HEAD, origin/master, origin/HEAD) [lguohan]
* 41fd2c4 2020-12-26 | [CRM] Safety check for division by 0 (#1569) [Prince Sunny]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-12-28 10:34:34 -08:00
Guohan Lu
ed58684e36 [docker-frr]: add static ipv6 loopback route to allow bgp to advertise prefix
frr does not advertise route if local route is not reachable, as a result
loopback route /64 is not advertised to the neighbors. Add static route
allows frr to advertise the route to its peers

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-12-28 10:34:34 -08:00
gechiang
721c68c855
[sonic-utilities] Update sonic-utilities submodule to pick set of new fixes (#6282)
submodule sonic-utilities in sonic-buildimage has not been updated for a while and there were many fixes needed to be picked up to ease debug/development in master branch.

Here are the list of changes that this update will bring in:

* de14939 2020-12-27 | Revert "[pytest][qos][config] Added pytests for "config qos reload" commands (#1266)" (HEAD -> master, origin/master, origin/HEAD) [Guohan Lu]
* ef3370d 2020-12-24 | [fast-reboot]: Stop sflow during fast-reboot (#1296) [jangidrk]
* ff1db4d 2020-12-24 | [fast-reboot]: Update fast-reboot-dump.py to handle invalid parsing of genetlink type hostif object id attribute (#1318) [jangidrk]
* d63d11d 2020-12-23 | Added show ip/v6 route summary support for multi-asic platform (#1320) [gechiang]
* 6202a81 2020-12-23 | [pytest][qos][config] Added pytests for "config qos reload" commands (#1266) [Mahesh Maddikayala]
* f555e9e 2020-12-23 | [CRM]Add support for snat, dnat and ipmc crm resources (#1258) [Prabhu Sreenivasan]
* f44e57e 2020-12-22 | Retain fgnhg state db table entry during warm reboot (#1315) [weixchen1215]
* 5e18bf5 2020-12-23 | Fix exception handling in python3 (#1324) [bingwang-ms]
* b6221f4 2020-12-22 | [config] Add unit tests for 'config interface breakout' command (#1223) [Praveen Chaudhary]
* 150642e 2020-12-22 | [dropcounters] Fix clear for non-root users (#1253) [Danny Allen]
* becf5b5 2020-12-21 | Kubernetes support commands update (#1133) [Renuka Manavalan]
* aad2c38 2020-12-19 | VXLAN config and show utilities (#870) [Rajesh Sankaran]
* 9419627 2020-12-17 | [Multi-asic] Enhanced Feature Table configuration for multi-asic platforms (#1152) [abdosi]
* 155f6d5 2020-12-17 | [config vlan]: Remove `-t` flag from docker exec command (#1317) [Lawrence Lee]
* 281b157 2020-12-17 | [fast-reboot-dump] Fix exception in struct.pack (#1309) [bingwang-ms]
* 269c317 2020-12-16 | Mgmt vrf/SNMP agent validations and bug fixes (#1289) [Suman Kumar]
* 394b202 2020-12-16 | [Dynamic buffer calc] Support dynamic buffer calculation (#973) [Stephen Sun]
* 6dd5d31 2020-12-14 | show tech with platform dump option (#1158) [Sujin Kang]
* 6255384 2020-12-13 | [kdump]: Parse sonic_platform kernel command line parameter to read the platform identifier string (#1291) [rajendra-dendukuri]
* 0603c0b 2020-12-13 | [pcieutil] Remove 'pcie-' prefix from arguments (#1297) [Joe LeVeque]
* 10ffc28 2020-12-13 | Added 'detailed' option for 'show interface counters' command (#1299) [Akhilesh Samineni]
* 980ea0d 2020-12-11 | Fix show ip route summary on pizzabox platforms (#1302) [gechiang]
* af1bb47 2020-12-10 | [acl_loader] Fix default DENY rule for V6 dataplane ACLs (#1281) [Danny Allen]
* 57a0b41 2020-12-09 | Add show and clear commands for headroom pool watermark  (#1144) [Neetha John]
* d414970 2020-12-08 | [unit test][CLI][pfcwd] Added pfcwd config tests for single and multi ASIC platform. (#1248) [Mahesh Maddikayala]
* 2b4a58c 2020-12-08 | [sflow] Fix traceback seen for show sflow interface (#1282) [Garrick He]
* e22980f 2020-12-09 | [config/console][consutil] Support enable/disable console switch (#1275) [Blueve]
* 2f263c4 2020-12-08 | [fast-reboot] Fix fast-reboot when NDP entries are present (#1295) [shlomibitton]
* 326e534 2020-12-07 | Fast-reboot: add a new flag to ignore ASIC config checksum verification failures (#1292) [Vaibhav Hemant Dixit]
* 042254e 2020-12-04 | Kdump improvements (#1284) [rajendra-dendukuri]
2020-12-27 20:08:03 -08:00
Prince Sunny
8fd50e895c
[submodule]: swss Tunnel Manager changes (#5843)
Introduce tunnel manager daemon. Start the process as part of swss container

Submodule update for swss:
9ed3026 - 2020-12-24 : [NAT] ACL Rule with DO_NOT_NAT action is getting failed. (#1502) [Akhilesh Samineni]
c39a4b1 - 2020-12-23 : Mux/IPTunnel orchagent changes (#1497) [Prince Sunny]
bc8df0e - 2020-12-23 : Add support for headroom pool watermark (#1567) [Neetha John]
2020-12-26 11:17:18 -08:00
Sabareesh-Kumar-Anandan
e93330ece3
[sonic-swss] submodule update (#6292)
[routeorch] more build error fixes when compiling for armhf (32-bit) (#1563)

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-12-24 13:47:21 -08:00
Praveen Chaudhary
ab0ee0bfae
[yang-models]: Default value for leaf-lists and tests. (#6029)
Changes:
-- Add Default value for leaf-lists in ACL and portchannel.
-- Remove members in VLAN.
-- Test modifications.

Signed-off-by: Praveen Chaudhary<pchaudhary@linkedin.com>
2020-12-24 01:48:41 -08:00
Joe LeVeque
a62f45dca8
[sonic-swss] Update submodule (#6270)
* src/sonic-swss c7ee75f...cadf28f (24):
  > Revert "Add support for headroom pool watermark (#1453)"
  > [VxlanOrch] pytest for EVPN VXLAN (#1318)
  > [restore_neighbors] python3 support for restore_neighbors.py (#1542)
  > [buffermgmt] more build error fixes when compiling for armhf (32-bit) (#1559)
  > Sflow fix to avoid NULL in field. (#1531)
  > [fgnhgorch] Fg Nhg link handling (#1537)
  > [dpb]: make sure port is in admin down state before remove port. (#1513)
  > [FPMSYNCD/FDBSYNCD] EVPN Type-5 route removing prefix-len for host route and removing junk character present in the mac (#1553)
  > Added support for EVPN L3 VXLAN as described in the PR Azure/SONiC#437 (#1267)
  > [crm]: Typecast to unit64_t to avoid divide by 0 during overflow (#1550)
  > [vxlanmgr] Fix build error when compiling for armhf (32-bit) (#1552)
  > [Dynamic buffer calc]  Support dynamic buffer calculation (#1338)
  > [dvs] Clean-up dvs_database and dvs_common (#1541)
  > [VxlanMgr] changes for EVPN VXLAN (#1266)
  > Statistics support for Tx and Rx counters of different frame sizes (#1536)
  > [orchagent/phy]: Add firmware info propagation (#1540)
  > [vxlanorch] Use PRI instead of %l to avoid warnings in 32-bit arch (#1539)
  > [FDBSYNCD] Added support for EVPN as described in the PR Azure/SONiC#437 (#1276)
  > [everflow] Add retry mechanism for mirror sessions and policers (#1486)
  > Enable ACL table type  mirror_v6 for Innovium Platform (#1527)
  > [fgnhgorch] Change format specifier %lu to %zu for size_t (#1529)
  > [dvs] Fix issue where concurrent netns operations cause test setup to fail (#1535)
  > Add support for headroom pool watermark (#1453)
  > Change gAsicInstance to type string with max length limit (#1526)
2020-12-23 18:34:34 -08:00
Joe LeVeque
e39cc018c8
[sonic-config-engine] Pin 'importlib-resources' package to v3.3.1 for Python 2 (#6288)
importlib-resources v4.0.0 was released today (2020-12-23) and drops support for Python 2. This caused the sonic-config-engine Python 2 wheel build to fail.

Reference: https://pypi.org/project/importlib-resources/

Pin 'importlib-resources' package to v3.3.1 for Python 2
Unrelated: remove pinned version of zipp for sonic-bgpcfgd because we no longer build a Python 2 version of that package
2020-12-23 18:00:31 -08:00
Renuka Manavalan
ba02209141
First cut image update for kubernetes support. (#5421)
* First cut image update for kubernetes support.
With this,
    1)  dockers dhcp_relay, lldp, pmon, radv, snmp, telemetry are enabled
        for kube management
        init_cfg.json configure set_owner as kube for these

    2)  Each docker's start.sh updated to call container_startup.py to register going up
          As part of this call, it registers the current owner as local/kube and its version
          The images are built with its version ingrained into image during build

    3)  Update all docker's bash script to call 'container start/stop/wait' instead of 'docker start/stop/wait'.
         For all locally managed containers, it calls docker commands, hence no change for locally managed.
        
    4)  Introduced a new ctrmgrd service, that helps with transition between owners as  kube & local and carry over any labels update from STATE-DB to API server

    5)  hostcfgd updated to handle owner change

    6) Reboot scripts are updatd to tag kube running images as local, so upon reboot they run the same image.

   7) Added kube_commands.py to handle all updates with Kubernetes API serrver -- dedicated for k8s interaction only.
2020-12-22 08:01:33 -08:00
macikgozwa
c146eeaaa6
[sonic-telemetry] Update submodule (#6269)
Implementation of sample streaming mode (#49)

Co-authored-by: Murat Acikgoz <muacikgo@microsoft.com>
2020-12-22 00:04:48 -08:00
Ying Xie
b4ea0c09f5
[minigraph parse] avoid crash when peer switch lo address is not available (#6266)
- Why I did it
Latest master image crashes when loading minigraph

Fixing #6265

- How I did it
Avoid converting 'None' to ipaddress.

- How to verify it
On a system crashing with the issue, manually patch minigraph.py with the change in PR and load minigraph succeeded.

Signed-off-by: Ying Xie ying.xie@microsoft.com
2020-12-21 14:39:34 -08:00
Prabhu Sreenivasan
df2a4ded98
[ntp]: Source interface support for NTP (#6033)
Added source interface support for NTP.
Also made NTP start on Mgmt-VRF by default when configured.

**- How I did it**
1) Updated hostcfg to listen to global config NTP and NTP_SERVER tables and restart ntp when ever the configuration changes. NTP table includes source interface configuration.
2) The ntp script updated to by default start on Mgmt-VFT when configured.

Signed-off-by: Prabhu Sreenivasan <prabhu.sreenivasan@broadcom>
2020-12-21 05:34:13 -08:00
xumia
0a36de3a89
Recover "Support SONiC Reproduceable Build-debian/pip/web packages (#6255)
* Revert "Revert "Support SONiC Reproduceable Build-debian/pip/web packages (#5718)""

This reverts commit 17497a65e3.

* Revert "Revert "Remove unnecessary sudo authority in build Makefile (#6237)""

This reverts commit 163b7111b5.
2020-12-21 15:31:10 +08:00
vmittal-msft
ee8c3d34a2
[sonic-sairedis submodule] Updated SAI header 1.7.1 for BRCM and Mellanox SDK/SAI (#6218)
* [Mellanox] Update SAI to 1.18.0
* [Mellanox] Update SDK to 4.4.2112
* Updated Mellanox SAI to 1.18.0.2
* Updated bcmsai debians to use SAI 1.7.1
* Updated Mellanox to use SAI 1.7.1
* Updated submodule sonic-sairedis using SAI 1.7.1

Co-authored-by: Vineet Mittal <vmittalmittal@microsoft.com>
Co-authored-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-12-20 12:11:06 -08:00
Sabareesh-Kumar-Anandan
93554af854
[sonic-sairedis] submodule update (#6202)
[vs] Add workaround for clean up macsec ports (#752)
[logfile]: Add handling of Sairedis rec filename (#747)
Update README.md
[meta] Fix stat_mode enums to sai_bulk_op_error_mode_t (#753)
[syncd][tests] Add syncd deprecated attribute value test (#751)
[vs] Skip MACsec clean up if /sbin/ip is not accessible (#750)
Configure enable -Wcast-align=strict when supported by compiler (#749)
[syncd] Translate depreacated attr enum values to new ones (#746)
[sairedis]vs SAI support for voq neighbor (#725)
[syncd] Translate removed RIDs in fdb notification (#734)
[syncd] Move syncd classes to syncd namespace (#742)
[vs] Use /sbin/ip absolute path for ip command in MACsecManager (#744)
[saidiscovery] Update saidiscovery to use VendorSai object and metadata (#736)
Remove Winline warning since it depends on external headers (#741)
[meta] Enable strict cast-align warning (#738)
[vs] Use meta class instead info when using unittests (#740)
[vs] Support flush entry type all on virtual switch (#735)
[vslib]: Add MACsec state to state base (#722)
[README.md] Update installation steps (#730)
Switch Capability support (#728)
[vs] Fail switch create when warm boot requested and no warm boot state (#739)
Dynamic Port breakout fix the crash, port down event processing after<80> (#727)
Code clean (#721)

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-12-19 11:53:42 -08:00
Dmytro Shevchuk
f7d082244a
[DPB] update flex counter yang model, fix BUFFER_POOL_WATERMARK (#6178)
Looks like we have redefinition of BUFFER_POOL_WATERMARK_KEY to BUFFER_POOL_WATERMARK, so DPB fall.
c7ee75f0b9/orchagent/flexcounterorch.cpp (L18)

#define BUFFER_POOL_WATERMARK_KEY   "BUFFER_POOL_WATERMARK"


unordered_map<string, string> flexCounterGroupMap =
{
    {"PORT", PORT_STAT_COUNTER_FLEX_COUNTER_GROUP},
    {"PORT_RATES", PORT_RATE_COUNTER_FLEX_COUNTER_GROUP},
    {"PORT_BUFFER_DROP", PORT_STAT_COUNTER_FLEX_COUNTER_GROUP},
    {"QUEUE", QUEUE_STAT_COUNTER_FLEX_COUNTER_GROUP},
    {"PFCWD", PFC_WD_FLEX_COUNTER_GROUP},
    {"QUEUE_WATERMARK", QUEUE_WATERMARK_STAT_COUNTER_FLEX_COUNTER_GROUP},
    {"PG_WATERMARK", PG_WATERMARK_STAT_COUNTER_FLEX_COUNTER_GROUP},
    {BUFFER_POOL_WATERMARK_KEY, BUFFER_POOL_WATERMARK_STAT_COUNTER_FLEX_COUNTER_GROUP},
2020-12-19 10:14:06 -08:00
Guohan Lu
17497a65e3 Revert "Support SONiC Reproduceable Build-debian/pip/web packages (#5718)"
This reverts commit 55a707586b.
2020-12-18 23:37:27 -08:00
Guohan Lu
163b7111b5 Revert "Remove unnecessary sudo authority in build Makefile (#6237)"
This reverts commit 07b4aaf473.
2020-12-18 23:37:12 -08:00
Sabareesh-Kumar-Anandan
31c548c9c7
[sonic-linux-kernel] submodule update (#6249)
[marvell-armhf] Armada A385 soc support #176
backport macsec xpn support to 4.19 kernel (#174)
add internal patch marker (#173)
Improve netfilter fullclone nat support patch #171

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-12-18 23:13:26 -08:00
xumia
07b4aaf473
Remove unnecessary sudo authority in build Makefile (#6237)
- Why I did it
In some build machine, it may be not able to run as root during the build, only has root authority in docker containers.

- How I did it
Remove the sudo in Makefile

- How to verify it
cd src/sonic-build-hooks
make all
2020-12-18 21:27:42 -08:00
Junchao-Mellanox
ea5f204577
[sonic-platform-daemons] Update submodule pointer for fixing xcvrd unit test issue (#6247)
e6c786b [xcvrd] Fix unit test issue with Python 3 (#135)
2020-12-18 10:21:10 -08:00
dflynn-Nokia
aa38022ca6
[build]: openssh: Fix build break when using http proxy (#6229)
The openssh build fails to retrieve dependent debian packages when operating
behind a proxy server.
2020-12-17 22:12:37 -08:00
arlakshm
317a4b3410
[hostcfgd]: wait till system initialization is done before starting hostcfgd (#6232)
- Why I did it
The change is done to make sure the system initialization is done before updating the feature states

- How I did it
use the command "systemctl is-system-running --wait"  to wait till system has finished booting up before updating the feature states
2020-12-17 17:03:28 -08:00
Junchao-Mellanox
a5e0c11dc0
[sonic-platform-common] Update submodule pointer (#6210)
Commits include:

- 9935fca5 Fixed eeprom_tlvinfo.py to make it Python2/Python3 compatible (#155)
- 7e23e63 [y_cable] Skip ImportError in y_cable.py (#154)
2020-12-17 12:06:09 -08:00
Vaibhav Hemant Dixit
e8da2ee975
Fix post-reboot errors in platforms without sonic_platform package (#6130)
Refactor determine-reboot cause code. Fix errors seen during determine-reboot-cause when sonic_platform package is not installed.
Add error handling for healthd service when sonic_platform package is not installed.

Tested on KVM where sonic_platform is not present, and the errors are not seen anymore in syslog.
2020-12-17 12:01:42 -08:00
Prince Sunny
9aeb0a1bb1
[Submodule] Update for sonic-restapi (#6231)
b002455 - 2020-12-16 : Validate IP only if nexthop attribute is not null (#66) [Prince Sunny]
76592a9 - 2020-12-03 : Add License file (#62) [Prince Sunny]
2020-12-17 05:19:23 -08:00
xumia
55a707586b
Support SONiC Reproduceable Build-debian/pip/web packages (#5718)
* Support SONiC reproduceable build for deb/py2/py3/web

* Remove j2 files

* Fix bug

* Fix some issues

1. Change some code format issues
2. Fix curl calling wget command, pip2 calling pip3 issue
3. Fix wget/curl downloading multiple urls issue

* Fix some code format issue

* Fix bug

* Fix bug

* Fix command path hard code in build info scripts issue

* Add debian package sonic-build-tools

* Fix auto debian package removed issue

* Change build debian package name, and change the folder

* Collect the pre-versions and post-versions

* Change to use debian:buster

* Remove apt-mark and improve code

* Remove set_build_hooks

* Change docker trusted gpg files

* Fix docker build COPY directory name issue

* Move the trusted gpg files into the sonic-build-hooks package
2020-12-17 13:06:53 +08:00
vdahiya12
698b7ecd08
[sonic-platform-daemons] submodule update (#6211)
This PR updates the following commits in master for
sonic-platform-daemons

b0be7ca [xcvrd] add unit test infrastructure and unit tests for xcvrd (#133)
8555077 [xcvrd] removing the delete notification message logic for command probe in mux cable driver (#134)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-12-16 08:51:28 -08:00
pra-moh
c8fbb045db
[submodule] Telemetry submodule update for build failure fix (#6220)
- Locking openconfig/gnmi to the known good version. (#64)
2020-12-16 01:14:51 -08:00
Lawrence Lee
290f66bbb8
[minigraph.py]: Prefer parsing device type from <ElementType> (#6184)
* Parse device type from <ElementType> first in <PngDec>
* Fall back to <Device> type attribute if no <ElementType> is found

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-12-15 10:20:44 -08:00
Shi Su
9580b0407f
[warm-reboot] Remove warmboot file path that overrides the default path (#6198)
- Why I did it
The sai.profile file in kvm images overrides the warmboot file with path /var/cache/sai_warmboot.bin. Since the directory /var/cache is not mounted in syncd, it will be cleared in an image upgrade, the warm-reboot image upgrade will fail if the file is put in the directory.

Fix #6183

- How I did it
Remove the path that overrides the default path. The warmboot file path will then be the default value /var/warmboot/sai-warmboot.bin. Since /var/warmboot/ is mounted by /host/warmboot/ in the host, it could survive an image upgrade.

- How to verify it
Tested warm reboot upgrading kvm image locally.
2020-12-13 22:17:33 -08:00
Qi Luo
6db01243d9
[sonic-swss-common] Update submodule (#6197)
Including commits in sonic-swss-common repo:
```
40e695d 2020-12-12 | [pyext] Implement DBConnector::pubsub() to emulate python Redis.pubsub() (#427) [Qi Luo]
9a2bf6c 2020-12-12 | Add fdb_flush.v2.lua script to makefile (#425) [Kamil Cudnik]
7d60e7e 2020-12-07 | Handle exception in Select (#424) [Qi Luo]
```
2020-12-13 11:34:15 -08:00
Tamer Ahmed
cbbda09599
[relay]: Prevent Buffer Overrun Of Malformed DHCP Packet (#6057)
[dhcp-relay]: Prevent Buffer Overrun Of Malformed DHCP Packet

The add/strip relay agent options does not take into account the buffer
length and so it is possible to overrun the buffer. The issue will
result in contents from previous packet being added to the current one.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-12-11 16:28:05 -08:00
Dong Zhang
6999ce5282
[sonic-utilities] update submodule for supportting MultiDB warmboot backing up database (#6181)
update sonic-utilites submodule, adding MultiDB warmboot backing up database support:

*    [MultiDB] add MultiDB warmboot support - backing up database (#1205) 
    * lua script to backup all database into one database and create rdb file - following earlier multiDB warmboot design at https://github.com/Azure/SONiC/blob/master/doc/database/multi_database_instances.md
    * copy this rdb file as before to WARM_DIR
    * restoring database part is in another PR at sonic-buildimage  https://github.com/Azure/sonic-buildimage/pull/5773, they depend on each other
2020-12-11 11:30:50 -08:00
Lawrence Lee
fd4433d836
[minigraph.py]: Remove prefix length from peer switch loopback address (#6174)
* PEER_SWITCH table in config DB expects a standalone IP address w/o a prefix length

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-12-10 14:43:39 -08:00
Sabareesh-Kumar-Anandan
8d00b57959
[sonic-utilities] Update sonic-utilities submodule (#6139)
[show] Moving some py imports inside specific cmds (#1202)
Fix python3 issue in ecnconfig (#1286)

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-12-10 01:29:30 -08:00
Ying Xie
d9b9e4f7db
[swss] advance swss submodule head (#6157)
- Why I did it
Advance swss submodule to pick up latest changes.

- How I did it
Including folowing changes:

[portsorch] adjust port initialized event back to notice (#1532)
Signed-off-by: Ying Xie ying.xie@microsoft.com
2020-12-10 00:28:14 -08:00
Blueve
3d22019802
[sonic-config-engine/minigraph] Enable console mgmt feature for console device (#6166)
* Introduced a list console_device_types which contains the device types that support console management feature
* Inject CONSOLE_SWITCH:console_mgmt table with enabled:yes or enabled:no

Signed-off-by: Jing Kan jika@microsoft.com
2020-12-10 15:42:11 +08:00
Qi Luo
0e554e09ce
[makefile] Remove python-netsnmp deb package from makefile (#6161)
Because no one is using it in buildimage repo
2020-12-09 17:40:07 -08:00
Joe LeVeque
762dfd965b
[sonic-platform-daemons] Update submodule (#6158)
* src/sonic-platform-daemons 73e6ddd...4da0bfc (3):
  > Align style with PEP8 standards (#128)
  > Support python3 for xcvrd, psud, thermalctld and syseepromd (#132)
  > Import mock psu object for testing LED (#119)
2020-12-09 12:04:56 -08:00
Kamil Cudnik
275c5cfb07
[submodule] sonic-swss update: Add zmq sync mode flag (#1505) (#6144)
To support communication mode flag on orchagent
2020-12-08 11:37:04 -08:00
dflynn-Nokia
98a8753c11
[sonic-mgmt-common] Update submodule (#6129)
This update brings in the following commits.

86c1108 Enable arm architecture to build in addition to amd64 (#37)
4acb2c3 fix bugs and enhance Transformer (#35)
49e5a22 ygot related enhancements and fixes (#34)
51224de Fix ietf yang search path for cvl schema builds (#32)
3c6cdb3 CVL Changes #8: 'must' and 'when' expression evaluation (#31)
dabf231 CVL Changes #7: 'leafref' evaluation (#28)
6f9535f CVL Changes #6: Customized Xpath Engine integration (#27)
5e2466b DB-Layer fixes/enhancements (#26)
9a27302 CVL Changes #4: Implementation of new CVL APIs (#22)
dbf1093 Translib support for authorization, yang versioning and Delete flag (#21)
80f369e CVL Changes #5: YParser enhancement (#23)
904ce18 CVL Changes #3: Multi-db instance support (#20)
9d24a34 CVL Changes #2:  YValidator infra changes for evaluating xpath expression (#19)
f3fc40f CVL Changes #1: Initial CVL code reorganization and common infra changes (#18)
4922601 Bulk and RPC API support in translib (#16)
1d730df RFC7895 yang module library implementation (#15)
2020-12-08 04:31:16 -08:00
Myron Sosyak
3b04da97fb
[sonic-platform-common] Update submodule (#6141)
Update sonic-platform-common submodule:
* Make eeprom_tlvinfo.py Python3 compatible

**- Why I did it**
To get the latest changes which fix some python2 -> python3 migration errors.
2020-12-07 10:04:48 -08:00
yozhao101
3e717210e9
[sonic-telemetry] Update the submodule sonic-telemetry. (#6132)
[dataset] Add dataset "system uptime" into non-db client. (#52)
Adding new data set to query Sonic OS version. (#50)
[gnmi_server] Disregard EOF status for STREAM subs (#48)

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-12-06 06:01:46 -08:00
Kamil Cudnik
af357f3ec6
[sairedis] Advance sairedis pointer to support cmd zmq flag (#6064)
[sairedis] Advance sairedis pointer to support cmd zmq flag

[meta] Use memcpy instead of cast to prevent strict-aliasing error (#723)
[vslib]Add MACsec forward and filters to HostInterfaceInfo (#719)
[vslib] Add StateBase function for MACsec (#717)
Add support for default zmq synchronous mode flag (#711)
[syncd] Code clean (#720)
[sairedis] Remove custom bulk fdb methods (#710)
[vslib]Add MACsec Filters (#713)
[vslib]Add MACsec Forwarder (#714)
[vslib]Add MACsec Manager (#715)
Add helper functions, findObjects and dumpObject (#716)
Code clean refactor (#712)
[vslib] Fix CorePortIndexMap log line (#708)
[meta] Use custom hash in SaiObjectCollection (#709)
Fix LGTM localtime function warnings (#707)
[vs] VoQ Switch objects initialization - Local Port OID mapping to System Ports (#703)
Code style refactor (#705)
[vs] Initialization of VOQ switch objects (#702)
[vs] SAI support for VOQ switches - Switch State Initialization (#701)
Add MACsec meta methods (#704)
[vs] SAI support for VOQ switches (#698)
[vs] SAI support for VOQ switches - Core Port Index Map File parser (#700)
[vs] SAI support for VoQ switch - Core Port Index Map Container (#699)
[syncd][sairedis] Change pub/sub model to push/pull in zmq notification (#695)
[syncd] Use lua script to update db when using bulk api (#690)
[syncd] Fix bulk api object type for next hop group members (#685)
Add FlexCounter for MACsec SA (#684)
2020-12-05 12:13:34 +01:00
abdosi
59c1e3a78a
[multi-asic] Enhancing monit process checker for multi-asic. (#6100)
Added Support of process checker for work on multi-asic platforms.
2020-12-04 10:39:43 -08:00
rajendra-dendukuri
8a04487499
[kdump]: Implement Kdump configuration handler (#6122)
- Kdump configurations stored and manipulated in ConfigDB are now processed
by hostcfgd and applied asynchronously

Signed-off-by: Rajendra Dendukuri <rajendra.dendukuri@broadcom.com>
2020-12-04 10:15:30 -08:00
vdahiya12
03287cdbd7
[sonic-platform-common][sonic-platform-daemons] submodule update (#6124)
This PR updates the submodule sonic-platform-common, sonic-platform-daemons

For sonic-platform-common update following commits are added
a8823a3 [sonic_y_cable] add check_mux_direction api for y_cable (#151)
7c0301d Modular Chassis - APIs for midplane monitoring (#148)
6f7d8a0 Fix some LGTM alerts; Add LGTM badges to README.md (#146)

for sonic-platform-daemons update following commits are added
73e6ddd [xcvrd] replace check_active_linked_tor_side api to check_mux_direction (#131)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-12-04 04:27:42 -08:00
Stephen Sun
fdb51e7f33
Advance submodule head for sonic-swss and sonic-swss-common (#6111)
swss:
- [port_rates][rif_rates] Fix port_rates.lua (#1520)
- Improve the way of handling BUFFER_PG during PFC storm (#1480)
- [Orchagent] Vxlanorch and Portsorch changes for EVPN VXLAN (#1264)
- [sub intf] ecmp hardware convergence acceleration at parent port oper status changes (#1492)
- [dvs/copp] Adjust policer checks in VS tests for default COPP policers (#1519)
- Flush ARP/neighbor entry on FDB flush when port L2-L3 (#1506)
- [intfmgr]: Add GARP support (#1503)

swss-common:
- [Dynamic buffer calc] Support dynamic buffer calculation (#361)
- README.md: Update build requirements (#414)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2020-12-03 23:30:28 -08:00
Joe LeVeque
0e101247ac
[sonic-utilities] Update submodule (#6107)
* src/sonic-utilities 6fabbed...3749f5e (7):
  > [config vlan] Stop, reset-failed, then start dhcp_relay service (#1269)
  > [show] Break some groups out into their own modules (#1259)
  > Convert the output of 'arp -n' from bytes to str. (#1279)
  > Fixing python porting errors in fdbshow, natshow and nbrshow (#1280)
  > [pfcwd] Use floor division in Python3 (#1277)
  > Modify fast-reboot script to use teamd service script (#1251)
  > Add `show reboot-cause history` cli (#1210)
2020-12-03 15:57:21 -08:00
vdahiya12
356522bfcd
[sonic-platform-daemons] submodule update (#6116)
this PR updates the following Commits in sonic-platform-daemons
ab39059 [xcvrd] Fix y_cable state updates from 'failure' to 'unknown' on error conditions/events (#129)
5d74356 Clean some unused variables, check for multiAsic before calling initializeGlobalConfig (#130)
12b3628 [psud] Make sure psu leds are set on the first run (#125)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-12-03 09:47:04 -08:00
Dmytro Shevchuk
9a82dca483
[sonic-py-swsssdk] update submodule: fix fdbshow, show arp commands (#6074)
Update submodule for PR Azure/sonic-py-swsssdk#95
2020-12-02 18:17:24 -08:00
lguohan
4812953468
[ntp]: build ntp with various fixes (#6037)
- NTP Bug 1970 (UNLINK_EXPR_SLIST empty list) Fix
- ENOBUFS log message level set to WARN
- Fix audit message seen on console apparmor
- add force-confold option when install ntp

Signed-off-by: Guohan Lu <lguohan@gmail.com>
Co-authored-by: Prabhu Sreenivasan <prabhu.sreenivasan@broadcom>
2020-12-02 15:02:50 -08:00
trzhang-msft
c59975c7da
DHCP relay: support for dual ToR (#6066)
* DHCP relay: support for dual ToR

* update to use -U option

* update

* update
2020-12-02 14:43:20 -08:00
vganesan-nokia
19b592b8aa
[vstest]VS test for VOQ System ports (#5862)
Changes for supporting vstest for VOQ system ports. The changes include:
(1)Use of chassis_db.json is avoided since the SYSTEM_PORT is made
available in virtual chassis linecard's default_config.json which will
be loaded during bootup
(2)Core port index map file is introduced and is copied from virtual chassis
directory to hwsku direcory by start.sh
(3)vs sai profile is modified to include core port index map file name

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
2020-12-02 10:31:43 -08:00
Xin Wang
e4ee07b79f
[bgp]: Fix bgp crash after BGP allow list configuration is added (#6088)
The issue was a typo introduced in #6006. In that change, the BGP allow list
configuration manager was updated to use a method of common ConfigMgr
for restarting peer groups. However, the method name 'restart_peers' was
used instead of the correct 'restart_peer_groups'.

This change updated the managers_allow_list.py to use correct method
'restart_peer_groups' for restarting peer groups.

Signed-off-by: Xin Wang <xiwang5@microsoft.com>
2020-12-02 09:15:06 -08:00
Ying Xie
443f81f9b7
[hostcfgd] check cached state instead of the next state (#6067)
- Why I did it
'always_enabled' feature can still be disabled/enabled.

- How I did it
When checking if a feature is 'always_enabled', check the cached state to prevent new change to be accepted.
Fix an issue where cache value is updated before all the check is done.
Restore 'always_enabled' value in config db if someone wants to change.

Signed-off-by: Ying Xie ying.xie@microsoft.com

- How to verify it
Without the fix, 'always_enabled' feature can be enabled or disabled without cli protection. With the protection, the change will be rejected properly.
2020-12-01 17:56:39 -08:00
abdosi
9265022502
[sonic-utilities] Update submodule (#6070)
6fabbedc8ba0f7961bec3ec0adf7bb9d5c71eb2b [consutil][test] Add unit tests for consutil clear command (#1274)
a4f663ea0d7b52eeb76d903b19119c34ab86b1e9 [show/fgnhg] Fix crash bug (#1272)
9f276b21b06423ad11d75fbe17f46a43723f62a5 [config][loopback] Fix Bug that cannot add loopback interface by CLI (#1276)
a5b78cf968e4e5c49b764f5a76bdea6d6532c8d3 [config][show] CLI support for interacting with muxcable (#1221)
8f3b22ed11e166ed24dcd2fb1ac61e227140c2af [connect][sonic-clear] Align the exit code with consutil for line commands (#1256)
cfb7a2269406e8cca354db8a579c401e97f66e9f Feature table cli command update (#1271)
5b8da561b8712e9785622a53a2898671ada9c76e Added Multi-ASIC support for show ip(v6) route (#1216)
a7f39b04eb4b14f56f14f9851d59b81ecd5285f8 Improve MockRedis _encode(): so it will work on all types of value (#1265)
8427caf28ea60af97d8eb1eb3ccb75e99bc54184 [config_mgmt.py]: Remove sort_data call, we do not need it now. (#1246)
9dc58eaa76d38a40f33d534b13442284f598852a [sonic-utilities] Fix show vnet [neighbors | routes [all | tunnel]] crashed issue (#1263)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-12-01 09:37:01 -08:00
Garrick He
112eb08f39
[sflow] Bump hsflowd version in Makefile (#6065)
* Specify the hsflowd version in the Makefile using variables instead of hardcore.

Signed-off-by: Garrick He <garrick_he@dell.com>
2020-11-30 18:46:42 -08:00
abdosi
872c85d8e7
[lldp]: Lldp docker to use python3 version of sonic-db-syncd package. (#6046)
Made changes so that Lldp docker start using py3 of sonic-db-syncd

submodule update sonic-db-syncd
5cc29a1b32d8d1f4dfbc967bfea2727c50a49c76 (HEAD -> master, origin/master, origin/HEAD) Changes to convert sonic-dbsyncd from python 2 to 3

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-11-30 10:44:40 -08:00
Ying Xie
7f21c0be1a
[FRR] remove the whole block of outchannel properly (#6045)
- Why I did it
Fix issue #6043

- How I did it
We are disabling in container frr log. The log entries are sent to base image and are logged in /var/log/quagga/bgpd.log.

However, we need to remove the whole outchannel config block to avoid an error message raised by rsyslogd.

- How to verify it
Without the change, test_autorestart bgp container will fail on loganalyer errors. With the change, restarting bgp container is no longer generating error message and the test will pass.

The log generated by frr continued appearing in /var/log/quagga/bgpd.log
2020-11-26 16:50:32 -08:00
Joe LeVeque
00d3cb7a7c
[sonic-platform-common] Update submodule (#6041)
Commits include:

* src/sonic-platform-common d912db6...fa0aaa6 (3):
  > [sonic_sfp]: add logical_to_asic dict (#141)
  > [sonic_pcie][sonic_ssd] Make Python 3-compliant (#150)
  > [eeprom_base] Close lock file after unlocking (#149)
2020-11-26 13:14:56 -08:00
Joe LeVeque
829c116f13
[sonic-swss-common] Update submodule (#6042)
Commits include:

* src/sonic-swss-common f143b7f...3d400a9 (3):
  > ASIC internal temperature sensors support (#419)
  > SWIG functions accept unicode input (#422)
  > Introdcued RESOLVE_NEIGH APP DB table (#420)
2020-11-26 09:22:50 -08:00
Sujin Kang
d5cd4e7ea2
Fix the ExecStart path for process-reboot-cause (#6044)
- Change the ExecStart path for process-reboot-cause from /usr/bin to /usr/local/bin
- Correct description and dependencies.
2020-11-26 09:22:02 -08:00
pavel-shirshov
148436d42e
[bgpcfg]: Batch bgp updates (#6006)
* [bgpcfgd]: Batch bgp updates.

vtysh -f command is slow. It is sometimes takes about 3 seconds.
When we need to run many vtysh -f commands that slows down the system.
Batch vtysh -f updates.

* Use correct file to import run_command
2020-11-25 14:56:27 -08:00
Joe LeVeque
7f4ab8fbd8
[sonic-utilities] Update submodule; Build and install as a Python 3 wheel (#5926)
Submodule updates include the following commits:

* src/sonic-utilities 9dc58ea...f9eb739 (18):
  > Remove unnecessary calls to str.encode() now that the package is Python 3; Fix deprecation warning (#1260)
  > [generate_dump] Ignoring file/directory not found Errors (#1201)
  > Fixed porstat rate and util issues (#1140)
  > fix error: interface counters is mismatch after warm-reboot (#1099)
  > Remove unnecessary calls to str.decode() now that the package is Python 3 (#1255)
  > [acl-loader] Make list sorting compliant with Python 3 (#1257)
  > Replace hard-coded fast-reboot with variable. And some typo corrections (#1254)
  > [configlet][portconfig] Remove calls to dict.has_key() which is not available in Python 3 (#1247)
  > Remove unnecessary conversions to list() and calls to dict.keys() (#1243)
  > Clean up LGTM alerts (#1239)
  > Add 'requests' as install dependency in setup.py (#1240)
  > Convert to Python 3 (#1128)
  > Fix mock SonicV2Connector in python3: use decode_responses mode so caller code will be the same as python2 (#1238)
  > [tests] Do not trim from PATH if we did not append to it; Clean up/fix shebangs in scripts (#1233)
  > Updates to bgp config and show commands with BGP_INTERNAL_NEIGHBOR table (#1224)
  > [cli]: NAT show commands newline issue after migrated to Python3 (#1204)
  > [doc]: Update Command-Reference.md (#1231)
  > Added 'import sys' in feature.py file (#1232)

* src/sonic-py-swsssdk 9d9f0c6...1664be9 (2):
  > Fix: no need to decode() after redis client scan, so it will work for both python2 and python3 (#96)
  > FieldValueMap `contains`(`in`)  will also work when migrated to libswsscommon(C++ with SWIG wrapper) (#94)

- Also fix Python 3-related issues:
    - Use integer (floor) division in config_samples.py (sonic-config-engine)
    - Replace print statement with print function in eeprom.py plugin for x86_64-kvm_x86_64-r0 platform
    - Update all platform plugins to be compatible with both Python 2 and Python 3
    - Remove shebangs from plugins files which are not intended to be executable
    - Replace tabs with spaces in Python plugin files and fix alignment, because Python 3 is more strict
    - Remove trailing whitespace from plugins files
2020-11-25 10:28:36 -08:00
abdosi
fad481edc1
Enhanced Feature table to support 'always_enabled' value for state and auto-restart fields. (#6000)
Added new flag value 'always_enabled' for the state and auto-restart field of feature table

init_cfg.json is updated to initialize state field of database/swss/syncd/teamd feature and auto-restart field of database feature
as always_enabled

Once the state/auto-restart value is initialized as "always_enabled" it is immutable and cannot be change via feature config commands. (config feature..) PR#Azure/sonic-utilities#1271

hostcfgd will not take any action if state field value is 'always_enabled'

Since we have always_enabled field for auto-restart updated supervisor-proc-exit-listener
not to have special check for database and always rely on value from Feature table.
2020-11-25 08:41:11 -08:00
Sabareesh-Kumar-Anandan
ac609365f6
[libyang] Adding LFS support for arm32 (#6018)
In the emulated armhf environment, the function readdir()returns NULL on a ext4 file system directory. When running the libyang test cases, it will require to load the plugins from the files (such as metadata.so), because the readdir() is failing, the plugins can’t be loaded in the emulated armhf environment, so it causes libyang test error. This error is a combination of the following reasons.
• Emulation of a 32-bit target from a 64-bit host –> qemu from x86_64 to armhf
• Glibc version > 2.27 – Debian buster is using glibc 2.28

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-11-25 01:10:53 -08:00
pavel-shirshov
fd87ba0aee
[bgpcfgd]: Add on-match next rule for set ipv6 next-hop prefer-global (#6011)
* Add 'on-match next' after every 'set ipv6 next-hop prefer-global'
* Check that 'set ipv6 next-hop prefer-global' rule has 'on-match' next
2020-11-24 08:33:31 -08:00
vdahiya12
962e838b16
[sonic-platform-common] sub_module update (#6007)
commits in this PR

d912db6 [sonic_y_cable] add error checking for eeprom read (#147)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-11-23 23:27:21 -08:00
Sudharsan Dhamal Gopalarathnam
b65fc7867e
Updating submodule pointers for sonic-utilities (#5921)
sonic-utilities:
[3f15835] [sflow] Add mVRF support (#1230)
[dadfc18] Copp Changes (#1004)
[b226159] [CLI][PFCWD] Fix issue with specifying ports in pfcwd start on masic platforms (#1203)
[40377d3] [chassis]: Configure and show for platform chassis_modules (#1145)
[d5eb2f8] [consutil][connect] Remove root need from connect line command (#1225)
[6cbec6b] [multi-ASIC] CRM show/config commands changes for multi-asic (#1127)

Co-authored-by: dgsudharsan <sudharsan_gopalarat@dell.com>
2020-11-23 14:55:23 -08:00
Qi Luo
5410290b26
[sonic-swss-common] Update submodule (#5998)
Included submodule commits:
    f143b7f 2020-11-22 | [swig] wrap logger.h (#418) [Qi Luo]
2020-11-23 03:58:06 -08:00
Shi Su
e0781f463f
[L2 switch mode] Update l2switch.j2 template (#5981)
- Why I did it
The l2switch.j2 template does not include all fields for PORT. This could be incompatible with the 201911 image or later.

- How I did it
Update l2switch.j2 template and add a unit test.
2020-11-21 11:35:35 -08:00
Sujin Kang
5b31996f7b
[reboot-history] Add reboot history to state db (#5933)
- Why I did it
Add reboot history to State db so that can be used telemetry service
- How I did it
Split the process-reboot-cause service to determine-reboot-cause and process-reboot-cause
determine-reboot-cause to determine the reboot cause
process-reboot-cause to parse the reboot cause files and put the reboot history to state db
Moved to sonic-host-service* packages
- How to verify it
Performed unit test and tested on DUT
2020-11-20 20:08:18 -08:00
Ying Xie
d3c1a5bf39
[frr] remove frr rsyslog file outchannel (#5962)
- Why I did it
frr is creating /var/log/frr/frr.log inside the frr docker and letting it grow. It will eventually exhaust hard drive space.

To fixe issue #5965

- How I did it
Remove rsyslog file outchannel so that frr won't generate /var/log/frr/frr.log inside the docker.

- How to verify it
Manually removed the outchannel and restart BGP docker, making sure that /var/log/frr/frr.log is no longer created inside the docker.

While restarting bgp docker, observed that base image /var/log/quagga/bgpd.log continued to grow and captured all FRR logs.
2020-11-20 19:36:04 -08:00
Lawrence Lee
3b27afe377
[minigraph.py]: Add VLAN_INTERFACE attributes for dual ToR devices (#5951)
* If a device has subtype = 'DualToR', then enable proxy ARP and gratuitous ARP.
2020-11-20 17:04:01 -08:00
Petro Bratash
31404dc43a
[sonic-platform-daemons] Update submodule (#5987)
- Fix test_updater_thermal_check_min_max()
f6e5e5902e

- [sonic-platform-daemons] Add more physical entity information to DB for physical entity mib
14e586d676

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-11-20 12:25:13 -08:00
Joe LeVeque
23247514f9
Fix a number of LGTM alerts (#5952)
Fix 259 alerts reported by the LGTM tool:

- 245 for Unused import
- 7 for Testing equality to None
- 5 for Duplicate key in dict literal
- 1 for Module is imported more than once
- 1 for Unused local variable
2020-11-20 10:58:48 -08:00
Joe LeVeque
7bf05f7f4f
[supervisor] Install vanilla package once again, install Python 3 version in Buster container (#5546)
**- Why I did it**

We were building a custom version of Supervisor because I had added patches to prevent hangs and crashes if the system clock ever rolled backward. Those changes were merged into the upstream Supervisor repo as of version 3.4.0 (http://supervisord.org/changes.html#id9), therefore, we should be able to simply install the vanilla package via pip. This will also allow us to easily move to Python 3, as Python 3 support was added in version 4.0.0.

**- How I did it**

- Remove Makefiles and patches for building supervisor package from source
- Install Python 3 supervisor package version 4.2.1 in Buster base container
    - Also install Python 3 version of supervisord-dependent-startup in Buster base container
- Debian package installed binary in `/usr/bin/`, but pip package installs in `/usr/local/bin/`, so rather than update all absolute paths, I changed all references to simply call `supervisord` and let the system PATH find the executable to prevent future need for changes just in case we ever need to switch back to build a Debian package, then we won't need to modify these again.
- Install Python 2 supervisor package >= 3.4.0 in Stretch and Jessie base containers
2020-11-19 23:41:32 -08:00
Shi Su
2f2b7c2a5c
[sonic-swss] Update submodule (#5964)
Update the sonic-swss submodule. The following are the commits in the submodule.

[dvs] Re-add runcmd_async command
5ba548cd759be4f0b1d1830ea038bf3c84e6f3f6

[dvs] Re-add copy_file method to DVS
86e11715819ac183a68aaf1deed6beabb259384b

Add a check for warm-restart, and do a clear only when warm-restart is enable.
fcb6c9de918d93967440b78bf7d5cd3a51bf7129

[Routeorch] Fix next hop group reference count in bulk operation
7a92100c1c1a344e67d4501cb7b98de557d0ea52

[orchagent][port] In case of successful port creation set log level to INFO
fea7ade74941a529505681e384f3437e873b1f7a

Copp Manager Changes
7b76d2e201f9f7d26cec7460f1335f7762b4ad01

[orchagent] Arm 32-bit arch compilation warning Fixes
bed79702c9da7957b775a0c960f67dd426db34d5

Revert: swss: flush g_asicState after each event is done #570
b9084a720d41daf1d717bcbe06f56e7a95111fa6

[dvs] Clean-up conftest.py
d6e15e955c91a6f077a913a617a336a314c6c91b
2020-11-19 23:40:14 -08:00
Joe LeVeque
5fbb6ee613
[sonic-platform-daemons] Update submodule (#5976)
* src/sonic-platform-daemons be21d91...b90ddda (1):
  > [thermalctld] [psud] [chassisd] Fix crash with undefined environment variable (#120)
2020-11-19 22:43:10 -08:00
Petro Bratash
d2f143d66f
[sonic-platform-common] Update submodule (#5977)
[sonic_eeprom] Fix variable type: Azure/sonic-platform-common#145

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-11-19 14:53:37 -08:00
Qi Luo
42e78a19c1
[sonic-swss-common] Update submodule (#5969)
Update the sonic-swss-common submodule. The following are the commits in the submodule.
```
95f9e11 2020-11-19 | [pyext] allow to catch exceptions raised in python (#415) [Stepan Blyshchak]
5a718f9 2020-11-18 | [swig] translate C++ `del` to python `delete` (#416) [Qi Luo]
40b255b 2020-11-12 | Fix: SWIG dict.get() should have optional default value parameter (#413) [Qi Luo]
91e484d 2020-11-07 | Reduce notice logging (#412) [Qi Luo]
f5945ae 2020-11-05 | Mux Cable schema definitions for interaction between linkmanager and xcvrd (#411) [vdahiya12]
602f9c2 2020-11-05 | [lua] load lua script on demand (#409) [Dong Zhang]
d88412b 2020-11-04 | Rename hdel to del when using multiple keys as param (#410) [Kamil Cudnik]
e0c229a 2020-11-04 | CHASSIS_STATE_DB on control-card for chassis state (#395) [mprabhu-nokia]
a4e3ac8 2020-11-04 | Chassisd config table to store admin state (#388) [mprabhu-nokia]
```
2020-11-19 10:57:07 -08:00
pavel-shirshov
a92732fe5d
[bgpcfgd]: Fixes for BBR (#5956)
* Add explicit default state into the constants.yml
* Enable/disable only peer-groups, available in the config
* Retrieve updates from frr before using configuration

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-11-19 00:07:58 -08:00
Praveen Chaudhary
2fe79c2c61
[yang_models]: yang models for device_metadata, device_neighbor, flex… (#4442)
Changes:
1.) yang models for device_metadata, device_neighbor, flex_counters, crm, versions.
2.) Test cases for above yang models.
Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com:
2020-11-18 01:59:55 -08:00
Joe LeVeque
6c4092d0a2
[sonic-platform-common] Update submodule (#5953)
Commits include:

* src/sonic-platform-common e4883e5...5db8c84 (1):
  > [sonic-platform-common] Fix name error and import error  (#143)
2020-11-18 01:37:05 -08:00
Joe LeVeque
ced11615a4
[sonic-py-common] Add 'universal_newlines=True' arg to all Popen calls (#5919)
The behavior of `subprocess.Popen()` changed in Python 3 such that stdin, stdout and stderr are treated as bytes by default. Adding the `universal_newlines=True` argument changes this behavior to return strings, matching the behavior of Python 2. The change is backward-compatible with Python 2, as well.
2020-11-16 17:07:37 -08:00
Lawrence Lee
261a81d379
[minigraph.py]: Parse mux cable table (#5876)
Parse device IPv6 loopback addresses when available
Add MUX_CABLE table to config DB:

'MUX_CABLE': {
	'Ethernet4': {
    	'state': 'auto',
        'server_ipv4': '10.10.10.1/32',
        'server_ipv6': 'fe80::0001/128'
	}
}
2020-11-16 13:14:34 -08:00
Joe LeVeque
e526d8895f
[sonic-platform-common][sonic-platform-daemons] Update submodules (#5924)
This should also fix the vsimage check build.

Commits include:

* src/sonic-platform-common a659219...e4883e5 (7):
  > [PsuBase] Reference inherited member constant (#142)
  > Thermalctld APIs for recording min and max temp (#131)
  > Common power consumption and supply APIs for modular chassis (#136)
  > [sonic-platform-base] Introduce APIs for modular chassis support (#124)
  > Remove shebangs from non-executable Python files (#140)
  > [sonic_eeprom] Make compatible with Python 2 and 3 (#127)
  > Add unit test infrastructure (#139)

* src/sonic-platform-daemons 600d043...be21d91 (9):
  > [psud] Import of mock libraries determined by environment variable (#117)
  > [chassisd][thermalctld] Set testing env var at top of file, not in setup_function() (#114)
  > [chassisd][thermalctld] Import os module, now needed for env var checking (#113)
  > [chassisd][thermalctld] Import mock libraries based on environment variable (#112)
  > [xcvrd] Fix the console-script xcvrd startup  (#111)
  > [Thermalctld] Update thermal info to CHASSIS_STATE_DB (#101)
  > PSUd changes to compute power-budget for Modular chassis (#104)
  > Introduce chassisd to monitor status of cards on chassis (#97)
  > [xcvrd] support for integrating Credo Y cable Ports initialization and status updates with xcvrd.  (#105)
2020-11-15 02:37:38 -08:00
pavel-shirshov
af654944bd
[bgp]: Update TSA functionality (#5906)
Fixed TSA bugs:
1. TSA didn't advertise Loopback ipv6 address
2. TSA and TSB changed BGP dynamic and BGP monitors sessions

**- How to verify it**
Build an image and run on your DUT.
```
admin@str-s6100-acs-1:~$ TSA
System Mode: Normal -> Maintenance
admin@str-s6100-acs-1:~$ vtysh -c 'show bgp ipv4 neighbors 10.0.0.1 advertised-routes'
BGP table version is 6, local router ID is 10.1.0.32, vrf id 0
Default local pref 100, local AS 64601
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.1.0.32/32     0.0.0.0                  0         32768 i

Total number of prefixes 1
admin@str-s6100-acs-1:~$ vtysh -c 'show bgp ipv6 neighbors fc00::a advertised-routes'
BGP table version is 6, local router ID is 10.1.0.32, vrf id 0
Default local pref 100, local AS 64601
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> fc00:1::/64      ::                       0         32768 i

Total number of prefixes 1
admin@str-s6100-acs-1:~$ TSB
System Mode: Maintenance -> Normal
```

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-11-13 17:54:20 -08:00
Lawrence Lee
bf50562670
[minigraph.py]: Parse peer switch info from minigraph (#5869)
* Create new `PEER_SWITCH` table in config DB with info from minigraph
* Add `subtype` field to `DEVICE_METADATA` table and set value to `DualToR` if device is in a dual ToR setup
2020-11-13 15:31:51 -08:00
Joe LeVeque
56fa3cf494
[sonic-bgpcfgd] Call Python 3 version of sonic-cfggen for testing (#5847)
sonic-bgpcfgd build fails in the absence of Python 2, as it attempts to explicitly call sonic-cfggen using `/usr/bin/python2.7`. Also, it attempts to call sonic-cfggen using a local, relative path. Since the sonic-config-engine package is not installed, neither are its dependencies.

Now, we configure the Python 3 sonic-config-engine as a dependency of sonic-bgpcfgd, which ensures the Python 3 sonic-config-engine package and its dependencies are installed before sonic-bgpcfgd is built/tested.
2020-11-13 11:39:16 -08:00
Ying Xie
48822be2aa
[dbsycnd] update submodule head of dbsyncd (#5916)
[lldp daemon] improve lldp daemon event when neighbor capability is not sent (#30)

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2020-11-13 03:12:12 -08:00
Joe LeVeque
d0c7bd8158
[sonic-py-swsssdk][sonic-snmpagent][sonic-utilities] Update submodules (#5849)
Submodule updates include the following commits. Also adding sonic-swsscommon build dependencies where necessary.

* src/sonic-py-swsssdk 1ea30d2...9d9f0c6 (1):
  > [SonicV2Connector] make decode_responses=True as default, so python2 application need no code change when migrated to python3(#93)

* src/sonic-snmpagent 6e4a796...57e54d9 (3):
  > Interact with Redis by str instead of bytes, migrate to SonicV2Connector with `decode_responses=True` (#171)
  > Add a test case for LLDP_LOC_CHASSIS.lldp_loc_man_addr has only one IPv6 address (#167)
  > [LLDP]: Update init_db to load global database config (#166)

* src/sonic-utilities acfa824...b693cf6 (11):
  > Remove SKU create pytest output directory before execution of the script (#1226)
  > [show][techsupport][multi-ASIC] Add support to collect tech support on multi ASIC platform (#1193)
  > [show] Fix `show ip bgp sum` (#1194)
  > [sonic_sku_create] Move tests from sonic-utilities-tests/ folder to tests/ folder (#1222)
  > Replace swsssdk.SonicV2Connector with swsscommon.SonicV2Connector (SWIG wrapper of C++ implementation) in production code (#1217)
  > Copy missing values from INIT_CFG to config_db as part of db_migration task (#1209)
  > [connect][clear] Support --devicename option for connect/clear line commands (#1214)
  > [consutil][show] Remove root need from show line command (#1218)
  > [Mellanox] SKU creator Tool (#1163)
  > SONiC installer - fix string formatting during image type check (#1197)
  > [show/fgnhg.py] Fix whitespace issues (#1211)
2020-11-12 17:58:56 -08:00
Guohan Lu
a98cf22162 [submodule]: downgrade sonic-platform-daemons
remove commit

850d0c6 2020-11-09 | [xcvrd] support for integrating Credo Y cable Ports initialization and status updates with xcvrd.  (#105) (HEAD, origin/master, origin/HEAD) [vdahiya12]

fix issue #5907

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-11-11 17:14:35 -08:00
Kebo Liu
4342cb0cea
[submodule]: update sonic-linux-kernel (#5894)
Pick up new kernel patches:
-  a28b399db609e9cab6748df28cf1482537f31560  [Mellanox] Add patches for i2c API 
- 18236531cb74d34fa5945d1c766a1a35b658569f [Mellanox] Add kernel patches with hw-mgmt V.7.0010.1300 
- cb4712f97dbfb4b7a5f867034317e1aa3ac75b45 Improve `patch/kconfig-exclusions`
2020-11-11 16:55:09 -08:00
carl-nokia
dbb6373e85
[Marvell] Utilize eeprom for system mac and remove dependency on get_hwsku (#5882)
Utilize eeprom for system mac and remove dependency on get_hwsku

Co-authored-by: Carl Keene <keene@nokia.com>
2020-11-11 15:11:00 -08:00
pavel-shirshov
83d090f42c
[teamd]: Remove extensive debug output for libteamdctl (#5870) 2020-11-10 19:12:51 -08:00
pavel-shirshov
cdc6879c3e
[bgpcfgd]: Implement BBR template test (#5850)
Add the test to check that all templates, which use CONFIG_DB__BBR are configured in constants.yml
2020-11-10 18:44:20 -08:00
Lawrence Lee
d0f16c0d79
Make backend device checking more robust (#5730)
Treat devices that are ToRRouters (ToRRouters and BackEndToRRouters) the same when rendering templates
 Except for BackEndToRRouters belonging to a storage cluster, since these devices have extra sub-interfaces created
Treat devices that are LeafRouters (LeafRouters and BackEndLeafRouters) the same when rendering templates

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-11-10 15:06:35 -08:00
Prince Sunny
1eaaf64ed2
Set preference for forced mgmt routes (#5844)
When forced mgmt routes are present, the issue fixed as part of #5754 is not complete. 
Added a preference(priority) field to forced mgmt route ip rules
2020-11-10 14:20:13 -08:00
Joe LeVeque
aee389e402
[sonic-config-engine] openconfig_acl.py: Make compliant with Python 3 (#5873)
Python 3 is more strict with `__slots__`. As per the [documentation](https://docs.python.org/3/reference/datamodel.html#notes-on-using-slots):

> \_\_slots\_\_ are implemented at the class level by creating descriptors (Implementing Descriptors) for each variable name. As a result, class attributes cannot be used to set default values for instance variables defined by \_\_slots\_\_; otherwise, the class attribute would overwrite the descriptor assignment.

This was apparently missed when making sonic-config-engine compliant with Python 3, and errors like the following would be seen:

```
tests/acl_loader_test.py:10: in <module>
    from acl_loader.main import *
acl_loader/main.py:8: in <module>
    import openconfig_acl
/usr/local/lib/python3.7/dist-packages/openconfig_acl.py:24: in <module>
    class yc_state_openconfig_acl__acl_state(PybindBase):
E   ValueError: '_pybind_generated_by' in __slots__ conflicts with class variable
```
2020-11-10 10:26:16 -08:00
madhanmellanox
b177ed9efd
Accomadating lower case ACL rules for Control Plane ACLs (#5748)
To make Control plane ACLs handle case insensitive ACL rules. Currently, it handles only upper case ACL rules.

Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-11-10 10:16:32 -08:00
judyjoseph
f2b22b5cd1
[multi-ASIC] util changes with the BGP_INTERNAL_NEIGHBOR table (#5874)
Reintroduce #5760, along with the fix needed in the template file for python3 compatibility.
2020-11-10 09:34:56 -08:00
Joe LeVeque
4669c3241b
Remove shebangs from various setup.py files (#5867)
setup.py files are not executable, and thus have no need for shebangs.

Also remove unnecessary comments
2020-11-10 00:07:37 -08:00
vdahiya12
e95483471e
[submodule]: update sonic-platform-daemons (#5868)
850d0c6 [xcvrd] support for integrating Credo Y cable Ports initialization and status updates with xcvrd.  (#105)
600d043 [xcvrd] Add enum dependence back; Install 'enum34' conditionally based on Python version (#107)
af79326 [xcvrd] Remove log errors in single ASIC platforms with init Global config (#108)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-11-10 00:06:48 -08:00
judyjoseph
b5121dcfd4
Revert "[multi-ASIC] util changes with the BGP_INTERNAL_NEIGHBOR table. (#5760)" (#5871)
This reverts commit c972052594.
2020-11-09 14:30:13 -08:00
judyjoseph
c972052594
[multi-ASIC] util changes with the BGP_INTERNAL_NEIGHBOR table. (#5760)
- Why I did it
Update the routine is_bgp_session_internal() by checking the BGP_INTERNAL_NEIGHBOR table.
Additionally to address the review comment #5520 (comment)
Add timer settings as will in the internal session templates and keep it minimal as these sessions which will always be up.
Updates to the internal tests data + add all of it to template tests.

- How I did it
Updated the APIs and the template files.

- How to verify it
Verified the internal BGP sessions are displayed correctly with show commands with this API is_bgp_session_internal()
2020-11-09 11:10:10 -08:00
Volodymyr Samotiy
3fa724d216
[submodule] Update sonic-swss submodule (#5825)
62e6c5a [bitmap_vnet] Remove BMTOR implementation (#1494)
582beae [FPMSYNCD] EVPN Type5 prefix handling in FPMSYNCD (#1326)
d9ca6e2 [vstest] Resolve intermittent timing failure in test_fgnhg.py (#1495)
a89b8ed [sub intf] Inherit parent port mtu changes (#1479)

Signed-off-by: Volodymyr Samotiy <volodymyrs@nvidia.com>
2020-11-08 23:57:50 -08:00
Longxiang Lyu
92704e8a93
[bgpmon] Fix dict_keys unsubscriptable error (#5859)
Simply looping through `dict_key` object instead of index-subscribing to
fix this.

Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
2020-11-08 13:42:38 -08:00
Lawrence Lee
23b0e07d48
[minigraph.py]: Parse IP-in-IP tunnels from minigraph (#5742)
Take tunnel info from `<TunnelInterface>` tag in minigraph, and create tables in config_DB:

```
"TUNNEL": {
    "MUX_TUNNEL_0": {
        "tunnel_type": "IPINIP",
        "dst_ip": "26.1.1.10",
        "dscp_mode": "uniform",
        "encap_ecn_mode": "standard",
        "ecn_mode": "copy_from_outer",
        "ttl_mode": "pipe"
    }
}
```

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-11-07 13:18:40 -08:00
Praveen Chaudhary
6156cb2805
[sonic-yang-mgmt] Build PY3 & PY2 packages (#5559)
Moving sonic-yang-mgmt to PY3 to support move of sonic-utilities to PY3.

Signed-off-by: Praveen Chaudhary<pchaudhary@linkedin.com>
2020-11-07 13:03:41 -08:00
Joe LeVeque
04d0e8ab00
[hostcfgd] Convert to Python 3; Add to sonic-host-services package (#5713)
To consolidate host services and install via packages instead of file-by-file, also as part of migrating all of SONiC to Python 3, as Python 2 is no longer supported.
2020-11-07 12:48:19 -08:00
Petro Bratash
32a832a8ac
[lldp]: Add verification IPv4 address on LLDP conf Jinja2 Template (#5699)
Fix #5812

LLDP conf Jinja2 Template does not verify IPv4 address and can use IPv6 version. This issue does not effect control LLDP daemon. Issue can be reproduced via `test_snmp_lldp` test. LLDP conf Jinja2 Template selects first item from the list of mgmt interfaces.

TESTBED_1 LLDP conf

```
# cat /etc/lldpd.conf 
configure ports eth0 lldp portidsubtype local eth0
configure system ip management pattern FC00:3::32
configure system hostname dut-1
```
TESTBED_2  LLDP conf

```
# cat /etc/lldpd.conf
configure ports eth0 lldp portidsubtype local eth0
configure system ip management pattern 10.22.24.61
configure system hostname dut-2
```
TESTBED_1  MGMT_INTERFACE

```
$ redis-cli -n 4 keys "*" | grep MGMT_INTERFACE
MGMT_INTERFACE|eth0|10.22.24.53/23
MGMT_INTERFACE|eth0|FC00:3::32/64
```
TESTBED_2  MGMT_INTERFACE

```
$ redis-cli -n 4 keys "*" | grep MGMT_INTERFACE
MGMT_INTERFACE|eth0|FC00:3::32/64
MGMT_INTERFACE|eth0|10.22.24.61/23

```

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-11-07 10:30:41 -08:00
pavel-shirshov
cdcd20a7b5
[BGP]: Convert ip address to network address for the LOCAL_VLAN filter (#5832)
* [BGP]: Convert ip address to network address for the LOCAL_VLAN prefix filter
2020-11-06 17:47:08 -08:00
dflynn-Nokia
174b741dfd
[submodule]: update sonic-linux-kernel (#5829)
pick up follow commits:

  > hwmon-lm75: backport support for PCT2075 thermal sensor (#165)
  > [arista] Reassign prefetch memory per platform (#163)
  > Add .gitignore file (#157)
  > Enable PCA9541 I2C mux module (#160)
2020-11-06 12:37:41 -08:00
Danny Allen
cea364aa77
[utilities] Update sonic-utilities submodule (#5814)
Add a switch to route_check to control whether write log to syslog (#1215)
[consutil] Store console port state in STATE_DB (#1208)
[sfputil] Display 'N/A' for non-SFP ports (#1078)
Show FG_NHG CLI Commands Added (#1056)
[show] remove 'device2interface_dict' in show interface neighbor expected (#1188)
Add license file, remove third-party licenses file (#1192)
[fwutil]: Set min log priority to INFO. (#1191)
[CLI][show][platform] Added ASIC count in the output. (#1185)
fdbshow and nbrshow use SonicV2Connector with decode_responses=True, and remove all the decode() (#1187)
Remove stdeb.cfg; no longer used now that we build as wheel (#1182) 
[counterpoll] Disable Counter Poll When Entering Fast Reboot (#1174) 
Fixes the issue with show interface counters and for pfc and queue counters. (#1180)
[config/show] Add CLI support for proxy arp (#1168)
[consutil] Add brief option to show line command (#1176)
Modify fast-reboot script to use BGP service script to stop bgp service (#1177)
[config/console] Support update console configuration related commands (#1166)
[consutil] Fix issue where the show line command crash if no ttyUSB exists (#1173)
[watermarkstat] Add unit tests for watermarkstat show commands (#1157)
Fix exception for ipaddress in python2 (#1164) 
[celestica] consutil to support customize tty device name (#1155)

Signed-off-by: Danny Allen <daall@microsoft.com>
2020-11-06 00:58:49 -08:00
Joe LeVeque
2c9454e86a
[sonic-device-data] Convert Python files to Python 3 (#5816)
- Convert config_checker, media_checker and platform_json_checker scripts to Python 3
- Reorganize imports per PEP8 standard
- Two blank lines precede functions per PEP8 standard
2020-11-05 11:17:08 -08:00
pavel-shirshov
13f8e9ce5e
[bgpcfgd]: Convert bgpcfgd and bgpmon to python3 (#5746)
* Convert bgpcfgd to python3

Convert bgpmon to python3
Fix some issues in bgpmon

* Add python3-swsscommon as depends

* Install dependencies

* reorder deps

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-11-05 10:01:43 -08:00
Praveen Chaudhary
1f9132db60
[sonic-yang]: Yang model update fields (#5577)
Changes:
-- ACL stage allow lower and upper.
-- ACL include services leaf-list.
-- PORT include pfc_asym leaf.
-- PORT fec alloe none as per code.
-- 3 Tests for above changes.

Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com
2020-11-05 00:25:33 -08:00
Qi Luo
4ed2ff805f
[swss-common]: Advance submodule (#5799)
ec96868 2020-11-03 | Fix: treat DBConnector timeout=0 as infinite timeout (#408) [Qi Luo]
b4b8334 2020-11-03 | Add lua script for redis multi keys api hmset and del (#406) [Kamil Cudnik]
2020-11-04 05:49:52 -08:00
Qi Luo
215ce13890
[swss-common]: Advance submodule (#5780)
9b0e955 2020-10-30 | [schema]: Add MACsec support (#403) [Ze Gan]
f24dc97 2020-10-28 | Implementation of System ports initialization, Interface & Neighbor Synchronization... (#380) [minionatwork]
91e0885 2020-10-27 | Mux cable schema definitions (#398) [Prince Sunny]
d0cedea 2020-10-27 | Change log level (#402) [Prince Sunny]
64b3cfe 2020-10-24 | SonicV2Connector supports host and decode_responses in constructor parameters (#401) [Qi Luo]
f8b0065 2020-10-23 | Implement FieldValueMap update method (#400) [Qi Luo]
2020-11-03 14:28:42 -08:00
Joe LeVeque
84d3a26000
[sonic-py-swsssdk] Update submodule (#5757)
Commits included:

* src/sonic-py-swsssdk 748c404...1ea30d2 (1):
  > Fix bug: ConfigDBConnector.get_table does not work in python3 (#92)
2020-11-02 20:31:14 -08:00
lguohan
9d7355287f
[submodule]: update sairedis (#5772)
* b458e6f 2020-11-02 | [syncd] Disable use bulk api by default (#688) (HEAD, origin/master, origin/HEAD) [Kamil Cudnik]
* d978789 2020-11-01 | [syncd] Set modify redis flag in RedisSelectableChannel (#689) [Kamil Cudnik]
* 5df11f5 2020-11-01 | [syncd] Lower bulk missing api message level from error to info (#687) [Kamil Cudnik]
* dc73a1d 2020-10-30 | [saiplayer] Fix log messages (#686) [Kamil Cudnik]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-11-02 16:59:47 -08:00
lguohan
98d370bcef
[submodule]: swss/sairedis module update (#5765)
swss:

* d7643f2 2020-11-01 | [tlm_teamd]: Make the destionation for std::transform() to use std::back_inserter() for allocating new space for the copied objects (#1490) (HEAD, origin/master, origin/HEAD) [pavel-shirshov]
* 7fa7cd6 2020-10-31 | [vstest]: stablize fgnhg test (#1491) [lguohan]
* 9b0696e 2020-10-29 | Create vnet tunnel map only if it doesn't exist (#1482) [Prince Sunny]
* 0481e99 2020-10-29 | [acl] Update CRM to include LAG bindings for ACL tables (#1487) [Danny Allen]

sairedis

* 5df11f5 2020-11-01 | [syncd] Lower bulk missing api message level from error to info (#687) (HEAD, origin/master, origin/HEAD) [Kamil Cudnik]
* dc73a1d 2020-10-30 | [saiplayer] Fix log messages (#686) [Kamil Cudnik]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-11-01 20:08:55 -08:00
Blueve
698b5544c9
[openssh] Introduce custom openssh-server package for supporting reverse console SSH (#5717)
* Build and install openssh from source
* Copy openssh deb package to dest folder
* Update make rule
* Update sonic debian extension
* Append empty line before EOF
* Update openssh patch
* Add openssh-server to base image dependency
* Fix indent type
* Fix comments
* Use commit id instead of tag id and add comment

Signed-off-by: Jing Kan jika@microsoft.com
2020-11-02 10:31:15 +08:00
lguohan
c8a00eda95
[mgmt ip]: mvrf ip rule priority change to 32765 (#5754)
Fix Azure/SONiC#551

When eth0 IP address is configured, an ip rule is getting added for eth0 IP address through the interfaces.j2 template. 

This eth0 ip rule creates an issue when VRF (data VRF or management VRF) is also created in the system.
When any VRF (data VRF or management VRF) is created, a new rule is getting added automatically by kernel as "1000: from all lookup [l3mdev-table]".
This l3mdev IP rule is never getting deleted even if VRF is deleted.

Once if this l3mdev IP rule is added, if user configures IP address for the eth0 interface, interfaces.j2 adds an eth0 IP rule as "1000:from 100.104.47.74 lookup default ". Priority 1000 is automatically chosen by kernel and hence this rule gets higher priority than the already existing rule "1001:from all lookup local ".

This results in an issue "ping from console to eth0 IP does not work once if VRF is created" as explained in Issue 551.
More details and possible solutions are explained as comments in the Issue551.

This PR is to resolve the issue by always fixing the low priority 32765 for the IP rule that is created for the eth0 IP address.
Tested with various combinations of VRF creation, deletion and IP address configuration along with ping from console to eth0 IP address.

Co-authored-by: Kannan KVS <kannan_kvs@dell.com>
2020-10-31 20:45:59 -07:00
gechiang
908787d2a2
Added new method get_back_end_interface_set() to speed up back-end in… (#5731)
Added new MultiASIC util method "get_back_end_interface_set()" to speed up back-end interface check by allowing caller to cache the back-end intf into a set. This way the caller can use this set for all subsequent back-end interface check requests  instead of each time need to read from redis DB which become a scaling issue for cases such as checking for thousands of nexthop routes for filtering purpose.
2020-10-31 18:06:06 -07:00
abdosi
dddf96933c
[monit] Adding patch to enhance syslog error message generation for monit alert action when status is failed. (#5720)
Why/How I did:

Make sure first error syslog is triggered based on FAULT TOLERANCE condition.

Added support of repeat clause with alert action. This is used as trigger
for generation of periodic syslog error messages if error is persistent

Updated the monit conf files with repeat every x cycles for the alert action
2020-10-31 17:29:49 -07:00
Shi Su
279943c11f
[sonic-swss] Update submodule (#5745)
Update the sonic-swss submodule. The following are the commits in the submodule.

[neighorch] Remove pending DEL operation after SET operation for the same key
2265f548386929b7827d1079efd453128f1ec1f9

[NAT]: Update nat entries to use nat_type to support DNAT Pool changes.
8696e939f973895ead4731ad499a72f257a3b510

[intfsorch] Init proxy_arp variable while adding router interface.
1da3c773762fa637a5ea47017715361bede50a4a
2020-10-31 02:26:19 -07:00
Joe LeVeque
e111204206
[caclmgrd] Convert to Python 3; Add to sonic-host-services package (#5739)
To consolidate host services and install via packages instead of file-by-file, also as part of migrating all of SONiC to Python 3, as Python 2 is no longer supported, convert caclmgrd to Python 3 and add to sonic-host-services package
2020-10-29 16:29:12 -07:00
Volodymyr Boiko
fd7e2a12bc
[submodule-update][sonic-platform-daemon] Update submodule (#5741)
95b1696 [xcvrd] Remove dependence on enum; Add 'sonic-py-common' as dependencies in setup.py (#106)
61ed24e [thermalctld] Print exception using repr(e) to get more information (#103)
8507085 [psud] Fix psud logging (#98)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-10-29 09:46:55 -07:00
Shi Su
5ee5c13f32
Enable synchronous mode by default and add in minigraph parser (#5735) 2020-10-29 09:15:12 -07:00
Dong Zhang
d95e1969c8
[swsssdk] update submodule for adding new MultiDB API (#5737) 2020-10-28 21:47:01 -07:00
judyjoseph
6088bd59de
[multi-ASIC] BGP internal neighbor table support (#5520)
* Initial commit for BGP internal neighbor table support.
  > Add new template named "internal" for the internal BGP sessions
  > Add a new table in database "BGP_INTERNAL_NEIGHBOR"
  > The internal BGP sessions will be stored in this new table "BGP_INTERNAL_NEIGHBOR"

* Changes in template generation tests with the introduction of internal neighbor template files.
2020-10-28 16:41:27 -07:00
Shi Su
09d5a62fad
[sonic-sairedis] Update submodule (#5728)
Update the sonic-sairedis submodule. The following are the commits in the submodule.

[syncd_init_common.sh] Use template file to retrieve vars (#683)
0bf336a3e895167357d5d2e5a988471e115522e8

[syncd/FlexCounter]:Fix last remove bug (#679)
4d21a264d5956501bf69ad3a89ea2ebccd369654
2020-10-27 20:42:57 -07:00
Lawrence Lee
a639021af2
[minigraph.py]: Parse VLAN MAC address from minigraph when present (#5726) 2020-10-27 17:20:55 -07:00
Danny Allen
e0b09d0998
[swss] Update swss submodule (#5719)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-10-27 14:38:43 -07:00
vdahiya12
dfe005545a
[sonic-platform-common] update submodule (#5721)
a659219 [SONIC_SFP] adding abstract methods for reading and writing the eeprom address space within platform api (#126)
848f4a6 Add third-party licenses (#138)
c2ecd9a Add license file (#137)
403747a [sonic-platform-common] Add new platform API for SONiC Physical MIB Extension feature (#134)
19b8545 [sonic_y_cable] fix the unpacking (#135)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-10-27 09:36:26 -07:00
Joe LeVeque
9e34003136
[sonic-config-engine] Clean up dependencies, pin versions; install Python 3 package in Buster container (#5656)
To clean up the image build procedure, and let setuptools/pip[3] implicitly install Python dependencies. Also use ipaddress package instead of ipaddr.
2020-10-26 13:48:50 -07:00
shlomibitton
e66d49a57c
[LLDP] Fix for LLDP advertisements being sent with wrong information. (#5493)
* Fix for LLDP advertisments being sent with wrong information.
Since lldpd is starting before lldpmgr, some advertisment packets might sent with default value, mac address as Port ID.
This fix hold the packets from being sent by the lldpd until all interfaces are well configured by the lldpmgrd.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>

* Fix comments

* Fix unit-test output caused a failure during build

* Add 'run_cmd' function and use it

* Resume lldpd even if port init timeout reached
2020-10-26 19:38:09 +02:00
judyjoseph
c14b41dc30
[submodule]: Advance sonic-swss-common and sonic-sairedis module (#5703)
Advance sonic-swss-common submodule by adding the following  commits 

3ec30ef Deprecate RedisClient and remove unused header file (#399)
165a679 Schema update for BGP internal neighbor table (#389)
262e330 Fix SonicV2Connector interfaces (#396)

Advance sonic-sairedis submodule by adding the following  commits 

bc3e044  [Sai]: Change Sai::set log to level INFO (#680)
b16bc8b Clean code: remove unused header file (#678)
40439b4 [syncd] Remove depreacated dependency on swss::RedisClient (#681)
1b6fc2e [syncd] Add supports of bulk api in syncd (#656)
a9f69c1 [syncd] Add to handle FDB MOVE notification (#670)
c7ef5e9 [gbsyncd] exit with zero when platform has no gearbox (#676)
57228fd [gbsyncd]: add missing python dependency (#675)
02a57a6 [vs] Add CRM SAI attributes to virtual switch interface (#673)
609445a fix boot type for fast boot (#674)
1325cdf Add support for saiplayer bulk API and add performance timers (#666)
1d84b90 Add ZeroMQ communication channel between sairedis and syncd (#659)
017056a Support System ports config (#657)
0f3668f Enable fabric counter for syncd's FlexCounter (#669)
2020-10-26 09:19:16 -07:00
Lawrence Lee
c4f9bec562
[minigraph.py]: Add support for parsing mux cable (#5676)
Find LogicalLinks in minigraph and parse the port information. A new field called `mux_cable` is added to each port's entry in the Port table in config DB:

```
PORT|Ethernet0: {
	"alias": "Ethernet4/1"
	...
	"mux_cable": "true"
}
```

If a mux cable is present on a port, the value for `mux_cable` will be `"true"`. If no mux cable is present, the attribute will either be omitted (default behavior) or set to `"false"`.
2020-10-26 08:52:20 -07:00
Nazarii Hnydyn
ba6f012cc6
[sonic-py-common]: Fix syslog implicit min priority override (#5707)
Current implementation of logger class is based on standard python syslog library.  
Thus, logger class can be instantiated in different places and share the same context across the entire process.  
This means that reducing log severity level will affect other modules which use logging facility.

**- Why I did it**
* To fix syslog implicit min priority override

**- How I did it**
* Added per instance log severity check

**- How to verify it**
1. Run code snippet
```
from sonic_py_common import logger

log1 = logger.Logger(log_identifier='myApp1')
log1.set_min_log_priority_debug()
log1.log_error("=> this is error")
log1.log_warning("=> this is warning")
log1.log_notice("=> this is notice")
log1.log_info("=> this is info")
log1.log_debug("=> this is debug")

log2 = logger.Logger(
    log_identifier='myApp2',
    log_facility=logger.Logger.LOG_FACILITY_DAEMON,
    log_option=(logger.Logger.LOG_OPTION_NDELAY | logger.Logger.LOG_OPTION_PID)
)
log2.log_error("=> this is error")
log2.log_warning("=> this is warning")
log2.log_notice("=> this is notice")
log2.log_info("=> this is info")
log2.log_debug("=> this is debug")
```
2. Sample output:
```
Oct 23 15:08:30.447301 sonic ERR myApp1: => this is error
Oct 23 15:08:30.447908 sonic WARNING myApp1: => this is warning
Oct 23 15:08:30.448305 sonic NOTICE myApp1: => this is notice
Oct 23 15:08:30.448696 sonic INFO myApp1: => this is info
Oct 23 15:08:30.449063 sonic DEBUG myApp1: => this is debug

Oct 23 15:08:30.449442 sonic ERR myApp2[19178]: => this is error
Oct 23 15:08:30.449819 sonic WARNING myApp2[19178]: => this is warning
Oct 23 15:08:30.450183 sonic NOTICE myApp2[19178]: => this is notice
```

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-10-24 12:36:22 -07:00
Joe LeVeque
3a4435eb53
Add sonic-host-services and sonic-host-services-data packages (#5694)
**- Why I did it**

Install all host services and their data files in package format rather than file-by-file

**- How I did it**

- Create sonic-host-services Python wheel package, currently including procdockerstatsd
  - Also add the framework for unit tests by adding one simple procdockerstatsd test case
- Create sonic-host-services-data Debian package which is responsible for installing the related systemd unit files to control the services in the Python wheel. This package will also be responsible for installing any Jinja2 templates and other data files needed by the host services.
2020-10-23 09:52:29 -07:00
judyjoseph
ace7f24cba
[docker-teamd]: Add teamd as a depedent service to swss (#5628)
**- Why I did it**
On teamd docker restart, the swss and syncd needs to be restarted as there are dependent resources present.

**- How I did it**
Add the teamd as a dependent service for swss
Updated the docker-wait script to handle service and dependent services separately.
Handle the case of warm-restart for the dependent service   

**- How to verify it**

Verified the following scenario's with the following testbed 
VM1 ----------------------------[DUT 6100] -----------------------VM2,  ping traffic continuous between VMs

1. Stop teamd docker alone  
      >  swss, syncd dockers seen going away
      >  The LAG reference count error messages seen for a while till swss docker stops.
      >  Dockers back up.

2. Enable WR mode for teamd. Stop teamd docker alone  
      >  swss, syncd dockers not removed.
      >  The LAG reference count error messages not seen
      >  Repeated stop teamd docker test - same result, no effect on swss/syncd.

3. Stop swss docker. 
      >  swss, teamd, syncd goes off - dockers comes back correctly, interfaces up

4. Enable WR mode for swss . Stop swss docker 
      >  swss goes off not affecting syncd/teamd dockers.

5. Config reload 
      > no reference counter error seen, dockers comes back correctly, with interfaces up

6. Warm reboot, observations below
	 > swss docker goes off first 
	 > teamd + syncd goes off to the end of WR process.
 	 > dockers comes back up fine.
	 > ping traffic between VM's was NOT HIT

7. Fast reboot, observations below
	 > teamd goes off first ( **confirmed swss don't exit here** )
	 > swss goes off next 
	 > syncd goes away at the end of the FR process
	 > dockers comes back up fine.
	 > there is a traffic HIT as per fast-reboot

8. Verified in multi-asic platform, the tests above other than WR/FB scenarios
2020-10-23 00:41:16 -07:00
Joe LeVeque
73825e4d4d
[system-health] Update .gitignore file (#5688)
Touch up .gitignore file to properly ignore all files generated when building a Python wheel package
2020-10-22 11:58:27 -07:00
pavel-shirshov
c94f93f046
[bgpcfgd]: Dynamic BBR support (#5626)
**- Why I did it**
To introduce dynamic support of BBR functionality into bgpcfgd.
BBR is adding  `neighbor PEER_GROUP allowas-in 1' for all BGP peer-groups which points to T0
Now we can add and remove this configuration based on CONFIG_DB entry 

**- How I did it**
I introduced a new CONFIG_DB entry:
 - table name: "BGP_BBR"
 - key value: "all". Currently only "all" is supported, which means that all peer-groups which points to T0s will be updated
 - data value: a dictionary: {"status": "status_value"}, where status_value could be either "enabled" or "disabled"

Initially, when bgpcfgd starts, it reads initial BBR status values from the [constants.yml](https://github.com/Azure/sonic-buildimage/pull/5626/files#diff-e6f2fe13a6c276dc2f3b27a5bef79886f9c103194be4fcb28ce57375edf2c23cR34). Then you can control BBR status by changing "BGP_BBR" table in the CONFIG_DB (see examples below).

bgpcfgd knows what peer-groups to change fron [constants.yml](https://github.com/Azure/sonic-buildimage/pull/5626/files#diff-e6f2fe13a6c276dc2f3b27a5bef79886f9c103194be4fcb28ce57375edf2c23cR39). The dictionary contains peer-group names as keys, and a list of address-families as values. So when bgpcfgd got a request to change the BBR state, it changes the state only for peer-groups listed in the constants.yml dictionary (and only for address families from the peer-group value).

**- How to verify it**
Initially, when we start SONiC FRR has BBR enabled for PEER_V4 and PEER_V6:
```
admin@str-s6100-acs-1:~$ vtysh -c 'show run' | egrep 'PEER_V.? allowas'
  neighbor PEER_V4 allowas-in 1
  neighbor PEER_V6 allowas-in 1
```

Then we apply following configuration to the db:
```
admin@str-s6100-acs-1:~$ cat disable.json                
{
        "BGP_BBR": {
            "all": {
                "status": "disabled"
            }
        }
}


admin@str-s6100-acs-1:~$ sonic-cfggen -j disable.json -w 
```
The log output are:
```
Oct 14 18:40:22.450322 str-s6100-acs-1 DEBUG bgp#bgpcfgd: Received message : '('all', 'SET', (('status', 'disabled'),))'
Oct 14 18:40:22.450620 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-f', '/tmp/tmpmWTiuq']'.
Oct 14 18:40:22.681084 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-c', 'clear bgp peer-group PEER_V4 soft in']'.
Oct 14 18:40:22.904626 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-c', 'clear bgp peer-group PEER_V6 soft in']'.
```

Check FRR configuraiton and see that no allowas parameters are there:
```
admin@str-s6100-acs-1:~$ vtysh -c 'show run' | egrep 'PEER_V.? allowas' 
admin@str-s6100-acs-1:~$
```

Then we apply enabling configuration back:
```
admin@str-s6100-acs-1:~$ cat enable.json 
{
        "BGP_BBR": {
            "all": {
                "status": "enabled"
            }
        }
}

admin@str-s6100-acs-1:~$ sonic-cfggen -j enable.json -w 
```
The log output:
```
Oct 14 18:40:41.074720 str-s6100-acs-1 DEBUG bgp#bgpcfgd: Received message : '('all', 'SET', (('status', 'enabled'),))'
Oct 14 18:40:41.074720 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-f', '/tmp/tmpDD6SKv']'.
Oct 14 18:40:41.587257 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-c', 'clear bgp peer-group PEER_V4 soft in']'.
Oct 14 18:40:42.042967 str-s6100-acs-1 DEBUG bgp#bgpcfgd: execute command '['vtysh', '-c', 'clear bgp peer-group PEER_V6 soft in']'.
```


Check FRR configuraiton and see that the BBR configuration is back:
```
admin@str-s6100-acs-1:~$ vtysh -c 'show run' | egrep 'PEER_V.? allowas'
  neighbor PEER_V4 allowas-in 1
  neighbor PEER_V6 allowas-in 1
```

*** The test coverage ***
Below is the test coverage
```
---------- coverage: platform linux2, python 2.7.12-final-0 ----------
Name                             Stmts   Miss  Cover
----------------------------------------------------
bgpcfgd/__init__.py                  0      0   100%
bgpcfgd/__main__.py                  3      3     0%
bgpcfgd/config.py                   78     41    47%
bgpcfgd/directory.py                63     34    46%
bgpcfgd/log.py                      15      3    80%
bgpcfgd/main.py                     51     51     0%
bgpcfgd/manager.py                  41     23    44%
bgpcfgd/managers_allow_list.py     385     21    95%
bgpcfgd/managers_bbr.py             76      0   100%
bgpcfgd/managers_bgp.py            193    193     0%
bgpcfgd/managers_db.py               9      9     0%
bgpcfgd/managers_intf.py            33     33     0%
bgpcfgd/managers_setsrc.py          45     45     0%
bgpcfgd/runner.py                   39     39     0%
bgpcfgd/template.py                 64     11    83%
bgpcfgd/utils.py                    32     24    25%
bgpcfgd/vars.py                      1      0   100%
----------------------------------------------------
TOTAL                             1128    530    53%
```

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

- [ ] 201811
- [x] 201911
- [x] 202006
2020-10-22 11:04:21 -07:00
abdosi
ef8a48a728
Everflow and Dataacl were getting binded to Backplane port-channels. (#5691)
Issue was because we were relying on port_alias_asic_map dictionary
but that dictionary can't be used as alias name format has changed.

Fix the port alias mapping as what is needed.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-22 10:29:46 -07:00
Prince Sunny
63d40865ab
[Submodule] sonic-restapi (#5679)
37a7c61 - 2020-10-16 : Add to local route DB if ifname present in route add API (#51) [Sumukha Tumkur Vani]
2b4b6d7 - 2020-10-01 : Fix typo (#50) [Sumukha Tumkur Vani]
f0a527b - 2020-09-24 : Use RESTAPI_DB, cache reset_status (#49) [Prince Sunny]
2020-10-22 08:28:02 -07:00
pavel-shirshov
d19d1dd569
[bgpcfgd]: Change prefix-list generation for "Allow prefix" feature (#5639)
**- Why I did it**
I was asked to change "Allow list" prefix-list generation rule.
Previously we generated the rules using following method:
``` 
For each {prefix}/{masklen} we would generate the prefix-rule
permit {prefix}/{masklen} ge {masklen}+1
Example:
Prefix 1.2.3.4/24 would have following prefix-list entry generated
permit 1.2.3.4/24 ge 23
```
But we discovered the old rule doesn't work for all cases we have.

So we introduced the new rule:
```
For ipv4 entry,  
For mask  < 32 , we will add ‘le 32’ to cover all  prefix masks to be sent by T0  
For mask =32 , we will not add any ‘le mask’ 
For ipv6 entry, we will add le 128 to cover all the prefix mask to be sent by T0  
For mask < 128 , we will add ‘le 128’ to cover all prefix masks to be sent by T0 
For mask = 128 , we will not add any ‘le mask’ 
```    

**- How I did it**
I change prefix-list entry generation function. Also I introduced a test for the changed function.

**- How to verify it**
1. Build an image and put it on your dut.

2. Create a file test_schema.conf with the test configuration
```
{
    "BGP_ALLOWED_PREFIXES": {
        "DEPLOYMENT_ID|0|1010:1010": {
            "prefixes_v4": [
                "10.20.0.0/16",
                "10.50.1.0/29"
            ],
            "prefixes_v6": [
                "fc01:10::/64",
                "fc02:20::/64"
            ]
        },
        "DEPLOYMENT_ID|0": {
            "prefixes_v4": [
                "10.20.0.0/16",
                "10.50.1.0/29"
            ],
            "prefixes_v6": [
                "fc01:10::/64",
                "fc02:20::/64"
            ]
        }
    }
}
```

3. Apply the configuration by command 
```
sonic-cfggen -j test_schema.conf --write-to-db
```

4. Check that your bgp configuration has following prefix-list entries:
```
admin@str-s6100-acs-1:~$ show runningconfiguration bgp | grep PL_ALLOW
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V4 seq 10 deny 0.0.0.0/0 le 17
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V4 seq 20 permit 127.0.0.1/32
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V4 seq 30 permit 10.20.0.0/16 le 32
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V4 seq 40 permit 10.50.1.0/29 le 32
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V4 seq 10 deny 0.0.0.0/0 le 17
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V4 seq 20 permit 127.0.0.1/32
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V4 seq 30 permit 10.20.0.0/16 le 32
ip prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V4 seq 40 permit 10.50.1.0/29 le 32
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V6 seq 10 deny ::/0 le 59
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V6 seq 20 deny ::/0 ge 65
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V6 seq 30 permit fc01:10::/64 le 128
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_1010:1010_V6 seq 40 permit fc02:20::/64 le 128
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V6 seq 10 deny ::/0 le 59
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V6 seq 20 deny ::/0 ge 65
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V6 seq 30 permit fc01:10::/64 le 128
ipv6 prefix-list PL_ALLOW_LIST_DEPLOYMENT_ID_0_COMMUNITY_empty_V6 seq 40 permit fc02:20::/64 le 128

``` 

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-10-20 00:38:09 -07:00
Danny Allen
cdb82b9fc2
[swss] Update swss and swss-common submodule pointers (#5630)
[swss]
[acl] Replace IP_PROTOCOL with NEXT_HEADER for IPv6 ACL tables (#1458)
[acl] Refactor port OID retrieval into aclorch (#1462)
Fix issue #5157 by identifying the dependency among objects and avoiding releasing an object still being referenced (#1440)
[mock tests] Update MockDBConnector to match new swsscommon interface (#1465)

[swss-common]
netlink: Setting nl_socket buffer size to 3M from 2M (#391)
Added support in Swig file to cast Selectable object to Subscriber Table object (#394)
[warm reboot] Warm Reboot Support for EVPN VXLAN (#350)
Implement DBInterface/SonicV2Connector in C++ (#387)
Fix memory leak if a RedisCommand object were to be reused (#392)

Signed-off-by: Danny Allen <daall@microsoft.com>
2020-10-16 14:28:55 -07:00
Stepan Blyshchak
8df0e2b6ce
[sonic-cfggen] store jinja2 cache in log level db. (#5646)
This PR makes two changes:
    - Store Jinja2 cache in LOGLEVEL DB instead of STATE DB
    - Store bytecode cache encoded in base64

Tested with the following command: "redis-dump -d 3 -k JINJA2_CACHE"

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2020-10-16 12:00:57 -07:00
Joe LeVeque
d8363a99dc
[sonic-platform-common] Update submodule (#5625)
Includes the following commits:

* src/sonic-platform-common 111dcf7...b316f8d (5):
  > [sonic_platform_base] fix an indentation in fan_drawer_base.py (#133)
  > [SONIC_Y_CABLE] Adding new Y cable Package for accessing  Y cable QSFP's eeprom and configuring Y cable's mux through eeprom (#128)
  > Merge pull request #132 from vdahiya12/adding_changes_for_base_api
  > [ChassisBase][ModuleBase] Remove redundant 'get_serial_number()' method (#130)
  > Merge pull request #125 from vdahiya12/changes_for_mux_driver
2020-10-16 11:17:13 -07:00
Qi Luo
a5adb577f3
[sonic-snmpagent]: Advance submodule (#5614)
6e4a796 2020-10-12 | Fix: correctly handle that lldp_loc_man_addr contains only IPv6 address without IPv4 address (#164) [Qi Luo]
0f772ce 2020-09-28 | [ciscoSwitchQosMIB]: Remove invocation of update_data function during (#161) [SuvarnaMeenakshi]
2020-10-14 10:54:24 -07:00
Joe LeVeque
88c1d66c27
[python-click] No longer build our own package, let pip/setuptools install vanilla (#5549)
We were building our own python-click package because we needed features/bug fixes available as of version 7.0.0, but the most recent version available from Debian was in the 6.x range.

"Click" is needed for building/testing and installing sonic-utilities. Now that we are building sonic-utilities as a wheel, with Click specified as a dependency in the setup.py file, setuptools will install a more recent version of Click in the sonic-slave-buster container when building the package, and pip will install a more recent version of Click in the host OS of SONiC when installing the sonic-utilities package. Also, we don't need to worry about installing the Python 2 or 3 version of the package, as the proper one will be installed as necessary.
2020-10-14 10:16:35 -07:00
Nazarii Hnydyn
0155a15813
[submodule]: Advance swss submodule. (#5611)
- [portsorch]: Set proper initial forwarding state for LAG member #1448

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-10-14 08:58:50 -07:00
pavel-shirshov
812e1a3489
[bgp]: Enable next-hop-tracking through default (#5600)
**- Why I did it**
FRR introduced [next hop tracking](http://docs.frrouting.org/projects/dev-guide/en/latest/next-hop-tracking.html) functionality. 
That functionality requires resolving BGP neighbors before setting BGP connection (or explicit ebgp-multihop command). Sometimes (BGP MONITORS) our neighbors are not directly connected and sessions are IBGP. In this case current configuration prevents FRR to establish BGP connections.  Reason would be "waiting for NHT". To fix that we need either add static routes for each not-directly connected ibgp neighbor, or enable command `ip nht resolve-via-default`

**- How I did it**
Put `ip nht resolve-via-default` into the config

**- How to verify it**
Build an image. Enable BGP_MONITOR entry and check that entry is Established or Connecting in FRR

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-10-13 22:21:28 -07:00
vdahiya12
3cd1d8e923
[sonic-py-common] Add platform.json to port_config files candidates only if interfaces are present within platform.json (#5538)
* [sonic-py-common] add platform.json to port_config

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-10-13 16:58:06 -07:00
lguohan
4a390e93cf
[submodule]: sonic-utilities (#5606)
* b6af9f4 2020-10-12 | Fix expected neighbor when multiple ports connect to same neighbor (#1162) [lguohan]
* a71c72b 2020-10-12 | [show] Add 'show' CLI for system-health feature (#971) [shlomibitton]
* 561d133 2020-10-10 | [README.md] Add instructions for setting up a build/test environment (#1161) [Joe LeVeque]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-10-13 15:25:45 -07:00
Junchao-Mellanox
1c97a03b81
[system-health] Add support for monitoring system health (#4835)
* system health first commit

* system health daemon first commit

* Finish healthd

* Changes due to lower layer logic change

* Get ASIC temperature from TEMPERATURE_INFO table

* Add system health make rule and service files

* fix bugs found during manual test

* Change make file to install system-health library to host

* Set system LED to blink on bootup time

* Caught exceptions in system health checker to make it more robust

* fix issue that fan/psu presence will always be true

* fix issue for external checker

* move system-health service to right after rc-local service

* Set system-health service start after database service

* Get system up time via /proc/uptime

* Provide more information in stat for CLI to use

* fix typo

* Set default category to External for external checker

* If external checker reported OK, save it to stat too

* Trim string for external checker output

* fix issue: PSU voltage check always return OK

* Add unit test cases for system health library

* Fix LGTM warnings

* fix demo comments: 1. get boot up timeout from monit configuration file; 2. set system led in library instead of daemon

* Remove boot_timeout configuration because it will get from monit config file

* Fix argument miss

* fix unit test failure

* fix issue: summary status is not correct

* Fix format issues found in code review

* rename th to threshold to make it clearer

* Fix review comment: 1. add a .dep file for system health; 2. deprecated daemon_base and uses sonic-py-common instead

* Fix unit test failure

* Fix LGTM alert

* Fix LGTM alert

* Fix review comments

* Fix review comment

* 1. Add relevant comments for system health; 2. rename external_checker to user_define_checker

* Ignore check for unknown service type

* Fix unit test issue

* Rename user define checker to user defined checker

* Rename user_define_checkers to user_defined_checkers for configuration file

* Renmae file user_define_checker.py -> user_defined_checker.py

* Fix typo

* Adjust import order for config.py

Co-authored-by: Joe LeVeque <jleveque@users.noreply.github.com>

* Adjust import order for src/system-health/health_checker/hardware_checker.py

Co-authored-by: Joe LeVeque <jleveque@users.noreply.github.com>

* Adjust import order for src/system-health/scripts/healthd

Co-authored-by: Joe LeVeque <jleveque@users.noreply.github.com>

* Adjust import orders in src/system-health/tests/test_system_health.py

* Fix typo

* Add new line after import

* If system health configuration file not exist, healthd should exit

* Fix indent and enable pytest coverage

* Fix typo

* Fix typo

* Remove global logger and use log functions inherited from super class

* Change info level logger to notice level

Co-authored-by: Joe LeVeque <jleveque@users.noreply.github.com>
2020-10-12 11:12:49 +03:00
Joe LeVeque
5e97574e5d
[sonic-utilities] Update submodule (#5578)
* src/sonic-utilities 6e58dff...e1244a5 (5):
  > [setup.py] Pin external runtime dependencies at known working versions (#1151)
  > [config] Reload Monit configuration after potential hostname changes (#1132)
  > [NAT]:Updated natshow script to support DNAT Pool changes (#1001)
  > [pfcstat] Create new copies of Rx and Tx dictionaries (#1150)
  > [master]Fix show ip interface neighbor info not correct when add second ip (#1134)
2020-10-10 14:14:58 -07:00
Shi Su
c1add9a9c5
[sonic-sairedis] Update submodule (#5568)
Signed-off-by: shi-su <ssu@microsoft.com>
2020-10-08 23:37:36 -07:00
anish-n
42d9a44e05
Minigraph resource type changes (#5198)
* Parse sub_role from minigraph into DEVICE_METADATA
* Change minigraph sub_role to resource_type
2020-10-08 15:45:21 -07:00
Mahesh Maddikayala
744612d269
[ECMP][Multi-ASIC] Have different ECMP seed value on each ASIC (#5357)
* Calculate ECMP hash seed based on ASIC ID on multi ASIC platform. Each ASIC will have a unique ECMP hash seed value.
2020-10-08 09:05:37 -07:00
Petro Bratash
895f4e0bf7
[sonic-utilities] Submodule update (#5558)
- Fix show queue watermark command fail
     Azure/sonic-utilities@6e58dff

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-10-07 11:32:38 -07:00
zzhiyuan
3da996bbf8
[arista]: Add disable_pcie_firmware_check soc property (#5543)
This is to fix pcie firmware check assert in Broadcom SDK once the SAI changes merges. This will be in the future but adding the soc property in the broadcom config now.

Co-authored-by: Zhi Yuan Carl Zhao <zyzhao@arista.com>
2020-10-06 18:35:15 -07:00
pavel-shirshov
63c1afbc68
[bgpcfgd]: Extract classes into their own files. Run bgpcfgd as a module (#5535)
1. Rename app module to bgpcfgd
2. Extract classes from one file to the module
2020-10-06 08:37:49 -07:00
Danny Allen
90d84143e8
[submodule update] Update sonic-utilities submodule pointer (#5545)
- [acl-loader] Revert fix for IP protocol == 0 (#1142)
- Show sflow interface to display all interfaces enabled for sflow (#1143)
- [sflow_test.py]: tests for config sflow commands. (#1112)
- [config/console] Support add/del console port setting commands (#1136)
- [cli][bgp]use vtysh in the show ip bgp summary command (#1137)
- [README.md] Describe new package creation schema (#1131)
- [consutil] Remove actual baud and refactor lib for future change (#1130)

Signed-off-by: Danny Allen <daall@microsoft.com>
2020-10-05 19:54:21 -07:00
Lawrence Lee
8c344095a8
[docker-orchagent]: Add NDP Proxy Daemon (#5517)
* Install ndppd during image build, and copy config files to image
* Configure proxy settings based on config DB at container start
* Pipe ndppd output to logger inside container to log output in syslog
2020-10-05 08:48:13 -07:00
Dong Zhang
6b0690adbb
[sonic-py-swsssdk] update submodule for using correct connect parameter number (#5524)
* [MultiDB] fix wrong parameter number in interface.py (#88)

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2020-10-03 23:03:13 -07:00
Mahesh Maddikayala
32a517f583
[sonic-swss] Update sonic-swss submodule (#5533) 2020-10-03 09:47:51 -07:00
pavel-shirshov
ffae82f8be
[bgp] Add 'allow list' manager feature (#5513)
implements a new feature: "BGP Allow list."

This feature allows us to control which IP prefixes are going to be advertised via ebgp from the routes received from EBGP neighbors.
2020-10-02 10:06:04 -07:00
abdosi
c0bbb7b63d
Fix python expception of missing subprocess (#5503)
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-02 09:09:38 -07:00
abdosi
dda98023e3
[Submodule update] sonic swss (#5489)
be51ebc533cbe92a885c584b4611ffc92d10ea36 Add IPv6 key item support to request parser (#1449)
76e22516bffe45d577ab9cce4f5d96687140fe75 When teamd feature state is disabled the Netdevice created by teamd were (#1450)
6aa97ce7982b78a26803908c0ce12302e51df793 Use .clear() after std::move() (#1444)
d5757db5d896aa2405f6cbf9f4c150f46b27aa4e Add libzmq to README dependencies (#1447)
c7b262ee61973a48943603810c8246a2471d1862 Add libzmq to Makefiles (#1443)
0b2e59ab6b909e5ea06013da03215f0d1af1e618 [drop counters] Clarify log messages for initial counter setup (#1445)
003cf24353c845ef708d192b7da8d571537671e1 [dvs] Refactor and add buffer pool wm test (#1446)
2f5d2d99dfae506333bddda9de2f289f92bb889b [acl] Remove Ethertype from L3V6 qualifiers (#1433)
f7b974f7fc6474a6493a7b6d0676e17caffa6165 Fix issue: bufferorch only pass the first attribute to sai when setting attribute (#1442)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-02 09:06:30 -07:00
Qi Luo
30f5557d36
Fix generate_l2_config: don't override hostname or device role (ToRRouter) (#5510)
* Fix generate_l2_config: don't override hostname because sonic-cfggen may not read from Redis. Fix test_l2switch_template test case to test preset l2 feature.
* Improve test script: compare json files with sort_keys
* Revert changes on sample_output
* Remove members field in VLAN section. Fix test assertTrue statement.
2020-10-01 23:24:35 -07:00
pavel-shirshov
1f0f751d4d
[bgpcfgd]: Don't use neighbor metadata in bgpmon sessions (#5506)
**- Why I did it**
BGP_MONITORS sessions don't have corresponding DEVICE_NEIGHBOR_METADATA CONFIG_DB entries in the minigraphs. Prevent bgpcfgd to wait on such entries for BGP_MONITORS sessions.

**- How I did it**
Set constructor argument to False that means - don't wait for device neighbors metadata info for BGP_MONITORS

**- How to verify it**
Build an image, write on your device, use a minigraph with BGP_MONITORS sessions. Check that sessions are populated in the config.
2020-09-30 22:35:52 -07:00
Dong Zhang
b01879b44b
[sonic-py-swsssdk] update submodule for changing redis_client index from db_id to db_name (#5512) 2020-09-30 13:42:20 -07:00
Tamer Ahmed
57a584997a [cfggen] Iterative Version Of Deep Update
Avoiding recursive update of maps as it consumes stack frames. This
PR introduces iterative version of deep_update method.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-30 07:07:43 -07:00
Tamer Ahmed
110f7b7817 [cfggen] Build Python 2 And Python 3 Wheel Packages
This builds Python 2&3 wheel packages for sonic-cfggen script.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-30 07:07:43 -07:00
Tamer Ahmed
99ffce6b57 [cfggen] Move Python 2 Test Data to Py2 Folder
Rendering templates show different orders when rendered using Python
2 vs Python 3. This PR prepare for Python 3 packaging by creating
new dir 'py2' for Python 2 rendered test cases.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-30 07:07:43 -07:00
Tamer Ahmed
6754635010 [cfggen] Make Jinja2 Template Python 3 Compatible
Jinja2 templates rendered using Python 3 interpreter, are required
to conform with Python 3 new semantics.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-30 07:07:43 -07:00
Tamer Ahmed
9122d16dd2 [cfggen] Remove NatSorted
Natural sorting of SONiC config gen output consumes lot of CPU cycles.
The sole use of natsorted was to make test comparison easier and so,
the natsorting logic is now relocated to the test suite. As a result
sonic-cfggen gained nearly 1 sec per call since we no longer import
natsorted module!

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-30 07:07:43 -07:00
Guohan Lu
e412338743 Revert "[bgp] Add 'allow list' manager feature (#5309)"
This reverts commit 6eed0820c8.
2020-09-28 22:00:29 -07:00
bingwang-ms
e3f8159606
[sonic_py_common] Fix exception in daemon_base.py (#5472)
There is a syntax error (self is missing for log_info and log_warning) in signal_handler in daemon_base.py, which causes an exception
2020-09-27 11:31:45 -07:00
pavel-shirshov
6eed0820c8
[bgp] Add 'allow list' manager feature (#5309)
implements a new feature: "BGP Allow list."

This feature allows us to control which IP prefixes are going to be advertised via ebgp from the routes received from EBGP neighbors.
2020-09-27 10:47:43 -07:00
Joe LeVeque
dd02437d7f
[sonic-platform-common] Update submodule (#5470)
* src/sonic-platform-common 7255d3a...111dcf7 (2):
  > [EEPROM] Add new function part_number_str to TlvInfoDecoder (#121)
  > Fix fp_port_index error to get correct index type (#111)
2020-09-25 19:18:05 -07:00
Sangita Maity
ccc3d75535
[portconfig] Fallback to port_config.ini if hwsku.json is not available (#5434)
**- Why I did it**
As discussed, This PR covers the below points.
1. Give precedence to platform.json only if both platform.json and  hwsku.json file exist.  In case only platform.json exists, we don’t allow breakout for that HWSKU and fallback to port_config.ini.
 
**- How I did it**
check for `hwsku.json` file presence under get_path_to_port_config_file function.

Signed-off-by: Sangita Maity <sangitamaity0211@gmail.com>
2020-09-25 12:47:45 -07:00
Sumukha Tumkur Vani
b5bcfef013
Update conf DB with CA cert & rename ca_crt field (#5448) 2020-09-25 09:20:09 -07:00
Syd Logan
0311a4a037
Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature (#4851)
* buildimage: Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature

* scripts and configuration needed to support a second syncd docker (physyncd)
* physyncd supports gearbox device and phy SAI APIs and runs multiple instances of syncd, one per phy in the device
* support for VS target (sonic-sairedis vslib has been extended to support a virtual BCM81724 gearbox PHY).

HLD is located at b817a12fd8/doc/gearbox/gearbox_mgr_design.md

**- Why I did it**

This work is part of the gearbox phy joint effort between Microsoft and Broadcom, and is based
on multi-switch support in sonic-sairedis.

**- How I did it**

Overall feature was implemented across several projects. The collective pull requests (some in late stages of review at this point):

https://github.com/Azure/sonic-utilities/pull/931 - CLI (merged)
https://github.com/Azure/sonic-swss-common/pull/347 - Minor changes (merged)
https://github.com/Azure/sonic-swss/pull/1321 - gearsyncd, config parsers, changes to orchargent to create gearbox phy on supported systems
https://github.com/Azure/sonic-sairedis/pull/624 - physyncd, virtual BCM81724 gearbox phy added to vslib

**- How to verify it**

In a vslib build:

root@sonic:/home/admin# show gearbox interfaces status
  PHY Id    Interface        MAC Lanes    MAC Lane Speed        PHY Lanes    PHY Lane Speed    Line Lanes    Line Lane Speed    Oper    Admin
--------  -----------  ---------------  ----------------  ---------------  ----------------  ------------  -----------------  ------  -------
       1   Ethernet48  121,122,123,124               25G  200,201,202,203               25G       204,205                50G    down     down
       1   Ethernet49  125,126,127,128               25G  206,207,208,209               25G       210,211                50G    down     down
       1   Ethernet50      69,70,71,72               25G  212,213,214,215               25G           216               100G    down     down

In addition, docker ps | grep phy should show a physyncd docker running.

  Signed-off-by: syd.logan@broadcom.com
2020-09-25 08:32:44 -07:00
Mahesh Maddikayala
224cc3953f
[CLI][Multi ASIC] update get_all_namespace to return current namespace (#5446) 2020-09-24 11:32:16 -07:00
SuvarnaMeenakshi
8c8773bee6
[sonic-snmpagent]: Advance submodule (#5454)
- Implementation changes for CiscoBgp4MIB (#158)

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-09-24 11:12:23 -07:00
Syd Logan
623d5c08c1
[submodule]: update sonic-swss-common/sonic-sairedis (#5449)
Update to pick up changes needed for VS gearbox

- sonic-sairedis
  -  meta/saiserialize.cpp - Fix typo at SAI_ATTR_VALUE_TYPE_ACL_FIELD_DATA_UINT32 (#662)
  -  syncd/scripts/gbsyncd_start.sh - Rename physyncd_startup.sh/physyncd_startup.py to gbsyncd_startup.sh/gbsyncd_startup.py (#661)
  - syncd/scripts/gbsyncd_startup.py - Rename physyncd_startup.sh/physyncd_startup.py to gbsyncd_startup.sh/gbsyncd_startup.py (#661)

- sonic-swss-common
  - common/database_config.json -  Add restapi DB (#386)
  - common/redispipeline.h -  Throw proper exceptions when talking with Redis (#384)
  - common/redisreply.cpp -  Throw proper exceptions when talking with Redis (#384)
  - common/redisreply.h -  Throw proper exceptions when talking with Redis (#384)
  -  common/schema.h -  Add restapi DB (#386)
  - common/table.cpp - Add restapi DB (#386)

Signed-off-by Syd Logan syd.logan@broadcom.com
2020-09-24 01:08:55 -07:00
Joe LeVeque
ec9281be76
[sonic-platform-common][sonic-platform-daemons][sonic-snmpagent][sonic-utilities] Update submodules (#5435)
Update Python-based submodules to include updated dependencies in setup.py files.

* src/sonic-platform-common 14c6e53...7255d3a (2):
  > [setup.py] Update dependenices (#120)
  > [sfputilbase|sfputilhelper] fix value unpack error due to port_alias_asic_map in portconfig.py file (#116)

* src/sonic-platform-daemons e1842b2...1aaffcc (2):
  > Add 'wheel' package to 'setup_requires' list (#95)
  > [thermalctld] Fix issue: thermalctld should be auto restarted when being killed (#94)

* src/sonic-snmpagent 1a2b62a...5957460 (1):
  > [setup.py] Add 'wheel' to 'setup_requires' (#160)

* src/sonic-utilities 2244d7b...2f79ac1 (4):
  > [show] Add missing import to fix `show ip interfaces` (#1126)
  > Fixed config load_minigrpah not working for Multi-asic platfroms. (#1123)
  > Add CLI for configuring synchronous mode (#1094)
  > [setup.py] Update dependencies (#1125)
2020-09-23 19:24:59 -07:00
gechiang
04c709d27f
Fix bgpmon.py packaging issue for console_scripts entry point (#5436)
* Fix bgpmon.py packaging issue for console_scripts entry point

* renamed directory from bgpmon_proj to bgpmon
2020-09-23 09:40:49 -07:00
Qi Luo
03f82a0107
[submodule]: update sonic-swss-common/sonic-sairedis/sonic-swss (#5406) 2020-09-21 14:49:56 -07:00
Joe LeVeque
3987cbd80a
[sonic-utilities] Build and install as a Python wheel package (#5409)
We are moving toward building all Python packages for SONiC as wheel packages rather than Debian packages. This will also allow us to more easily transition to Python 3.

Python files are now packaged in "sonic-utilities" Pyhton wheel. Data files are now packaged in "sonic-utilities-data" Debian package.

**- How I did it**
- Build and install sonic-utilities as a Python package
- Remove explicit installation of wheel dependencies, as these will now get installed implicitly by pip when installing sonic-utilities as a wheel
- Build and install new sonic-utilities-data package to install data files required by sonic-utilities applications
- Update all references to sonic-utilities scripts/entrypoints to either reference the new /usr/local/bin/ location or remove absolute path entirely where applicable

Submodule updates:

* src/sonic-utilities aa27dd9...2244d7b (5):
  > Support building sonic-utilities as a Python wheel package instead of a Debian package (#1122)
  > [consutil] Display remote device name in show command (#1120)
  > [vrf] fix check state_db error when vrf moving (#1119)
  > [consutil] Fix issue where the ConfigDBConnector's reference is missing (#1117)
  > Update to make config load/reload backward compatible. (#1115)

* src/sonic-ztp dd025bc...911d622 (1):
  > Update paths to reflect new sonic-utilities install location, /usr/local/bin/ (#19)
2020-09-20 20:16:42 -07:00
gechiang
128def6969
Add bgpmon to be started as a new daemon under BGP docker (#5329)
* Add bgpmon under sonic-bgpcfgd to be started as a new daemon under BGP docker

* Added bgpmon to be monitored by Monit so that if it crashed, it gets alerted

* use console_scripts entry point to package bgpmon
2020-09-20 14:32:09 -07:00
Junchao-Mellanox
35de31b741
[sonic-platform-daemons] Update submodule (#5386)
e1842b2 Change STATE_DB key (PCIE_STATUS|PCIE_DEVICES -> PCIE_DEVICES) (#93)
a6c0071 [thermalctld] Fix issue: fan status should not be True when fan is absent (#92)
2020-09-16 10:36:40 -07:00
madhanmellanox
1b25b98f43
[submodule]: updating sonic-utilities changes (#5383)
Updating submodule for sonic-utilities to get the changes to Azure master. The following were the commits that were part of this submodule.

Handling deletion of Portchannel before deletion of its members 219d78bda596cf78b71e5f6930545fb43f9c6c8b

removed a extra space in the condifitional statement 828719ed89112f317f9e78fff8264416176736f0

added Note about portchannel deletion in Command-Reference guide b36079f1d3f4086e42cfdca2090ebc76d811ad10

removed ctx.fail() and replaced it with click.echo() to display the error. Also, references of portchannel is replaced with port channel in the command reference guide b716b97e1aaf890ba9ef4ed0bb2931f4c2c030d2

Co-authored-by: Madhan Babu <madhan@arc-build-server.mtr.labs.mlnx>
2020-09-16 09:12:13 -07:00
Samuel Angebault
9bf4b0a93e
[baseimage]: Change the loopback mask from /8 to /16 (#5353)
As per the VOQ HLDs, internal networking between the linecards and supervisor is required within a chassis.
Allocating 127.X/16 subnets for private communication within a chassis is a good candidate.
It doesn't require any external IP allocation as well as ensure that the traffic will not leave the chassis.

References:
https://github.com/Azure/SONiC/pull/622
https://github.com/Azure/SONiC/pull/639

**- How I did it**

Changed the `interfaces.j2` file to add `127.0.0.1/16` as the `lo` ip address.
Then once the interface is up, the post-up command removes the `127.0.0.1/8` ip address.
The order in which the netmask change is made matters for `127.0.0.1` to be reachable at all times.

**- How to verify it**

```
root@sonic:~# ip address show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/16 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
```

Co-authored-by: Baptiste Covolato <baptiste@arista.com>
2020-09-15 15:29:48 -07:00
Tamer Ahmed
15f5d47338
[dhcpmon] Print Both Snapshot And Current Counters (#5374)
Printing both snapshot and current counter sets will make it easier to pinpoint
which message type(s) is/are not being relayed. This PR prints both counter sets.
Also, this PR defines gnu11 as a C standard to compile with in order to avoid
making changes when porting to 201811 branch.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-15 15:27:36 -07:00
Qi Luo
17c923c15b
[submodule]: update sonic-swss-common (#5362)
cc2f80b 2020-09-11 | Fix SubscriberStateTable::hasCachedData formula for a timing risk
2020-09-12 00:17:23 -07:00
Petro Bratash
c44279a365
[sonic-platform-daemons] Update submodule (#5355)
- 1893c40495
  - Fix the xcvrd theowing error on sfprecover function on getKeys() not valid.
- 65fa4430fe
  - Merge pull request #90 from abdosi/multiasic-fix
- 7f812c93b1
  - [xcvrd] Don't log unnecessary messages upon empty transceiver change event (#53)
- 096920273b
  - Fix pcied daemon failure (#91)

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-09-11 13:03:53 -07:00
Tamer Ahmed
1bf6fdc6d2
[dhcpmon] Monitor Mgmt Interface For DHCP Packets (#5317)
When BGP routes are missing, DHCP packets get relayed over mgmt
interface. This results in dhcpmon alerting that DHCP packets are
not being relayed. This is PR include mgmt interface as uplink
device, and so, if DHCP packet gets relayed over mgmt interface,
regular dhcpmon alert will not be issues. Instead, dhcpmon will
check the mgmt interface counts and issue a separate alert regarding
packets travelling through mgmt network.

In addition, this PR includes the following enhancements:
1. Add SIGUSR1 handler that prints out current packet counts
2. Increase alert grace window to 3 minutes from currently 2 minutes
3. Time is now computed more accurately
4. Print vlan name before counters

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-09-09 18:37:01 -07:00
Renuka Manavalan
e9918bac07
[sonic-utilities] Update submodule (#5337)
Update to current head in master. Latest: commit 96cb3594a6afc64edcef7351623258287099118d
2020-09-09 09:04:21 -07:00
Joe LeVeque
5b3b4804ad
[dockers][supervisor] Increase event buffer size for dependent-startup (#5247)
When stopping the swss, pmon or bgp containers, log messages like the following can be seen:

```
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,061 ERRO pool dependent-startup event buffer overflowed, discarding event 34
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,063 ERRO pool dependent-startup event buffer overflowed, discarding event 35
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,064 ERRO pool dependent-startup event buffer overflowed, discarding event 36
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,066 ERRO pool dependent-startup event buffer overflowed, discarding event 37
```

This is due to the number of programs in the container managed by supervisor, all generating events at the same time. The default event queue buffer size in supervisor is 10. This patch increases that value in all containers in order to eliminate these errors. As more programs are added to the containers, we may need to further adjust these values. I increased all buffer sizes to 25 except for containers with more programs or templated supervisor.conf files which allow for a variable number of programs. In these cases I increased the buffer size to 50. One final exception is the swss container, where the buffer fills up to ~50, so I increased this buffer to 100.

Resolves https://github.com/Azure/sonic-buildimage/issues/5241
2020-09-08 23:36:38 -07:00
judyjoseph
1558c04fa8
Update sonic-swss submodule (#5322)
65f63c1 Sflow fixes during DEL processing (#1427)
e54948a [teamsyncd][teammgrd] Graceful exit after receiving SIGTERM (#1407)
2020-09-06 08:16:20 -07:00
vdahiya12
679d8df36f
[sonic-utilities][sonic-py-common] Move logic to get port config file path to sonic-py-common and update sonic-utilities to comply (#5264)
* [sonic-utilities]update submodule with fix

This PR addresses fixes in sonic-py-common to imitate the behavior inside
sonic-cfggen. Essentially this is a fix for accessing the port-config file.
First check if there is a platform.json file for config generation
and then for legacy port_config.ini.
Also updating the sub-module sonic-utilities.

Fix pfcwd stats crash with invalid queue name (#1077)
[show][bgp]Display the Total number of neighbors in the show ip bgp(v6) summary. (#1079)
[config] Update SONiC Environment Vars When Loading Minigraph (#1073)
Multi asic platform changes for interface, portchannel commands (#878)
Update Command-Reference.md (#1075)
[filter-fdb] Fix Filter FDB With IPv6 Present in Config DB (#1059)
[config] Remove _get_breakout_cfg_file_name helper function (#1069)
[SHOW][BGP] support show ip(v6) bgp summary for multi asic platform (#1064)
[fanshow] Display other fan status, such as Updating (#1014)
Add ip_prefix len based on proxy_arp status (#1046)
Enable the platform specific ssd firmware upgrade during reboot (#954)
[show][cli[show interface portchannel support for Multi ASIC (#1005)
support show interface commands for multi ASIC platforms (#1006)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-09-04 10:19:12 -07:00
judyjoseph
200d49eabb
sonic-platform-daemons submodule update (#5311)
[ledd][multi-ASIC] Update to ledd based on sonic-swss-common updates (#87)
remove sonic-utilities dependency from pcied (#88)
2020-09-04 08:58:20 -07:00
Danny Allen
fe01f0c285
[submodule] Update swsssdk submodule (#5295)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-09-03 00:21:25 -07:00
abdosi
dd908c2ee2
[sonic-swsscommon] submodule update with commit's (#5300)
[schema] Make schema header support C project (#373)
Removed DB specific get api's from Selectable class (#378)

With the change as part of #378 caclmgrd need to be updated
to use new client side Get API to access namespace.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-02 18:09:03 -07:00
Joe LeVeque
fb8f09a116
[radvd] No longer build from source; Install vanilla Debian package once again (#5242)
Remove radvd Makefile and patch, change docker-router-advertiser Dockerfile template to simply install the vanilla radvd package using apt-get.

- In PR https://github.com/Azure/sonic-buildimage/pull/2795, we started building radvd from source and patching it to prevent it from erroring out when advertising an MTU of 9100 which was greater than the MTU size configured on the bridge interface (1500), which was due to a limitation in the 4.9 Linux kernel.
- Master branch is now using Linux kernel 4.19. As of 4.18, the kernel supports setting a bridge MTU to a value > 1500.
- PR https://github.com/Azure/sonic-swss/pull/1393 modified vlanmgrd to take advantage of this and now configures the MTU of bridge interfaces in SONiC to the proper size of 9100. Therefore, we no longer need to patch radvd. Since we no longer need to patch radvd, we no longer need to build it from source, so we can save build time by going back to simply installing the vanilla radvd Debian package in the router-advertiser container.
2020-09-01 13:53:36 -07:00
sdddean
426b6aaf5b
[iccpd] Fix the bug of iccp cmd show. (#5214)
The cmd "mclagdctl dump state" would goes wrong when there are two or more mclag_groups configured. The field "MCLAG Interface" can not be displayed in some group.

Signed-off-by: Sun Dandan <sundandan@asterfusion.com>
2020-09-01 13:07:13 -07:00
arlakshm
17e78715ae
[Multi-ASIC]:Update the template to add ipinip entry for Loopback4096 (#5235)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
The following changes are done. 
- Multi asic platform have 2 Loopback interfaces, Loopback0 and Loopback4096. IPinIP decap entries need to be added for both of them. Update the ipinip.json.j2 template to add decap entries for Loopback4096.
- Add corressponding unit test
2020-08-31 17:35:48 -07:00
Sumukha Tumkur Vani
3d6ef3e790
Update restapi (#5267)
* Add available routes data to heartbeat API
* Accept subnet routes via tunnel, skip self loopback nexthop
2020-08-31 10:43:32 -07:00
judyjoseph
ca3e71da0a
[sonic-py-common] Relocate some functions from sonic-utilities (#5269)
* Relocate interface related common functions to py-common
* Add unit tests for interface API's.
2020-08-30 08:24:29 -07:00
shi-su
f973d90c76
[sonic-sairedis] Update submodule (#5243)
Signed-off-by: shi-su <ssu@microsoft.com>
2020-08-29 18:03:52 -07:00
judyjoseph
c3dbffa847
[sonic-platform-daemons] Update submodule (#5262)
Update the patform daemons with new commits 

commit e9628b6b5a4683c7366fc99ee19ce727546fbabb
    Merge pull request #64 from judyjoseph/multi_asic_ledd_xcvr
    * platform daemon (Xcvrd, Ledd) changes for multi asic platform
      * Updates in ledd daemon to use namespaces and get the namespace from selector object.
      * Updates to xcvrd daemon to use the asic_id in talking to the right DB.
      * Updated based on new sonic-py-common API's
      * Invoke initializeGlobalConfig() in the SfpUpdate/DomInfoUpdate processes as well.

commit 415b8c457625c514aff0f8ecbdbbb655414d8067
    [thermalctld] Optimize the thermal policy loop to make it execute every 60 seconds (#77)
    
commit 3d1f3196fd9c9942134e4926de7d248743e9589d
    Update FAN_INFO in psud to avoid inconsistant output of show platform psud and show platform fan (#81)
2020-08-29 10:25:46 -07:00
judyjoseph
123a5640bd
Update platform-common submodule (#5261)
Updating platform-common submodule with these commits

commit 14c6e53ecb861e124e2b45a7b65875ffac1b949e 
    [sff8472.py] Make hex keys all lowercase (#115)
    Alpha chars in hex-based keys should be lowercase

commit b60f46cd1fb0ced1ffbff382e0125517f8c74b9e
    Sfputil base and helper class changes for multi-ASIC (#100)
    * Sfputil base and helper class changes for multi-ASIC
          > adding the logical interface to asic id mapping
    * Updated based on new sonic-py-common API's.
2020-08-29 10:25:06 -07:00
Renuka Manavalan
5a166cc60c
[sonic-py-common] Add function to get hostname (#5265)
Added a function to get hostname. It get it from DEVICE_METADATA|localhost: hostname.
2020-08-28 13:47:44 -07:00
Prince Sunny
4338d8293f
Skip vnet-vxlan interfaces from generating networks (#5251)
* Skip Vnet interface from generating networks
2020-08-27 14:14:04 -07:00
Tamer Ahmed
a8016a6987
[cfggen] Use Redis Pipeline (#5250)
This PR enables cfggen to readr/write from Redis DB using pipelines.
Pipelines enables batch read/write from/to Redis DB.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-08-26 15:05:54 -07:00
Tamer Ahmed
a38105237c
[py-swsssdk] Submodule Update (#5249)
Change:
  c25d492 Merge pull request #83 from tahmed-dev/taahme/add-redis-pipeline-operation
  198d143 review comments - part of [configdb] Add Ability to Query/Update Redis Using Pipelines
  994851c review comments - part of [configdb] Add Ability to Query/Update Redis Using Pipelines
  2d2b7e1 making lgtm happy - part of [configdb] Add Ability to Query/Update Redis Using Pipelines
  fa9093c [configdb] Add Ability to Query/Update Redis Using Pipelines

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-08-26 09:09:43 -07:00
judyjoseph
394aa5f75f
Platform monitor changes in daemon_base for multi_asic (#4932)
Adding namespace support for db connect API.
2020-08-25 09:33:43 -07:00
Joe LeVeque
58db2d53e3
[sonic-py-common] Add unit test framework (#5238)
**- Why I did it**

To install the framework for adding unit tests to the sonic-py-common package and report coverage.

** How I did it **

- Incorporate pytest and pytest-cov into sonic-py-common package build
- Updgrade version of 'mock' installed to version 3.0.5, the last version which supports Python 2. This fixes a bug where the file object returned from `mock_open()` was not iterable (see https://bugs.python.org/issue32933)
- Add support for Python 3 setuptools and pytest in sonic-slave-buster environment
- Add tests for `device_info.get_machine_info()` and `device_info.get_platform()` functions
- Also add a .gitignore in the root of the sonic-py-common directory, move all related ignores from main .gitignore file, and add ignores for files and dirs generated by pytest-cov
2020-08-24 10:35:22 -07:00
Joe LeVeque
87713aaa1b
[sonic-swss] Update submodule (#5231)
* src/sonic-swss d2bab10...c4949a2 (34):
  > [dvs] Add new common issues and TOC to DVS README (#1405)
  > Avoid adding loopback interface (ip link add) when setting nat zone on loopback interface (#1411)
  > [portsorch] add buffer drop FC group (#1368)
  > [dvs/chassis] Bring up SONiC interfaces in virtual chassis (#1410)
  > [chassis/dvs] Add support for virtual chassis to DVS testbed (#1345)
  > [sonic-swsss] Fix the issue of field "next_hop_ip" not getting updated in state DB in ERSPAN Mirror (#1375)
  > [intfmgr] Fix OA crash issue due to link local configurations (#1195)
  > Fix the issue when persistent DVS is used to run pytest which has number of front-panel ports < 32 (#1373)
  > [dvs] Refactor AsicDbValidator (#1402)
  > [fec] Get FEC mode when port is already admin down (#1403)
  > [fec] added logic that put port down before applying fec onfiguration (#1399)
  > [dvs] Add performance test for adding and deleting routes (#1392)
  > Ignore IPv6 link-local and multicast entries as Vnet routes (#1401)
  > [vlanmgr] Support Jumbo Frame By Default (#1393)
  > Fix log/syslog not being correct when last test fails for given module (#1395)
  > Get initial speed from ASIC DB  (#1390)
  > [dvs] Add options to limit CPU usage (#1394)
  > [intfsorch] Retrieve Port object before setting NAT zone on router interfaces. (#1372)
  > [.gitignore] Ignore gearsyncd binary (#1381)
  > Added Max Nexthopgroup/ECMP Count supported by device into State DB. (#1383)
  > [dvs] Upload logs even if failure occurs during startup (#1389)
  > [rates] fix issue with rates init (#1387)
  > [dvs] Validate that SWSS is ready to receive input before starting tests (#1385)
  > [dvs] Convert sflow and speed tests to use dvslib (#1382)
  > [dvs_acl] Refactor and document dvs_acl library (#1378)
  > [dvs] Fix install instructions in README (#1379)
  > [dvs] Update README with new flags, options, and known issues (#1380)
  > swss: gearsyncd should return 0 on exit (#1376)
  > Remove 00-copp.config.json from swss debian package. (#1366)
  > fix undefined var in rates lua scripts (#1365)
  > [fdborch] Fixed Orchagent crash in FDB flush on port disable. (#1369)
  > [tlm_teamd]: Try to add LAG again, when teamd is not ready first time (#1347)
  > [vs] Incorporate python3 best practices into DVSLib (#1357)
  > [dvs] Mark unstable tests as xfail (#1356)
2020-08-22 18:41:32 -07:00
judyjoseph
cbb46e426b
Add common functions applicable to single/multi asic platforms (#5224)
* Add common functions applicable to single/multi asic platforms
* Raise exception if invalid namespace is given as input.
2020-08-22 16:24:44 -07:00
nirenjan
bb57ccecd4
[sonic-host-service]: Add SONiC Host Services infrastructure (#4840)
- Why I did it

When SONiC is configured with the management framework and/or telemetry services, the applications running inside those containers need to access some functionality on the host system. The following is a non-exhaustive list of such functionality:

Image management
Configuration save and load
ZTP enable/disable and status
Show tech support
- How I did it

The host service is a Python process that listens for requests via D-Bus. It will then service those requests and send a response back to the requestor.

This PR only introduces the host service infrastructure. Applications that need access to the host services must add applets that will register on D-Bus endpoints to service the appropriate functionality.

- How to verify it

- Description for the changelog

Add SONiC Host Service for container to execute select commands in host

Signed-off-by: Nirenjan Krishnan <Nirenjan.Krishnan@dell.com>
2020-08-21 15:34:14 -07:00
Joe LeVeque
a1335aa1f4
[sonic-utilities] Update submodule (#5233)
* src/sonic-utilities d5fdd74...17fb378 (7):
  > [sonic-installer] Import re module (#1061)
  > [fast-reboot]: Fix fail to execute fast-reboot problem (#1047)
  > [config] Reduce Calls to SONiC Cfggen (#1052)
  > [filter-fdb] Call Filter FDB Main From Within Test Code (#1051)
  > [sflow_test.py]: Fix show sflow display. (#1054)
  > Change fast-reboot script to use swss and radv service script (#1036)
  > Common functions for show CLI support on multi ASIC (#999)
2020-08-21 13:58:46 -07:00
Kelly Chen
570dbf52f6
[iccpd] Fix uninitialized variable. (#5112)
To declare *tb[] but do not initialize it, it might be very risky. We get iccpd exception during processing arp/nd event. Initialize it to {0};
2020-08-21 00:27:04 -07:00
judyjoseph
ba3f5ca094
Advance swss-common submodule. (#5222)
9a7c9d Dbconnector namespace support (#376)
c32f0b5 add state db entry for fgnhg route entry (#374)
2020-08-20 15:10:19 -07:00
Joe LeVeque
ce2c0781ab
[sonic-config-engine] Update .gitignore (#5223)
- Ignore directories generated by building Python wheel package
- Move all sonic-config-engine ignores from the root .gitignore to src/sonic-config-engine/.gitignore
2020-08-20 11:09:10 -07:00
Mahesh Maddikayala
fdea6fb439
[sonic-py-common][multi ASIC] API to get a list of frontend ports (#5221)
* [sonic-py-common][multi ASIC] utility to get a list of frontend ports from a given list of ports
2020-08-20 09:14:00 -07:00
Joe LeVeque
da69d57a8d
[redis-dump-load] Update submodule (#5215)
* src/redis-dump-load 832a645...7585497 (2):
  > Merge pull request #63 from jleveque/update_gitignore
  > Merge pull request #59 from breser/redis-load-empty
2020-08-19 11:23:42 -07:00
Tamer Ahmed
ec11308a66
[cfggen] Conform With Python 3 Syntax (#5154)
Preparing sonic-cfggen for migration to Python 3.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-08-19 09:29:40 -07:00
SuvarnaMeenakshi
f5746f3189
[submodule]: Advance sonic-snmpagent. (#5213)
Update sonic-snmpagent submodule to include below commits:
1a2b62a [Namespace]: Fix SAI_ID key used in cpfcIfTable and csqIfQosGroupStatsTable implementation (#138)
d06f00c [pytest/coverage]: add coverage support (#156)
90e9f2e [Namespace]: Simplify sync_d functions to use higher order (#154)
b5815d9 [LLDP]: Modify OID index of LLDPRemTableUpdater MIB (#155)
d5f2b92 [Multiasic]: Provide namespace support for ipNetToMediaPhysAddress (#129)
166c221 [Namespace]: Fix interface counters in RFC 1213 (#145)

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-08-19 04:27:09 -07:00
Tamer Ahmed
f840013ed9
[cfggen] Allow Write To Redis DB With Template/Batch Mode (#5203)
Argument to write to config-db is not allowed when using template.
This PR allows cfggen to write to redis db when using template
mode.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-08-18 18:24:36 -07:00
judyjoseph
52fe7ae365
[sonic-py-common] Add interface utilities (#5113)
* Add sonic_interface.py in sonic-py-common for sonic interface utilities to keep this SONIC PREFIX naming convention in one place in py-common and all modules/applications use the functions defined here.
2020-08-18 10:20:26 -07:00
arlakshm
4487abdfcb
Fix to prevent classification all portchannels is External (#5202)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
Fix the checks in the API is_port_channel_internal
2020-08-17 17:22:30 -07:00
Joe LeVeque
fa4af0d372
[sonic-config-engine] Ensure all test output files are ignored (#5197)
Also align the naming and cleanup of generated output files in test_cfggen.py with the rest of the tests.
2020-08-15 23:09:11 -07:00
Praveen Chaudhary
32539a1bda
[sonic-vlan.yang]: Correct Pattern for VLAN. (#5165)
Changes:
-- Correct Pattern for VLAN.
-- Add Special Test support.
-- Add first special test to load VLAN 1-4094.
-- Add lanes in ports.
-- Make Sure None test gets no output from libyang while config load.

[yangModelTesting.py]: INCORRECT VLAN_NAME FIELD IN VLAN TABLE test.

Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com
2020-08-15 12:38:15 -07:00
Joe LeVeque
df11f17843
[sonic-platform-daemons] Update submodule (#5190)
src/sonic-platform-daemons 0231b49...80661c7 (1):
Update .gitignore file (#86)
2020-08-15 12:34:43 -07:00
Stephen Sun
5c02078118
[submodule] Advance submodule head for sonic-utilities (#5184)
[db_migrator] Support migrating database regarding buffer configuration for all Mellanox switches (#993)
    [show/vlan]: fix show vlan config (#1050)
    [PFCWD] Fix issue with "pfcwd show stats" command during SONiC init (#1018)
    [config] Eliminate port breakout-related globals (#1045)
    [teamshow]: refactor teamshow to use state db information (#1049)
    [watermarkstat] Import print_function from __future__ (#1048)
    [show]: split show interfaces commands into separate file (#1044)
    Python 3 compliance (#1043)
    Update all references to new 'sonic-installer' file name (#1033)
    [config/show]: split vlan into separate file (#1038)
    [pytest/coverage]: add coverage for all scripts (#1041)
    enable watchdog before running platform specific reboot plugin (#1037)
    [tests]:add coverage for config/main/utilities_common module (#1039)
    [cli/feature]: split feature command into a separate file (#1034)

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

Co-authored-by: Stephen Sun <stephens@mellanox.com>
2020-08-14 11:14:35 -07:00
arlakshm
6c895513ac
Common functions for Multi ASIC (#4973)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan arlakshm@microsoft.com

The following common APIs are added for multi ASIC
- an  API to check if a given port is a internal or external port
- an  API to check if a given port-channel is internal or external
- an API to check if a bgp-session is internal or external
- an  API to connect to the config and other dbs in the a given namespace
- added common APIs to the sonic_py_common library.
- update the sample port-config.ini with role column and add corresponding test to verify the ports configuration is - generated properly.
2020-08-14 07:36:00 -07:00
Joe LeVeque
893d0d8638
[sonic-platform-common] Update submodule (#5173)
* src/sonic-platform-common f3f3573...433dd1a (1):
  > Parse 'Extended Specification compliance' as independent field (#112)
2020-08-13 19:15:40 -07:00
Prince Sunny
3fee094760
Enable restapi, update sonic-restapi (#5169)
* Enable restapi if included in image
* [Submodule update] sonic-restapi
2020-08-13 11:29:49 -07:00
shi-su
a974611fbb
[sonic-sairedis] Update submodule (#5156) 2020-08-12 19:49:10 -07:00
Tamer Ahmed
f9edf6e5cc
[cfggen] Extend Template Argument to Support Batch Mode (#4941)
Calls to cfggen take considerable time. With batch mode, we will have the ability
to reduce number of calls from services.

Example of the batch mode command:
sonic-cfggen -t template-1.j2 -t template-2.j2,config-db -t template-3.j2,config-db -t template-4.j2,file1 -t template-5.j2,file2 --write-to-db.

template-1.j2 will be rendered to stdout since it is missing the dest part. stdout is default
config-db is a special keyword that will inject the rendered template into internal data structure. The internal data structure gets written to redis-db with --write-to-db switch. In the case the user would like to write to a file named config-db, it could be given as /config-db or ./config-db

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-08-12 15:13:06 -07:00
Petro Bratash
9f7a8d59a1
[sonic-platform-daemons] Update submodule (#5159)
- [pcied] Fix path to pcie.yaml in pcied daemon (#84) 
>  0231b49ae84cf18c3a8d0c855215c467f28d48d3

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-08-12 12:01:35 -07:00
Joe LeVeque
47a866ecbd
[sonic-platform-daemons] Update submodule (#5152)
* src/sonic-platform-daemons da3dfbb...7a30ae0 (1):
  > Python 3 compliance (#85)
2020-08-11 14:57:40 -07:00
SuvarnaMeenakshi
3d7b6faf91
[systemd-generator]: Remove creation of NUM_ASIC environment (#5122)
NUM_ASIC environment variable was added so that it could be used by other utilities.
This is not being used by any other utility or docker, hence removing the addition of NUM_ASIC environment variable.
Also, the environment variable was added by adding the variable value to /etc/environ file.
Upon each reboot, this file gets updated with the NUM_ASIC value but the existing value was not removed.
This causes multiple lines getting appended in /etc/environ file upon each reboot.

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-08-11 13:58:20 -07:00
Sumukha Tumkur Vani
9c364fbf93
Bring up all neighbor ports in DeviceInterfaceLinks (#5071)
* Bring up FPGA ports and test it

* Bring up those ports in neighbors dict

* Revert delete of a line

* Add test

* change code comment

* Change test name

* Revert submodule update
2020-08-11 07:29:33 -07:00
Joe LeVeque
2b5e418e2e
Remove sonic-daemon-base package (#5131)
sonic-daemon-base package has been deprecated in favor of the sonic-py-common package. All related functionality has been moved there.
2020-08-09 21:27:36 -07:00
Joe LeVeque
966ac85e24
[sonic-config-engine] Remove sonic_device_util.py (#5130)
sonic_device_util.py has been deprecated in favor of the sonic-py-common package. All related functionality has been moved there.
2020-08-09 21:26:54 -07:00
Joe LeVeque
78baecef80
[sonic-utilities] Update submodule (#5129)
* src/sonic-utilities 9700e45...621aad0 (9):
  > [Python] Migrate applications/scripts to import sonic-py-common package (#1008)
  > [config qos] QoS and Buffer config genration for multi ASIC platforms (#978)
  > [cli]: pass db connector as click context (#1029)
  > [PDDF] Make utilities compatible to platform API 2.0, in accordance with pddf_2.0 (#940)
  > [tests] Add unit tests for 'show platform ...' commands (#1021)
  > Add secure fast/warm-reboot support for Aboot (#994)
  > [sonic-installer] Create Envvars File for Incoming Image (#1011)
  > [config load]: do not stop/reset/reload service if it is disabled (#1028)
  > [tests]: move feature_test.py into tests folder (#1027)
2020-08-08 18:21:12 -07:00
Joe LeVeque
5e62d8d324
[sonic-platform-daemons] Update submodule (#5128)
* src/sonic-platform-daemons 8e0704e...da3dfbb (1):
  > [xcvrd][thermalctld] Add logger instances for helper functions and classes (#82)
2020-08-08 11:33:14 -07:00
Joe LeVeque
567da44a85
[sonic-swss-common] Update submodule (#5126)
* src/sonic-swss-common ed9c497...00bcd1d (6):
  > [warmboot] add disable warmstart timer value (#370)
  > Update .gitignore (#372)
  > Fix swss::exec return value (#368)
  > Revert "DBConnector classes to understand the namespace. (#364)" (#369)
  > DBConnector classes to understand the namespace. (#364)
  > Added new table in APPL_Db for DNAT Pool changes (#367)
2020-08-08 01:14:24 -07:00
Joe LeVeque
6b72dee3d3
[sonic-ztp] Update submodule (#5120)
* src/sonic-ztp c959371...dd025bc (2):
  > Update all references to new 'sonic-installer' file name (#18)
  > Filter out non-printable characters read from syseeprom (#17)
2020-08-07 14:37:46 -07:00
Joe LeVeque
d272802511
[sonic-platform-common][sonic-platform-daemons] Update submodules (#5103)
* src/sonic-platform-common be1cc24...f3f3573 (3):
  > Remove sonic-config-engine dependency from setup.py (#109)
  > Migrate from sonic-daemon-base package to sonic-py-common package (#103)
  > [Cables] Add support for 'Extended Specification Compliance' for QSFP cables (#108)
  > [sfputilbase.py] Add application_advertisement NA field to transceiver_info_dict for platform api 1.0 (#104)

* src/sonic-platform-daemons 49d145c...8e0704e (1):
  > Proper fix for thermalctld using sonic-py-common (#80)
  > Fix thermalctld tests which were broken by the transition to sonic-py-common (#79)
  > Migrate from sonic-daemon-base package to sonic-py-common package (#74)
2020-08-06 16:11:13 -07:00
lguohan
082c26a27d
[build]: combine feature and container feature table (#5081)
1. remove container feature table
2. do not generate feature entry if the feature is not included
   in the image
3. rename ENABLE_* to INCLUDE_* for better clarity
4. rename feature status to feature state
5. [submodule]: update sonic-utilities

* 9700e45 2020-08-03 | [show/config]: combine feature and container feature cli (#1015) (HEAD, origin/master, origin/HEAD) [lguohan]
* c9d3550 2020-08-03 | [tests]: fix drops_group_test failure on second run (#1023) [lguohan]
* dfaae69 2020-08-03 | [lldpshow]: Fix input device is not a TTY error (#1016) [Arun Saravanan Balachandran]
* 216688e 2020-08-02 | [tests]: rename sonic-utilitie-tests to tests (#1022) [lguohan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-08-05 13:23:12 -07:00
Joe LeVeque
172354d36a
[sonic-py-common] get_platform(): Refactor method of retrieving platform identifier (#5094)
Applications running in the host OS can read the platform identifier from /host/machine.conf. When loading configuration, sonic-config-engine *needs* to read the platform identifier from machine.conf, as it it responsible for populating the value in Config DB.

When an application is running inside a Docker container, the machine.conf file is not accessible, as the /host directory is not mounted. So we need to retrieve the platform identifier from Config DB if get_platform() is called from inside a Docker 
container. However, we can't simply check that we're running in a Docker container because the host OS of the SONiC virtual switch is running inside a Docker container. So I refactored `get_platform()` to:
    1. Read from the `PLATFORM` environment variable if it exists (which is defined in a virtual switch Docker container)
    2. Read from machine.conf if possible (works in the host OS of a standard SONiC image, critical for sonic-config-engine at boot)
    3. Read the value from Config DB (needed for Docker containers running in SONiC, as machine.conf is not accessible to them)

- Also fix typo in daemon_base.py
- Also changes to align `get_hwsku()` with `get_platform()`
2020-08-04 23:51:35 -07:00
Sangita Maity
0a409ff65e
DPB Breakout Cli Test with proper setup (#3910)
- Created the VS setup to test DPB functionality
- Created "platform.json" for VS docker
- Added test case for Breakout CLI

Signed-off-by: Sangita Maity <sangitamaity0211@gmail.com>
2020-08-04 12:07:44 -07:00
Volodymyr Boiko
804b246cbb
[submodule][sonic-platform-daemons] Update submodule (#5091)
[xcvrd] Fix bailing out on platforms that do not support QSFP-DD (#78)
Fix psud and test_thermalctld (#75)
[Thermal] Fix for 'show platform fan' command (#71)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-08-04 09:55:02 -07:00
Joe LeVeque
3b89e5d467
[Python] Migrate applications/scripts to import sonic-py-common package (#5043)
As part of consolidating all common Python-based functionality into the new sonic-py-common package, this pull request:
1. Redirects all Python applications/scripts in sonic-buildimage repo which previously imported sonic_device_util or sonic_daemon_base to instead import sonic-py-common, which was added in https://github.com/Azure/sonic-buildimage/pull/5003
2. Replaces all calls to `sonic_device_util.get_platform_info()` to instead call `sonic_py_common.get_platform()` and removes any calls to `sonic_device_util.get_machine_info()` which are no longer necessary (i.e., those which were only used to pass the results to `sonic_device_util.get_platform_info()`.
3. Removes unused imports to the now-deprecated sonic-daemon-base package and sonic_device_util.py module

This is the next step toward resolving https://github.com/Azure/sonic-buildimage/issues/4999

Also reverted my previous change in which device_info.get_platform() would first try obtaining the platform ID string from Config DB and fall back to gathering it from machine.conf upon failure because this function is called by sonic-cfggen before the data is in the DB, in which case, the db_connect() call will hang indefinitely, which was not the behavior I expected. As of now, the function will always reference machine.conf.
2020-08-03 11:43:12 -07:00
Tamer Ahmed
7872b4e196
[platform] Add Support For Environment Variable File (#5010)
* [platform] Add Support For Environment Variable

This PR adds the ability to read environment file from /etc/sonic.
the file contains immutable SONiC config attributes such as platform,
hwsku, version, device_type. The aim is to minimize calls being made
into sonic-cfggen during boot time.

singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-07-31 17:59:09 -07:00
pavel-shirshov
03d3aa4fc5
Fix for ipv6 local-addr problem (#4876)
Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-07-31 10:40:38 -07:00
pavel-shirshov
e22de3a659
[bgpcfgd]: Clarify error messages on reset Loopback0 ip address (#5062)
To clarify error messages in case the ip address for Loopback is already set. It doesn't make sense to call correct ip address as ambiguous in this case
2020-07-30 02:46:19 -07:00
Joe LeVeque
97f15576fb
[sonic-py-common] Add task_base.py (#5049)
Add new task_base.py module from sonic-daemon-base into sonic-py-common package
2020-07-28 15:07:36 -07:00
gechiang
cdc652148c
[sonic-sairedis] Update Submodule (#5052)
Advanced Submodule head of Sonic-Sairedis and picked up the following changes:

Workaround getSwitchType failure due to NPU SAI not yet supporting it (#647)
https://github.com/Azure/sonic-sairedis/pull/647

Adding support for new SAI API sai_query_attribute_capability() (#645)
https://github.com/Azure/sonic-sairedis/pull/645

[syncd] ARM32 bit fixes, for 64bit printf format specifier. (#643)  
Signed-off-by: Rajkumar Pennadam Ramamoorthy <rpennadamram@marvell.com>
https://github.com/Azure/sonic-sairedis/pull/643

[syncd] Add support for synchronous bulk api (#640)
https://github.com/Azure/sonic-sairedis/pull/640
2020-07-28 14:57:16 -07:00
Mahesh Maddikayala
ee4197e9f8
+ Modified buffer config template to include internal ASIC with 5m ca… (#4959)
+ Modified buffer config template to include internal ASIC with 5m cable length
+ added unit test to verify the changes.
2020-07-27 10:57:07 -07:00
Joe LeVeque
c0d1616f89
Introduce sonic-py-common package (#5003)
Consolidate common SONiC Python-language functionality into one shared package (sonic-py-common) and eliminate duplicate code.

The package currently includes three modules:

- daemon_base
- device_info
- logger
2020-07-26 23:15:41 -07:00
Nazarii Hnydyn
a0ba0436fd
[submodule]: Advance platform common/daemons submodules. (#5033)
**sonic-platform-common:**

Commits on Jul 07, 2020
Changes in fan and psu base classes (1.0 platform API) related to pdd… 17292e4
Commits on Jul 10, 2020
update get_pcie_check() to use sysfs instead of lspci output (#95) d4eb804
Commits on Jul 11, 2020
[eeprom] Fix UnboundLocalError (#93) 7c8bed1
Commits on Jul 14, 2020
[Transceiver] Add parser for QSFP-DD cable type and dictionaries for … be1cc24 

**sonic-platform-daemons:**

Commits on Jul 06, 2020
[psud] Store PSU temperature and voltage information to database (#61) ef9716a
Commits on Jul 14, 2020
[xcvrd] Add support for QSFP-DD cables (#66) c530587
Commits on Jul 18, 2020
Initial version of pcied (#60) e665ee8
[xcvrd] Return non-zero error code on SFP error (#67) 4f42a79
Commits on Jul 19, 2020
[README.md] Add LTGM badges (#69) 23757a3
Remove unused imports (#70) 029d5a5 

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-07-24 19:24:19 -07:00
Joe LeVeque
639ad1895d
[sonic-utilities] Update submodule (#5023)
* src/sonic-utilities 82dfe50...995cf39 (1):
  > [config] Restart telemetry service upon config (re)load (#992)
2020-07-23 00:42:23 -07:00
shi-su
adacf1addd
[sonic-swss-common] Update submodule (#5020)
Update the sonic-swss-common submodule. The following are the commits in the submodule.

Fix sai api loglevel
ed9c497316e73bc5d4a6dfbe9f3507d5e92c15f3

Add support for attribute capability query in lua script
f58ea1e7a692eadd8695b4dcf89290c5e9018aae

Copp changes
4e50be7728d1e68582ac4dc369323ec5ab7b81dd

fix pytest for python3
c76d3b3a6dacae7fde14622c41e41b717876924a

use sysconfig instead of distutils.sysconfig
1772581f9b9f25e5ab2b790d7d517ea2b2010a78

CONFIG_DB table name for BUM Storm-control feature
c39c958bea445e650353651fcbae5c228114f86d

Fine Grained ECMP schema changes
1974d2e1547464a3b0279b5d63fc40eda94fa780
2020-07-22 22:00:20 -07:00
Joe LeVeque
2890670de2
[sonic-telemetry][sonic-mgmt-common] Update submodules (#4986)
* src/sonic-telemetry fa8d498...3bd7ca3 (4):
  > Update gnmi deps (#40)
  > [testdata] Update SFP keys to align with new standard (#39)
  > Fixed the parameters for subscribe APIs (#38)
  > Azure ro mode (#34)

* src/sonic-mgmt-common 444aa9a...cc01ce4 (4):
  > Make gnmi dep version the same as in telemetry repo (#17)
  > Cleanup translib and cvl go test cases (#13)
  > Package update and enhancements/fixes in YGOT, and Request Binder (#12)
  > Translib phase I changes (#11)

Note: sonic-telemetry submodule update is dependent upon sonic-mgmt-common submodule update, thus updating both in this patch
2020-07-22 11:51:15 -07:00
anish-n
da017f4ec9
[bgpcfgd]: Add Vlan prefix list to the FRR templates (#5005)
add the Vlan prefix list to the FRR templates
2020-07-21 19:26:19 -07:00
anish-n
07d559103f
[bgpcfgd]: Add fix to bgpcfgd to ignore NEIGHBOR_METADATA entries for dynamic peers (#5008)
This fix removes the requirement to have a NEIGHBOR_METADATA for dynamic peers. The change is made since it is not necessary for NEIGHBOR_METADATA entries be present for the dynamic neighbors
2020-07-21 02:55:42 -07:00
Joe LeVeque
6ef199ffdd
[sonic-utilities] Update submodule (#5004)
* src/sonic-utilities a23479e...82dfe50 (3):
  > [sonic-installer] Update group name for 'verify-next-image' subcommand (#/995)
  > [acl_loader] Fix bugs in acl_loader (#991)
  > [show] Add support for QSFP-DD cables on 'show' command (#989)

This submodule update resolves https://github.com/Azure/sonic-utilities/issues/997 by including PR https://github.com/Azure/sonic-utilities/pull/995
2020-07-20 11:21:24 -07:00
lguohan
c6027ab46f
[submodule]: update sonic-swss (#5002)
* d2bab10 2020-07-19 | [vstest]: use BytesIO for file operations [lguohan]
* 982c9a3 2020-07-18 | [vstest]: fix vstest for python3 (#1354) [lguohan]
* ffa0dc3 2020-07-16 | [vstest]: clean up processes in server namespace at start (#1353) [lguohan]
* b16368c 2020-07-15 | [aclorch.cpp] Handle all the ACL redirect requests in AclRuleL3::validateAddAction()  (#1278) [madhanmellanox]
* 310e0aa 2020-07-15 | [portsorch,intfsorch] add port, rif rates FC groups (#1201) [Mykola F]
* 5ddea37 2020-07-09 |  [NAT]: Update NAT conntrack entries from natmgr instead of natorch (#1274) [Akhilesh Samineni]
* 94c622f 2020-07-07 | [aclorch] Use IPv6 Next Header internally for protocol number on MLNX platform (#1343) [Danny Allen]
*   82d36c4 2020-07-07 | support swss vstest in python3 [lguohan]
|\
| * ff04e6d 2020-06-27 | [doc]: update instruction to run vstest under python3 [Guohan Lu]
| * c90b281 2020-07-05 | [vstest]: reuse dvs setReadOnlyAttr in test_crm.py [Guohan Lu]
| * 8807b40 2020-07-05 | [vstest]: fix string format compatibility issue for python2 and swig [Guohan Lu]
| * 26efbcf 2020-07-04 | [vstest]: change float division to integer division [Guohan Lu]
| * 6adaf2e 2020-07-04 | [vstest]: change time.clock() to time.time() [Guohan Lu]
| * 9c71203 2020-07-04 | [vstest]: let redis decodes the response to be string instead of bytes [Guohan Lu]
| * c7c63ee 2020-06-27 | [vstest]: change from platform to distro [Guohan Lu]
| * d7ff1ad 2020-06-27 | [vstest]: upgrade swss vs tests to python3 [Guohan Lu]
* | 2ebd44e 2020-07-03 | [sonic-swss] ARMHF warning fixes (#1325) [arheneus@marvell.com]
* | 10ad70c 2020-07-02 | [swss] Add support for gearbox phys (#1321) [Syd Logan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-20 02:59:55 -07:00
vdahiya12
c9983df062
[daemon_base] fix to not reregister signal handler (#4998)
* [daemon_base] fix to not reregister signal handler

-src/sonic-daemon-base/sonic_daemon_base/daemon_base.py
Problem:
Currently all daemons inherit from daemon_base class, and for
signal handling functionality they register the signal_handler() by
overriding the siganl_handler() in daemon_base by their own
implmentation.
But some sonic_platform instances also can invoke the daemon_base
constructor while trying to instantiate the common utilities
for example
platform_chassis = sonic_platform.platform.Platform().get_chassis()
This will cause the re registration of signal_handler which will
cause base class signal_handler() to be invoked when the daemon
gets a signal, whereas their own signal_handler should have been
invoked.

Fix:
We only register the siganl_handler once, and if signal_handler has
been registered, not re register it.

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>

* [daemon_base] fix to not reregister signal handler

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-07-19 20:58:52 -07:00
Stepan Blyshchak
16a37d8c17
[dockers] update mellanox syncd and pmon to buster (#4818)
Upgrade to libsensors5

Updated sonic-sairedis pointer:
    d54bfb4 [SAI] update pointer (#636)
    1885a8c [syncd] Fix notification on shutdown request (#635)
    9e57ba2 Fixing hostif For Genetlink host interfaces (#633)
    449a092 sonic-sairedis: Add support to sonic-sairedis for gearbox phys (#632)

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2020-07-18 03:46:15 -07:00
Joe LeVeque
04615ca98c
[sonic-snmpagent][sonic-py-swsssdk] Update submodules (#4968)
* src/sonic-snmpagent 89b7b2c...c702a57 (7):
  > Revert "[rfc1213] Interface MIB add l3 vlan interfaces & aggregate rif counters (#133)" (#151)
  > Update transceiver info DB key names (#146)
  > Fix LGTM reported alert of PR#141 (#142)
  > [Namespace] Fix interfaces counters in InterfacesMIB RFC 2863 (#141)
  > [Namespace]: Fix SNMP AgentX  socket connection timeout when using Namespace.get_all()  (#140)
  > [rfc1213] Interface MIB add l3 vlan interfaces & aggregate rif counters (#133)
  > Fix undefined variable and warning message (#134)

* src/sonic-py-swsssdk a83366e...2df4f40 (3):
  > Allowing TCP connections with namespace as well. (#81)
  > [port_util] add get_rif_port_map, get_vlan_interface_oid_map (#78)
  > Updates to the namespace API's for test_moduleLoad.py (#77)

Note that sonic-snmpagent submodule update is dependent upon sonic-py-swsssdk update, so updating both submodules in this PR.
2020-07-17 11:20:39 -07:00
joyas-joseph
18bfa6df08
[docker-nat]: upgrade docker-nat to buster (#4943)
move iptables to 1.8.2-4 (version in buster)

Signed-off-by: Joyas Joseph <joyas_joseph@dell.com>
2020-07-15 22:48:09 -07:00
Joe LeVeque
f929b00eaa
[sonic-utilities] Update submodule (#4963)
* src/sonic-utilities 9715244...a23479e (7):
  > [sonic-installer] Hyphens instead of underscores in command and subcommands (#983)
  >  Fix the None Type Exception when Interface Table does not exist (cold boot) as part of db migration (#986)
  > Support to verify reboot for secure boot (#979)
  > [filter-fdb] Fix For Vlan Defined With No CIDR (#976)
  > Intf table migration for APP_DB entries during warmboot (#980)
  > Enable HW watchdog before fast-reboot (#977)
  > [Multi NPU] Time Improvements to the config reload/load_minigraph commands  (#917)
2020-07-14 11:56:54 -07:00
Prince Sunny
a0236f7cbb [bgpcfgd] - Fix a key error during delete (#4946) 2020-07-12 18:08:52 +00:00
lguohan
5a0a466768 [submodule]: update sonic-linux-kernel (#4940)
d155c1e 2020-07-10 | use kstrtol_from_user in dni_dps460 driver (#151)

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:52 +00:00
Sujin Kang
b4452edb8a Add disabling HW watchdog during boot for fast-reboot and warm-reboot (#4927)
* Add disabling HW watchdog during boot for fast-reboot and warm-reboot case

* typo
2020-07-12 18:08:52 +00:00
Venkatesan Mahalingam
7d003c3518 [TACACS+]: Add support to specify source address for TACACS+ (#4610)
This pull request was cherry picked from "#1238" to resolve the conflicts.

- Why I did it
Add support to specify source address for TACACS+
- How I did it
Add patches for libpam-tacplus and libnss-tacplus. The patches parse the new option 'src_ip' and store the converted addrinfo. Then the addrinfo is used for TACACS+ connection.
Add a attribute 'src_ip' for table "TACPLUS|global" in configDB
Add some code to adapt to the attribute 'src_ip'.
- How to verify it
Config command for source address PR in sonic-utilities
config tacacs src_ip <ip_address>

- Description for the changelog
Add patches to specify source address for the TACACS+ outgoing packets.

- A picture of a cute animal (not mandatory but encouraged)

**UT logs: **

UT_tacacs_source_intf.txt
2020-07-12 18:08:51 +00:00
lguohan
1dcf8ec04f [kernel]: upgrade linux kernel to 4.9.118 (#4897)
upgrade kernel to latest maintenance version 4.9.118

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:51 +00:00
arlakshm
97fa2c087b "[config]: Multi ASIC loopback changes (#4895)
Resubmitting the changes for (#4825) with fixes for sonic-bgpcdgd test failures
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-07-12 18:08:51 +00:00
lguohan
e2e57d32d6 [docker-orchagent]: upgrade docker-orchagent to buster (#4889)
also update submodule

* 01f810f 2020-07-02 | fix compiling issue for gcc8.3 (#1339) [lguohan]
* 9b13120 2020-07-03 | Fix in script to avoid orchagent crash when port down followed by fdb delete (#1340) [rupesh-k]
* 9b01844 2020-07-01 | [qosorch] Update QoS scheduler params for shaping features (#1296) [Michael Li]
* 86b5e99 2020-07-02 | [mirrororch] Port Mirroring implementation (#1314) [rupesh-k]
* c05601c 2020-06-24 | [portsyncd]: add debug message if a port cannot be found in port able (#1328) [lguohan]
* a0b6412 2020-06-23 | COPP_DEL_fix: DEL for one trap group from SONIC is resetting all the trap IDs (#1273) [SinghMinu]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:51 +00:00
Joe LeVeque
856f117fd3 [sonic-platform-daemons] Update submodule (#4887)
* src/sonic-platform-daemons abe115e...9b8bfa1 (1):
  > [xcvrd] Update key names in 'get_media_settings_value()' (#63)
2020-07-12 18:08:51 +00:00
lguohan
58632e6e83 [docker-orchagent]: make build depends only on sairedis package (#4880)
make swss build depends only on libsairedis instead of syncd. This allows to build swss without depending
on vendor sai library.

Currently, libsairedis build also buils syncd which requires vendor SAI lib. This makes difficult to build
swss docker in buster while still keeping syncd docker in stretch, as swss requires libsairedis which also
build syncd and requires vendor to provide SAI for buster. As swss docker does not really contain syncd
binary, so it is not necessary to build syncd for swss docker.

* [submodule]: update sonic-sairedis

* ccbb3bc 2020-06-28 | add option to build without syncd (HEAD, origin/master, origin/HEAD) [Guohan Lu]
* 4247481 2020-06-28 | install saidiscovery into syncd package [Guohan Lu]
* 61b8e8e 2020-06-26 | Revert "sonic-sairedis: Add support to sonic-sairedis for gearbox phys (#624)" (#630) [Danny Allen]
* 85e543c 2020-06-26 | add a README to tests directory to describe how to run 'make check' (#629) [Syd Logan]
* 2772f15 2020-06-26 | sonic-sairedis: Add support to sonic-sairedis for gearbox phys (#624) [Syd Logan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-07-12 18:08:51 +00:00
Guohan Lu
f8da3e4c69 Revert "[config]: Loopback Interface changes for multi ASIC devices (#4825)"
This reverts commit cae65a451c.
2020-07-12 18:08:51 +00:00
arlakshm
002335a3d5 [config]: Loopback Interface changes for multi ASIC devices (#4825)
* Loopback IP changes for multi ASIC devices
multi ASIC will have 2 Loopback Interfaces

- Loopback0 has globally unique IP address, which is advertised by the multi ASIC device to its peers.
This way all the external devices will see this device as a single device.
- Loopback4096 is assigned an IP address which has a scope is within the device. Each ASIC has a different ip address for Loopback4096. This ip address will be used as Router-Id by the bgp instance on multi ASIC devices.

This PR implements this change for multi ASIC devices

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-07-12 18:08:51 +00:00
pavel-shirshov
2b137fb540 Tests of FRR templates which rendered by sonic-cfggen (#4875)
* Tests of FRR templates which rendered by sonic-cfggen
2020-07-12 18:08:51 +00:00
pavel-shirshov
7d0ea7383d [pfx_filter]: Add a prefix mask by default in pfx_filter, when there is no one (#4860)
If some table with a list of tuples (interface name, ip prefix) has ip prefixes without a mask length, it will cause issues in SONiC. For example quagga and frr will treat ipv4 address without a mask, so "10.20.30.40" address will be treated as "10.0.0.0/8", which is dangerous.

The fix here is that when pfx_filter get a tuple (interface name, ip prefix), where the ip prefix doesn't have prefix mask length, add a mask by default: "/32 for ipv4 addresses, /128 for ipv6 addresses".

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-07-12 18:08:51 +00:00
Akhilesh Samineni
eed16e9618 [docker-nat]: Updated the NAT iptables patch for 4.19 buster (#4843)
Updated the NAT iptables patch for 4.19 buster

Depends on PR : Azure/sonic-linux-kernel#147

1 Known issue:

With both NAT patch files for 4.19 buster kernel, seeing 1 display issue in iptables like explained below

On Docker NAT, iptables supported version is 1.6.0 and on base OS it’s 1.8.2. So seeing an display issue of which fullcone option is not showing in version 1.8.2 iptables output and no issues in functionality.

Display issue – For example of comparsion:

NAT Docker:
root@sonic:/home/admin# docker exec -it nat bash
root@sonic:/# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT all -- * * 0.0.0.0/0 0.0.0.0/0 to:1.1.1.1 fullcone

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 30 packets, 2749 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 30 packets, 2749 bytes)
pkts bytes target prot opt in out source destination
root@sonic:/#

Base OS:
root@sonic:/home/admin# iptables-legacy -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1 36 DNAT all -- * * 0.0.0.0/0 0.0.0.0/0 to:1.1.1.1

Chain INPUT (policy ACCEPT 1 packets, 36 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 41 packets, 3572 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 41 packets, 3572 bytes)
pkts bytes target prot opt in out source destination
root@sonic:/home/admin#

To fix this issue, iptables need to update from 1.6.0 to 1.8.2 version and have to update the NAT docker from stretch to buster. Will raise a new PR with this.

Signed-off-by: Akhilesh Samineni akhilesh.samineni@broadcom.com

Signed-off-by: Akhilesh Samineni <akhilesh.samineni@broadcom.com>
2020-07-12 18:08:51 +00:00
Mahesh Maddikayala
74389cb402 [sonic-sairedis] sonic-sairedis submodule update (#4847)
* sonic-sairedis submodule update
* Update BRCM SAI to 3.7.5.1
2020-07-12 18:08:51 +00:00
Volodymyr Boiko
77a1bc25de [sonic-platform-common] Update submodule (#4871)
* src/sonic-platform-common 82bbeab...42781ff (1):
  > [SfpBase] Fix key name typo in docstring (#99)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-07-12 18:08:51 +00:00
SuvarnaMeenakshi
ab2177b4a9
[systemd-generator]: Fix dependency update for multi-asic platform (#4820)
* [systemd-generator]: Fix the code to make sure that dependencies
of host services are generated correctly for multi-asic platforms.
Add code to make sure that systemd timer files are also modified
to add the correct service dependency for multi-asic platforms.

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>

* [systemd-generator]: Minor fix, remove debug code and
remove unused variable.
2020-06-29 09:39:23 -07:00
Joe LeVeque
ced0f7ba3d
[sonic-platform-common][sonic-platform-daemons][sonic-utilities] Update submodules (#4852)
* src/sonic-platform-common 75698a8...82bbeab (9):
  > [sfputil] Make SfpUtilHelper.get_physical_to_logical noexcept as in SfpUtilBase (#96)
  > [sfp_base] Update return value documentation of channel-specific methods (#98)
  > [sfp] Tweak key names of some transceiver info fields (#97)
  > fix typo:  portconfig.ini to port_config.ini (#94)
  > [chassis_base] Add platform API support for system LED (#91)
  > Add PCIe check commad  (#64)
  > [sfputilbase.py] Don't try to print EEPROM sysfs file name if we failed to read from it (#81)                                                                                    
  > [sfputilbase | sfputilhelper] Add support of platform.json (#72)
  > [eeprom] Add try-except to catch the IOError (#85)

* src/sonic-platform-daemons 0f4fd83...abe115e (2):
  > [xcvrd] Tweak some transceiver info key names (#62)
  > [psud][thermalctld] Always get fan/PSU LED status from platform API to avoid status inconsistencies (#59)                                                                        

* src/sonic-utilities fd7781b...16a33f2 (9):
  > [config] Fix syntax error (#966)
  > [config] Fix indentation level in _get_disabled_services_list() (#965)
  > a4e64d1 [sonic_installer] Refactor sonic_installer code (#953)
  > 90efd62 [Show | Command Reference] Add Port breakout Show Command (#859)
  > [sfpshow][mock_state_db] Tweak key names of some transceiver info fields (#958)
  > [show] Add missing verbose option to "show line" (#961)
  > [filter-fdb] Check VLAN Presence When Filter FDB (#957)
  > [master]fix #4716 show ipv6 interfaces neighbor_ip is N/A issue (#948)
  > Fix for command. show interface transceiver eeprom -d Ethernet (#955)

Note: sonic-utilities update fixes #4716
2020-06-27 22:57:26 -07:00
pavel-shirshov
1eb3dfe541
[docker-teamd]: Introducing tlm_teamd: telemetry for teamd (#4824)
**- What I did**
1. Updated submodule sonic-swss to bring tlm_teamd to the buildimage.
2. Updated supervisord for the teamd
3. Updated critical process list (not sure that tlm_teamd is critical for now)

**- How to verify it**
Build an image and run. Check that tlm_teamd is running and STATE_DB has information in the LAG_INTERFACE, and :LAG_MEMBER_INTERFACE
```
admin@sonic:~$ redis-cli -n 6 hgetall 'LAG_TABLE|PortChannel16'
 1) "state"
 2) "ok"
 3) "team_device.ifinfo.dev_addr"
 4) "4c:76:25:f5:48:80"
 5) "setup.kernel_team_mode_name"
 6) "loadbalance"
 7) "team_device.ifinfo.ifindex"
 8) "6"
 9) "runner.fast_rate"
10) "false"
11) "runner.active"
12) "true"
13) "setup.pid"
14) "35"
15) "runner.fallback"
16) "false"
```

```
admin@sonic:~$ redis-cli -n 6 hgetall 'LAG_MEMBER_TABLE|PortChannel16|Ethernet16'
 1) "runner.selected"
 2) "true"
 3) "runner.aggregator.selected"
 4) "true"
 5) "runner.aggregator.id"
 6) "26"
 7) "runner.actor_lacpdu_info.state"
 8) "61"
 9) "runner.state"
10) "current"
11) "runner.actor_lacpdu_info.system"
12) "4c:76:25:f5:48:80"
13) "runner.partner_lacpdu_info.state"
14) "61"
15) "link.up"
16) "true"
17) "ifinfo.dev_addr"
18) "4c:76:25:f5:48:80"
19) "ifinfo.ifindex"
20) "26"
21) "link_watches.list.link_watch_0.up"
22) "true"
23) "runner.actor_lacpdu_info.port"
24) "17"
25) "runner.partner_lacpdu_info.port"
26) "1"
27) "runner.partner_lacpdu_info.system"
28) "52:54:00:ff:34:1b"
```
2020-06-27 01:22:23 -07:00
Qi Luo
6849a0351c
[redis] Install vanilla redis packages for Buster and Stretch; upgrade Buster to 6.0.5 (#4732)
upgrade redis server to 5:6.0.5-1~bpo10+1
2020-06-27 01:17:20 -07:00
lguohan
c79783003d
[submodule]: update sonic-linux-kernel (#4856)
* c60b1f4 2020-06-26 | e1000: Do not perform reset in reset_task if we are already down (#148) (HEAD -> master, origin/master, origin/HEAD) [lguohan]
* c6aeedd 2020-06-25 | Updated NAT kernel patch for 4.19 buster (#147) [Akhilesh Samineni]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-06-26 23:59:22 -07:00
pavel-shirshov
d592e9b0f8
Tests for bgpcfgd templates (#4841)
* Tests for bgpcfgd templates
2020-06-25 14:54:02 -07:00
kktheballer
8339d5f4b1
[minigraph.py]: Add Tagged Vlan support in Minigraph (#4731)
To enable tagged vlan support by minigraph parser. This enables us to generate a config_db file that will enable SONiC device to operate using tagged and untagged vlan.
2020-06-23 16:36:47 -07:00
lguohan
1e81e1da8e
[submodule]: update sonic-swss-common (#4826)
* 77d3417 2020-06-22 | [sonic-swss-common] ARMHF warning fixes (#352) (HEAD -> master, origin/master, origin/HEAD) [arheneus@marvell.com]
* da8e264 2020-06-21 | [python3]: build python3-swsscommon for python3 support (#355) [lguohan]
* 292b08a 2020-06-16 | Changes to support SONiC Gearbox Manager (#347) [Syd Logan]
* 58ca4d9 2020-06-10 | Add missed BGP tables into the schema (#351) [pavel-shirshov]
* cddfc4e 2020-06-09 | [loglevel] Avoid accessing null ptr in swssloglevel (#349) [Stephen Sun]
* 8fce898 2020-06-08 | [schema] update schema with rates and utilization table names (#330) [Mykola F]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-06-22 19:46:52 -07:00
Sachin Holla
0d809d0d59
Mgmt reorg -- submodule and build rules for sonic-mgmt-common (#4765)
- Why I did it
New repo sonic-mgmt-common is introduced for the common translib related code. This commit adds build rules for this new repo.

- How I did it

Added sonic-mgmt-common submodule
Added build rules for the new sonic-mgmt-common repo. It creates two deb packages -- sonic-mgmt-common_1.0.0_{arch}.deb and sonic-mgmt-common-codegen_1.0.0_{arch}.deb. Package cache is enabled.
Added dependency on sonic-mgmt-common for mgmt-framework and telemetry debs and dockers.
- How to verify it
Full build and incremental builds
Basic ACL and interface opreations through REST, KLISH CLI and gNMI

- Description for the changelog
Git submodule and build rules for the new sonic-mgmt-common repo.
2020-06-22 16:01:55 -07:00
joyas-joseph
b48d274f69
[docker-dhcp-relay]: convert dhcp-relay docker to buster (#4671)
Upgrade isc-dhcp to 4.4.1-2 (buster version)
Update libevent dependency for dhcpmon to 2.1-6

Signed-off-by: Joyas Joseph <joyas_joseph@dell.com>
2020-06-22 15:34:21 -07:00
Samuel Angebault
67987e9c0e
[secureboot] Add secureboot support for Arista devices (#4741)
* Add secureboot support in boot0
* Initramfs changes for secureboot on Aboot devices
* Do not compress squashfs and gz in fs.zip
It doesn't make much sense to do so since these files are already
compressed.
Also not compressing the squashfs has the advantage of making it
mountable via a loop device.
* Add loopoffset parameter to initramfs-tools
2020-06-22 09:30:31 -07:00
Olivier Singla
68576bc2f9
[kerne]: kernel update from 4.19.0-6 to 4.19.0-6-2 (#4711) 2020-06-21 06:41:23 -07:00
Nazarii Hnydyn
697193543f
[submodule]: Advance sonic-utilities submodule. (#4785)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-06-21 15:51:29 +03:00
pavel-shirshov
0d863c39ac
[bgpcfgd]: make a package for bgpcfgd (#4813) 2020-06-20 21:01:24 -07:00
abdosi
531d1ad89a
[Submodule update] sonic-dbsyncd (#4801)
lldp: For multi-npu platforms make sure to add Backplane Interface also
as Interface Match List.
2020-06-19 11:03:02 -07:00
Sangita Maity
7f9523887d
[buildImage] Add support of platform.json parsing to portconfig.py file (#3909)
**- What I did**
Add support of **platform.json** parsing to **portconfig.py** file which is being used by **_sonic-cfggen_** and ***minigraph.py*** file under ***src/sonic-config-engine*** folder to get port config via get_port_config  function.

**- How I did it**

1.  **portconfig.py** file will first check whether the **platform.json** file is there or not. if not then whether port_config.ini file is there or not. Modified **get_port_config_file_name** for this purpose.
2. Added two separate functions i.e. **parse_platform_json_file**  to get port attributes from **platform.json** and **gen_port_config** to generate port attributes.
3. Added another two functions i.e  get_breakout_mode parse_breakout_mode to get breakout mode and parse breakout mode from platform.json respectively.

**- How to verify it**

rebuilt "sonic_config_engine-1.0" wheel package with all the test cases.All the below-mentioned test cases passed.

```
# Check whether all interfaces present or not as per platform.json
def test_platform_json_interfaces_keys(self):
       
# Check specific Interface with it's proper configuration as per platform.json
def test_platform_json_specific_ethernet_interfaces(self):

# Check all Interface with it's proper configuration as per platform.json
def test_platform_json_all_ethernet_interfaces(self):
```

Signed-off-by: Sangita Maity <sangitamaity0211@gmail.com>
2020-06-18 16:26:09 -07:00
Qi Luo
edf3160224
Fix bug: check port alias even when port_config_file parameter is not provided (#4787) 2020-06-17 12:12:07 -07:00
Kebo Liu
91a1f131a1
[Mellanox] Update hw-mgmt package to V.7.0010.1000 for master (#4687)
* [Mellanox] Update hw-mgmt package to V.7.0010.1000

* update sonic-linux-kernel pointer to pick up new patch
2020-06-16 21:01:41 +03:00
Prince Sunny
734b1c6969
Submodule update - sonic-restapi (#4749) 2020-06-15 15:08:22 -07:00
Joe LeVeque
0a750a6b54
[sonic-utilities] Update submodule (#4770)
* src/sonic-utilities 5765570...a21e01a (13):
  > [config] Don't attempt to restart disabled services (#944)
  > [crm] Use swsssdk API instead of redis-cli for getting keys from redis DB (#943)
  > Fixed fast-reboot for BFN platform (#871)
  > [sfputil] Add support of platform.json (#767)
  > [show] Add support for SONiC Gearbox Manager via new gearboxutil utility (#931)
  > [warm-reboot]: added pre-check for ISSU file (#915)
  > Add_intf_range (#913)
  > add fec config/show option (#764)
  > Make sure db_migrator is run after all config are loaded during (#926)
  > Changes to make lldp show command for multi-npu platforms. (#914)
  > [showtech]: add knet dump information in show tech (#925)
  > Vnet alias mapping (#924)
  > Revert the change to kdump reboot (#916)
2020-06-13 13:32:13 -07:00
Dong Zhang
ddd60bfec1
[MultiDB] Add REDIS_TIMEOUT_MSECS back which is removed by mistake (#4757) 2020-06-11 12:51:42 -07:00
Danny Allen
814cbe0066
[submodule] Update swss submodule (#4737)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-06-10 16:39:06 -07:00
Joe LeVeque
c6365e7abe
Reorganize .gitignore files (#4707)
- Add .gitignore files in each subdirectory of src/, so as to reduce the size of the .gitignore file in the project root, and also make it easier to maintain (i.e., if a directory in src/ is removed, there will not be outdated entries in the root .gitignore file.

- Also add missing .gitignore entries and remove outdated entries and duplicates.
2020-06-09 21:04:55 -07:00
Joe LeVeque
9b27efdcc2
[dockers] Rename 'docker-lldp-sv2' to 'docker-lldp' (#4700)
The -sv2 suffix was used to differentiate SNMP Dockers when we transitioned from "SONiCv1" to "SONiCv2", about four years ago. The old Docker materials were removed long ago; there is no need to keep this suffix. Removing it aligns the name with all the other Dockers.
2020-06-09 09:09:56 -07:00
SuvarnaMeenakshi
95d51bd4a0
[submodule update]: Advance sonic-snmpagent and sonic-py-swsssdk (#4713)
Update sonic-snmpagent submodule with PRs:
89b7b2c  [Multi-asic]: Namespace support for LLDP and Sensor tables (#131)
fcb8955 Simplify test code (#132)
a677876 [Multi-asic]: Support multi-asic platform (#126)

update sonic-py-swsssdk submodule with PRs:
132f8d5  [MultiDB]: use python class composition to avoid confusion in base class (#74)

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-06-09 09:09:14 -07:00
Dong Zhang
7525fea666
[MultiDB] daemon base should use multiDB DBConnector (#4549)
* [MultiDB] daemon base should use multiDB DBConnector
* [sonic-platform-daemon] update submodule for multiDB changes
2020-06-08 13:36:56 -07:00
Mahesh Maddikayala
d491c02294
[submodule]: update submodules sonic-sairedis, sonic-swss-common (#4722)
[sonic-sairedis]
* 322dd01 2020-06-05 | Fix debian/rules makefile: use shell commands instead of dollar replacements (#621) (HEAD -> master, origin/master, origin/HEAD) [Qi Luo]
* 6d55a75 2020-06-04 | Update SAI pointer to 1.6.1 (#620) [Mahesh Maddikayala]
* d6c40e5 2020-06-01 | [MultiDB] use get API to obtain dbid instead of hardcode value (#618) [Dong Zhang]
* bd132ec 2020-06-01 | Add synchronous mode to sairedis library (#617) [Kamil Cudnik]
* 0a77a09 2020-06-01 | [meta] Fix tests to be backward compatible (#619) [Kamil Cudnik]

[sonic-swss-common]
* 35bc01a 2020-06-05 | EVPN VXLAN DB support (#339) (HEAD -> master, origin/master, origin/HEAD) [Rajesh Sankaran]
* 2c7354b 2020-05-30 | Add modifyRedis flag to consumer table object (#344) [Kamil Cudnik]
* 5a32636 2020-05-27 | Fix memory leak in pyext when Selectable is returned to Python (#343) [pavel-shirshov]
2020-06-08 09:48:10 -07:00
Sangita Maity
65fa874ec5
[test] Adding platform.json configuration file unit test (#3911)
- What I did
In order to allow the SONiC community to check in platform capability file i.e. platform.json
file directly under device folder. We need to add this test to make sure the contents of the this file is compliant with platform capability design specified in DPB HLD doc

- How I did it
Added platformJson_checker.py file in Test folder.

Signed-off-by: Sangita Maity <sangitamaity0211@gmail.com>
2020-06-04 16:11:15 -07:00
Sumukha Tumkur Vani
3e110fb0c1
Update sonic-restapi (#4692)
Auto restart restapi server after cert rollover
2020-06-02 15:35:26 -07:00
Mahesh Maddikayala
fb6916f88b
Update packages and pointers to use SAI1.6 headers. (#4597)
* Update sonic-sairedis (sairedis with SAI 1.6 headers)

* Update SAIBCM to 3.7.4.2, which is built upon SAI1.6 headers

* missed updating BRCM_SAI variable, fixed it

* Update SAIBCM to 3.7.4.2, updated link to libsaibcm

* [Mellanox] Update SAI (release:v1.16.3; API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* Update sonic-sairedis pointer to include SAI1.6 headers

* [Mellanox] Update SDK to 4.4.0914 and FW to xx.2007.1112 to match SAI 1.16.3 (API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* ensure the veth link is up in docker VS container

* ensure the veth link is up in docker VS container

* [Mellanox] Update SAI (release:v1.16.3.2; API:v1.6)

Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>

* use 'config interface startup' instead of using ifconfig command, also undid the previous change'

Co-authored-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2020-05-30 14:23:34 -07:00
Joe LeVeque
1e369b0998
[systemd] Relocate all SONiC unit files to /usr/lib/systemd/system (#4673)
This will allow us to disable services and have it persist across reboots by using the `systemctl mask` operation
2020-05-30 13:46:44 -07:00
Qi Luo
65e7a84509
[baseimage]: Build and install redis-dump-load Python 3 package in host image (#4661)
Fix #4656
2020-05-30 05:52:27 -07:00
shlomibitton
8cfb3a0a22
[submodule update] sonic-utilities (#4648)
Add 'hw-management-generate-dump.sh' to 'show techsupport' command (#923)
Add common PCIe diag tool (#771)
Multi-asic changes for config bgp commands and utilities. (#910)
Loopback interface configuration CLIs (#879)

Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>
2020-05-28 22:23:21 -07:00
Praveen Chaudhary
87201929d3
[sonic-yang-mgmt/setup.py]: Removing the part where build dependencies are installed in setup.py. (#4657)
Changes:
-- Removing the part where build dependencies are installed in setup.py.
-- Adding build dependencies in corresponsing rules\..*.mk file.

Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com
2020-05-28 12:16:25 -07:00
Dong Zhang
d7df56872b
[sonic-quagga] update submodule with multiDB Changes (#4557) 2020-05-27 11:12:33 -07:00
zoe-kuan
fa809c86dc
[platform/delta]: Add a new supported platform, Delta-agc032 (#4602)
* [platform]: Add a new supported platform, Delta-agc032

Switch Vendor: Delta
Switch SKU: Delta-agc032
CPU: BROADWELL-DE
ASIC Vendor: Broadcom
Switch ASIC: Tomahawk3, BCM56980
Port Configuration: 32x400G + 2x10G

- What I did
Add a new Delta platform Delta-agc032.

- How I did it
Add files by following SONiC Porting Guide.

- How to verify it
1. decode-syseeprom
2. sensors
3. psuutil
4. sfputil
5. show interface status
6. bcmcmd

Signed-off-by: zoe-kuan <ZOE.KUAN@deltaww.com>
2020-05-27 09:33:02 -07:00
rajendra-dendukuri
a406fdb57c
[sonic-py-swsssdk] Advance submodule (#4636)
**- Why I did it**
Advance sonic-py-swsssdk submodule to fix #4632

**- How I did it**
In py3, the response from redis connector is encoded as byte array. They
need to be decoded before accessing them as strings.

Use following commands to test

sonic-db-cli CONFIG_DB "keys *"
sonic-db-cli CONFIG_DB "hget PORT|Ethernet0 admin_status"

**- How to verify it**

sonic-db-cli CONFIG_DB "keys *"
sonic-db-cli CONFIG_DB "hget PORT|Ethernet0 admin_status"

Signed-off-by: Rajendra Dendukuri <rajendra.dendukuri@broadcom.com>
2020-05-27 03:15:43 -07:00
Sabareesh-Kumar-Anandan
17904969b6 [sonic-config-engine][marvell] read mac address fix (#4649)
Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-05-27 02:02:19 -07:00
Junchao-Mellanox
bf54f48df3
[thermalctld] Update submodule pointer for sonic-platform-daemons (#4637) 2020-05-26 11:04:21 -07:00
Sumukha Tumkur Vani
40481f01af
Read cloudtype info from minigraph (#4642) 2020-05-26 10:59:56 -07:00
Guohan Lu
2e42a4ba0f [docker-dhcp-relay]: use service dependency in supervisord to start services 2020-05-22 11:01:28 -07:00
Sumukha Tumkur Vani
2f7924b196
Update submodule [sonic-restapi] (#4630) 2020-05-22 09:42:46 -07:00
Praveen Chaudhary
0ccdd70671
[sonic-yang-mgmt]: sonic-yang-mgmt package for configuration validation. (#3861)
**- What I did**

#### wheel package Makefiles

- wheel package Makefiles for sonic-yang-mgmt package.

#### libyang Python APIs:
- python APIs based on libyang
- functions to load/merge yang models and Yang data files
- function to validate data trees based on Yang models
- functions to merge yang data files/trees
- add/set/delete node in schema and data trees
- find data/schema nodes from xpath from the Yang data/schema tree in memory
- find dependencies
- dump the data tree in json/xml

#### Extension of libyang Python APIs:
-- Cropping input config based on Yang Model.
-- Translate input config based on Yang Model.
-- rev Translate input config based on Yang Model.
-- Find xpath of port, portleaf and a yang list.
-- Find if node is key of a list while deletion if yes, then delete the parent.

Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com
Signed-off-by: Ping Mao pmao@linkedin.com
2020-05-21 16:27:57 -07:00
Tyler Li
2398992d52
[iccpd] build iccpd deb by auto tools (#4540)
* [iccpd] build iccpd deb by auto tools
2020-05-21 09:12:51 -07:00
arlakshm
eb97dccb88
[config]: Fix the device type and internal bgp session status for multi NPU platforms (#4600)
* The following changes for multi-npu platforms are done
- Set the type in device_metadata for asic configuration to be same as host
- Set the admin-status of internal bgp sessions as up
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-05-20 18:10:05 -07:00
abdosi
6d1545dc79
[submodule update] sonic-utilities with PR (#4622)
Changes to commands  config reload/load-minigraph (#919)
2020-05-20 14:53:08 -07:00
abdosi
cb5221a452
[Submodule update] sonic-utilities (#4601)
Fix is_mgmt_vrf_enabled when MGMT_VRF_CONFIG is not present the config (#885)
Changes to support acl-loader command for multi-npu platforms. (#908)
Stop/Start restapi server upon config reload (#911)
[fanshow] Add column drawer name and led status to output of show
platform(#991)
[MultiDB] use sonic-db-cli instead of redis-cli in new added codes
(#907)
[show] Add `ntpstat` output to `show ntp` (#861)
[config] Log invocation of config commands to syslog (#259)
Remove dependency on click-default-group package (#903)
[config] Add 'interface transceiver' subgroup with 'lpmode' and 'rese…'
(#904)
[show] Add 'errors' and 'rates' subcommands to 'show interfaces
count…(#900)
[config] Support load_minigraph command for multi NPU platform (#896)
[Vnet] Fix NameError for 'swsssdk' and align output (#902)
2020-05-18 09:55:41 -07:00
joyas-joseph
9dea816532
Convert docker-snmp-sv2 to buster (#4529)
* Fix libsnmp-base compilation failure
* Convert docker-snmp-sv2 to buster
* Define install_python3_wheels
* Address review comments
* Address review comments
* Advance snmpagent submodule
* Bump net-snmp to the Buster version
* Revert "Fix libsnmp-base compilation failure"
* use azure storage url
2020-05-14 10:23:37 -07:00
abdosi
0542afb619
Moved utility functions for multi-npu platforms from sonic-utilities to sonic_device_util.py (#4559)
* Moved utility functions for multi-npu platforms from
sonic-utilities config/main.py to here so that they can be used
any module

* Fix the issue with test run during compilation with acl-uploader
PR#908 of sonic-utilities.

* Fix get_num_npu as it was retuning string and not int

* Address Review Comments

* Address Review Comments
2020-05-13 10:24:16 -07:00
Junchao-Mellanox
5e6c20481d
[Mellanox] Enhancement for fan led management (#4437) 2020-05-13 10:01:32 -07:00
judyjoseph
60a0471aa5
Advance sonic-py-swsssdk pointer (#4496) 2020-05-12 17:27:56 -07:00
abdosi
e3be45f2da
[sonic-buildimage] updated minigraph for ACL Table data and ACL Interface Binding for Multi-NPU platforms (#4491)
* [sonic-buildimage] updated minigraph for ACL Table data and ACL Interface
binding update for multu-npu platform based on subrole as "Frontend" or
"Backend". For backend npu no ACL table is associated. For frontend npu
only front-panel interface are associated.

Updated with test case and fix typo in sample-mingraph for npu

Address Review comments

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>

* Fixed the logic as per preview comment. Interface Filter logic
only applies to Everflow/Mirror tables.

* Address Review Comments.
2020-05-12 14:49:15 -07:00
abdosi
a96f9ecee9
Changes for LLDP docker to support multi-npu platforms (#4530)
* Changes for LLDP for Multi NPU Platoforms:-
a) Enable LLDP for Host namespace for Management Port
b) Make sure Management IP is avaliable in per asic namespace
   needed for LLDP Chassis configuration
c) Make sure chassis mac-address is correct in per asic namespace
d) Do not run lldp on eth0 of per asic namespace and avoid chassis
   configuration for same
e) Use Linux hostname instead from Device Metadata for lldp chassis
   configuration since in multi-npu platforms device metadata hostname
   will be differnt

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>

* Address Review Comment with following changes:
a) Use Device Metadata hostname even in per namespace conatiner.
   updated minigraph parsing for same to have hostname as system
   hostname and add new key for asic name

b) Minigraph changes to have MGMT_INTERFACE Key in per asic/namespace
   config also as needed for LLDP for setting chassis management IP.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>

* Address Review Comments
2020-05-11 11:05:44 -07:00
Neetha John
286aa35ac6
[qos]: Alpha and ECN settings change for Th (#4564)
Dynamic threshold setting changed to 0 and WRED profile green min threshold set to 250000 for Tomahawk devices

Changed the dynamic threshold settings in pg_profile_lookup.ini
Added a macro for WRED profiles in qos.json.j2 for Tomahawk devices
Necessary changes made in qos.config.j2 to use the macro if present

Signed-off-by: Neetha John <nejo@microsoft.com>
2020-05-09 11:21:18 -07:00
judyjoseph
acf465b43b
Multi DB with namespace support, Introducing the database_global.json… (#4477)
* Multi DB with namespace support, Introducing the database_global.json file
for supporting accessing DB's in other namespaces for service running in
linux host

* Updates based on comments

* Adding the j2 templates for database_config and database_global files.

* Updating to retrieve the redis DIR's to be mounted from database_global.json file.

* Additional check to see if asic.conf file exists before sourcing it.

* Updates based on PR comments discussion.

* Review comments update

* Updates to the argument "-n" for namespace used in both context of parsing minigraph and multi DB access.

* Update with the attribute "persistence_for_warm_boot" that was added to database_config.json file earlier.

* Removing the database_config.json file to avioid confusion in future.
We use the database_config.json.j2 file to generate database_config.json files dynamically.

* Update the comments for sudo usage in docker_image_ctrl.j2

* Update with the new logic in PING PONG tests using sonic-db-cli. With this we wait till the
PONG response is received when redis server is up.

* Similar changes in swss and syncd scripts for the PING tests with sonic-db-cli

* Updated with a missing , in the database_config.json.j2 file, Do pip install of j2cli in docker-base-buster.
2020-05-08 21:24:05 -07:00
Qi Luo
d0099ed43e
[minigraph] Support FECDisabled in minigraph parser (#4556)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2020-05-08 19:47:05 -07:00
SuvarnaMeenakshi
7f14acbf03
[minigraph.py]: Fix undefined variable error. (#4555)
Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-05-07 23:17:22 -07:00
Danny Allen
3ae5945cfc
[minigraph] Add tags for egress mirror tables (#4526)
Signed-off-by: Danny Allen <daall@microsoft.com>
2020-05-06 15:43:29 -07:00
SuvarnaMeenakshi
8ac1c60b2a
[config engine] Parser changes to support parsing of multi-asic device minigraph (#4222)
- Changes to minigraph.py to parse minigraph.xml of a multi asic platform 
- Changes to portconfig.py to parse additional column "asic_port_name" in
port_config.ini
- Add a new option -n to sonic-cfggen for multi asic platforms
- Add unit tests for config generation for multi asic platforms

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-05-04 16:15:15 -07:00
judyjoseph
e8748ebf1b
[submodule]: advance sonic-utilities submodule (#4523)
c2facd8 [show] Fix abbreviations for 'show ip bgp ...' commands (#901)
cb68e7d Add support for multi-ASIC devices (#877)
44ed6e9 Improved route_check tool and adopt to 20191130 image. (#898)
6fba8db [psushow] Add a column to display LED color to show platform psustatus output (#886)
e747456 ssd_mitigation_changes (#829)
2020-05-04 09:34:35 -07:00
shlomibitton
30bbbbf24f
hw-mgmt_V.7.0000.3034 integration (#4519)
Signed-off-by: Shlomi Bitton <shlomibi@mellanox.com>
2020-05-02 20:37:14 +03:00
Joe LeVeque
46161ca0e0
[sonic-utilities][sonic-ztp] Update submodules (#4501)
* src/sonic-utilities 7ce5b62...3471926 (4):
  > Make `config` command support abbreviation. (#893)
  > [fwutil]: Fix firmware update command. (#895)
  > [doc]: ZTP configuration and show commands (#866)
  > Allow show ztp to display non-sensitive information visible to
  > non-root user (#872)

* src/sonic-ztp 374c9e8...c959371 (2):
  > Fix ztp profile unit test (#14)
  > Create a shadow ZTP data json file accessible to non-root user (#13)
2020-04-30 15:48:42 -07:00
Sabareesh-Kumar-Anandan
81f4c81f0c
[build]: changing debian names based on Architecture (#4508)
Replacing "amd64" with $PLATFORM_ARCH variable
Fix for compiling marvell-armhf arch

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-04-30 15:47:03 -07:00
Dong Zhang
aca5bec842
[sonic-py-swsssdk/snmpagent] update submodule for sonic-py-swsssdk / snmpagent (#4421)
* [sonic-py-swsssdk] update submodule for sonic-py-swsssdk
* update snmpagent submodule
* [sonic-py-swsssdk] update submodule for namespace changes
2020-04-30 13:09:24 -07:00
Nazarii Hnydyn
2153caef59
[submodule]: Advance sonic-platform-common. (#4513)
Commits on Mar 20, 2020
SFP(sff8472 attributes) transciever eeprom attribute support. (#74) 9b1dea5

Commits on Mar 22, 2020
Detect an SFP adapter in a QSFP port, and instantiate an SFP object i… 116eeec

Commits on Apr 13, 2020
[component]: Introduce new firmware management API. 2632a59

Commits on Apr 16, 2020
[Chassis base] Add sfp error event definition (#80) f1f00ec

Commits on Apr 24, 2020
[component]: Update firmware management API. 777901f
[component]: Extend docstrings for firmware management API. b066ec7

Commits on Apr 30, 2020
[component]: Fix review comments. d96344e
Merge pull request #82 from nazariig/master-component-firmware-api 28c39c5 

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-04-30 12:45:12 -07:00
Sumukha Tumkur Vani
e1ba5b0f5f
[docker-restapi]: add restapi config to config Db (#4495) 2020-04-30 00:25:49 -07:00
jianjundong
4c55adfd6e
[iccpd]: ICCPD support IPv6 ND (#4422)
accomplish it according MCLAG HLD document, the principle is similar to IPv4 ARP.
2020-04-29 11:10:35 -07:00
Joe LeVeque
0895033ee6
[sonic-utilities] Update submodule (#4492)
* src/sonic-utilities 798ce2f...7ce5b62 (19):
  > [utility] Filter FDB entries (#890)
  > [fast reboot] set a fast-reboot DB flag (#887)
  > [show] Add 'ip/ipv6 bgp network' commands (#888)
  > [Vxlan] : adding show vnet/vxlan cmds (#880)
  > [show][bgp] Use only 'show ip bgp' as the base and use bgp_frr_v4 file for FRR routing stack (#884)
  > Revert "[config] Implement a process level lock (#857)" (#882)
  > [generate_dump] Dump systemd specific information (#602)
  > [config] Implement a process level lock (#857)
  > [fwutil]: Update Command-Reference.md. (#876)
  > Add platform options to 'show techsupport' command (#865)
  > [doc]: add ltgm and jenkins badge (#875)
  > Fix even more Python warnings (#873)
  > [showtech]: dump docker stats (#864)
  > Fix more Python warnings (#869)
  > Fix Python warnings (#867)
  > Fixes bug for PFCWD feature parameters (#838)
  > Explicitly specify command names with underscores (continued) (#852)
  > [watermarkstat] Fix issue of fields overwritten before display (#862)
  > [pfc] Add command line to enable/disable/show PFC (#796)
2020-04-29 00:19:29 -07:00
judyjoseph
93ade1d96b
[Multi-ASIC] To pass the asic instance ID to orchagent, Advance the swss, swss-common submodules. (#4465)
* Multi-ASIC platforms will have the ID field in the DEVICE_METADATA, which will be pulled and
will be used when starting the orchagent process with the new option [-i INST_ID]
This is currently added only for Broadcom ASIC based platforms

* Making the asic instance ID passing global across asics/platforms.
Also changed the config DB id field to asic_id

* Minor updates

* Advance sonic-swss submodule

* Advance swss_common submodule as well due to dependencies
2020-04-28 20:32:22 -07:00
Tamer Ahmed
a60a203b75
[dhcpmon] Filter DHCP O/A Messages of Neighboring Vlans (#4469)
* [dhcpmon] Filter DHCP O/A Messages of Neighboring Vlans

This code fixes a bug where two or more vlans exist. Cross contamination
happens for DHCP packets Offer/Ack when received on shared northbound links.
The code filters out those packet based on dst IP equal Vlan loopback IP.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-04-28 00:57:59 -07:00
Sumukha Tumkur Vani
72af555645
Parse Device region field in Minigraph (#4486) 2020-04-27 21:48:09 -07:00
pavel-shirshov
057ced0391
[bgpcfgd]: Split one bgp mega-template to chunks. (#4143)
The one big bgp configuration template was splitted into chunks.

Currently we have three types of bgp neighbor peers:

general bgp peers. They are represented by CONFIG_DB::BGP_NEIGHBOR table entries
dynamic bgp peers. They are represented by CONFIG_DB::BGP_PEER_RANGE table entries
monitors bgp peers. They are represented by CONFIG_DB::BGP_MONITORS table entries
This PR introduces three templates for each peer type:

bgp policies: represent policieas that will be applied to the bgp peer-group (ip prefix-lists, route-maps, etc)
bgp peer-group: represent bgp peer group which has common configuration for the bgp peer type and uses bgp routing policy from the previous item
bgp peer-group instance: represent bgp configuration, which will be used to instatiate a bgp peer-group for the bgp peer-type. Usually this one is simple, consist of the referral to the bgp peer-group, bgp peer description and bgp peer ip address.
This PR redefined constant.yml file. Now this file has a setting for to use or don't use bgp_neighbor metadata. This file has more parameters for now, which are not used. They will be used in the next iteration of bgpcfgd.

Currently all tests have been disabled. I'm going to create next PR with the tests right after this PR is merged.

I'm going to introduce better bgpcfgd in a short time. It will include support of dynamic changes for the templates.

FIX:: #4231
2020-04-23 09:42:22 -07:00
lguohan
46fad0e0c6
Merge pull request #4405 from lguohan/buster
[baseimage]: upgrade base image to debian buster

bring up the base image to debian buster 4.19 kernel.

using the merge commits to preserve the individual commits to better track the history.
2020-04-20 15:32:17 -07:00
taochengyi
744d33d502
[devices]: Centec x86 goldengate platforms and devices update (#4248)
* Centec x86 goldengate update (#8)
2020-04-17 00:38:48 -07:00
bsun-sudo
2a237c57e6 [mgmt-vrf]: mgmt vrf related change for Buster (#53)
Co-authored-by: Bing Sun <Bing_Sun@dell.com>
2020-04-17 04:51:51 +00:00
Guohan Lu
124ce22b8c [initramfs]: porting loopback file system support patch to v0.133
explicitly install dependency linux-base

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-17 04:51:51 +00:00
Guohan Lu
9d6760c336 [kernel]: build linux kernel 4.19.0-6
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
Guohan Lu
01cb7934b0 [build]: add buster docker as the last step of the build proces
- build SONIC_STRETCH_DOCKERS in sonic-slave-stretch docker
- build image related module in sonic-slave-buster docker.
  This includes all kernels modules and some packages

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-16 10:26:18 +00:00
Praveen Chaudhary
df7acdb664
[sonic-yang-models/setup.py]: Making path of pre-installed pacakges relative. (#4430)
Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com
2020-04-15 20:27:04 -07:00
Kebo Liu
89fb1059fa
[Mellanox] Update hw-mgmt package to V.7.0000.3020 (#4362)
* update hw-mgmt package to V.7.0000.3020
* update sonic-linux-kernel repo to pick up new patches
2020-04-15 03:04:11 -07:00
Sumukha Tumkur Vani
12400a447c
[docker-restapi]: Fix authentication in restapi (#4383)
- enabling http/https endpoint and mounting the certificates directory
- updating the sonic-restapi submodule
2020-04-15 02:08:45 -07:00
Praveen Chaudhary
a02255e2f4
[sonic-yang-models]: First version of yang models for Port, VLan, Interface, PortChannel, loopback and ACL. (#3730)
[sonic-yang-models]: First version of yang models for Port, VLan, Interface, PortChannel, loopback and ACL.

YANG models as per Guidelines.

Guideline doc: https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md

[sonic-yang-models/tests]: YANG model test code and JSON input for testing.

[sonic-yang-models/setup.py]: Build infra for yang models.

**- What I did**
Created Yang model for Sonic.
Tables:  PORT, VLAN, VLAN_INTERFACE, VLAN_MEMBER, ACL_RULE, ACL_TABLE, INTERFACE.

Created build infra files using which a new package (sonic-yang-models) can be build and can be deployed on sonic switches. Yang models will be part of this new package.

**- How I did it**
Wrote yang models based on Guideline doc: 
https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md
and 
https://github.com/Azure/SONiC/wiki/Configuration.

Wrote python wheel Package infra which runs test for these Yang models using a json files which consists configuration as per yang models. These configs are for negative tests, which means we want to test that most must condition, pattern and when condition works as expected.

**- How to verify it**
Build Logs and testing:
———————————————————————————————————

```
/sonic/src/sonic-yang-models /sonic
running test
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
running build_ext

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
running bdist_wheel
running build
running build_py
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang_1.0.73_amd64.deb ...
Unpacking libyang (1.0.73) over (1.0.73) ...
Setting up libyang (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for man-db (2.7.6.1-2) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang-cpp_1.0.73_amd64.deb ...
Unpacking libyang-cpp (1.0.73) over (1.0.73) ...
Setting up libyang-cpp (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../python3-yang_1.0.73_amd64.deb ...
Unpacking python3-yang (1.0.73) over (1.0.73) ...
Setting up python3-yang (1.0.73) ...
INFO:YANG-TEST:module: sonic-vlan is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-head
INFO:YANG-TEST:module: sonic-portchannel is loaded successfully
INFO:YANG-TEST:module: sonic-acl is loaded successfully
INFO:YANG-TEST:module: sonic-loopback-interface is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-port
INFO:YANG-TEST:module: sonic-interface is loaded successfully
INFO:YANG-TEST:
------------------- Test 1: Configure a member port in VLAN_MEMBER table which does not exist.---------------------
libyang[0]: Leafref "/sonic-port:sonic-port/sonic-port:PORT/sonic-port:PORT_LIST/sonic-port:port_name" of value "Ethernet156" points to a non
-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlan_name='Vlan100'][port='Ethernet156']/port)
INFO:YANG-TEST:Configure a member port in VLAN_MEMBER table which does not exist. Passed

INFO:YANG-TEST:
------------------- Test 2: Configure non-existing ACL_TABLE in ACL_RULE.---------------------
libyang[0]: Leafref "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/sonic-acl:ACL_TABLE_LIST/sonic-acl:ACL_TABLE_NAME" of value "NOT-EXIST" points
to a non-existing leaf. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NOT-EXIST'][RULE_NAME='Rule_20']/ACL_TABLE_NAME)
INFO:YANG-TEST:Configure non-existing ACL_TABLE in ACL_RULE. Passed

INFO:YANG-TEST:
------------------- Test 3: Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/ICMPV6_CODE)
INFO:YANG-TEST:Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE. Passed
INFO:YANG-TEST:

INFO:YANG-TEST:
------------------- Test 4: Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_20']/SRC_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE. Passed

------------------- Test 5: Configure l4_src_port_range as 99999-99999 in ACL_RULE---------------------
libyang[0]: Value "99999-99999" does not satisfy the constraint "([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])-([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6'][RULE_NAME='Rule_20']/L4_SRC_PORT_RANGE)
INFO:YANG-TEST:Configure l4_src_port_range as 99999-99999 in ACL_RULE Passed

INFO:YANG-TEST:
------------------- Test 6: Configure empty string as ip-prefix in INTERFACE table.---------------------
libyang[0]: Invalid value "" in "ip-prefix" element. (path: /sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[interface='Ethernet8'][ip-prefix='']/ip-prefix)
INFO:YANG-TEST:Configure empty string as ip-prefix in INTERFACE table. Passed

INFO:YANG-TEST:
------------------- Test 7: Configure Wrong family with ip-prefix for VLAN_Interface Table---------------------
libyang[0]: Must condition "(contains(../ip-prefix, ':') and current()='IPv6') or                               (contains(../ip-prefix, '.') and current()='IPv4')" not satisfied. (path: /sonic-vlan:sonic-vlan/VLAN_INTERFACE/VLAN_INTERFACE_LIST[vlanid='100'][ip-prefix='2a04:5555:66:7777::1/64']/family)
INFO:YANG-TEST:Configure Wrong family with ip-prefix for VLAN_Interface Table Passed

INFO:YANG-TEST:
------------------- Test 8: Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NS
W-PACL-V6'][RULE_NAME='Rule_20']/DST_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE. Passed

INFO:YANG-TEST:
------------------- Test 9: Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE.---------------------
libyang[0]: Value "0x080C" does not satisfy the constraint "(0x88CC|0x8100|0x8915|0x0806|0x0800|0x86DD|0x8847)" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/INNER_ETHER_TYPE)
INFO:YANG-TEST:Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE. Passed

INFO:YANG-TEST:
------------------- Test 10: Add dhcp_server which is not in correct ip-prefix format.---------------------
libyang[0]: Invalid value "10.186.72.566" in "dhcp_servers" element. (path: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST/dhcp_servers[.='10.186.72.566'])
INFO:YANG-TEST:Add dhcp_server which is not in correct ip-prefix format. Passed

INFO:YANG-TEST:
------------------- Test 11: Configure undefined acl_table_type in ACL_TABLE table.---------------------
libyang[0]: Invalid value "LAYER3V4" in "type" element. (path: /sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6']/type)
INFO:YANG-TEST:Configure undefined acl_table_type in ACL_TABLE table. Passed

INFO:YANG-TEST:
------------------- Test 12: Configure undefined packet_action in ACL_RULE table.---------------------
libyang[0]: Invalid value "SEND" in "PACKET_ACTION" element. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST/PACKET_ACTION)
INFO:YANG-TEST:Configure undefined packet_action in ACL_RULE table. Passed

INFO:YANG-TEST:
------------------- Test 13: Configure wrong value for tagging_mode.---------------------
libyang[0]: Invalid value "non-tagged" in "tagging_mode" element. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST/tagging_mode)
INFO:YANG-TEST:Configure wrong value for tagging_mode. Passed

INFO:YANG-TEST:
------------------- Test 14: Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN  table.---------------------
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
INFO:YANG-TEST:Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN  table. Passed

INFO:YANG-TEST:All Test Passed
../../target/debs/stretch/libyang0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/libyang-cpp0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/python2-yang_0.16.105-1_amd64.deb installtion failed
YANG Tests passed
Passed: pyang -f tree ./yang-models/*.yang > ./yang-models/sonic_yang_tree
copying tests/yangModelTesting.py -> build/lib/tests
copying tests/test_sonic_yang_models.py -> build/lib/tests
copying tests/__init__.py -> build/lib/tests
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/yangModelTesting.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/test_sonic_yang_models.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/__init__.py -> build/bdist.linux-x86_64/wheel/tests
running install_data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-head.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-acl.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-loopback-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-port.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-portchannel.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-vlan.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
```
2020-04-14 15:36:02 -07:00
lguohan
24231babca
[submodule]: update sonic-sairedis (#4416)
* f972073 2020-04-12 | [vs]: set mtu only on the physical port (#601) (HEAD, origin/master, origin/HEAD) [lguohan]
* e566f7a 2020-04-10 | [saiplayer] Convert saiplayer to static library (#600) [Kamil Cudnik]
* fc3a413 2020-04-09 | [syncd] Convert syncd_request_shutdown to static library (#599) [Kamil Cudnik]
* 027de8f 2020-04-09 | Do not translateVidToRid for processBulkQuadEvent in InitViewMode (#598) [Qi Luo]
* b0ee63d 2020-04-08 | [syncd] [vs] [sairedis] Add support for bulk api in init view (#591) [Kamil Cudnik]
* 48ef314 2020-04-08 | [sairedis] Add pragma once to lib header (#597) [Kamil Cudnik]
* 74af900 2020-04-08 | [build]: allow to use extra inc/lib location to build the package (#595) [lguohan]
* 9b8c63e 2020-04-07 | Update README.txt: add LGTM badges (#596) [Qi Luo]
* fdd79e6 2020-04-07 | [tests] Update lib order (#594) [Kamil Cudnik]
* d89eb59 2020-04-07 | [syncd] Change order of libs in Makefile.am (#593) [Kamil Cudnik]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-12 20:44:16 -07:00
lguohan
e6463352bd
[lldpd]: download lldp package from azure storage url (#4415)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-12 02:30:04 -07:00
lguohan
195a0a7bf7
[libnss]: fix compiling issue under gcc 8 (#4414)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-11 20:43:50 -07:00
Kamil Cudnik
2ecf808556
[submodule] update sairedis (#4379)
* f4d9398 2020-04-07 | [vs] Set mto only on tap device (#592) [Kamil Cudnik]
* 0ad13f5 2020-04-07 | [lgtm]: add lgtm static analysis configuration (#589) [lguohan]
* c961260 2020-04-07 | add swss-common-{inc,lib} to specify the prefix of swss-common library (#590) [lguohan]
* 2d68abc 2020-04-06 | [syncd] Load correct global context id (#588) [Kamil Cudnik]
* cd82389 2020-04-06 | Return correct error code when port is in use (#565) [Vasant Patil]
* 2189c2f 2020-04-02 | [syncd] Pass correct switch RID when staring diag shell (#587) [Kamil Cudnik]
* 91792db 2020-04-01 | [syncd] Fix crash during stats polling (#586) [Vitaliy Senchyshyn]
* d13521e 2020-04-01 | [meta] Flush fdb entries after flush api success (#581) [Kamil Cudnik]
* 54b2510 2020-03-17 | [syncd] Use correct VID when GET will fail to obrain object type (#577) [Kamil Cudnik]
* 59b0430 2020-03-16 | [syncd] Unlock vendor api lock if enabling diag shell (#571) [Kamil Cudnik]
* 910d45e 2020-03-16 | [vs] Add more logs when setting MTU on port (#576) [Kamil Cudnik]
* c0d9947 2020-03-13 | [vs] Fix setting correct port mtu value (#573) [Kamil Cudnik]
2020-04-07 23:03:10 -07:00
shine4chen
524cf9e56a
MCLAG feature for SONIC (#2514)
* MCLAG feature for sonic

* MCLAG feature for sonic

* remove binary file

* remove unused dockerfile

update docker-iccpd to stretch-based container

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* minor fix for isolation port setting

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* iccpd docker would start on demand

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* Add x attribute on mclagdctl file

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* add warm-reboot support for MCLAG

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* merge to master branch and reformat iccpd file

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* fix some bugs and make peer-link configuration optional

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* refactor code per Brcm review

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* correct a typo

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* * optimize iccpd arp/mac sync process
* refine code according to brcm opinoin
* unify function return value

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* * optimize warm-reboot process
* estabish iccpd connection with configurated src-ip

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* fix a typo

Signed-off-by: shine.chen <shine.chen@nephosinc.com>

* optimize some code
* add some debug info
* optimize bridge mac setting
* fix vlan mac sync issue on standby node

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* optimize some code

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* fix some bugs for warm-reboot

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* refine log level

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* refine iccpd syslog & skip arp packet whose src ip is local ip

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* remove iccpd dependency with teamd

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* print log level when dump mclag status

Signed-off-by: shine.chen <shine.chen@mediatek.com>

* revise per community review

Signed-off-by: shine.chen <shine.chen@mediatek.com>

Co-authored-by: shine.chen <shine.chen@nephosinc.com>
Co-authored-by: shine.chen <shine.chen@mediatek.com>
2020-04-04 15:24:06 -07:00
CharlieChenEC
abbd871d55
Fix the error that 'sensord' daemon cannot be spawn correctly in pmon container (#4354)
- This commit fixes the issue #4021 (Sensord not able to start up on
  both master and 201911 branches)
- Add the new patch file for "lm-sensors" to perform dh_installinit to
  include sensord.init in the packed deb. So that the missing init
  script file for 'sensord' will be included in the created 'sensord'
  deb.

Signed-off-by: Charlie Chen <charlie_chen@edge-core.com>
2020-04-03 12:48:47 -07:00
pavel-shirshov
8585005a36
[FRR]: Update frr to latest 7.2.1-s3 (#4294)
- Updated to latest frr 7.2.1 from the master.
- Updated patches accordingly
2020-04-01 12:57:19 -07:00
noaOrMlnx
1a0067ede0
Bug fix: #4011 #4012 - "show run acl", "show run interfaces" - traceback when no ACL_RULE/INTERFACE is present. (#4226)
* Fix bugs - "show run acl/interfaces" returns traceback when no ACL_RULE/INTERFACE is present in configuration
- Change logic in main to take data only if the var_json appears in DB.
- Add unit testing for bug fix & fix comments

Signed-off-by: Noa Or <noaor@mellanox.com>
2020-03-30 09:24:16 -07:00
padmanarayana
eede9a9db9
sFlow : Upgrade hsflowd to v2.0.26-4 (#4301)
As per SONiC CLI requirements, we wanted the collector port to default to 6343 if not explicitly configured. In the Click based CLI, if the collector port is omitted, the port will be set to 6343 by default (https://github.com/Azure/sonic-utilities/blob/master/config/main.py#L2543).
However, if sonic-mgmt-framework based CLI is used, hsflowd was using port 0 as default. host-sflow v2.0.26-4 addresses this issue (i.e. use 6343 in case “collector_port” is not set).

Upgrade hsflowd to v2.0.26-4 to pick up https://github.com/sflow/host-sflow/releases/tag/v2.0.26-4.
2020-03-28 23:49:09 -07:00
judyjoseph
98fbd59f19
Revert "Updated sonic-sairedis submodule (#4323)" (#4336)
This reverts commit ed5650fa27.
2020-03-27 17:27:28 -07:00
judyjoseph
ed5650fa27
Updated sonic-sairedis submodule (#4323)
The following changes are included in this submodule advance

54b2510 [syncd] Use correct VID when GET will fail to obrain object type (#577)
59b0430 [syncd] Unlock vendor api lock if enabling diag shell (#571)
910d45e [vs] Add more logs when setting MTU on port (#576)
c0d9947 [vs] Fix setting correct port mtu value (#573)
2020-03-27 09:14:33 -07:00
SuvarnaMeenakshi
73c77f0d43
[submodule]: Advance sonic-utilities. (#4324)
798ce2f [multi-asic]: Update reload of systemd services to support multi-asic platforms (#856)
6f51428 [Mellanox] Fix thermal control issue: use natural sort for fan status and thermal status (#836)
51d26ce [ntp]: support "show ntp" with mgmt vrf based on linux os version (#858)

Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
2020-03-26 11:04:38 -07:00
Junchao-Mellanox
80bf061b37
[Mellanox] Fix thermal control bugs (#4298)
* [thermal control] Fix pmon docker stop issue on 3800
* [thermal fix] Fix QA test issue
* [thermal fix] change psu._get_power_available_status to psu.get_power_available_status
* [thermal fix] adjust log for PSU absence and power absence
* [thermal fix] add unit test for loading thermal policy file with duplicate conditions in different policies
* [thermal] fix fan.get_presence for non-removable SKU
* [thermal fix] fix issue: fan direction is based on drawer
* Fix issue: when fan is not present, should not read fan direction from sysfs but directly return N/A
* [thermal fix] add unit test for get_direction for absent FAN
* Unplugable PSU has no FAN, no need add a FAN object for this PSU
* Update submodules

Co-authored-by: Stephen Sun <5379172+stephenxs@users.noreply.github.com>
2020-03-25 10:54:07 -07:00
Nazarii Hnydyn
d2bab4424b
[submodule]: Advance sonic-utilities. (#4316)
Commits on Mar 24, 2020
- [config] Add sflow to _reset_failed_services (#850) 04648f5
- [fwutil]: Use overlay driver when mounting next image filesystem (#825) 668c116
- Fix for adding L3 interface to Vlan group (#826) 6e3679b
- [fwutil]: Fix component table layout. (#831) 30adcbd 

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2020-03-25 08:08:20 -07:00
Renuka Manavalan
9d3ea75c57
[submodule]: Update sonic-mgmt-framework to fix a build break fix. (#4318)
Module updated: sonic-mgmt-framework
Azure/sonic-mgmt-framework#44
2020-03-24 23:39:39 -07:00
lguohan
a0d213cc37
[telemetry]: move default certs location from device metadata to telemetry (#4307)
maintains backward compatibility to search original x509 location
when telemetry table does not have certs

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-03-24 00:04:36 -07:00
lguohan
944ff080ae
[submodule]: update sonic-utilities (#4308)
* [submodule]: update sonic-utilities

* d0f8091 2020-03-22 | Revert "add support for MCLAG (#453)" (#849) (HEAD -> master, origin/master, origin/HEAD) [lguohan]
* 6f54e8c 2020-03-22 | Revert "return list for _get_optional_services() (#822)" (#848) [lguohan]
* f1c79d5 2020-03-22 | return list for _get_optional_services() (#822) (HEAD -> master, origin/master, origin/HEAD) [shine4chen]
* 28ea21a 2020-03-21 | Fix kernel panic for irq after fast-reboot (#823) [byu343]
* 727b499 2020-03-22 | [decode-syseeprom] fix getattribute check for sime platforms (#835) [Mykola F]
* db78cb6 2020-03-21 | Update Command Reference with sFlow section (#841) [padmanarayana]
* 780673c 2020-03-21 | explicitly specify command with underscores (#846) [lguohan]
* 07dc201 2020-03-21 | [db_migrator]Do DB migration for buffer pool size change on Mellanox platform (#833) [Kebo Liu]
* 9a94955 2020-03-20 | [sonic_installer] Enable ARM64 arch (#811) [arheneus@marvell.com]
* 92b30c2 2020-03-18 | [config]: add syslog messages to config load_minigraph/reload (#843) [lguohan]
* 4389ffe 2020-03-17 | [intfutil] set speed to 0 when interface speed is not available (#839) [Ying Xie]
* 45c6c68 2020-03-17 | [Mellanox] add document for thermal control related cli (#832) [Junchao-Mellanox]
* 7105400 2020-03-12 | Add kdump support for Aboot platforms (#824) [byu343]
* c5c5ffc 2020-03-01 | [fwutil]: Set default socket timeout for FW download to 30 sec. (#821) [Nazarii Hnydyn]
* 81c5930 2020-03-01 | Update config/show to include PFC Watchdog commands (#736) [Andriy Moroz]
* 66e9dfb 2020-02-28 | [MultiDB] sonic-utilities - replace redis-cli/redis-dump with sonic-db-cli/sonic-db-dump (#810) [Dong Zhang]
* 8aea564 2020-02-24 | add support for MCLAG (#453) [shine4chen]
* 118620f 2020-02-23 | [reboot] make sure the reboot happens even if platform reboot failed (#819) [Ying Xie]
* 40eff82 2020-02-22 | Multi-Db changes for NAT feature. (#818) [Akhilesh Samineni]
* a4cb4dd 2020-02-21 | [Command-Reference.md] Unify Usage statments and Examples (including sample prompts) (#816) [Joe LeVeque]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-03-22 22:02:28 -07:00
arheneus@marvell.com
94162679bb
[sonic-cfggen] MGMT Interface configuration (#4280)
update network and broadcast address in /etc/network/interfaces

Before:
root@sonic:/home/admin# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.28.32.73  netmask 255.255.254.0  broadcast 0.0.0.0 <<<<<

After:
root@sonic:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.28.32.73  netmask 255.255.254.0  broadcast 10.28.33.255 <<<<<

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2020-03-21 14:25:19 -07:00
Renuka Manavalan
0bc7cf29ad
[mgmt-framework]: Update submodule to take build break fix. (#4302)
Brief:
The community code for has been updated, which mismatched with the existing sonic-mgmt-framework. Hence it broke the build.

Submodule-PR: #43

Details:
The SONiC mgmt Framework, pulls down the community modules in two steps.

Pull the existing; This does a transparent compile too.
Then checkout the specific commit-id for each and do the final compile.
The community code change broke in the compilation phase of step-1.
Fix: For the two affected modules, do download only.

Proper fix:
As part of the next phase of changes, the mgmt-framework is moving go-submodule mode, which will ensure the download happens for the assigned commit-ids only.
e.g. Refer go.mod in sonic-telemetry
2020-03-20 18:08:46 -07:00
Joe LeVeque
e05cd1135e
[minigraph.py] Add support for 'OutAcl' keyword and attaching ACLs to VLAN interfaces (#4229)
- Support parsing egress ACLs from minigraph file specified by the "OutAcl" element
- Support attaching ACLs to VLAN interfaces
2020-03-19 23:31:25 -07:00
Qi Luo
4721c4b54b
Update submodule sairedis to fix rpc build (#4253) 2020-03-14 18:27:15 -07:00
Qi Luo
978e717727
Update submodule sonic-mgmt-framework to fix build (#4255) 2020-03-12 22:04:41 -07:00
pavel-shirshov
fc91f81dab
[libteam]: Update libteam to the latest master (#4216) 2020-03-09 16:13:49 -07:00
Junchao-Mellanox
be549db395
Add thermal control support for SONiC (#3949) 2020-03-09 10:41:10 -07:00
lguohan
b08bedbfe8
[Mellanox]Integrate hw-mgmt 7.0000.3012 and advance the linux kernel (#4193)
* [Mellanox]Integrate hw-mgmt 7.0000.3012

* [sonic-linux-kernel]Advance the submodule head

Advance the sonic-linux-kernel

[sFlow]: Patch to fix skb_over_panic in psample driver (#120)
Added support in the kernel for fullcone 3-tuple unique nat. (#100)
Adding support to compile ARM architecture (#102)
[ixgbe] Support bcm54616s external phy in ixgbe (#122)
Fix i2c ISMT DMA buffer alignment issue (#123)
[mellanox]: Add SN4700 patches. (#126)
2020-03-04 10:02:55 -08:00
Kamil Cudnik
d9fcb2fa79
[sairedis] Advance pointer to origin/master (bigrebase) (#4217) 2020-03-04 09:04:33 -08:00
Joe LeVeque
d19bba0ec0
[sonic-cfggen] Load JSON files before minigraph file (#4202)
If sonic-cfggen is passed the -m argument (to load the minigraph file) along with one or more -j <json_file> arguments, load the JSON files before loading the minigraph file.

This ensures that the init_cfg.json file is loaded before the minigraph, therefore the minigraph can override any default configuration options specified in init_cfg.json. Currently, the behavior is reversed.

Note: This is not an issue if loading loading multiple JSON files, because sonic-cfggen loads them in the left-to-right order they were specified on the command line, therefore providing flexibility for loading JSON files in a specific order. As long as init_cfg.json is specified before config_db.json, the values specified in config_db.json will take precedence.
2020-02-27 22:08:52 -08:00
Dong Zhang
df623b7e33
[sonic-py-swsssdk] update submodule for sonic-py-swsssdk (#4179) 2020-02-24 11:42:09 -08:00
abdosi
f5ab24d8f1
Made Change to have Configurable option to enable/disable docker image (#4171)
* Made Change to have Configurable option to enable/disable docker image

* [Submodule-Update] sonic-utilities to latest master
2020-02-21 10:20:07 -08:00
Danny Allen
6005f4c976
Revert "Update frr to latest 7.2.1 (#4145)" (#4170)
This reverts commit 4b42a48f45.
2020-02-20 13:47:21 -08:00
pavel-shirshov
4b42a48f45
Update frr to latest 7.2.1 (#4145) 2020-02-13 18:45:37 -08:00
Olivier Singla
6a0dcb1b16
[kernel]: security kernel update to 4.9.189 (#3913)
This patch upgrade the kernel from version
4.9.0-9-2 (4.9.168-1+deb9u3) to 4.9.0-11-2 (4.9.189-3+deb9u2)

Co-authored-by: rajendra-dendukuri <47423477+rajendra-dendukuri@users.noreply.github.com>
2020-02-12 17:41:58 -08:00
Qi Luo
5bf66af5a6
Update submodule: swss, swss-common (#4130)
Including commits in those repos:

sonic-swss-common
7ee1179 2020-01-15 | Add unregister method to NetDispatcher (#326) [Kamil Cudnik]
b080150 2019-12-19 | Add resultToString method for Select class (#325) [Kamil Cudnik]

sonic-swss
412c5eb 2020-02-06 | Quote input strings before constructing a command line (#1193) [Qi Luo]
1215262 2020-02-06 | [DPB portsyncd/portmgrd/portorch] Support dynamic port add/deletion without dependencies (#1112) [zhenggen-xu]
ddb84fb 2020-02-03 | [aclorch] Enable IN_PORTS ACL qualifier on MIRROR tables (#1176) [Danny Allen]
750982e 2020-01-30 | adding mirrorv6 support for mrvl platform (#1190) [B S Rama krishna]
73ab143 2020-01-29 | [pytest]: print out stdout/stderr message when cmd fails (#1188) [lguohan]
1883c0a 2020-01-29 | [vs tests] Remove class-level flaky fixtures (#1189) [Danny Allen]
dc695fb 2020-01-29 | [orch] change Consumer class to support multiple values for the same key (#1184) [zhenggen-xu]
49ad38f 2020-01-30 | [orchagent/copp] : copp trap priority not supported for marvell platf… (#1163) [rajkumar38]
cbe1811 2020-01-28 | Fix the stack-overflow issue in AclOrch::getTableById() (#1073) [zhenggen-xu]
c6a8a04 2020-01-29 | [aclorch]: add support for acl rule to match out port (#810) [shine4chen]
8f4c54a 2020-01-29 | [qosorch] converting shaper bandwidth value to unsigned long instead of int (#1167) [Sabareesh-Kumar-Anandan]
84415f6 2020-01-28 | [vs tests] Activate flaky plugin for virtual switch pytests (#1186) [Danny Allen]
5eb1ea3 2020-01-28 | [qosorch]: Remove Init Color ACLs (#1084) [zhenggen-xu]
2020-02-08 18:44:37 -08:00
Stephen Sun
974e6e98c3
[daemon_base]fix error: syslog is not a member of DaemonBase (#4039) 2020-02-07 12:34:29 -08:00
yozhao101
91e5fb5602
[Service] Enable/disable container auto-restart based on configuration. (#4073) 2020-02-07 12:34:07 -08:00
pavel-shirshov
c63b5fc719
[frr]: Use tag for building frr (#4082)
Changed logic for building frr. Previously we used latest commit in the FRR_BRANCH. Now the buildsystem will use a tag to identify a commit for building. New approach will let us to update sonic-frr without corrupting building sonic-buildimage.
2020-02-07 07:51:01 -08:00
pavel-shirshov
b5b68c75e5
teamd: fix possible race in master ifname callback (#4109)
- What I did
Ported a fix from libteam master to our master.
Fixes #4070
Fixes #3649

- How I did it
Applied patch jpirko/libteam@c723737 from upstream.

- How to verify it
Build image for your DUT and warm-reboot your DUT 10 times. Check that all PortChannels are up and no error messages in teamd.log
2020-02-05 01:09:16 -08:00
Qi Luo
142d45ce98
Revert "Disable SNMPv1 (#2156)" (#4088) 2020-02-01 00:30:00 -08:00
Guohan Lu
a4d3e5a26f [swss]: fix sonic-swss submodule due to history change
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2020-01-31 02:29:20 +00:00
Kiran Kumar Kella
97165a0d69
Changes in sonic-buildimage to support the NAT feature (#3494)
* Changes in sonic-buildimage for the NAT feature
- Docker for NAT
- installing the required tools iptables and conntrack for nat

Signed-off-by: kiran.kella@broadcom.com

* Add redis-tools dependencies in the docker nat compilation

* Addressed review comments

* add natsyncd to warm-boot finalizer list

* addressed review comments

* using swsscommon.DBConnector instead of swsssdk.SonicV2Connector

* Enable NAT application in docker-sonic-vs
2020-01-29 17:40:43 -08:00
Kamil Cudnik
5383e2c765
[sairedis] Advance pointer to fix rpc thrift (#4079)
567191f [sairedis] Add knob to disable recording statistics API calls (#547)
8513506 Create Switch and SwitchContainer classes (#549) …
e991281 Update .gitignore (#551)
84b0eed [sairedis] Skip recording GET operations on AVAILABLE attributes (#550) …
634e4e3 [meta] Return OBJECT_IN_USE when removing port is in use (#553)
2961bd3 [syncd] Fix rpc server flag condition (#557)
2020-01-29 01:25:06 -08:00
Stepan Blyshchak
9cf5730b93
[swss] update swss pointer (#4077)
4628a5a [vs tests] Refactor fdb_update tests to be consistent with vs test suite (#1185)
9594de0 Enable MIRRORv6 for BFN platform (#1177)
a35afac [portsorch] use ingress/egress disable for LAG member enable/disable (#1166)
faab3e1 remove the obsoleted platforms build links (#1169)
97abec5 [restore_neighbors.py] build arp packet with correct hwsrc and psrc (#1158)
97a22ca [vs tests] Mark VLAN and warm reboot tests as xfail (#1183)
b453797 [Teamdmgrd]Fix "teamd cannot start when port channel was down before warm reboot" issue (#1171)
3732e74 [cfgmgr] clear loopback and vrf in kernel if not warmstart (#1141)
51315c1 [debugcounterorch] Add checks for supported counter types and drop reasons (#1173)
10f091d [vs tests] Disable NAT tests to unblock Jenkins (#1179)
698ca2a [portsorch] Refactor portsorch to use FlexCounterManager to setup port and queue stats (#1170)
ea8b1da Merge pull request #1125 from AkhileshSamineni/natorch_changes_in_sonic
bbd77fc Merge pull request #1126 from AkhileshSamineni/natsyncd_changes_in_sonic
419d9d2 Fix bug: shellquote the inner string (#1168)
d507a93 [aclorch] Validate that provided IN/OUT_PORTS are physical interfaces (#1156)
f24081b [AclOrch] add validation for check CRM (#1082)
85036df Merge pull request #1059 from AkhileshSamineni/nat_changes_in_sonic
1eac91e [portsorch] process PortsOrch tables in specific order (#1108)
80e01c0 Teamd :: fix for cleaning up the teamd processes correctly on teamd docker stop (#1159)
77fa5a4 Move away sairedis logrotate from signal handler (#1153)
5ad47af Merge branch 'master' into natorch_changes_in_sonic
982abd6 Fixed compilation issue after forced push.
286ca21 Fixed compilation issue.
3350b85 Added pytest testcases for NAT.
63ebb3a Added platform changes to avoid nexthop traching in OA.
f9a8302 Addressed review comments.
946e53d Fixed compilation issue.
3d2b900 Addressed review comments and added 'nat miss' traps in copp json.
ff2c78c Added changes to verify the NAT is supported before setting nat zone.
346f59a Addressed review comments.
8246acb Removed debug framework change to avoid compilation error
f59ec87 Fixed compilation issue.
e8b9dab Added aclorch changes for "do_not_nat" action.
88fe411 Orchagent changes in sonic-swss submodule to support NAT feature.
3ca530c Addressed review comments
e4b7724 Addressed Review comments
72750ac Natsyncd changes in sonic-swss submodule to support NAT feature.
2086ad2 Fixed compilation issue after forced push.
3fcfea3 Fix in cleanup.
4028803 Added missed check
ed405bf Addressed review comments
ae6eb80 Compilation fix to pick proper ACL Table name - CFG_ACL_TABLE_TABLE_NAME
d750132 Fix for string compilation issue
904e80b Corrected Makefile.am change.
5b09c41 Removed pytest related files and added those to PR #1125
fd733b8 Removed the Orchagent and Natsyncd related files as those are covered as part of PRs #1125 and #1126
b53c888 Loopback related changes for NAT.
29bb539 Added neighsync changes to support warm reboot for NAT.
4e0d0a1 Changes in sonic-swss submodule to support NAT feature.

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2020-01-28 21:53:07 -08:00
Danny Allen
2e36b25c5a
[utilities] Update utilities submodule (#4080)
- [neighbor advertiser] remove http endpoint access (#792)
- [dropconfig] Move prefix-handling from CLI to orchagent (#785)
- [acl-loader] Use V6 ethertype for IPv6 ACL rule (#788)
- kdump support (#729)
- Add command line support for thermal control (#777)
- [fdbshow][nbrshow] Print interface OID in lieu of name if there is no OID->interface name mapping (#789)
- ipaddr module to ipaddress for show command (#786)
- [sonic_installer] Adding support for ARM Uboot firmware (#769)
- [config] Merge duplicate vrf configuration (#759)
- [dropconfig] Clean-up error output for devices that do not support drop counters (#784)
- [show] enhance 'show ip[v6] bgp summary' command (#754)
- On sflow enable, start the docker since it is disabled by default (#773)
- [portstat] fix header used (#743)
- Add VRF-related commands to Command Reference Document (#778)
- [intfstat] fix --delete fail when counters dump does not exist (#752)
- [scripts] Adds support for management (1.0) commands (#745)
- A generic JSON file updater, which can add/update-existing attributes. (#770)
- [command reference] Update show int counters info with l3 RIF (#725)
- [fast/warm reboot] ignore errors after shutting down critical service(s) (#761)
- Platform Driver Development Framework (PDDF): Adding PDDF CLI utils (#624)
- Platform plugin for Fast-reboot/warm-reboot (#740)

Signed-off-by: Danny Allen <daall@microsoft.com>
2020-01-28 15:26:21 -08:00
SuvarnaMeenakshi
c9483796dc [baseimage]: support building multi-asic component (#3856)
- move single instance services into their own folder
- generate Systemd templates for any multi-instance service files in slave.mk
- detect single or multi-instance platform in systemd-sonic-generator based on asic.conf platform specific file.
- update container hostname after creation instead of during creation (docker_image_ctl)
- run Docker containers in a network namespace if specified
- add a service to create a simulated multi-ASIC topology on the virtual switch platform

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
Signed-off-by: Suvarna Meenakshi <Suvarna.Meenaksh@microsoft.com>
2020-01-26 13:56:42 -08:00
pavel-shirshov
61858807ce [frr]: Update FRR to 7.2.1 (#4066)
Update rules for frr package.
Update frr submodule
2020-01-25 19:43:22 -08:00
pavel-shirshov
08f60f652a
Update lldpd to latest stable version (#3905)
* Change lldpd version

* Remove patches not-required patches
2020-01-24 11:52:52 -08:00
wangshengjun
70e8c5e29e [FRR]there is no need to checkout master branch after compiling frr. (#3941)
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
2020-01-23 14:41:02 -08:00
Myron Sosyak
b76e2790a4 [submodule]: Update sonic-utilities submodule (#4050)
- catch all exceptions while trying https endpoint
- Used "config-setup backup" command to take a backup copy of current SONiC configuration.
- raise exception when http endpoint return failure
2020-01-22 17:02:10 -08:00
Dong Zhang
5057ac3122 [MultiDB] (./dockers dir) : replace redis-cli with sonic-db-cli and use new DBConnector (#3923)
* [MultiDB] (./dockers dirs): replace redis-cli with sonic-db-cli and use new DBConnector

* remove unnecessary quota

* update typo
2020-01-22 11:27:21 -08:00
Dong Zhang
8320267927 [sairedis] update submodule for sairedis (#3984)
update multiDB changes in sairedis, including:

[MultiDB]: repalce old APIs with New APIs incuding testing (#537)

[syncd] Move port map and port map parser to proper class (#542)

[syncd] Update syncd to expect correct object query message (#548)

Support for snat available entry switch attribute in vslib (needed to run vs pytests) (#546)

Move apiInitialized flag to Globals namespace (#545)

Move command line options and parser to separate classes (#541)

Move ntf_queue to proper NotificationQueue class (#539)

Move api mutex to global class and add sairedis namespace (#544)

Clean sairedis.h header (#543)

Fix mlnx.pl script for perl include local directory (#540)

Layer 2 Forwarding Enhancements (#510)

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2020-01-22 10:39:21 -08:00
Dong Zhang
d0d1a5592b [sonic-py-swsssdk] update submodule for sonic-py-swsssdk (#4040)
update multiDB changes in swsssdk, including:

[MultiDB]: update sonic-db-cli list output separator to '\n' (#60)
2020-01-19 11:29:02 -08:00
kannankvs
d150721fa1 modified down rules to pre-down rules to ensure that default route is… (#3853)
* modified down rules to pre-down rules to ensure that default route is deleted just before interface is made down
2020-01-16 19:36:49 -08:00
Tamer Ahmed
4e3bf842c7 [mgmt-framework] submodule update (#4030)
00410e5 (HEAD, origin/master, origin/HEAD) [mgmt-framework] Update Swagger URL to repo1.maven.org (#37)
7562028 Merge pull request #36 from Azure/Arlo
cd22b4d (origin/Arlo) Added the certificate check to quiet
7fbcd46 Changed the swagger website to https
5d1041f Added sonic-mgmt-framework deb install to install the contents of sonic-mgmt-framework deb package (#30)
229fe69 Added sonic-mgmt-framework deb install to install the contents of sonic-mgmt-framework deb package

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-01-16 16:12:28 -08:00
Dong Zhang
2eda2d8156 [sonic-py-swsssdk] update submodule for sonic-py-swsssdk (#4031)
* [MultiDB]: update sonic-db-cli output to redis-cli output format (#59)

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2020-01-16 16:11:49 -08:00
Pradchaya Phucharoen
522916397d [Celestica/Seastone2] Add support Seastone2 device and platform (#3761)
* [device/celestica] Add seastone2 device specific plugins and SKU

* [platform/broadcom] Add Celestica seastone2 platform module

* update minigraph for Seastone_2 and remove 10KR port configuration

* [device/celestica] hwsku:Seastone2 update port configuration

* [plugins/psuutil] fix psutuil cannot run in pmon docker

* [plugins/sfputil] raise error in get_transceiver_change_event

* [device/celestica] Seastone2 add config to skip ledd in pmon

Co-authored-by: tiantianlv <38775940+tiantianlv@users.noreply.github.com>
2020-01-15 18:42:09 -08:00
padmanarayana
918fdc6c44 [sflow]: Upgrade hsflowd to v2.0.26-3 (#4020) 2020-01-14 14:16:33 -08:00
Sumukha Tumkur Vani
3b1ee5dc2b
Changes to build restapi docker (#3993) 2020-01-10 13:46:32 -08:00
Tamer Ahmed
2658ab8add
[dhcp-relay]: Add DHCP Relay Monitor (#3886)
DHCP relay MONitor (dhcpmon) keeps track of DORA messages. If DHCP Relay
is detected to be not forwarding DORA message, dhcpmon will log such event
to syslog. Under the hood dhcpmon keeps counts of clients DR messages,
forwarded DR messages, DHCP server OA messages, and forwarded OA messages.
dhcpmon will check every 12 sec (configurable) if counts are monotonically
increasing and record snapshot of those counters. dhcpmon will report
discrepancies when detected between current counters and snapshot counters.

pull-request: https://github.com/Azure/sonic-buildimage/pull/3886
signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-01-07 17:48:03 -08:00
tahmed-dev
df04809cb8
[libnl]: Debian Packaging libnl version 3.5.0 (#3967)
Packaging libnl 3.5.0 based off libnl 3.2.27 packaging. libnl contains various bug fixes that are nice to have.

pull-request: https://github.com/Azure/sonic-buildimage/pull/3967
signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
2020-01-06 17:01:28 -08:00
Joe LeVeque
24a0c46464
[monit] Build from source and patch to use MemAvailable value if available on system (#3875) 2019-12-30 18:25:57 -08:00
Stepan Blyshchak
18cb5c6765 [swss] submodule update (#3925)
9f6efa0 [port/buffer] introduce a sync mechanism to protect port
PG/queue from changes under PFC storm (#1143)
823e426 [aclorch] Enable DSCP rules on IPv6 mirror tables (#1146)
b8745f8 [bitmap_vnet]: Fix removal flow for tunnel route (#1139)
03be983 Increase ip2me CIR/CBR for faster in-band file transfers (#1000)
a4a1d3b [vnet]: Update VNET route table size to 40K for BITMAP
implementation (#1132)
efe142a Fix bug: Wrong condition for mac address (#1142)
7bf63a0 [teammgrd]during warm-reboot teamd need to recover system-id
from saved lacp-pdu (#1003)
8b4cfb6 Cleanup configure.ac from BFN specific code (#1133)
b931751 [teamsyncd]: Add retry logic in teamsyncd to avoid team handler
init failure (#854)

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-12-27 09:38:39 -08:00
Dong Zhang
86ab2aee06 [swsssdk-py] submodule update for sonic-py-swsssdk (#3929)
update multiDB changes in sonic-py-swsssdk, including:

- read portchannel name from LAG_NAME_MAP_TABLE in COUNTERS_DB (#51)
- Revert "read portchannel name from LAG_NAME_MAP_TABLE in COUNTERS_DB (#51)" (#57)
- [MultiDB] sonic-db-cli should support EVAL operation, app script use … (#58)

PR #3928 needs this swsssdk-py changes to work

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2019-12-27 09:30:47 -08:00
Prabhu Sreenivasan
87f70108cb SONiC Management Framework Release 1.0 (#3488)
* Added sonic-mgmt-framework as submodule / docker

* fix build issues

* update sonic-mgmt-framework submodule branch to master

* Merged changes 70007e6d2ba3a4c0b371cd693ccc63e0a8906e77..00d4fcfed6a759e40d7b92120ea0ee1f08300fc6

00d4fcfed6a759e40d7b92120ea0ee1f08300fc6 Modified environemnt variables

* Changes to build sonic-mgmt-framework docker

* bumped up sonic-mgmt-framework commit-id

* version bump for sonic-mgmt-framework commit-it

* bumped up sonic-mgmt-framework commit-id

* Add python packages to docker

* Build fix for docker with python packages

* added libyang as dependent package

* Allow building images on NFS-mounted clones

Prior to this change, `build_debian.sh` would generate a Debian
filesystem in `./fsroot`. This needs root permissions, and one of the
tests that is performed is whether the user can create a character
special file in the filesystem (using mknod).

On most NFS deployments, `root` is the least privileged user, and cannot
run mknod. Also, attempting to run commands like rm or mv as root would
fail due to permission errors, since the root user gets mapped to an
unprivileged user like `nobody`.

This commit changes the location of the Debian filesystem to `/fsroot`,
which is a tmpfs mount within the slave Docker. The default squashfs,
docker tarball and zip files are also created within /tmp, before being
copied back to /sonic as the regular user.

The side effect of this change is that the contents of `/fsroot` are no
longer available once the slave container exits, however they are
available within the squashfs image.

Signed-off-by: Nirenjan Krishnan <Nirenjan.Krishnan@dell.com>

* bumped up sonc-mgmt-framework commit to include PR #18

*     REST Server startup script is enahnced to read the settings from
    ConfigDB. Below table provides mapping of db field to command line
    argument name.

    ============================================================
    ConfigDB entry key      Field name      REST Server argument
    ============================================================
    REST_SERVER|default     port            -port
    REST_SERVER|default     client_auth     -client_auth
    REST_SERVER|default     log_level       -v
    DEVICE_METADATA|x509    server_crt      -cert
    DEVICE_METADATA|x509    server_key      -key
    DEVICE_METADATA|x509    ca_crt          -cacert
    ============================================================

* Replace src/telemetry as submodule to sonic-telemetry

* Update telemetry commit HEAD

* Update sonic-telemetry commit HEAD

* libyang env path update

* Add libyang dependency to telemetry

* Add scripts to create JSON files for CLI backend

Scripts to create /var/platform/syseeprom and /var/platform/system, which are back-end
files for CLI, for system EEPROM and system information.

Signed-off-by: Howard Persh <Howard_Persh@dell.com>

* In startup script, create directory where CLI back-end files live

Signed-off-by: Howard Persh <Howard_Persh@dell.com>

* build dependency pkgs added to docker for build failure fix

* Changes to fix build issue for mgmt framework

* Fix exec path issue with telemetry

* s5232[device] PSU detecttion and default led state support

* Processing of first boot in rc.local should not have premature exit

Signed-off-by: Howard Persh <Howard_Persh@dell.com>

*  docker mount options added for platform, system features

* bumped up sonic-mgmt-framework commit id to pick 23rd July 2019 changes

* Added mount options for telemetry docker to get access for system and platform info.

* Update commit for sonic-utilities

* [dell]: Corrected dport map and renamed config files for S5232F

* Fix telemetry submodule commit

* added support for sonic-cli console

* [Dell S5232F, Z9264F] Harden FPGA driver kernel module

For Dell S5232F and Z9264F platforms, be more strict when checking state
in ISR of FPGA driver, to harden against spurious interrupts.

Signed-off-by: Howard Persh <Howard_Persh@dell.com>

* update mgmt-framework submodule to 27th Aug commit.

* remove changes not related to mgmt-framework and sonic-telemetry

* Revert "Replace src/telemetry as submodule to sonic-telemetry"

This reverts commit 11c3192975.

* Revert "Replace src/telemetry as submodule to sonic-telemetry"

This reverts commit 11c3192975.

* make submodule changes and remove a change not related to PR

* more changes

* Update .gitmodules

* Update Dockerfile.j2

* Update .gitmodules

* Update .gitmodules

* Update .gitmodules

reverting experimental change

* Removed syspoll for release_1.0

Signed-off-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>

* Update docker-sonic-mgmt-framework.mk

* Update sonic-mgmt-framework.mk

* Update sonic-mgmt-framework.mk

* Update docker-sonic-mgmt-framework.mk

* Update docker-sonic-mgmt-framework.mk

* Revert "Processing of first boot in rc.local should not have premature exit"

This reverts commit e99a91ffc2.

* Remove old telemetry directory

* Update docker-sonic-mgmt-framework.mk

* Resolving merge conflict with Azure

* Reverting the wrong merge

* Use CVL_SCHEMA_PATH instead of changing directory for telemetry startup

* Add missing export

* Add python mmh3 to slave dockerfile

* Remove sonic-mgmt-framework build dep for telemetry, fix dialout startup issues

* Provided flag to disable compiling mgmt-framework

* Update sonic-utilites point latest commit id

* Point sonic-utilities to Azure accepted SHA

* Updating mgmt framework to right sha

* Add sonic-telemetry submodule

* Update the mgmt-framework commit id

Co-authored-by: jghalam <joe.ghalam@gmail.com>
Co-authored-by: Partha Dutta <51353699+dutta-partha@users.noreply.github.com>
Co-authored-by: srideepDell <srideep_devireddy@dell.com>
Co-authored-by: nirenjan <nirenjan@users.noreply.github.com>
Co-authored-by: Sachin Holla <51310506+sachinholla@users.noreply.github.com>
Co-authored-by: Eric Seifert <seiferteric@gmail.com>
Co-authored-by: Howard Persh <hpersh@yahoo.com>
Co-authored-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
Co-authored-by: Arunsundar Kannan <31632515+arunsundark@users.noreply.github.com>
Co-authored-by: rvasanthm <51932293+rvasanthm@users.noreply.github.com>
Co-authored-by: Ashok Daparthi-Dell <Ashok_Daparthi@Dell.com>
Co-authored-by: anand-kumar-subramanian <51383315+anand-kumar-subramanian@users.noreply.github.com>
2019-12-23 21:47:16 -08:00
srideepDell
4458efbd71 DellEMC: Add support for new platform z9332f -32x400G (#3845)
* Switch Vendor: DellEMC
* Switch SKU: z9332F
* ASIC Vendor: Broadcom
* Swich ASIC: tomahawk3
* Port Configuration: 32x400G
* SONiC Image: sonic-broadcom.bin

* Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
2019-12-17 15:26:23 -08:00
Dong Zhang
08ec4fcfe7 [swss-common] update submodule for sonic-swss-common (#3916)
update multiDB changes in sonic-swss-common, including:

[Enhancement] debian/conffiles will give prompt when file existing, need a way to supress prompt (#323)

[MultiDB]:swsscommon replace old API with new APIs including tests (#324)

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2019-12-17 08:00:14 -08:00
rajendra-dendukuri
2c6c6bb33f [sonic-ztp]: Add Azure/sonic-ztp as a submodule to Azure/sonic-buildimage (#3903) 2019-12-16 08:28:29 -08:00
Mykola F
fbcaaa498e [config engine] For l2 preset, use admin_status: up by default (#3902)
Updated the l2 preset config generator to specify 'admin_status': 'up' for every port by default.
The use of setdefault() ensures that if port already has some admin_status set, the original value will not be overwritten.

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-12-13 14:30:52 -08:00
pavel-shirshov
86e23f9ede
[lldpd]: Ports few fixes from lldpd master (#3889)
* lldpctl: put a lock around some commands to avoid race conditions

* Read all notifications in lldpctl_recv

* lib: fix memory leak

* lib: fix memory leak when handling I/O

* Update series
2019-12-13 13:46:48 -08:00
Stephen Sun
ef26ba024d [Mellanox]Update hw-mgmt to V7.0000.2308 (#3858)
* [Mellanox]Update hw-mgmt to V7.0000.2308
sonic-linux-kernel should be updated accordingly with necessary patches uploaded.

* [sub-module]Advance submodule head for sonic-linux-kernel
2019-12-12 11:09:28 -08:00
Kebo Liu
3b0c51f423 [sub module] Update sonic-platform-common pointer to pick up fix (#3859)
Azure/sonic-platform-common#71 [Bug fix] fix a syntax error which was introduced by last commit
Azure/sonic-platform-common#70 Fix EEPROM vendor extension TLV number counting issue
Azure/sonic-platform-common#62 Platform Driver Development Framework (PDDF): 1) Changes to psu base class (1.0 APIs) to support PDDF CLI utils, 2) Adding fan_base class to support PDDF fan CLI utils (comments incorporated)
Azure/sonic-platform-common#68 DeviceBase.get_name should raise NotImplementedError like other member
2019-12-11 09:41:29 -08:00
Dong Zhang
9b8c59f409 [swss] update submodule for sonic-swss (#3864)
update multiDB changes in sonic-swss to include multiDB API changes:

- [MultiDB]: using new APIs in orch agents and mocktest (#1138)
- [vstest]: gather logs when dvs fail to start (#1140)
2019-12-10 09:45:32 -08:00
Dong Zhang
335514bf87 [swss-common] update submodule for sonic-swss-common (#3863) 2019-12-09 18:42:29 -08:00
Joe LeVeque
8ab75e0e90 [isc-dhcp-relay] Patch to allow relay to discover interfaces even if (#3851)
Patch isc-dhcp-relay in order to allow the relay agent to discover configured interfaces even if they are down.

Without this patch, the relay agent will not discover configured interfaces if they are down when the relay agent starts up. If the interface(s) then get brought up after the relay started, the relay will discard packets received on these interfaces and log the message, Discarding packet received on <iface_name> interface that has no IPv4 address assigned. This led to race conditions when starting SONiC (or loading configuration). To resolve this, the relay agent would need to be restarted with all configured interfaces up.

With this patch, the relay agent will discover all configured interfaces, whether or not they are up at the time the relay agent starts. Thus, the state of the configured interfaces can be down when the relay agent starts and brought up during the lifetime of the relay agent process, and the relay agent will relay packets as expected; it will not discard them.
2019-12-07 11:26:29 -08:00
Nazarii Hnydyn
f345935aec [submodule]: Advance sonic-platform-common. (#3848)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-12-05 11:23:16 -08:00
pavel-shirshov
1848fb262b [fast-reboot]: Save fast-reboot state into the db (#3741)
Put a flag for fast-reboot to the db using EXPIRE feature. Using this flag in other part of SONiC to start in Fast-reboot mode. If we reload a config, the state in the db will be removed.
2019-12-04 14:10:19 -08:00
Joe LeVeque
d3e544e7ba [sonic-utilities] Update submodule (#3829)
[config] Add 'feature' subcommand (#746)
Fix a bug in idempotent check. (#755)
2019-12-03 08:32:50 -08:00
Dong Zhang
eff9d86872 [swsssdk-py] update submodule for sonic-py-swsssdk (#3826)
update multiDB changes in sonic-py-swsssdk, including:
*[multi-DB] Part 4: add sonic-db-cli to replace redis-cli (#54)
*[multi-DB] Part 3: Python API changes (#52)
*remove SonicV2Connector which is not used any more (#53)

This needs #3825 to be merged first. Otherwise when reloading minigraph/config will hit error.

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2019-12-02 14:20:35 -08:00
lguohan
f0a3d85ec2
[submodule]: update sonic-sairedis (#3833)
* 27a93ff 2019-11-25 | Don't learn fdb entries on LAG when rif based (#538) [Kamil Cudnik]
* 5ef1764 2019-11-22 | Changes in sonic-sairedis repo to support the NAT feature. (#519) [Kiran Kumar Kella]

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-12-02 10:27:35 -08:00
Dong Zhang
558292f462 [sonic-utilities] submodule update for sonic-utilities (#3825)
update multiDB changes in sonic-utilities, including earlier commit by others as well:

- [multiDB]: all application should use API to get redis_client (#753)
- [VRF]: submit vrf CLI #392 (#558)
- [show] Add 'features' subcommand to display status for optional features (#712)
- [neighbor_advertiser] Adds initial support for HTTPS to neighbor advertiser (#750)

after this update , we are able to update sonic-py-swsssdk submodule without hitting error as before.

Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2019-12-01 11:19:21 -08:00
pavel-shirshov
794d459483
Update frr with latest changes from frr master (#3806) 2019-11-25 13:12:57 -08:00
lguohan
4ae1f7069f
Revert "[swsssdk-py] submodule update for sonic-py-swsssdk (#3808)" (#3816)
This reverts commit 3d80afa415.
2019-11-25 08:32:55 -08:00
padmanarayana
62a7846960 [sFlow]: Upgrade hsflowd to 2.0.26-1 (#3812) 2019-11-24 15:21:43 -08:00
pra-moh
45e13b9929 [sonic-telemetry]: correcting server key name in configdb (#3809) 2019-11-23 12:31:22 -08:00
pavel-shirshov
d44cc30191 [docker-fpm-frr]: Enable sending ipv6 prefixes over ipv4 BGPMON session (#3799)
* Enable ipv6 prefixes over ipv4 BGPMON session
2019-11-22 20:43:44 -08:00
Dong Zhang
3d80afa415 [swsssdk-py] submodule update for sonic-py-swsssdk (#3808)
update multiDB changes in sonic-py-swsssdk, including:
*[multi-DB] Part 4: add sonic-db-cli to replace redis-cli (#54)
*[multi-DB] Part 3: Python API changes (#52)
*remove SonicV2Connector which is not used any more (#53)
2019-11-22 20:41:45 -08:00
lguohan
a5423357d5
[submodule]: update sonic-sairedis (#3804)
* 5337490 2019-11-22 | Send port status notification when creating hostif interface (#535) [Kamil Cudnik]

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-11-22 10:04:56 -08:00
Danny Allen
6864ed5886
[sairedis] Submodule update for sairedis (#3801)
- [syncd] Fix off-by-one error for attribute enum values query (#536)
- Add support for remove hostif when using tap device (#533)

Signed-off-by: Danny Allen <daall@microsoft.com>
2019-11-22 00:34:17 -08:00
Tyler Li
643ef82a2f [config] supplement loopback interface in mimigraph (#3792) 2019-11-21 17:49:31 -08:00
byu343
8a7c1300c2 [devices]: Fix the clock setting on arista 7280 (#3788)
* Fix serdes setting for B0/B1 revision chip on 7280
2019-11-21 16:21:08 -08:00
pra-moh
bad57cc51a [minigraph.py] Generate items needed by streaming telemetry service (#3759) 2019-11-21 12:54:28 -08:00
Danny Allen
cb2e01d503 [submodule]: Update sairedis/swss/utilities (#3786)
sairedis:
* [SAI] Update SAI submodule to v1.5.1 (#532)
* Cleanup Makefile.am from BFN specific code (#530)
* [vs] Implement indices for debug counters in VS (#531)
* Enable FastReboot if we have key "FAST_REBOOT|system" in State db (#529)
* [flex_counter] Add sairedis support for drop counters (#520)

swss:
* [orchagent] Add swss support for drop counters (#1075)
* [orchagent] warning fixes for 32bit arch compilation (#1129)
* [utilities] Create utility classes for interacting with flex counters (#1093)
* [portsorch] add support to set mac-address learning attribute on bridge-port (#809)
* Fix traceroute issue (#1113)

utilities:
* Add CLI support for configurable drop counters (#688)
* Revert "SONiC Management Framework Release 1.0 (#659)" (#741)
* SONiC Management Framework Release 1.0 (#659)

Signed-off-by: Danny Allen <daall@microsoft.com>
2019-11-21 10:58:21 -08:00
Stephen Sun
29a74516c5 [submodule] advance submodule head for sonic-platform-common (#3787) 2019-11-20 16:27:55 -08:00
Prince Sunny
0e0699ce4e [Submodule] Update sonic-swss-common (#3770)
a4a1e10 - 2019-11-07 : Changes in swss-common submodule to support NAT feature. (#304) [Kiran Kumar Kella]
b1375bb - 2019-10-28 : [consumer_table] Add messages for performing object availability query (#314) [Danny Allen]
2fe2327 - 2019-10-25 : adding FDB table in CFG db (#303) [anilkpandey]
2018880 - 2019-09-26 : added COUNTERS_LAG_NAME_MAP_TABLE in COUNTERS_DB [anilkpandey]
f41dcc3 - 2019-10-07 : added lua script to flush fdb entries [anilkpandey]
c87a7cf - 2019-10-25 : [consumer_table] Add messages for performing attribute enum value capabilities query (#313) [Danny Allen]
2019-11-19 22:13:21 -08:00
Qi Luo
b25ec7d591
Update submodule: sonic-snmpagent (#3782) 2019-11-19 13:09:42 -08:00
Tyler Li
7c65f8c58a Fix vrf test failed after frr update to 7.2 (#3763) 2019-11-19 08:15:33 -08:00
lguohan
f9e36d3b0b
[submodule]: update sonic-utilities (#3756)
* be337d4 2019-11-14 | [bugfix]: allow loopback vrf migration from version 1_0_1 (#737) (HEAD, origin/master, origin/HEAD) [lguohan]
* 201132d 2019-11-14 | [config]: add the vid range check for creating vlan. (#634) [wangshengjun]

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-11-14 17:58:28 -08:00
Prince Sunny
f5f45f8b6b
[Submodule] Update sonic-utilities (#3750) 2019-11-13 14:33:35 -08:00
Guohan Lu
64c43f767a [submodule]: update sonic-sairedis
* afe2a0d 2019-10-30 | [vs]: Fix learn fdb events after fdb flush event (#524) (HEAD, origin/master, origin/HEAD) [Kamil Cudnik]
* d29760f 2019-10-28 | [sai_redis_interface_query] Add sairedis support for sai_object_type_get_availability (#528) [Danny Allen]
* ff5306e 2019-10-28 | [sai_redis_interface_query] Add sairedis support for sai_query_attribute_enum_values_capability (#525) [Danny Allen]

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-11-12 18:46:21 -08:00
Tyler Li
c07ae3b16f Loopback ip addresses move to intfmgrd for supporting VRF 2019-11-10 02:27:33 -08:00
Guohan Lu
d8931db996 [submodules]: update swss/sairedis/utilities
swss:
* f354798 2019-11-09 | [tests] fix build agains real SAI (#1123) (HEAD, origin/master, origin/HEAD) [Stepan Blyshchak]
* 56d66a1 2019-11-07 | Sub port interface implementation (#969) [Wenda Ni]
* c57fc34 2019-11-07 | [bufferorch] Fixed buffer and buffer profile attributes types accoring to changes in SAI 1.5 (#1120) [Vitaliy Senchyshyn]
* 85ff17d 2019-11-07 | [VRF]: submit vrf feature  (#943) [Tyler Li]
* 5604566 2019-11-06 | [vs_test] fix fdb test failed randomly (#1118) [Tyler Li]
* 038d994 2019-11-05 | [vnet]: Correct VNET route table size for BITMAP implementation (#1115) [Volodymyr Samotiy]
* bb4e19c 2019-11-04 | Not wait till kernel net_devices are created for all physical ports to (#1109) [Wenda Ni]
* bab7b93 2019-11-02 | [portsorch] fix PortsOrch::allPortsReady() returns true when it should not (#1103) [Stepan Blyshchak]
* 5ab3f6b 2019-10-31 | Updating pytest for sflow (#1095) [Sudharsan D.G]
* d4ccdc3 2019-10-29 | Quote input strings before constructing a command line (#1098) [Qi Luo]
* 5516ec4 2019-10-29 | Check RIF/Port exists only for add entries (#1110) [Prince Sunny]
* 59440f2 2019-10-29 | Allow buffer profile apply after init (#1099) [Wenda Ni]

sairedis:
* d9faa58 2019-10-24 | Copp changes for supporting genetlink in vs (#522) [Sudharsan D.G]

utiltiies:
* e4a5e4c 2019-11-07 | Do not start pfcwd for M0 devices (#726) (HEAD, origin/master, origin/HEAD) [Neetha John]
* 2c0af8a 2019-11-07 | Add an on/off knob for BGP EOIU pulling on warm restart (#655) [heidinet2007]
* 2bce9ce 2019-11-07 | Make configlet application script idempotent for updates. (#728) [Renuka Manavalan]
* 4740617 2019-11-06 | Revert "show BPS, PPS, UTIL rates w/o previous clear (#508)" (#718) [Mykola F]
2019-11-10 02:27:33 -08:00
sandeep-kulambi
fd8232817f [lldp]: ensure the LLDP PDU is sent immediately when the tx-interval is modified. (#3705)
When LLDP parameter tx-interval value is modified, there was no immediate PDU sent to peer to update the peer with the latest values. Due to this the update on peer happened only after the next PDU is sent which can cause a delay of upto 30 secs (default value).
2019-11-08 23:10:12 -08:00
Olivier Singla
c70d8bca9f [baseimage]: kdump support (#3722)
* In the event of a kernel crash, we need to gather as much information
as possible to understand and identify the root cause of the crash.
Currently, the kernel does not provide much information, which make
kernel crash investigation difficult and time consuming.

Fortunately, there is a way in the kernel to provide more information
in the case of a kernel crash. kdump is a feature of the Linux kernel
that creates crash dumps in the event of a kernel crash. This PR
will add kermel kdump support.

An extension to the CLI utilities config and show is provided to
configure and manage kdump:
 - enable / disable kdump functionality
 - configure kdump (how many kernel crash logs can be saved, memory
   allocated for capture kernel)
 - view kernel crash logs
2019-11-08 23:08:42 -08:00
Ping Mao
bdf1b7c607 libyang 1.0.73 (#3710)
- build libyang1.0.73 debian pacakge from libyang github source
    - build libyang python2 and python3 debian packages
2019-11-07 13:45:38 -08:00
pavel-shirshov
aa1a13677d
[frr]: Move to version 7.2 (#3704)
* Use 7.2 tree to generate frr packages

* Adapt patches for frr/7.2

* Use vrf_id
2019-11-06 11:57:23 -08:00
Sudharsan D.G
9f1f61c821 [submodule]: Updated sonic-utilities pointer (#3715)
- [warm/fast reboot] continue executing when killing docker failed (#713) [Ying Xie]
- [neighbor_advertiser]: Add sleep in setting mirror session and ACL rules(#714)[Shuotian Cheng]
- [config]: Flush the neighbor table when removing the router interface(#606) [Shuotian Cheng]
- Add a generic configlet application script (#716) [Renuka Manavalan]
- Management vrf snmp cli support (#472) [Harish Venkatraman]
- show subinterfaces status (#642) [Wenda Ni]
- sonic-utilities: Add support for sFlow (#592) [Garrick He]
2019-11-06 08:25:47 -08:00
yozhao101
ed79f54569 [Services] Restart DHCP-Relay service upon unexpected critical process exit. (#3667)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-05 18:32:14 -08:00
pavel-shirshov
d85777bb11 [frr]: Fix the issue 'branch already exist' in frr package rebuilds (#3692)
Fixed Makefile of FRR. Before we had issues after #3589:

- When you want to rebuild frr with new changes you get error "branch frr/7.1 is already exist".
- When your patch list is empty stg undo gives an error
2019-11-04 09:36:15 -08:00
pavel-shirshov
815e2ef6f4
[minigraph.py]: Use default namespace for <Address> (#3695)
* [minigraph.py]: Use default namespace for <Address>
2019-11-01 07:36:19 -07:00
Stepan Blyshchak
064689d442 [sonic-cfggen] optimize sonic-cfggen startup (#3658)
* [sonic-cfggen] optimize execution time

a lot of template rendering causes switch to start longer because jinja2
needs to parse them. Introducing RedisBytecodeCache to store parsed buckets of
internal template bytecode to speedup same template rendering during start

* [sonic-cfggen] do lazy regexp compilation to speedup sonic-cfggen

* [sonic-cfggen] address pep8 related comments

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-10-31 09:17:29 -07:00
padmanarayana
841949f099 [hsflowd]: Update hsflowd to 2.0.25-4 to take care of admin_state changes (#3683) 2019-10-31 09:15:30 -07:00
Sudharsan D.G
0f88137b6d Updating the sonic-swss submodule pointer (#3680) 2019-10-29 14:15:43 -07:00
Prince Sunny
dc6625c63f
[submodule] update sonic-swss (#3675) 2019-10-28 18:26:22 -07:00
zhenggen-xu
c23aac1581 [swss] Remove "-p port_config.ini" option from the portsyncd (#3671)
* [portsyncd] Remove "-p port_config.ini" option from the portsyncd

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2019-10-27 21:15:39 -07:00
pra-moh
040672c93f [minigraph.py] Enable telemetry service by default (#3611) 2019-10-24 18:16:06 -07:00
pavel-shirshov
8457248d01 [bgpcfgd]: Split default bgp config into main config and peer template (#3627)
Now it's possible to add and remove peers based on ConfigDB

- What I did
Fixed functionality for dynamically adding/removing static bgp peers.

- How I did it

Split the bgp default template on bgp part and bgp peer part
Changed bgpcfgd to use 1.

- How to verify it

Build an image and run on your DUT
2019-10-24 07:35:14 -07:00
Prince Sunny
74a28bf062 [Submodule] Update sonic-utilities (#3660)
c12c443 - 2019-10-22 : [command reference] add warm reboot command document (#704) [Ying Xie]
e25cf29 - 2019-10-22 : [PR template] Add reminder to add/modify/remove unit tests as appropriate (#708) [Joe LeVeque]
66eafce - 2019-10-19 : [Command Reference] Unify style and formatting; Fix organization; Other fixes (#707) [Joe LeVeque]
f32a450 - 2019-10-19 : [generate_dump] Make regex more specific for disabling/enabling logrotate (#701) [Kalimuthu-Velappan]
d77c411 - 2019-10-18 : [netstat]: Fix for negative output values of counters after clear counters operation (#697) [lyndonsiao]
fc324f2 - 2019-10-18 : [neighbor_advertiser]: Adapt to different mirror ACL table names (#703) [Shuotian Cheng]
342f3a1 - 2019-10-08 : [intfstat,portstat] fix table_as_json (#691) [Mykola F]
5564d87 - 2019-10-07 : [acl-loader] egress mirror action support and action ASIC support check (#575) [Stepan Blyshchak]
2019-10-23 21:39:48 -07:00
Prince Sunny
07235d01d9 [Submodule] Update sonic-swss-common and sonic-swss (#3626)
Sonic-swss-common:

aaa8133 - 2019-10-12 : Add VRF object table in state_db (#312) [Tyler Li]
91aceb1 - 2019-10-11 : [schema] Update schema to support debug counters (#308) [Danny Allen]
9bcd5ca - 2019-09-28 : [multi-DB] fix vs test, should NOT replace old DBConnector API with new DBConnector API since vs test docker has no database_config.josn (#311) [Dong Zhang]
599155a - 2019-09-25 : [multi-DB] Part 2: C++ interface API changes / swsscommon unit test / LOGLEVEL_DB apply new API (#301) [Dong Zhang]
379ac73 - 2019-09-20 : add bulkremove for consumer_table_pops.lua (#306) [Dong Zhang]
6b805d3 - 2019-09-19 : timerfd return 0 with errno =0 - handle as False alarm. (#302) [Renuka Manavalan]
e455891 - 2019-09-03 : Add VLAN_SUB_INTERFACE in CONFIG_DB schema (#284) [Wenda Ni]

Sonic-swss

731a8f5 - 2019-10-17 : [copporch]: fix the endless loop problem when removing copp table group. (#1038) [wangshengjun]
1623219 - 2019-10-14 : Enable C++ unit test during build (#1092) [Qi Luo]
629c9d3 - 2019-10-14 : [vstest]: Revert back to 2 sec, and check if we got more than expected number of syslogs (#1091) [Prince Sunny]
80b2ace - 2019-10-11 : sonic-swss/orchagent: Add new protocol trap name support (#1087) [jpxjlrldgit]
9f765f7 - 2019-10-11 : [aclorch]: Check for existing mirror table only when creating a new table (#1089) [Danny Allen]
4c10260 - 2019-10-11 : [vstest]: Update Route test to check for added entry (#1088) [Prince Sunny]
e658b64 - 2019-10-11 : [chassisorch]: Add everflow feature for chassis (#1024) [Ze Gan]
5b13387 - 2019-10-10 : [changelog]: Revert changelog that was done for passing VS test. (#1080) [Prince Sunny]
90a690d - 2019-10-10 : [aclorch]: Simplify the TCP flags matching code and support exact value match (#1072) [Shuotian Cheng]
3461710 - 2019-10-09 : Single VRF for ingress and egress flows, skip route replication (#1045) [Prince Sunny]
953474a - 2019-10-03 : [swss]: Do not use namespace in header files (#1081) [Wenda Ni]
bd36751 - 2019-10-03 : Change nexthop key to ip & ifname (#977) [tylerlinp]
fee1aaa - 2019-10-02 : [teamsyncd]: Check if LAG exists before removing (#1069) [Shuotian Cheng]
175f3de - 2019-09-30 : Update ECMP NHopGroup for Port Channel oper down (#1030) [Sumukha Tumkur Vani]
182940d - 2019-09-26 : [mirrororch]: Remove mirror session state after it is remvoed (#1066) [Shuotian Cheng]
d823dd1 - 2019-09-20 : [MirrorOrch]: Mirror Session Retention across Warm Reboot (#1054) [Shuotian Cheng]
a5b6e7c - 2019-09-19 : Ignore link local neighbors (#1065) [Prince Sunny]
0ddaba3 - 2019-09-19 : Adopt to signature change of Selectable::readData, which switched (#1061) [Renuka Manavalan]
543bd98 - 2019-09-18 : [aclorch]: Fix table name in counter table for mirror rules (#1060) [Shuotian Cheng]
12c29b4 - 2019-09-19 : Cannot ping to link-local ipv6 interface address of the switch. (#774) [Kiran Kumar Kella]
4d8e08d - 2019-09-18 : change in fpmsyncd to skip the lookup for the Master device name if the route object table value is zero (#1048) [Arvindsrinivasan Lakshmi narasimhan]
da514f5 - 2019-09-18 : Do not update lag mtu from teamsyncd (netlink) (#1053) [Prince Sunny]
3fb22e1 - 2019-09-16 : Check warmboot flag during initialization (#1057) [Prince Sunny]
d98d1e9 - 2019-09-16 : [aclorch]: Egress mirror action support and action ASIC support check (#963) [Stepan Blyshchak]
313ef5c - 2019-09-09 : Warmboot Vlan neigh restore fix (#1040) [Prince Sunny]
5841e06 - 2019-09-06 : Add dot1p to tc mapping support (#871) [Wenda Ni]
39fe568 - 2019-08-30 : [aclorch]: Revise ACL rule creation/removal logs (#1042) [Shuotian Cheng]
c461911 - 2019-08-27 : [copporch]: Fix the typo - mld_v1_done (#1037) [wangshengjun]
34915de - 2019-08-22 : [portsyncd]: Add default catch block in portsyncd (#1033) [SuvarnaMeenakshi]
dc81a21 - 2019-08-20 : [vnet]: Fix FDB related failure in "vnet_bitmap" virtual switch test (#1034) [Volodymyr Samotiy]
5ae4226 - 2019-08-19 : [test]: Adjust stale timer for warm-reboot neighborsync test cases (#1031) [zhenggen-xu]
65cbd55 - 2019-08-16 : [build]: Fix compiling warnings using ARM 32 bit compiler (#1015) [arheneus@marvell.com]
b611808 - 2019-08-16 : [Orchagent]: Fixbug segmentfault at routeorch (#1025) [Ze Gan]
2019-10-19 20:44:17 -07:00
lguohan
2eb6ccee51
[SAI]: use SAI 1.5.1 header
[submodule]: update sonic-sairedis

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]

also update broadcom and mellanox SAI
2019-10-18 09:18:06 -07:00
Wenda Ni
be52977aca Revert "Configure buffer profile to all ports (#3561)" (#3628)
This reverts commit 8861cbe98e.
2019-10-18 09:14:39 -07:00
srideepDell
60a7f4d653 [device]: Add a new supported device DellEMC s5248f (#3547)
* Switch Vendor: DellEMC
* Switch SKU: s5248F
* ASIC Vendor: Broadcom
* Swich ASIC: Trident3
* Port Configuration: 48x25G,4x100G,2x200G
* SONiC Image: sonic-broadcom.bin

* Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
* Added 25G,10G configruation(25G is default) 1-48FP. 4x100G,2x200G (49-54 FP)
* LED support for s5248f
2019-10-17 18:43:59 -07:00
Danny Allen
c1848153c3
[minigraph.py] Update minigraph parsing logic to include only active ports for mirror tables (#3592)
* Update minigraph.py to filter out front-panel ports that are not active
* Update cfggen tests to reflect new behavior

Signed-off-by: Danny Allen <daall@microsoft.com>

* Incorporate PR comments
- Update t0 tests to include additional device neighbors
- Refactor xml parsing logic
2019-10-17 16:29:07 -07:00
Nazarii Hnydyn
41ac24d658 [submodule] Advance SONiC kernel. (#3625)
1. IPv6 host and subnet anycast route in VRF to be configured with nhop (#… 5786674
2. Unregister_netdev VRF obsreved and kernel hangs during vrf delete (#109) 5dbf6d5
3. [mellanox] Extend size of QSFP EEPROM for the cable type SSF8436 and … feb42b0

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-10-17 16:10:00 -07:00
Wenda Ni
d1c4deb811 [minigraph]; Parse backend switches to vlan sub port interface (#3413)
* Parse backend switches to vlan sub port interface

Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-10-17 09:47:46 -07:00
Praveen Chaudhary
423d481284 [FRR]: Patch for kernel level graceful restart. (#3621)
* [FRR]: Patch for kernel level graceful restart.

Original Patch in FRR master:
https://github.com/FRRouting/frr/pull/4301

* Rename 0007-zebra-kernel-level-graceful-restart.patch to 0008-zebra-kernel-level-graceful-restart.patch
2019-10-17 07:08:13 -07:00
sudhanshukumar22
5d9bd9c1ad Port a fix from FRR community (#3614)
Author: sudhanshukumar22 <sudhanshu.kumar@broadcom.com>
Date:   Tue Oct 16 12:33:20 2019 -0700
     39c93f379a
     If we have a case where have created a fd for i/o and we have removed the
     handling thread but still have the fd in the poll data structure, there
     existed a case where we would get the handle this fd return from poll but we
     would immediately do nothing with it because we didn't have a thread to hand
     the event to.

     This leads to an infinite loop.  Prevent the infinite loop
    from happening and log the problem.
Signed-off-by: Preetham Singh (preetham.singh@broadcom.com)
2019-10-17 00:20:36 -07:00
Nazarii Hnydyn
0a39ee4171 [mellanox] Update HW-MGMT: V.7.0000.2300. (#3617)
Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-10-16 13:44:18 -07:00
sudhanshukumar22
48e4cf6971 commit 4ea6cafbcad4c72186587b45fa5e2f6c6dbec893 (HEAD -> bgp-snmp-socket-issue, origin/bgp-snmp-socket-issue) (#3604)
Author: sudhanshukumar22 <sudhanshu.kumar@broadcom.com>
Date:   Tue Oct 15 02:31:20 2019 -0700

    lib: changes for making snmp socket non-blocking

    Description: The changes have been done to make the snmp socket
    non-blocking before calling snmp_read()
    FRR Pull request: https://github.com/FRRouting/frr/pull/5134

    Problem Description/Summary :
    vtysh hangs on first try to enter after a reboot with BGP dynamic peers

    Expected Behavior :
    VTYSH should not hang.
    When we debug more into bgpd docker by doing gdb on its threads, we find the below thread of bgpd, which is causing the issue.
    Thread 1 (Thread 0x7f1e1ec46d40 (LWP 47)):

    0x00007f1e1d762593 in recvfrom () from /lib/x86_64-linux-gnu/libpthread.so.0
    0x00007f1e1aadd09b in netsnmp_tcpbase_recv () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1aad9617 in netsnmp_transport_recv () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1aab2c07 in _sess_read () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1aab3a29 in snmp_sess_read2 () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1aab3a7b in snmp_read2 () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1aab3acf in snmp_read () from /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30
    0x00007f1e1b44d7ec in agentx_read (t=0x7fffa75f0080) at lib/agentx.c:63
    0x00007f1e1e7d6451 in thread_call (thread=0x7fffa75f0080) at lib/thread.c:1620
    0x00007f1e1e770699 in frr_run (master=0x559396ea60f0) at lib/libfrr.c:1011
    0x0000559395b4d953 in main (argc=5, argv=0x7fffa75f02b8) at bgpd/bgp_main.c:492

    (gdb) bt

    0x00007f830c89d210 in __read_nocancel () from /lib/x86_64-linux-gnu/libpthread.so.0
    0x000056450e1e8238 in vtysh_client_run (vclient=0x56450e4a8b40 <vtysh_client+24768>, line=0x56450e21add0 enable, callback=0x0, cbarg=0x0) at vtysh/vtysh.c:216
    0x000056450e1e8c6b in vtysh_client_run_all (head_client=0x56450e4a8b40 <vtysh_client+24768>, line=0x56450e21add0 enable, continue_on_err=0, callback=0x0, cbarg=0x0) at vtysh/vtysh.c:356
    0x000056450e1e8ddb in vtysh_client_execute (head_client=0x56450e4a8b40 <vtysh_client+24768>, line=0x56450e21add0 enable) at vtysh/vtysh.c:393
    0x000056450e1e9c82 in vtysh_execute_func (line=0x56450e21add0 enable, pager=0) at vtysh/vtysh.c:598
    0x000056450e1e9dee in vtysh_execute_no_pager (line=0x56450e21add0 enable) at vtysh/vtysh.c:619
    0x000056450e1f7d48 in vtysh_read_file (confp=0x56451000a9d0, top_cfg=1) at vtysh/vtysh_config.c:494
    0x000056450e1f7ef2 in vtysh_read_config (config_default_dir=0x56450e4edc20 <frr_config> /etc/frr/frr.conf, top_cfg=1) at vtysh/vtysh_config.c:522
    0x000056450e1e5de4 in vtysh_apply_top_level_config () at vtysh/vtysh_main.c:301
    0x000056450e1e7842 in main (argc=2, argv=0x7ffc81e6f598, env=0x7ffc81e6f5b0) at vtysh/vtysh_main.c:692

    The fix has been taken from the following link.
    https://sourceforge.net/p/net-snmp/patches/1348/
2019-10-16 13:02:20 -07:00
Stephen Sun
aea09ba1da [sonic_platform] Correct the wrong log identifiers (#3596) 2019-10-15 11:29:45 -07:00
wangshengjun
34d8842fbd [FRR]: Use stg in a proper way. (#3589)
* [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>
2019-10-15 11:13:48 -07:00
fk410167
bdf7d24962 [sonic-cfggen]: yaml.load() is deprecated in latest versions of PyYAML module (#3526)
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.
2019-10-11 13:25:45 -07:00
Haiyang Zheng
7988deb288 [teamd] fix lacp fallback mode in teamd v1.28 (#3572)
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>
2019-10-11 08:15:12 -07:00
Guohan Lu
0d8895b354 [submodule]: update sonic-sairedis
* 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>
2019-10-09 04:57:00 +00:00
pavel-shirshov
ce2ecf2680
[frr]: Update frr version to 7.1 (#3575)
* Build 7.1 without patches

* Port patches
2019-10-08 07:30:27 -07:00
pavel-shirshov
e69cb73fc7 [frr]: Implement BGP_MONITORS support (#3545)
Implement support of BGP Monitors

Add changes into minigraph to extract BGP Monitors information. Add new templates for FRR.
2019-10-07 16:05:07 -07:00
pavel-shirshov
c16f12b082
Update sonic-utilities (#3563) 2019-10-04 12:47:56 -07:00
Wenda Ni
8861cbe98e
Configure buffer profile to all ports (#3561)
Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-10-04 11:20:57 -07:00
Andriy Moroz
976850fc00 [submodule update] Add SSD Health tools (#3218)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2019-10-04 10:52:58 -07:00
pavel-shirshov
8971b899b8 [libteam]: Keep member ports parts of a team when teamd quits in FR and WR (#3544) 2019-10-02 15:35:11 -07:00
Wenda Ni
cf0465bf53
Adopt per-port buffer and qos profile (#3542)
Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-10-02 13:01:16 -07:00
Wenda Ni
abc02a702e [sairedis]: Advance sairedis reference pointer (#3530)
Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-10-01 09:52:03 -07:00
pavel-shirshov
fb666d23f1
[FRR]: Use stg instead of patch (#3480)
* Use stg instead of patch
2019-09-29 10:57:08 -07:00
pavel-shirshov
ff7ef851d5
Regular quit needs to clean the ports two (#3531) 2019-09-27 14:49:44 -07:00
pavel-shirshov
504cf62bfc [libteam]: Use last fixes from libteam master repo (#3513) 2019-09-26 16:39:48 -07:00
Stephen Sun
e9785d507d [sonic-utilities] advance head to cbf19f6 (#3519) 2019-09-26 15:25:35 -07:00
pavel-shirshov
a577a80b05 Flush port in both worm-reboot and fast-reboot mode on exit. Otherwise teamd will stuck (#3512) 2019-09-25 16:08:44 -07:00
Wenda Ni
7b0a5ba6ae Remove the divide by 4 operation to the under the hood SAI (#1532)
* Remove the divide by 4 operation to the under the hood SAI

This is to avoid the need and thus the confusion for application program to know
the mmu internal architecture

This change must have support from SAI change to reach the correct
config

Signed-off-by: Wenda <wenni@microsoft.com>

* Relegate the divide by 4 operation to the under the hood SAI for egress
lossless pool

Extend to 7060 and 6100

Signed-off-by: Wenda <wenni@microsoft.com>

* Add more TH/TH2 hwskus

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Update config test

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Add TH2 ingress lossy profile

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Move the divide by 4 operation to SAI internal

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* [bcm SAI] Upgrade Broadcom SAI to version 3.5.3.1-15

- Broadcom SAI 3.5 GA release 20190924.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2019-09-25 15:57:07 -07:00
Kebo Liu
d059bda21c Update sonic-platform-daemons submodule to pick up recent fix: (#3509)
[xcvrd] state machine enhancement
[xcvrd] Fix transceiver tuning issue
2019-09-25 12:07:28 -07:00
Stephen Sun
c34a4783e0 [build] install new platform api on host (#3282)
slave.mk: add SONIC_PLATFORM_API_PY2 as dependency of host
sonic_debian_extension.j2: install sonic_daemon_base and Mellanox-specific sonic_platform on host
mlnx-platform-api.mk: export mlnx_platform_api_py2_wheel_path for sonic_debian_extension.j2
sonic-daemon-base.mk: export daemon_base_py2_wheel_path for sonic_debian_extension.j2
daemon_base.py: hind unnecessary dependency of swss_common on host
2019-09-25 11:00:24 -07:00
Mykola F
dc0868e24f [submodule update] update sonic-snmpagent pointer (#3495)
[sonic-snmpagent]
 - Fix issue #104: lldpLocManAddrTable supports multiple IP addresses (#106)
 - Add mgmt port speed test (#107)
 - [rfc2737] fix typo in xcvr removal flow (#109)
 - Add signal handler to change debug level. (#96) 
 - [LLDP MIB] fix lldp loc mgmt ip logic (#113)
2019-09-25 09:29:44 -07:00
Qi Luo
75907f10aa
[snmp] Build snmpd with ipv6 support and enable it (#3500) 2019-09-24 15:13:18 -07:00
kannankvs
bccf18620a [snmpd] mvrf snmp ipv6 prototype mismatch issue resolved (#3504) 2019-09-24 12:04:17 -07:00