Commit Graph

1574 Commits

Author SHA1 Message Date
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