Commit Graph

1054 Commits

Author SHA1 Message Date
Prince Sunny
9ad1971c78 Enable restapi, update sonic-restapi (#5169)
* Enable restapi if included in image
* [Submodule update] sonic-restapi
2020-08-14 09:22:09 -07:00
Abhishek Dosi
6793743fb5 [submodule update] sonic-swss
Ignore IPv6 link-local and multicast entries as Vnet routes (#1401)
[201911]Handled both REDIRECT and REDIRECT_ACTION ACL rules in ACL (#1397)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-08-14 09:21:11 -07:00
Abhishek Dosi
09248d9647 [submodule update] sonic-utilities
[201911][Python] Migrate applications/scripts to import sonic-py-common
 package (#1040)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-08-13 23:04:41 -07:00
Abhishek Dosi
9869eb8277 [submodule update] sonic-platform-daemons
[201911] Migrate from sonic-daemon-base package to sonic-py-common
  package (#83)
2020-08-13 19:13:43 -07:00
Joe LeVeque
309a098b21
[201911][Python] Migrate applications/scripts to import sonic-py-common package (#5132)
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 to the 201911 branch in https://github.com/Azure/sonic-buildimage/pull/5063
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 a step toward resolving https://github.com/Azure/sonic-buildimage/issues/4999
2020-08-13 16:35:53 -07:00
Abhishek Dosi
ef88181cd3 [sunmodule update] sonic-platform-common
Parse 'Extended Specification compliance' as independent field (#112)
2020-08-11 11:19:59 -07:00
Abhishek Dosi
13386c1a3c [submodule update] sonic-util
Bad-cherry-pick as part of PR#1015 causing build failure

 This commit fixes build failure.
2020-08-09 16:43:57 -07:00
Abhishek Dosi
db631745e0 [submoulde update] sonic-platform-common
[Cables] Add support for 'Extended Specification Compliance' for QSFP
 cables (#108)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-08-09 12:05:07 -07:00
Abhishek Dosi
6e02a67c6b [submodule] update sonic-py-swsssdk
Allowing TCP connections with namespace as well. (#81)
2020-08-09 12:04:07 -07:00
Abhishek Dosi
db270edb25 [Submodule update] sonic-swss
Added Max Nexthopgroup/ECMP Count supported by device into State DB.
(#1383)
2020-08-09 12:02:59 -07:00
Abhishek Dosi
597794a49b [submodule update] sonic-utilities
As part of this commit and previous commit ff6cb6c402
sonic-utilities submodule for 201911 has been updated to take following
changes:

 Add support for QSFP-DD cables on 'show' command (#989)
 [show] Fix for 'trunk' PortChannel reported as 'routed' port (#1002)
Enable HW watchdog before fast-reboot (#977)
 [filter-fdb] Check VLAN Presence When Filter FDB (#957) (#975)
[filter-fdb] Fix For Vlan Defined With No CIDR (#976)
 [show/config]: combine feature and container feature cli (#1015)
2020-08-09 11:41:43 -07:00
Sujin Kang
ff6cb6c402 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-08-09 11:25:31 -07:00
Joe LeVeque
890e1f38cc [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-09 10:40:20 -07:00
pavel-shirshov
a15d79b6f1 [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-08-09 10:39:28 -07:00
Guohan Lu
544aa236c4 [submodule]: update sonic-utilities
ef0b1fa 2020-07-21 | [config] Restart telemetry service upon config (re)load (#992)

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-08-05 17:30:35 -07:00
Joe LeVeque
6556c40040
[201911] Introduce sonic-py-common package (#5063)
Consolidate common SONiC Python-language functionality into one shared package (sonic-py-common) and eliminate duplicate code.

The package currently includes four modules:
- daemon_base
- device_info
- logger
- task_base

NOTE: This is a combination of all changes from https://github.com/Azure/sonic-buildimage/pull/5003, https://github.com/Azure/sonic-buildimage/pull/5049 and some changes from https://github.com/Azure/sonic-buildimage/pull/5043 backported to align with the 201911 branch. As part of the 201911 port, I am not installing the Python 3 package in the base image or in the VS container, because we do not have pip3 installed, and we do not intend to migrate to Python 3 in 201911.
2020-08-03 11:50:06 -07:00
Abhishek Dosi
3c224e7ce3 [submodule update] sonic-swss
Revert "Refine getDbId() calling to fix build after swss-common change (#1245)"

 This shoudl fix VS build.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-08-01 17:41:30 -07:00
Abhishek Dosi
35ff8b3e12 [submodule update] sonic-platform-daemons
[xcvrd] Fix bailing out on platforms that do not support QSFP-DD (#78)

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-08-01 14:24:13 -07:00
Abhishek Dosi
ae65de6cac [submodule update] sonic-swss
Remove 00-copp.config.json from swss debian package. (#1366)
2020-07-31 17:30:09 -07:00
pavel-shirshov
f757a5d6eb Fix for ipv6 local-addr problem (#4876)
Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-07-31 17:26:07 -07:00
Abhishek Dosi
a4d399c1a9 [submodule update] sonic-platform-common
Fix import issue for python3 whl building (#105)
2020-07-31 10:24:53 -07:00
Abhishek Dosi
b576443af9 [submodule update] sonic-platform-daemons
[xcvrd] Add support for QSFP-DD cables (#66)
2020-07-30 12:12:03 -07:00
Abhishek Dosi
a2aa5c4d8c [submodule update] sonic-platform-common
[Transceiver] Add parser for QSFP-DD cable type and dictionaries for
 QSFP-DD codes (#101)
2020-07-30 12:10:20 -07:00
Kebo Liu
b4f010f042
[kernel]: Update sonic-linux-kernel to pick up new fix (#5044)
Azure/sonic-linux-kernel#154 patch psample to safely unload the module
2020-07-28 15:06:51 -07:00
Abhishek Dosi
a163583d93 [submodule update] sonic-swss-common
This is fix for compilation error also on 201911.
[schema]: Add a new table "NAT_DNAT_POOL_TABLE" to hold the DNAT Pool
entries.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-07-27 08:58:42 -07:00
Stephen Sun
33a3cc8861
[submodule]: update submodule head for sonic-sairedis on 201911 (#5041)
Update the meta code to support DNAT Pool changes (#616)
[syncd] Fix notification on shutdown request (#637)
Advance the submodule head of SAI (#641)

Signed-off-by: Stephen Sun <stephens@mellanox.com>
2020-07-26 13:43:01 -07:00
Abhishek Dosi
940e5c0db0 [submodule update] sonic-utilities
[config] Add 'config interface mtu' command #793
add fec configuration 'config interface fec [OPTIONS] <interface_name>
<interface_fec>' #764
2020-07-26 11:29:10 -07:00
Abhishek Dosi
6216d32db0 [submodule update] sonic-swss
[201911] Update nat entries to use nat_type to support DNAT Pool
  changes. (#1297)
    [201911] Update nat entries to use nat_type to support DNAT Pool
    changes. (#1297)
2020-07-26 11:22:41 -07:00
anish-n
733f7091ac [bgpcfgd]: Add Vlan prefix list to the FRR templates (#5005)
add the Vlan prefix list to the FRR templates
2020-07-26 11:17:29 -07:00
vdahiya12
2b86e51026 [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-26 11:14:17 -07:00
anish-n
b0ccf58682 [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-26 11:10:24 -07:00
Joe LeVeque
5591131bba
[201911][sonic-telemetry] Update submodule (#4987)
Point submodule to new 201911 branch of sonic-telemetry and update pointer to the current HEAD of the 201911 branch

* src/sonic-telemetry aaa9188...01b5365 (1):
  > [testdata] Update SFP keys to align with new standard (#39)
2020-07-17 17:37:21 -07:00
Abhishek Dosi
0d6754d140 [Submodule update] sonic-snmpagent
[201911] Fix interface counters in RFC1213 (#144)
2020-07-14 22:05:13 -07:00
Abhishek Dosi
7591d76b55 [Submodule Update] sonic-utilities
Fix the None Type Exception when Interface Table does not exist (cold
boot) as part of db migration (#986)
2020-07-13 09:09:00 -07:00
Prince Sunny
79d434a442 [bgpcfgd] - Fix a key error during delete (#4946) 2020-07-11 22:36:41 -07:00
Abhishek Dosi
b78e17a143 [Submodule update] sonic-snmpagent. Movent to 201911 Branch with with
following PR's :
Implement cbgpPeer2State in CiscoBgp4MIB (#119)
Fix index nodes in LLDP tables whose access right is not-accessible.
(#112)
 Fix quagga/FRR parser on IPv6 BGP sessions (#122)
 [lint] Fix some syntax errors or warnings (#127)
  Update README.md: Add lgtm badges (#128)
  [Multi-asic]: Support multi-asic platform (#126)
  Simplify test code (#132)
  [Multi-asic]: Namespace support for LLDP and Sensor tables (#131)
  Fix undefined variable and warning message (#134)
  Fix SNMP AgentX socket connection timeout when using
  Namespace.get_all() (#140)
  [Namespace] Fix interfaces counters in InterfacesMIB RFC 2863 (#141)
   Fix LGTM reported alert of PR#141 (#142)
2020-07-11 14:07:50 -07:00
Abhishek Dosi
93d2eda1a2 [Submodule Update] sonic-py-swssdk
[MultiDB]: use python class composition to avoid confusion in base
class (#74)
2020-07-11 09:54:04 -07:00
Abhishek Dosi
7aefe6d58f [Submodule Update] sonic-utilities
Intf table migration for APP_DB entries during warmboot (#980)
[Multi NPU] Time Improvements to the config reload/load_minigraph
commands  (#917)
2020-07-11 09:51:16 -07:00
Abhishek Dosi
251dc0a21e Cherry-pick was not clean. Fixing it.
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-07-08 13:58:42 -07:00
Abhishek Dosi
b3720bc082 [Submodule Update]
Add support for attribute capability query in lua script (#362)
2020-07-08 10:18:39 -07:00
Abhishek Dosi
e442175e56 [Submodule Update] sonic-swss
[aclorch] Use IPv6 Next Header internally for protocol number on MLNX
platform (#1343)
2020-07-08 10:16:11 -07:00
Abhishek Dosi
3dcf0ba43d [Submodule update] sonic-utilities
[sfpshow][mock_state_db] Tweak key names of some transceiver info fields
(#958)
[config] Fix syntax error (#966)
[config] Fix indentation level in _get_disabled_services_list() (#965)
2020-07-08 10:07:45 -07:00
Abhishek Dosi
89815471be [Submodule update] sonic-platform-daemons
[xcvrd] Update key names in 'get_media_settings_value()' (#63)
[xcvrd] Tweak some transceiver info key names (#62)
2020-07-08 10:07:08 -07:00
Abhishek Dosi
acd20f6638 [Submodule Update] Sonic-platform-common
[sfp_base] Update return value documentation of channel-specific methods
(#98)
[SfpBase] Fix key name typo in docstring (#99)
[sfp] Tweak key names of some transceiver info fields (#97)
[sfputil] Make SfpUtilHelper.get_physical_to_logical noexcept as
in SfpUtilBase (#96)
2020-07-08 10:05:39 -07:00
arlakshm
aef3f7dc5a "[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-08 09:03:41 -07:00
rajendra-dendukuri
a47add5353
[sonic-ztp]: Update submodule pointer (#4902)
Cherry pick Azure/sonic-ztp#17 to 201911 branch to fix Azure/sonic-ztp#15
2020-07-06 22:36:30 -07:00
pavel-shirshov
6958441959 Tests for bgpcfgd templates (#4841)
* Tests for bgpcfgd templates
2020-07-05 15:55:18 -07:00
pavel-shirshov
1930b3ac89 [bgpcfgd]: make a package for bgpcfgd (#4813) 2020-07-05 15:51:05 -07:00
pavel-shirshov
7d840bac3f [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-05 15:41:04 -07:00
pavel-shirshov
9c62ce9ebb Tests of FRR templates which rendered by sonic-cfggen (#4875)
* Tests of FRR templates which rendered by sonic-cfggen
2020-07-05 15:37:04 -07:00