Commit Graph

3409 Commits

Author SHA1 Message Date
Aravind Mani
3734bf326b
[201911] DellEMC platform API 2.0 for Z9264f, S5232f (#5637)
Add platform API 2.0 support for Z9264f, S5232f in 201911 branch
2020-10-28 10:01:47 -07:00
judyjoseph
5a802533b5
Fix to remove the import of APIClient (#5724) 2020-10-27 08:32:37 -07:00
Nazarii Hnydyn
2a608b9b88
[201911][sonic-py-common]: Fix syslog implicit min priority override (#5710)
* [sonic-py-common]: Fix syslog implicit min priority override

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>

* Fix review comments.

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-10-25 19:42:47 +02:00
judyjoseph
963bd7fdc4 [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 15:49:23 -07:00
Prince Sunny
3d669f77f1 [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-23 15:45:46 -07:00
yozhao101
d8ae2a0019 [hostcfgd] Enable/disable the container service only when the feature state was changed. (#5689)
**- Why I did it**
If we ran the CLI commands `sudo config feature autorestart snmp disabled/enabled` or `sudo config feature autorestart swss disabled/enabled`, then SNMP container will be stopped and started. This behavior was not expected since we updated the `auto_restart` field not update `state` field in `FEATURE` table. The reason behind this issue is that either `state` field or `auto_restart` field was updated, the function `update_feature_state(...)` will be invoked which then starts snmp.timer service.
The snmp.timer service will first stop snmp.service and later start snmp.service. 

In order to solve this issue, the function `update_feature_state(...)` will be only invoked if `state` field in `FEATURE` table was
updated.

**- How I did it**
When the demon `hostcfgd` was activated, all the values of `state` field in `FEATURE` table of each container will be
cached. Each time the function `feature_state_handler(...)` is invoked, it will determine whether the `state` field of a
container was changed or not. If it was changed, function `update_feature_state(...)` will be invoked and the cached
value will also be updated. Otherwise, nothing will be done.

**- How to verify it**
We can run the CLI commands `sudo config feature autorestart snmp disabled/enabled` or `sudo config feature autorestart swss disabled/enabled` to check whether SNMP container is stopped and started. We also can run the CLI commands  `sudo config feature state snmp disabled/enabled` or `sudo config feature state swss disabled/enabled` to check whether the container is stopped and restarted.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-10-23 15:45:04 -07:00
Junchao-Mellanox
ea28f2dcb2 [Mellanox] Fix issue: read data from eeprom should trim tail \0 (#5670)
Now we are reading base mac, product name from eeprom data, and the data read from eeprom contains multiple "\0" characters at the end, need trim them to make the string clean and display correct.
2020-10-22 10:54:02 -07:00
abdosi
bad98213c3 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:52:39 -07:00
Joe LeVeque
4dde7d00cf [caclmgrd] Prevent unnecessary iptables updates (#5312)
When a large number of changes occur to the ACL table of Config DB, caclmgrd will get flooded with notifications, and previously, it would regenerate and apply the iptables rules for each change, which is unnecessary, as the iptables rules should only get applied once after the last change notification is received. If the ACL table contains a large number of control plane ACL rules, this could cause a large delay in caclmgrd getting the rules applied.

This patch causes caclmgrd to delay updating the iptables rules until it has not received a change notification for at least 0.5 seconds.
2020-10-21 12:15:04 -07:00
Abhishek Dosi
f39c4d8213 [Submodule update] sonic-utilities
Fixes the issue with show interface counters and for pfc and queue
counters. (#1180)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-21 08:25:18 -07:00
Abhishek Dosi
0e1b9a571c [submodule update] sonic-swss
[portsorch]: Set proper initial forwarding state for LAG member
  (#1448)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-21 08:19:28 -07:00
Abhishek Dosi
c081bf44c9 [Submodule update] sonic-platform-daemons
[thermalctld] Fix issue: thermalctld should be auto restarted when
 being killed (#94)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-21 08:16:12 -07:00
Kebo Liu
ae3f09246c [Mellanox] Optimize SFP Platform API implementation (#5476)
Each SFP object inside Chassis will open an SDK client, this is not necessary and SDK client can be shared between SFP objects.
2020-10-21 08:13:59 -07:00
Samuel Angebault
ce7248604e
[Arista] Update arista driver submodules (#5654)
Only import yaml python module if necessary
2020-10-17 21:06:17 -07:00
Abhishek Dosi
36ea042cb9 [Submodule update] sonic-util
Updated sonic-util
to fix error done by cherry-pick of PR
[config] Reload Monit configuration after potential hostname changes
(#1132)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-15 08:07:03 -07:00
judyjoseph
44abb50fed
Rellocating the yaml module import to reduce the memory usage in processes which (#5619)
With python 2.7, import yaml module was resulting in huge memory allocation in the heap per process. As an interim fix, moving the import yaml to the function which actually uses this module. This helps reduce the memory footprint of pmon docker, as it don't use the API's which need yaml processing. 

This issue not seen with importing yaml with python3, Need to be further analyzed, hence putting this fix in 201911 where we continue to use python2.7.
2020-10-14 12:33:48 -07:00
abdosi
c9e0b06009 Optimze ACL Table/Rule notification handling (#5621)
* Optimze ACL Table/Rule notifcation handling
to loop pop() until empty to consume all the data in a batch

This wau we prevent multiple call to iptable updates

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

* Address review comments

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-14 08:08:23 -07:00
pavel-shirshov
84405ab953 [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>

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-13 22:42:29 -07:00
abdosi
9202b1c7eb
Fix monit complaining of snmp on 201911 branch. (#5612)
There is difference between master and 201911
how sonic_ax_impl is started.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-13 17:17:43 -07:00
Mahesh Maddikayala
f354a20d94 [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.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-13 09:48:57 -07:00
Abhishek Dosi
a7ed68319b [Submodule update] sonic-utilities
[pfcstat] Create new copies of Rx and Tx dictionaries (#1150)
[config] Reload Monit configuration after potential hostname
changes (#1132)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-13 09:09:51 -07:00
Nazarii Hnydyn
bd61e3811b
[Mellanox] Update SDK 4.4.1912, FW XX.2008.1912 (#5575)
- SN3800 vs Cisco9236 - no link copper or optics - start sending IDLE before PHY_UP for specific OPNs

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-10-11 15:34:05 -07:00
Sachin Holla
be1710846a
[submodule]: update sonic-mgmt-framework (#5586)
Fixes sonic-mgmt-framework build break in 201911 branch.
2020-10-11 11:13:17 -07:00
abdosi
ccebd006b5 Optimized caclmgrd Notification handling. Previously (#5560)
any event happening on ACL Rule Table (eg DATAACL rules
programmed) caused control plane default action to be triggered.

Now Control Plance ACTION will be trigger only

a) ACL Rule beloging to Control ACL Table

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-08 11:57:04 -07:00
Tony Titus
05dc6834c2
[201911] Update Innovium device support (#5341)
- Add new device delta_evs-a-32q56 support for Innovium
- Update qos and buffer json files
- Update Innovium config files
2020-10-07 10:51:24 -07:00
Renuka Manavalan
cc135807d9 Pass additional parameter "%P" - pid of the process in the initial namespace, which is host. (#5301)
This would enable the coredump_compress script to retrieve additional info regarding the crashing process.
2020-10-06 13:17:21 -07:00
Kebo Liu
ae3d458d48 [Mellanox] Refactor platform API to remove dependency on database (#5468)
**- Why I did it**
- Platform API implementation using sonic-cfggen to get platform name and SKU name, which will fail when the database is not available.
- Chassis name is not correctly assigned, it shall be assigned with EEPROM TLV "Product Name", instead of SKU name
- Chassis model is not implemented, it shall be assigned with EEPROM TLV "Part Number"

**- How I did it**

1. Chassis

> - Get platform name from /host/machine.conf
> - Remove get SKU name with sonic-cfggen
> - Get Chassis name and model from EEPROM TLV "Product Name" and "Part Number"
> - Add function to return model

2. EEPROM

> - Add function to return product name and part number

3. Platform

> - Init EEPROM on the host side, so also can get the Chassis name model from EEPROM on the host side.
2020-10-06 11:30:16 -07:00
Abhishek Dosi
c6c0c75625 [Submodule update] sonic-platform-common
[EEPROM] Add new function part_number_str to TlvInfoDecoder (#121)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-06 11:24:05 -07:00
Kebo Liu
8c3dbce209 [Mellanox] Fix truncated manufacture date returned from platform API (#5473)
The manufacture date returned from platform API was truncated, time is not included. Revise the regular expression used for matching.
2020-10-06 11:22:08 -07:00
pavel-shirshov
969f77cf3e [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 11:21:00 -07:00
pavel-shirshov
b01dfa174c [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-10-06 11:20:16 -07:00
pavel-shirshov
437ad95646 [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-06 11:15:19 -07:00
abdosi
7db8cb0e03
Taken the fix from BRCM SAI 4.2.1.3 (6.5.19 hsdk). (#5550)
The error message is updated to provide correct information
of Netdevice link being down.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-06 09:04:51 -07:00
abdosi
3a29249e04 [Multi-asic] Fixed Default Route to be BGP (#5548)
Learned and not docker default route for multi-asic platforms.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-06 06:04:31 +00:00
Junchao-Mellanox
de3045188d [Mellanox] Update dynamic minimum table for 4700, 3420 and 4600C (#5388)
Update dynamic minimum fan speed table according to data provided by thermal team.
2020-10-06 06:04:06 +00:00
Ying Xie
bea968bb2b [rc.local] separate configuration migration and grub installation logic (#5528)
To address issue #5525

Explicitly control the grub installation requirement when it is needed.
We have scenario where configuration migration happened but grub
installation is not required.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2020-10-04 19:41:50 +00:00
pra-moh
7fae9493a0 [Telemetry] remove unused mount from telemetry docker make file (#5536) 2020-10-04 19:40:36 +00:00
Abhishek Dosi
6192682c99 [Submodule update] sonic-platform-daemons
[thermalctld] Fix fan status issue in 201911 (#96)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-10-04 19:37:12 +00:00
Junchao-Mellanox
e614697967
Fix issue: there should be 2 cpu core temperature sensors in 3420 (#5402) 2020-10-04 16:58:17 +03:00
Qi Luo
e9be0864cd
Fix generate_l2_config: don't override hostname or device role (ToRRouter) (#5511)
* 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 09:16:55 -07:00
Stephen Sun
1da60a6811
Integrate sdk and fw 4.4.1910 (#5495)
Signed-off-by: Stephen Sun <stephens@nvidia.com>
2020-10-01 17:22:05 +03:00
Abhishek Dosi
40676a062d Cherry-pick of Master PR
Fix sonic-util command failure on Multi-asic platforms. #5503

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-30 06:00:06 +00:00
Nazarii Hnydyn
f456f1fd03 [monit]: Fix process checker. (#5480)
Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2020-09-30 00:25:37 +00:00
Stephen Sun
e9c2fdbf4a
[watermark] Fix error: BUFFER_POOL_WATERMARK isn't enabled by default (#4882) (#5455)
* Fix error: watermarkstat -t buffer_pool doesn't work

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2020-09-29 13:59:26 -07:00
Abhishek Dosi
97bbd83b69 [Submodule update] sonic-utilities
[cli][bgp]use vtysh in the show ip bgp summary command (#1137)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-29 19:43:57 +00:00
arlakshm
c8f92232ef Vtysh support for multi asic (#5479)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-09-29 19:40:37 +00:00
Abhishek Dosi
1a0a9937d6 [Submodule Update] sonic-utilities
Fix bad cherry-pick in sonic-util.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-29 18:20:53 +00:00
Kebo Liu
46e57e050c [Mellanox] Refactor SFP related platform API and plugins with new SDK API (#5326)
Refactor SFP reset, low power get/set API, and plugins with new SDK SX APIs. Previously they were calling SDK SXD APIs which have glibc dependency because of shared memory usage.

Remove implementation "set_power_override", "tx_disable_channel", "tx_disable" which using SXD APIs, once related SDK SX API available, will add them back based on new SDK SX APIs.
2020-09-29 15:39:52 +00:00
Abhishek Dosi
04725bc030 Revert "[bgp] Add 'allow list' manager feature (#5309)"
This reverts commit b5d33b39de.
2020-09-29 15:39:04 +00:00
abdosi
26e4f669bd
Added Support to add Debian package depedency for Python Debs and Python (#5484)
Wheel target.

This change are based of master corresponding changes.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-28 23:14:06 -07:00