Commit Graph

2156 Commits

Author SHA1 Message Date
Qi Luo
936d93cbcd
Fix tagged VlanInterface if attached to multiple vlan as untagged member (#8927)
#### Why I did it
Fix several bugs:
1. If one vlan member belongs to multiple vlans, and if any of the vlans is "Tagged" type, we respect the tagged type
2. If one vlan member belongs to multiple vlans, and all of the vlans have no "Tagged" type, we override it to be a tagged member
3. make sure `vlantype_name` is assigned correctly in each iteration

#### How to verify it
1. Test the command line to parse a minigraph and make sure the output does not change.
```
./sonic-cfggen -m minigraph.mlnx20.xml
```
The minigraph is for HwSKU Mellanox-SN2700-D40C8S8.

2. Test on a DUT with HwSKU Mellanox-SN2700-D40C8S8
```
sudo config load_minigraph
show vlan brief
```
Checked the "Port Tagging" column in the output.
2022-04-19 15:47:07 -07:00
Saikrishna Arcot
330777e795
Image build time improvements (#10104)
* [build]: Patch debootstrap to not unmount the host's /proc filesystem

Currently, when the final image is being built (sonic-vs.img.gz,
sonic-broadcom.bin, or similar), each invocation of sudo in the
build_debian.sh script takes 0.8 seconds to run and execute the actual
command. This is because the /proc filesystem in the slave container has
been unmounted somehow. This is happening when debootstrap is running,
and it incorrectly unmounts the host's (in our case, the slave
container's) /proc filesystem because in the new image being built,
/proc is a symlink to the host's (the slave container's) /proc. Because
of that, /proc is gone, and each invocation of sudo adds 0.8 seconds
overhead. As a side effect, docker exec into the slave container during
this time will fail, because /proc/self/fd doesn't exist anymore, and
docker exec assumes that that exists.

Debootstrap has fixed this in 1.0.124 and newer, so backport the patch
that fixes this into the version that Bullseye has.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>

* [build_debian.sh]: Use eatmydata to speed up deb package installations

During package installations, dpkg calls fsync multiples times (for each
package) to ensure that tht efiles are written to disk, so that if
there's some system crash during package installation, then it is in at
least a somewhat recoverable state. For our use case though, we're
installing packages in a chroot in fsroot-* from a slave container and
then packaging it into an image. If there were a system crash (or even
if docker crashed), the fsroot-* directory would first be removed, and
the process would get restarted. This means that the fsync calls aren't
really needed for our use case.

The eatmydata package includes a library that will block/suppress the
use of fsync (and similar) system calls from applications and will
instead just return success, so that the application is not blocked on
disk writes, which can instead happen in the background instead as
necessary. If dpkg is run with this library, then the fsync calls that
it does will have no effect.

Therefore, install the eatmydata package at the beginning of
build_debian.sh and have dpkg be run under eatmydata for almost all
package installations/removals. At the end of the installation, remove
it, so that the final image uses dpkg as normal.

In my testing, this saves about 2-3 minutes from the image build time.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>

* Change ln syntax to use chroot

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-04-19 09:22:16 -07:00
Ze Gan
a1494577d9
[yang]: Add yang model for MACsec (#10559)
Add Yang model to constrain the configuration of MACsec
2022-04-18 10:34:52 +08:00
Jing Zhang
16f6860e94
[master][sonic-linkmgrd] submodule updates (#10532)
[master][sonic-linkmgrd] submodule updates

41f5fb9 Jing Zhang      Mon Apr 11 08:33:39 2022 -0700  Upgrade linkmgrd to `BULLSEYE` (https://github.com/Azure/sonic-linkmgrd/pull/60)
2fc890e Jing Zhang      Mon Apr 4 10:25:22 2022 -0700   Lower unsolicited MUX state change notification log level to WARNING (https://github.com/Azure/sonic-linkmgrd/pull/57)
13f4879 Jing Zhang      Sun Apr 3 21:56:33 2022 -0700   Keep incrementing sequence number when link prober is suspended and shutdown  (https://github.com/Azure/sonic-linkmgrd/pull/55)
62482e1 Jing Zhang      Sun Apr 3 20:54:40 2022 -0700   Reset link prober state when default route is back (https://github.com/Azure/sonic-linkmgrd/pull/56)
34a68d1 Jing Zhang      Thu Mar 31 18:33:46 2022 -0700  disable switchover measuring based on link prober (https://github.com/Azure/sonic-linkmgrd/pull/49)
898a655 Jing Zhang      Thu Mar 31 15:42:15 2022 -0700  Update link prober metrics posting logics (https://github.com/Azure/sonic-linkmgrd/pull/50)

sign-off: Jing Zhang zhangjing@microsoft.com
2022-04-17 15:14:37 -07:00
Ze Gan
87036c34ec
[macsec]: Upgrade docker-macsec to bullseye (#10574)
Following the patch from : https://packages.debian.org/bullseye/wpasupplicant, to upgrade sonic-wpa-supplicant for supporting bullseye and upgrade docker-macsec.mk as a bullseye component.
2022-04-17 20:32:51 +08:00
judyjoseph
c1f2221ae3
Update sonic-platform-daemons (#10514)
9ac12bf (HEAD -> master, origin/master, origin/HEAD) Fix platform daemon chassisd to handle auto restart on fail (#247)
24fba04 [ycable] fix the logic to update cable_info values when ycable is not present; fix read side logic for ycable (#249)
2022-04-16 14:59:05 -07:00
Hua Liu
3068c5101e
Update submodule sonic-platform-daemons (#10572)
Updating sonic-utilities sub module with the following commits

f09bd31 Fix UT failed cause by change pycommon to use swsscommon
c092300 Increased pcied unit test coverage to > 80%
7d7c85e Modular chassis: Psud set master led on first run
7195dcc Remove py2 from pipeline
c2e7393 [ycabled] increase UT coverage of ycabled daemon

#### Why I did it

    When change pycommon to use swsscommon UT failed in sonic-platform-daemon, need submodule update with UT issue fix.

#### How I did it

#### How to verify it

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

#### Description for the changelog

        Fix UT failed cause by change pycommon to use swsscommon
        Increased pcied unit test coverage to > 80%
        Modular chassis: Psud set master led on first run
        Remove py2 from pipeline
         [ycabled] increase UT coverage of ycabled daemon
#### A picture of a cute animal (not mandatory but encouraged)
2022-04-15 23:02:30 +08:00
Kebo Liu
fb25f13ee8
[submodule] Advance sonic-platform-common pointer (#10538)
b70e759 support new reboot-cause #277

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-04-13 07:18:29 +03:00
xumia
e6aa3b8751
[Build]: Fix pip version constraint conflict issue (#10525)
Why I did it
[Build]: Fix pip version constraint conflict issue
When a version is specified in the constraint file, if upgrading the version in build script, it will have conflict issue.

How I did it
If a specified version has specified in pip command line, then the version constraint will be skipped.
2022-04-13 11:40:06 +08:00
Nikola Dancejic
f2acf952fb
[device config] Adding configuration for default route fallback (#10465)
* [device config] Adding configuration for default route fallback
* Set sai_tunnel_underlay_route_mode attribute to fallback to default route if more specific route is unavailable.
2022-04-12 14:43:03 -07:00
kellyyeh
396a92cb2e
[dhcp_relay] Remove dhcp6mon (#10467) 2022-04-12 10:44:17 -07:00
jingwenxie
cd330f0e70
[sonic-cfggen] make minigraph parser fail when speed and lanes are not in PORT table (#10228)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, PORT table does not have 'lanes' and 'speed' field.

How I did it
Make cfggen command fail when 'lanes' and 'speed' are not provided

How to verify it
Run 'sonic-cfggen -m xxx.xml --print-data' to make sure command fail when 'lanes' and 'speed' not in PORT table
2022-04-11 09:56:58 +08:00
Junchao-Mellanox
011c21d8f5
[submodule] Advance sonic-swss-common pointer (#10505)
a7118f2 Add a ctor for IpPrefix to accept ip structure and mask (#593)
34f3f61 Add MACSEC_SA_PLUGIN_FIELD (#597)
2022-04-10 07:55:40 +03:00
Kamil Cudnik
7d9a346e10
[submodule] Update sonic-sairedis (#10515)
To add new acl priority attribute CL improvement
2022-04-09 10:46:25 -07:00
ganglv
39e1e92c08
[yang]: Add support for BmcMgmtToRRouter (#10488)
Why I did it
minigraph parser has introduced new type.

How I did it
Update yang models to support BmcMgmtToRRouter.

How to verify it
Run unit test for sonic-yang-models

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-04-08 07:48:01 +08:00
Alexander Allen
47db2b2993
[hostcfgd] Move hostcfgd back to ConfigDBConnector for subscribing to updates (#10168)
#### Why I did it

As of https://github.com/Azure/sonic-swss-common/pull/587 the blackout issue in ConfigDBConnector has been resolved. 

In the past hostcfgd was refactored to use SubscriberStateTable instead of ConfigDBConnector for subscribing to CONFIG_DB updates due to a "blackout" period between hostcfgd pulling the table data down and running the initialization and actually calling `listen()` on ConfigDBConnector which starts the update handler. 

However SusbscriberStateTable creates many file descriptors against the redis DB which is inefficient compared to ConfigDBConnector which only opens a single file descriptor. 

With the new fix to ConfigDBConnector I refactored hostcfgd to take advantage of these updates.

#### How I did it

Replaced SubscriberStateTable with ConfigDBConnector

#### How to verify it

The functionality of hostcfgd can be verified by booting the switch and verifying that NTP is properly configured.

To check the blackout period you can add a delay in the hostcfgd `load()` function and also add a print statement before and after the load so you know when it occurs. Then restart hostcfgd and wait for the load to start, then during the load push a partial change to the FEATURE table and verify that the change is picked up and the feature is enabled after the load period finishes. 

#### Description for the changelog
[hostcfgd] Move hostcfgd back to ConfigDBConnector for subscribing to updates
2022-04-07 14:56:52 -07:00
Kebo Liu
07fad261dc
[submodule] Advance sonic-platform-common pointer (#10469)
Update sonic-platform-common submodule to pickup new commits:
01512ec [SSD]Enhance ssd_generic with more error handling to avoid python crash Azure/sonic-platform-common#271
ac3e7f1 [y_cable][Broadcom] update the BRCM y_cable driver to release 2.0 Azure/sonic-platform-common#263
573717a [Credo][Ycable] Fix Credo firmware download API download_firmware flag Azure/sonic-platform-common#269
a844f18 [xcvr] Add get_module_fw_info method to XcvrApi class. Azure/sonic-platform-common#267
35bad16 [sfputil]Refactoring read_porttab_mappings Azure/sonic-platform-common#264
83c4345 [SSD Generic] Add support for parsing nvme ssd model, health and temperature Azure/sonic-platform-common#265
5da31e1 [ycable][credo] Fix the is_link_active API for Credo Ycable Azure/sonic-platform-common#260
931c6ea [Y-Cable][Credo] add theading locker to support thread-safe calling, add SKU check for download_firmware API. Azure/sonic-platform-common#222
ff3aa75 Fix SFF8472 Enhanced Options Azure/sonic-platform-common#259
a8a83e9 [ssd] Allow individual vendor parsers to handle errors Azure/sonic-platform-common#252

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-04-07 15:39:46 +03:00
Stepan Blyshchak
4426f7715f
[scapy] update scapy to 2.4.5 and patch it (#10457)
Why I did it
Running warm-reboot in a loop for 500 times leads to this error on 318-th iteration:

Apr  2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors Traceback (most recent call last):
Apr  2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors   File "/usr/bin/restore_neighbors.py", line 24, in <module>
Apr  2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors     from scapy.all import conf, in6_getnsma, inet_pton, inet_ntop, in6_getnsmac, get_if_hwaddr, Ether, ARP, IPv6, ICMPv6ND_NS, ICMPv6NDOptSrcLLAddr
Apr  2 15:56:27.346795 sonic INFO swss#/supervisord: restore_neighbors   File "/usr/local/lib/python3.7/dist-packages/scapy/all.py", line 25, in <module>
Apr  2 15:56:27.346956 sonic INFO swss#/supervisord: restore_neighbors     from scapy.route import *
Apr  2 15:56:27.346995 sonic INFO swss#/supervisord: restore_neighbors   File "/usr/local/lib/python3.7/dist-packages/scapy/route.py", line 205, in <module>
Apr  2 15:56:27.347089 sonic INFO swss#/supervisord: restore_neighbors     conf.iface = get_working_if()
Apr  2 15:56:27.347129 sonic INFO swss#/supervisord: restore_neighbors   File "/usr/local/lib/python3.7/dist-packages/scapy/arch/linux.py", line 128, in get_working_if
Apr  2 15:56:27.347213 sonic INFO swss#/supervisord: restore_neighbors     ifflags = struct.unpack("16xH14x", get_if(i, SIOCGIFFLAGS))[0]
Apr  2 15:56:27.347250 sonic INFO swss#/supervisord: restore_neighbors   File "/usr/local/lib/python3.7/dist-packages/scapy/arch/common.py", line 31, in get_if
Apr  2 15:56:27.347345 sonic INFO swss#/supervisord: restore_neighbors     return ioctl(sck, cmd, struct.pack("16s16x", iff.encode("utf8")))
Apr  2 15:56:27.347365 sonic INFO swss#/supervisord: restore_neighbors OSError: [Errno 19] No such device
The issue was reported to scapy devs secdev/scapy#3369, the fix is secdev/scapy#3371, however there is no released scapy version with this fix right now, thus decided to build scapy v2.4.5 from sources and apply the fix in a form of a patch.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2022-04-07 14:23:35 +03:00
Nazarii Hnydyn
16717d2dc5
[submodule] Advance sonic-swss submodule. (#10404)
In order to include the following commit:
0f06910 [PBH] Implement Edit Flows (Azure/sonic-swss#2169)

sonic-swss

50d5be2 Make changes to support compiling on Bullseye with GCC 10 (#2216)
0870cf5 [mirrororch]: Implement HW resources availability validation for SPAN/ERSPAN (#2187)
f4ec565 [vlanmgrd] fix use-after-free memory issue (#2211)
c2de7fc [QosOrch] The notifications cannot be drained in QosOrch in case the first one needs to retry (#2206)
5575935 [neighsyncd] increase neighsyncd timeout (#2209)
0f06910 [PBH] Implement Edit Flows (#2169)
6241bbf Remove redundant and problematic code to skip "pool" field in buffer profile handling (#2197)
a55343c [azp]: Set diff coverage threshhold to 80% (#2188)
390cae1 [portsorch]: Prevent LAG member configuration when port has active ACL binding (#2165)
c1d47e6 [VNET]Fixing nexthop group delete during route change (#2198)
8941cc0 [BFD]Registering BFD state change callback during session creation (#2202)
680c539 [vxlan] Remove tunnel map objects on VNET tunnel removal (#2150)
20dde0c Fix for handling broadcom DNX ASIC to have ipv4 and ipv6 ACL rules in separate tables. (#2178)
5b7c949 [FdbOrch] SAI_FDB_EVENT_MOVE generates update with empty update.entry.port_name (#2200)
7350d49 [Vxlanmgr] vnet netdev cleanup during config reload fix (#2191)
2bef62b Validate LAG has members before mirror session create (#2130)
1e4d4ce [VS test] Increase VS test time, skip dpb flaky test (#2195)
6eda965 [vstest]Migrating vs tests from using click commands to direct DB access (#2179)

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2022-04-07 10:41:42 +03:00
ganglv
3046c798a1
[sonic-cfggen]: Add port speed for UT (#10483)
Why I did it
Need to run yang validation for sonic-cfggen unit test, and many unit test does not provide speed for port table.

How I did it
Update minigraph xml.

How to verify it
Run sonic-cfggen unit test.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-04-07 13:50:07 +08:00
jingwenxie
d83ae1e3dc
[yang] Fix yang validation failure when table contains empty value (#10431)
Why I did it
Fix #9746

How I did it
Split the check condition based on non-exist and zero length.

How to verify it
Run verification script when table contains empty value
2022-04-07 08:46:41 +08:00
Vivek R
614d14e8a0
[submodule] update sonic-snmpagent pointer (#10461)
890f32f  LLDPLocalSystemDataUpdater Exception Log Handled (#249)
2151731 Handle error seen on system where vlan interface map is not present (#246)
c6141c7 [build] use Azure.sonic-buildimage.official.vs pipeline as artifact source (#248)

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2022-04-06 17:05:05 +03:00
ganglv
b152f2a0fc
[sonic-cfggen]: Update unit test to remove asn 0 (#10454)
Why I did it
ASN range is from 1 to 4294967295, need to remove invalid ASN.

How I did it
Update unit test and replace ASN 0.

How to verify it
Run unit test for sonic-config-engine.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-04-06 14:33:26 +08:00
bingwang-ms
b9dd1df372
Update qos config to clear queues for bounced back traffic (#10176)
* Update qos config to clear queues for bounced back traffic

Signed-off-by: bingwang <bingwang@microsoft.com>
2022-04-05 22:32:25 +08:00
Nazarii Hnydyn
64dc08a372
[submodule] Advance sonic-utilities submodule. (#10405)
In order to include the following commit:
c752457 [PBH] Implement Edit Flows (Azure/sonic-utilities#2093)

sonic-utilities
f70dc27 [techsupport] Handle minor fixes of TS Lock and update auto-TS (#2114)
51d3550 Fix issues in clear_qos (#2122)
6d3aa1e [GCU] Optimizing moves by adding generators for keys/tables (#2120)
65a5a6b Fixing get port speed when oper status is down (#2123)
c752457 [PBH] Implement Edit Flows (#2093)
827358f [debug dump] dump interface module added (#2070)

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2022-04-04 16:07:48 +03:00
bingwang-ms
470d73585a
[YANG] Update YANG model for pfcwd_sw_enable (#10444)
* Update YANG for pfcwd_sw_enable

Signed-off-by: bingwang <wang.bing@microsoft.com>
2022-04-04 17:10:06 +08:00
ganglv
13aa2332e8
[sonic-cfggen]: Update UT to add port lanes (#10362)
Why I did it
Need to run yang validation for sonic-cfggen unit test, and many unit test does not provide lanes for port table.

How I did it
Update port config file.

How to verify it
Run sonic-cfggen unit test,
Use below PR to verify
#10228

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-04-04 12:55:33 +08:00
abdosi
a5018e73a7
[Submodule update] sonic-py-swssdk (#10440)
*[Submodule update] sonic-py-swssdk

78f167e4728f939712b3f3ea550949e2ea675fec With the changes in PR:https://github.com/Azure/sonic-buildimage/pull/5289 access to redis unix socket is given to the redis group members. Many of sonic-util commands (especially in multi-asic) case use redis unix socket to connect to DB and thus those comamnd fails without providing sudo. This PR is continuation  of PR: https://github.com/Azure/sonic-buildimage/pull/7002 where we default to use TCP for Redis if user is not root

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2022-04-02 10:30:21 -07:00
bingwang-ms
8edc534629
Advance sonic-sairedis submodule (#10417)
Signed-off-by: bingwang <bingwang@microsoft.com>
2022-04-02 13:53:40 +08:00
Nazarii Hnydyn
28939e95ef
[submodule]: Advance sonic-swss-common and sonic-linkmgrd submodules (#10406)
#### Why I did it
To take the following into sonic-buildimage
36e1f61 API endpoints to ConfigDBConnector to support pre-loading data without blackout (#587)

[sonic-swss-common](https://github.com/Azure/sonic-swss-common)
```
36e1f61 API endpoints to ConfigDBConnector to support pre-loading data without blackout (#587)
556f4ad Add SAI copy action to ACL schema (#591)
db18c3a Fix bitwidth of mac address in SAI ACL schema (#590)
e9442bb [ConfigDBPipeConnector]: Added set_entry API (#586)
6c007c0 Update README for gmock (#562)
```

[sonic-linkmgrd](https://github.com/Azure/sonic-linkmgrd)
```
83dfc99 Enforce uniform file/class naming convention (#52)
83004bf Shutdown ICMP heartbeats when default route state is missing and ToR is in `auto` mode (#44)
b81ea31 Add `LinkProberStateMachineActiveActive`  (#47)
c43cf7a Decrease link probing interval after switchover to better determine the overhead of a toggle (#43)
2239fbe Enhance clang format (#46)
```
#### How I did it
* Advanced submodules pointers

#### How to verify it
1. make configure PLATFORM=mellanox
2. make target/sonic-mellanox.bin
2022-04-01 17:14:45 -07:00
ganglv
a8f72e5d45
[yang] Update device_metadata to add dhcp_server (#10382)
Why I did it
dhcp_server is introduced, and need to update yang model.

How I did it
Update yang models and add unit test.

How to verify it
Run unit test for sonic-yang-models.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-04-02 07:32:01 +08:00
AmitKaushik7
0bce0a7e6d
Allow NULL Buffer Profile in buffer pg/queue yang files for Dynamic B… (#10353)
Why I did it
To address #10342 (Yang validation fails when Buffer profiles are configured with "NULL" values)
2022-03-31 10:22:03 -07:00
Myron Sosyak
71a04722f4
[submodule] Update sonic-sairedis (#10302)
1ccda8d MACsec in Gearbox (#993)
7a2b824 Update SAI submodule (#1015)
418d5fb Add pre match logic for lag member (#1008)

Signed-off-by: Myron Sosyak <myronx.sosyak@intel.com>
2022-03-31 11:45:29 +02:00
Hua Liu
271ef69e60
Add j2 template for enable pam_limit and limit SSH session (#10177)
#### Why I did it
    When too many user login concurrently and run commands, SONiC may kernel panic on some device which has very limited memory.

#### How I did it
    Add j2 template for setup pam_limit plugin for limit SSH session per-user.

#### How to verify it
    Manually validate the j2 template can generate correct config file.

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

- [x] 201811
- [ ] 201911
- [ ] 202006
- [x] 202012
- [x] 202106
- [x] 202111

#### Description for the changelog
    Add j2 template for setup pam_limit plugin for limit SSH session per-user.

#### A picture of a cute animal (not mandatory but encouraged)
2022-03-31 17:33:43 +08:00
ganglv
6e51779efb
[sonic-cfggen] Fix invalid switch_type (#10383)
Why I did it
sonic-config-engine unit test is using invalid switch_type

How I did it
Update xml with correct switch_type

How to verify it
Run UT for sonic-config-engine

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-03-31 15:29:23 +08:00
Longxiang Lyu
16766c0ea4
[YANG ] Support vlan sub intf short naming format (#10160)
Why I did it
To support vlan sub intf short naming format, like subport Eth8.100 for parent portEthernet8 with vlan id 100.

How I did it
Add checks to must condition to verify there is a port or portchannel with the index same as the vlan sub intf.

How to verify it
Run the unttests.
2022-03-31 08:24:13 +08:00
Lior Avramov
761ae24427
[submodule] Advance sonic-utilities submodule pointer (#10333)
Update sonic-utilities submodule to include below commits:
510a9b9 Add date to show version (#2086)
61b1396 [sfpshow][recycle_port] sfpshow script needs to skip recycle ports (#2109)
4681697 Support command `show ip fib` and `show ipv6 fib` (#2100)
2a982a1 Update `config mirror_session` CLI to support heximal gre type value (#2095)
b25f1e1 [generic-config-updater] Add caclrule validator (#2103)
968900c [sonic-package-manager] do not mod_config for whole config db when setting init_cfg (#2055)
bf55ceb [nvgre] Added auto-generated CLI plugins and test for NVGRE Tunnel feature (#1915)
8389c81 [sonic-cli-gen] fix failure "Error: digits_class" when field "digit_class" does not exist in DB (#2054)
f71ef64 Fix import statement in mclag.py (#2073)
2022-03-30 14:43:13 +03:00
Lior Avramov
f054d07df5
[sonic-swss]: Advance submodule (#10332)
Update sonic-swss submodule to include below commits:
d80094b [aclorch] Do not fail ACL rule remove flow if rule already deleted (#2183)
bea0b70 [gcov]: Change coverage.xml file references (#2120)
829b219 [tunnelmgrd]: Warm boot support (#2166)
ad65b0a Fix issue: sometimes PFC WD unable to create zero buffer pool (#2164)
608acc3 [doc] Moving Configuration.md from swss to yang sub-folder (#2177)
0294376 [orchagent] NVGRE Tunnel orchestration agent implementation (#1953)
ce88696 [ci] Update default sonic image downloading build ID. (#2175)

Co-authored-by: liora <liora@nvidia.com>
2022-03-29 16:34:24 +03:00
Junchao-Mellanox
9282618450
[YANG] Add route flow counter support (#9814)
* [YANG] Add route flow counter support
2022-03-24 15:14:30 -07:00
Saikrishna Arcot
9451a9d43e
Check to see that the py2 and py3 version files exist before trying to sort them (#10325)
For Bullseye, Python 2 isn't present at all. This means that in certain
build cases (such as building something only for Bullseye), the version
file may not exist, and so the sort command would fail.

For most normal build commands, this probably won't be an issue, because
the SONiC build will start with Buster (which has both Python 2 and
Python 3 wheels built), and so the py2 and py3 files will be present
even during the Bullseye builds.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-03-22 21:57:15 -07:00
SuvarnaMeenakshi
74c32d0d31
[sonic-py-swsssdk]: Advance submodule (#10308)
Update sonic-py-swsssdk submodule to include below commits:

96c0590 [port_util] Fix issue: port_util.get_vlan_interface_oid_map should not raise exception when DB has not RIF data (#117)
96da8b9 [build] pin pytest-azurepipelines version (#119)

Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
2022-03-22 17:58:15 -07:00
Mohamed Ghoneim
874d7fc2c6
[yang] In ACL_RULE PRIORITY is mandatory and PACKET_ACTION for CTRLPLANE ACLs (#10248)
#### Why I did it
Fixes https://github.com/Azure/sonic-utilities/issues/2049

from caclmgr:
- PRIORITY is a required field [code](3fa18d18d4/src/sonic-host-services/scripts/caclmgrd (L548))
- PACKET_ACTION is a required field [code](3fa18d18d4/src/sonic-host-services/scripts/caclmgrd (L581))

I think PRIORITY is a required field for ACLs not only CTRLPLANE ACLs

#### How I did it
Check code.

#### How to verify it
Unit-test

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/SONiC/wiki/Configuration.
-->

#### A picture of a cute animal (not mandatory but encouraged)
2022-03-22 17:12:16 -07:00
Volodymyr Boiko
24397ead09
[sonic-config-engine][portconfig] Do not parse JSON as Python AST (#10224)
#### Why I did it
To fix https://github.com/Azure/sonic-buildimage/issues/9643

#### How I did it
Instead of ast.literal_eval added python2 compat code for json strings unicode -> str convertion.

We need python2 compatibility since py2 sonic config engine (buster/sonic_config_engine-1.0-py2-none-any.whl target) is still included into the build (ENABLE_PY2_MODULES flag is set for buster). Once we abandon buster and python2, this compat and ast.literal_eval could be cleaned up all through the code base.

#### How to verify it
run steps from the linked issue
2022-03-21 12:43:43 -07:00
xumia
92363eadbe
[Build]: support to collect version when purging debian package (#10287)
Why I did it
support to collect version when purging debian package
Support to collect version multiple times

How I did it
Add the collection action before purging.
2022-03-21 17:10:33 +08:00
liuh-80
87af5659c5
Update submodule sonic-snmpagent (#10277)
Updating sonic-snmpagent submodule with the following commits

        dae8146 [ci]: Support code diff coverage
        6bd51c4 Fix: LAG counters, if LAG don't have L3 interface
        2654f4a Fix snmp agent Initialize config DB multiple times issue

#### Why I did it
    When change pycommon to use swsscommon UT failed in sonic-snmpagent, need submodule update with UT issue fix.

#### How I did it

#### How to verify it

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

#### Description for the changelog

        [ci]: Support code diff coverage
        Fix: LAG counters, if LAG don't have L3 interface
        Fix snmp agent Initialize config DB multiple times issue

#### A picture of a cute animal (not mandatory but encouraged)
2022-03-21 13:04:22 +08:00
liuh-80
4659f8b8e8
[Submodule] Update src/sonic-utilities (#10272)
Updating sonic-utilities sub module with the following commits

    b00b870 [build] stop vstest in the Azure pipeline 
    2c56e92 [GCU] Marking fields under BGP_PEER_RANGE, BGP_MONITORS as create-only
    6289987 Fix sonic-installer failure due to missing import 
    45e6ac1 [show] add support for hwstatus in show muxcable status
    93384ed Try get port operational speed from STATE DB
    483fc6e [techsupport] Added a lock to avoid running techsupport in parallel
    398da58 Validation check correction while adding a member to PortChannel
    a8a7edb [generate_dump] exclude mft and mlx folders from /etc
    1cf1d03 Fix UT failed cause by change pycommon to use swsscommon
2022-03-20 17:33:12 -07:00
xumia
ed4f19fb28
[Build][Bug]: fix the warning message not printed as expected issue (#10278)
Fix the warning message not printed as expected issue
2022-03-19 21:48:27 +08:00
bingwang-ms
fb7f046143
[yang] Update YANG model for mirror session to support decimal value for GRE type (#10140)
#### Why I did it
PR  https://github.com/Azure/sonic-utilities/pull/1825 added validation for the input of `config mirror session add`, and only decimal value is accepted.
An issue https://github.com/Azure/sonic-buildimage/issues/10096 was raised to suggest accepting HEX value as well, and the suggestion makes sense to me.

To accept HEX value for GRE type, and keep backward compatibility as well, I updated the YANG model to support both decimal and hexadecimal input for GRE type.

#### How I did it
Update the regex for GRE type.

#### How to verify it
Verified by UT
```
platform linux -- Python 3.9.2, pytest-6.0.2, py-1.10.0, pluggy-0.13.0
rootdir: /sonic/src/sonic-yang-models
plugins: pyfakefs-4.5.4, cov-2.10.1
collected 3 items                                                                                                                                                                                     

tests/test_sonic_yang_models.py ..                                                                                                                                                              [ 66%]
tests/yang_model_tests/test_yang_model.py .                                                                                                                                                     [100%]

========================================================================================== 3 passed in 2.53s ==========================================================================================
```

#### Description for the changelog
Update YANG model for mirror session to support decimal value for GRE type.
2022-03-18 17:27:02 -07:00
Jing Zhang
64822d80b1
[sonic-linkmgrd][master] submodule update (#10271)
f00efef Longxiang Lyu Wed Mar 16 09:12:46 2022 +0800 Add a command line option to store logs into a separate file (#41)
ff2e67d Longxiang Lyu Tue Mar 15 09:10:59 2022 +0800 Add default port cable type (#39)
ebbb4d8 Jing Zhang Mon Mar 14 15:41:11 2022 -0700 Prevent switching MUX to "Unknown" (#36)
c779b8f Longxiang Lyu Thu Mar 10 21:35:11 2022 +0800 [nonfunctional] Use LinkProberStateMachineBase (#38)
b9fedd0 Longxiang Lyu Wed Mar 9 13:03:58 2022 +0800 [NONFUNCTIONAL] Add LinkProberStateMachineBase (#37)
bedd42b Longxiang Lyu Wed Mar 9 10:03:00 2022 +0800 Add .clang-format file to format code (#28)
9fe4fc6 Guohan Lu Thu Mar 3 17:51:43 2022 -0800 [doc]: add lgtm badge in README.md
c1249d9 Longxiang Lyu Wed Mar 2 18:05:18 2022 +0800 Enable lgtm (#33)
b8514c6 Longxiang Lyu Wed Mar 2 13:34:39 2022 +0800 Collect port cable type to use corresponding state machine (#31)
9b59ef9 Longxiang Lyu Wed Mar 2 07:19:33 2022 +0800 Improve make clean (#32)
2022-03-18 11:31:38 -07:00
Sudharsan Dhamal Gopalarathnam
52c2a3ad23
[yang] Fixing Ethertype field regex in acl rule yang to accept decimal values (#10108)
#### Why I did it
Fixing issue https://github.com/Azure/sonic-buildimage/issues/9991
The ACL RULE table field ETHER_TYPE can accept both hex as well as decimal values. However yang model didn't allow decimal values. Fixed it to allow decimal values (same pattern as in hex (1536-65535)


#### How I did it
Updated yang model to handle decimal values

#### How to verify it
Added UT to verify it.
2022-03-17 10:26:03 -07:00
xumia
e1f57db818
[Submodule]: Update sonic-restapi (#10257)
#### Why I did it
```
Update submodule sonic-restapi
bd97dfe Fix urllib3 CVE-2021-33503 issue (#104)
f159bfa Upgrade the containers to be based on Debian Buster (#103)
a1830c1 (origin/201911) Fix OpenAPI spec to be readable by autorest (#101)
```
2022-03-17 10:16:43 -07:00
Sudharsan Dhamal Gopalarathnam
28f6a51d26
[doc] Moving Configuration.md from swss to sonic-yang-models folder (#10078)
#### Why I did it
Moved Configuration.md from swss to yang folder. The configuration schema should be present along with yang models and when users add yang model they could update configuration document as well.
2022-03-15 10:26:36 -07:00
Stephen Sun
d08add5523
[submodule] Update sonic-swss submodule pointer (#10209)
Update sonic-swss with the following changes:

29d5d8da Use abort instead of exit in case calling SAI API failure (#2170)
12f980c8 Fix issue config qos reload causing orchagent aborted via tracking dependencies among QoS tables (#2116)
6e5ed1c0 [chassis][syncd][sai] Adjusting response timeout during syncd init (#2159)
0a99f546 Try get port operational speed from STATE DB (#2119)
828cccfe [crm] Use sai_object_type_get_availability() API to get counters (#2098)
18c73a19 Allow IPv4 link-local nexthops (#1903)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2022-03-15 15:40:55 +02:00
Shilong Liu
286ff289f5
[sonic-config-engine] Add failure details in sonic-config-engine unit test. (#10210) 2022-03-15 14:47:36 +08:00
Song Yuan
330eb8dda9
update submodule sonic-py-swsssdk (#10220) 2022-03-14 11:24:26 -07:00
Stepan Blyshchak
2919b4820f
[hostcfgd] record feature state in STATE DB (#9842)
- Why I did it
To implement blocking feature state change.

- How I did it
Record the actual feature state in STATE DB from hostcfg.

- How to verify it
UT + verification by running on the switch and checking STATE DB.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2022-03-14 13:45:27 +02:00
xumia
7178c668dd
[Build]: Fix installing dpkg packages in parallel issue (#10175)
Why I did it
Fix the debian packages installing in parallel issue.
Add apt hook command to support apt to print no version control info.
2022-03-14 11:20:20 +08:00
xumia
f34b5e601d
[Submodule]: Update submodule for sonic-telemetry (#10124)
e56e9b4 Fix CVE-2021-3121 warning (#96)
bf1be4f [ci]: Support code diff coverage threshold 50% (#94)
64e516c Ported Marvell armhf build on x86 for debian buster to use cross-compilation instead of qemu emulation (#80)
e426388 [ci]: Support azp code coverage (#87)
2022-03-11 09:21:35 +08:00
jingwenxie
861ea26d18
[yang]: Update DEVICE_METADATA yang models to support 'sub_role' (#10161)
#### Why I did it
Fix https://github.com/Azure/sonic-buildimage/issues/9591
#### How I did it
Add 'sub_role' to device_metadata yang models.
#### How to verify it
Run UT for sonc-yang-models.
2022-03-10 14:42:43 -08:00
StormLiangMS
86017096b2
[bgpcfgd] to support removal part of configuration of bgp allowed prefix list (#10165)
* fix allow list issue

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

* add the ipaddress in the install list

* add unit test

Co-authored-by: Ubuntu <azureuser@SONIC-SH-STORM-02.5pu3m0fajw1edcfltykk1gauxa.gx.internal.cloudapp.net>

Why I did it
Failed to remove part of configuration of bgp allowed prefix list. The details in #10141

How I did it
There are two issues:

In FRR, ipv6 default route is ::/0, but in the configuration, it is 0::/0, string comparison would be false, but why ipv4 failed to remove the allowed prefix list, ipv6 works? Looks into next one for the answer.

The current managers_allow_list doesn’t support removal part of the prefix list. But why IPv6 works in 1? It is because the bug for the IPv6 default route comparison, it would do the update no matter what is the operation (the code will compare the prefix list in the FRR and configuration db, if all configurations in db are presented in FRR, it do nothing, otherwise it will update the prefix list based on the configuration from db).

How to verify it
Follow the step in #10141
2022-03-10 08:54:33 +08:00
Song Yuan
01798447ab
[Chassis][QoS template] Skip configuring buffer and QoS config on recirc ports (#7869)
* Added test case to verify the template changes.
2022-03-09 16:04:36 -08:00
jingwenxie
d112e7cca9
[submodule] Update sonic-utilities (#10163)
47c243e [show][muxcable] fix the sudo access error for show muxcable metrics (#2083)
f872516 [muxcable][show] enhance show mux status to show last switchover time (#2067)
d440df7 [warmboot] Migrate 10G ports during warm-reboot on s6100 (#2064)
494c6d7 [counterpoll] Display the correct default poll interval for watermark counters (#2082)
499988e [show][config] add muxcable command line support for retrieve / reset ICMP packet loss data (#2046)
8b01d3e Remove the warning message appear when there are no ports on CONFIG DB (#2050)
ed6e66e [GCU] Supporting Groupings during path-xpath translation (#2044)
25b3455 [ci] Use official build debian pkg instead and parameterize source branch (#2079)
2022-03-08 21:56:42 +08:00
ganglv
29f6b01be6
[sonic-cfggen]: Fix generated deployment_id (#10154)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, deployment_id can’t be none for yang validation.

How I did it
Update minigraph.py, skip deployment_id with None value

How to verify it
Run UT for sonic-config-enginue.
Run command 'sonic-cfggen -m tests/multi_npu_data/sample-minigraph-noportchannel.xml -p tests/multi_npu_data/sample_port_config-3.ini -n asic3 --print-data'.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-03-08 15:48:04 +08:00
Renuka Manavalan
d9a61b07a7
send log to /var/log/syslog; Add user info the message (#10033)
Why I did it
Desired the log message destination to be syslog and it misses the critical info.

How I did it
Non logical code changes only.
Logging update, just for one message only
a) The log message is directed to /var/log/syslog, instead of /var/log/auth.log
b) Include user alias in the message

How to verify it
Pick a user alias that has not logged into the switch yet
Add this alias to /etc/tacplus_user
Attempt to login as that user
Look for the error message in /var/log/syslog
e.g. "Feb 18 19:16:41.592191 sonic ERR sshd[5233]: auth fail: Password incorrect. user: user_xyz"
2022-03-07 15:01:31 -08:00
Kebo Liu
fe0a7693f4
[smartmontools] Install smartmontools with apt-get and upgrade it to 7.2-1 (#10087)
Why I did it
Smartmontools 6.6 has an issue with reading SMART info of nvme SSD
Smartmontools can be installed with apt-get, no need to build and install

How I did it
Use apt-get to install smartmontools 7.2-1
Remove previous make files for smartmontools 6.6

How to verify it
verify with "smartctl" can read out correct SMART info on NVME ssd.
verify "show platform ssdhealth" can still work

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-03-07 09:39:33 -08:00
ganglv
78e867a794
[YANG]: Update port Yang models to support multi-asic platform (#10113)
Why I did it
Multi-asic platform add aisc_port_name and role to PORT table, and port_index range is changed.

How I did it
Update sonic-port.yang, add asic_port_name and role, and remove range limitation.

How to verify it
Run UT for sonic-yang-models.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-03-07 15:54:05 +08:00
jingwenxie
eec49a2e09
[yang] support acl MIRROR_ACTION (#10100)
Why I did it
ACL doesn't have mirror related action

How I did it
Add 'MIRROR_INGRESS_ACTION' and 'MIRROR_EGRESS_ACTION' to sonic-acl.yang.j2

How to verify it
Run the YANG model unit tests
2022-03-07 14:04:18 +08:00
ganglv
2ef9d65525
[yang]: AAA login pattern (#9805)
Signed-off-by: Gang Lv ganglv@microsoft.com

<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it
end2end test is blocked by Yang model for AAA login pattern.

#### How I did it
Add pattern to AAA yang models.

#### How to verify it
Run UT for sonc-yang-models.

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
Fix #9713 

#### A picture of a cute animal (not mandatory but encouraged)
2022-03-07 13:05:46 +08:00
StormLiangMS
55a0722a33
support BGP_ALLOWED_PREFIXES (#10142) 2022-03-05 09:20:38 +08:00
Jing Zhang
622962a213
[linkmgrd]: update linkmgrd submodule (#10117)
ce72b0d Longxiang Lyu Thu Feb 24 06:05:12 2022 Put handler member functions as virtual in base (#30)
ef59e4f Jing Zhang Fri Feb 25 11:38:28 2022 Incrementing tolerance on mux state inconsistency (#27)
2d12892 Longxiang Lyu Wed Feb 16 03:32:06 2022 Rename LinkManagerStateMachine to ActiveStandbyStateMachine (#26)
f38634c Jing Zhang Thu Feb 17 17:23:56 2022 Update log level for mux probing and mux state chance (#23)
a8434dd Jing Zhang Thu Feb 17 17:21:01 2022 Handle xcvrd crashing scenarios (#22)
2ebdb2b Longxiang Lyu Mon Feb 14 13:26:07 2022 [make] Enable make extra includes (#24)
2022-03-03 16:22:31 -08:00
xumia
582ea7cfc6
[Unit Test]: Fix sonic config engine test not stable issue(#10147)
Co-authored-by: azureuser <azureuser@contoso.com>
2022-03-03 09:22:15 -08:00
Vadym Hlushko
e104247950
[nvgre] Added YANG model and tests (#10095)
- Why I did it
NVGRE Tunnel feature extends the Config DB with new tables. These tables require a new YANG model.

- How I did it
Added a new YANG model sonic-nvgre-tunnel.yang

- How to verify it
Added YANG test cases.

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
2022-03-03 15:58:17 +02:00
Sudharsan Dhamal Gopalarathnam
14de0a1548
[containerd]Fixing container commands when mode is local and state is disabled (#9986)
Why I did it
During warm-reboot and fast-reboot the below error logs appear
Feb 3 22:05:15.187408 r-lionfish-13 ERR container: docker cmd: kill for nat failed with 404 Client Error for http+docker://localhost/v1.41/containers/nat/json: Not Found ("No such container: nat")

The container command when called for local mode doesn't check if it is enabled before calling docker kill which throws the above errors.
b6ca76b482/scripts/fast-reboot (L699)

How I did it
Checking feature state if local mode and returning error exit code along with valid debug message.

How to verify it
Manually tested with warm-reboot and fast-reboot
Added UT to verify it.
2022-03-02 19:08:06 -08:00
Aravind Mani
1740beb1f2
[sonic-cfggen]: Fix sonic-cfggen build failures for armhf (#10132)
Why I did it
amrhf build fails while building sonic-config-engine whl package
https://dev.azure.com/mssonic/be1b070f-be15-4154-aade-b1d3bfb17054/_apis/build/builds/77089/logs/9

The reason for the failure is due to the fact that there is a new line generated at the top of the file in buffer config test cases while building for broadcom based platform and this issue is not seen in Marvell based platforms.

How I did it
Removed the new line for all the buffer test cases as there is no need to add it and accordingly changed the buffer_config.j2 where the new line is generated.
2022-03-02 13:06:20 -08:00
Maxime Lorrillere
7891760fd0
[yang-models] Add chassis fields to device_metadata (#10006)
This change is adding asic_name, switch_id, switch_type and max_cores to sonic-device_metadata.yang
This should fix issue #9575

Co-authored-by: Maxime Lorrillere <mlorrillere@arista.com>
2022-03-02 16:10:04 +08:00
ganglv
3bb87c03a1
[yang]: Add yang models for BGP_PEER_RANGE table (#10082)
Why I did it
end2end test is blocked by Yang model for BGP_PEER_RANGE.

How I did it
Add new yang models.

How to verify it
Run UT for sonc-yang-models.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-03-02 10:09:41 +08:00
arlakshm
fd22635de0
[chassis][bgp] create v4 and v6 peer group for VoQ internal neighbors (#9693)
Why I did it
In the recent minigraph changes we add separate BGP session configuration for V4 and V6 internal VoQ neighbors.
This PR is adding different Peer groups for V4 and V6 neighbors

How I did it
Add VOQ_CHASSIS_V4_PEER and VOQ_CHASSIS_V6_PEER groups
Add extra Unit tests

How to verify it

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2022-02-24 11:21:26 -08:00
Junchao-Mellanox
d82eafd8ae
[system-health] Fix file handle leak (#10059)
- Why I did it
swsscommon.ConfigDBConnector does not automatically close connection when the instance is recycled by python. So, it should not create this instance each time calling check_services. It will cause error like Failed to read from file /var/run/hw-management/led/led_status_capability - OSError(24, 'Too many open files')

- How I did it
Only connect DB once in init

- How to verify it
Manual test
2022-02-24 11:29:59 +02:00
Junchao-Mellanox
72477bcac8
[submodule] Update submodule for sonic-swss-common (#10012)
*9eac0ae Add support for route flow counter (#576)
*2262c01 [VS] Increase test timout to 360min (#582)
*a2b8161 [ci] pipeline fixes for VS test (#581)
2022-02-23 17:55:37 -08:00
vmittal-msft
bc1dfea619
Updated traffic scheduler settings for HWSKUs : DellEMC-Z9332f-O32 and DellEMC-Z9332f-M-O16C64 (#9828) 2022-02-23 17:22:41 -08:00
Ze Gan
937ffbdb05
[submodule]: Update sonic-sairedis (#10061)
Signed-off-by: Ze Gan <ganze718@gmail.com>

b9337dc (HEAD, origin/master, origin/HEAD) [vslib]: Fix MACsec bug in SCI and XPN (#1003)
edbceb9 [syncd][vslib] Keep new warm boot discovered SERDES objects (#985)
af5c156 Fix build issues on gcc-10 (#999)
1445cd5 update SAI submoule (#1001)
48fe704 [ci] pipeline fixes for VS test (#1002)
f484cf9 Enable SAI_SWITCH_ATTR_UNINIT_DATA_PLANE_ON_REMOVAL attribute (#975)
5d0b22d Enable SAI_SWITCH_ATTR_UNINIT_DATA_PLANE_ON_REMOVAL attribute (#975)
1b8ce97 (origin/202111) [pipeline] Download swss common artifact in a separated directory (#995)
7a2e096 Change sonic-buildimage.vs artifact source from CI build to official build. (#992)
2022-02-23 19:31:41 +08:00
Ze Gan
4a2a0df607
[submodule]: Update sonic-swss (#9978)
* Update sonic-swss

Signed-off-by: Ze Gan <ganze718@gmail.com>

* update swss

Signed-off-by: Ze Gan <ganze718@gmail.com>

* Update submodule update-swss

Signed-off-by: Ze Gan <ganze718@gmail.com>
2022-02-23 09:18:05 +08:00
Nazarii Hnydyn
55e7a14f04
[submodule]: Advance sonic-utilities. (#10058)
```
Commits on Jan 31, 2022
[sonic-package-manager] implement blocking feature state change (#2035) 

Commits on Feb 12, 2022
[ci] pipeline fixes for VS test (#2059) 

Commits on Feb 14, 2022
[ci] allow download partially succeeded suilds for sonic-swss-pytests… 
[build] allowPartiallySucceededBuilds true in the step of download so… 

Commits on Feb 16, 2022
[config] Fix snmpagentaddress doesn't support the uppercase letters f… 

Commits on Feb 17, 2022
[ci] Fix pipeline on build_and_install_module (#2074) 
Enable diff coverage and set the threshold to 50% (#2061) 

Commits on Feb 18, 2022
check for adding default vlan attempt added (#2075) 
[GCU] Adding unit-test where path and ref paths are under the same YA… 
[GCU] Turning port admin down before some critical port changes (#1998) 

Commits on Feb 20, 2022
show_platfom_info not run for simx (#2042) 
[aclshow] fix aclshow when clear is called before counters are popula… 
```
2022-02-22 15:32:57 -08:00
Mohamed Ghoneim
f21a45b68a
[build] fix build exception and revert #9136 (#10037)
#### Why I did it

1. Fix Build exception [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73911&view=logs&jobId=88ce9a53-729c-5fa9-7b6e-3d98f2488e3f&j=cef3d8a9-152e-5193-620b-567dc18af272&t=ac3bce9f-b126-5a26-3fee-28ce0ec1679d)

```
2022-02-19T01:54:23.4200556Z ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)
```

This is because Jinja2 uses MarkupSafe without specifying an upper limit to the version, MarkupSafe version that was released today removed 'soft_unicode'. So now Jinja2 is complaining.

Related issues:
https://github.com/pallets/jinja/issues/1591
https://github.com/aws/aws-sam-cli/issues/3661


2. Reverts #9136

Fixing build failures in SONiC utils [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73784&view=logs&jobId=83516c17-6666-5250-abde-63983ce72a49&j=83516c17-6666-5250-abde-63983ce72a49&t=6177235f-d4f1-5f72-835a-90ebb93a1784)

One of the errors:
```
 TestPathAddressing.test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths 

self = <tests.generic_config_updater.gu_common_test.TestPathAddressing testMethod=test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths>

    def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self):
        # Arrange
        path = "/PORT/Ethernet0"
        expected = [
            "/ACL_TABLE/NO-NSW-PACL-V4/ports/0",
            "/VLAN_MEMBER/Vlan1000|Ethernet0",
        ]
    
        # Act
        actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON)
    
        # Assert
>       self.assertEqual(expected, actual)
E       AssertionError: Lists differ: ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0'] != ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0']
E       
E       First list contains 1 additional elements.
E       First extra element 1:
E       '/VLAN_MEMBER/Vlan1000|Ethernet0'
E       
E       - ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0']
E       + ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0']
```

The VLAN_MEMBER backlink (can be called referrer link or ref link) is not found.

Issue introduced by https://github.com/Azure/sonic-buildimage/pull/9136
I don't know how this PR passed the build system, it should have failed.

Known YANG issue https://github.com/Azure/sonic-buildimage/issues/9312

#### How I did it
The import to `sonic-vlan` is breaking the build
```
    import sonic-vlan {
        prefix vlan;
    }
```

I am not sure if that's the only issue, so I think reverting the whole PR should be the safer option.

#### How to verify it
Ran sonic-utils tests locally.
2022-02-21 11:07:29 -08:00
thomas.cappleman@metaswitch.com
a7f6130383
[submodule] swss-common and py-swssdk updates (#9777)
sonic-swss-common:
[ci] Set diff coverage threshold to 50% (#567)
Added NVGRE tunnel related tables (#549)
Add option to suppress logging (#566)
[TableBase] Make channel name from both table name and database ID (#568)
Revert "[TableBase] Make channel name from both table name and database ID (#568)" (#574)

sonic-py-swsssdk:
Add option to suppress warnings when querying Redis (#115)
2022-02-18 13:24:04 -08:00
Christian Svensson
d540492834
caclmgrd: remove permit source port 179 (#9827)
[Caclmgrd] Remove insecure opening of source port 179
Signed-off-by: Christian Svensson <blue@cmd.nu>
2022-02-17 15:04:59 -08:00
Vadym Hlushko
5ce75acfa5
[nvgre] Added YANG model and tests (#9136)
- Why I did it
NVGRE Tunnel feature extends the Config DB with new tables. These tables require a new YANG model.

- How I did it
Added a new YANG model sonic-nvgre-tunnel.yang

- How to verify it
Added YANG test cases.

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
2022-02-17 12:06:01 +02:00
kellyyeh
f136c53d19
[radv] Support multiple ipv6 prefixes per vlan interface (#9934)
Why I did it
Radvd.conf.j2 template creates two copies of the vlan interface when there are more than one ipv6 address assigned to a single vlan interface. Changed the format to add prefixes under the same vlan interface block.

How I did it
Modifies radvd.conf.j2 and added unit tests

How to verify it
Configure multiple ipv6 address to the same vlan, start radvd
Unit test will check if radvd.conf with multiple ipv6 addresses is formed correctly
2022-02-16 14:17:26 -08:00
Aravind Mani
b7ae4f2e67
Dell S6100: Addition of 10G ports (#9988) 2022-02-16 00:09:05 -08:00
Myron Sosyak
125fe9907a
Bump Thrift version from 0.13.0 to 0.14.1 (#9881)
#### Why I did it
To bump the Thrift version to 0.14.1 
- To avoid [CVE-2020-13949](https://nvd.nist.gov/vuln/detail/CVE-2020-13949) 
- to fix some dependencies issues

#### How I did it
- rename `src/thrfit_0_13_0` to `src/thrift_2` to remove version number in the path. (`src/thrift` contains rules to build thrift 0.11.0  )
- Add thrift sources as submodule as there are no prepared debian packages for version >0.13.0 on [debian.org](https://packages.debian.org/search?searchon=sourcenames&keywords=thrift)
- Added patches with fixes for original thrift debian rules:(remove unneeded packages, fix multi job build)
#### How to verify it
```
BLDENV=buster make -f Makefile.work target/debs/buster/libthrift-dev_0.14.1_amd64.deb
```
2022-02-15 16:39:47 -08:00
Sudharsan Dhamal Gopalarathnam
0b59f0b641
[yang]YANG model for policer table (#9948)
#### Why I did it
Added yang model for policer table
Fixes https://github.com/Azure/sonic-buildimage/issues/9742 and https://github.com/Azure/sonic-buildimage/issues/9743
#### How I did it
Creating yang model for policer

#### How to verify it
Added UT to verify the yang model

The configuration schema for policer is added in the pull request https://github.com/Azure/sonic-swss/pull/2144
2022-02-14 13:00:58 -08:00
Alexander Allen
675bceba4d
[submodule] Update linux-kernel submodule pointer (#9937)
Updates include the following changes in order to support new Mellanox platforms and drivers (Azure/sonic-linux-kernel#259)

10ef390 Update kconfig to support / enable newly backported mellanox patches.
6a949e1 Add backported patches for Mellanox hw-mgmt V.7.0020.1300
e1913f7 Rename and reformat patch headers
2022-02-13 17:13:48 +02:00
Kebo Liu
7af5fcf80e
update sonic-snmpagent submodule (#9935)
Update the sonic-snmpagemt submodule to pick up new changes:
Fix RFC2737 with update xcvr vendor version key name Azure/sonic-snmpagent@4ee573c
Fix Queue stat unavailable error seen during SNMP service start Azure/sonic-snmpagent@3013597
Modify path of python wheels to be installed Azure/sonic-snmpagent@b8ea609
[Voq][Inband] Support the Ethernet-IB port Azure/sonic-snmpagent@df615c4

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-02-13 15:01:40 +02:00
Sudharsan Dhamal Gopalarathnam
b621dafff7
[yang] Adding not-provisioned to type field in DEVICE_METADATA table (#9951)
#### Why I did it
Fixing the issue https://github.com/Azure/sonic-buildimage/issues/9915

#### How I did it
Added 'not-provisioned' as a supported value for type field in DEVICE_METADATA type. This value is set during initial ZTP bring up

#### How to verify it
Added UT to verify it.
2022-02-10 11:59:25 -08:00
Jing Kan
914a8a1756
[sonic-config-engine]: Update minigraph parser to support enable DHCP server for BmcMgmtToRRouter (#9938)
Signed-off-by: Jing Kan jika@microsoft.com
2022-02-10 13:30:54 +08:00
abdosi
e44a40cc3b
Updated Internal BGP Templates for chassis packet (#9674)
Fixes: https://github.com/Azure/sonic-buildimage/issues/9610
2022-02-08 09:36:32 -08:00
Dror Prital
cd77efa763
[submodule] Update sonic-utilities submodule (#9871)
Update submodule sonic-utilities that contains the following commits:

[build] allowPartiallySucceededBuilds: true (#2043)
[system-health] Remove booting stage in system health service (#2022)
[GCU] Mark children of bgp_neighbor as create-only (#2008)
[generic_config_updater] Minor update - No logical code change (#2028)
[generic-config-updater] Handle failed service restarts (#2020)
[debug dump] Missing Dict Key handled in the MatchOptimizer (#2014)
[Auto Techsupport] Added Event Driven TS to Command Reference (#1985)
2022-02-07 12:58:47 +02:00
Jing Zhang
7a4c58f118
[sonic-linkmgrd][master] submodule update (#9904)
[sonic-linkmgrd][master] submodule update

ef1f5eb Jing Zhang Feb 3 09:37:25 2022 [linkmgrd] linkmgrd subscribes MUX_CABLE_INFO table to handle peer OIR events (#17)
bcd74b4 Jing Zhang Feb 1 09:52:00 2022 Collect ICMP packet loss information (#14)

sign-off: Jing Zhang zhangjing@microsoft.com
2022-02-05 13:07:32 -08:00
Ashok Daparthi-Dell
0629e5b432
[yang] Fix for sonic-scheduler.yang name pattern (#9873)
#### Why I did it

PR9611 - sonic-scheduler.yang pattern issue

#### How I did it
Modified the scheduler name pattern string to accept any string 

#### How to verify it

Sonic yang tests
2022-02-04 16:47:56 -08:00
kellyyeh
bc88535b88
[dhcp6relay] Support relaying Relay-Forward message (#9887) 2022-02-01 11:36:48 -08:00
noaOrMlnx
adb87162c4
[submodule] Update sonic-swss submodule pointer (#9859)
53c630b [CoPP] Add always_enabled field to coppmgr logic ([minigraph]: Add PORTCHANNEL_MEMBER configurations #2034)
adcf69d [cbf] Fix cbf sync error ([aboot] add SWI_DEFAULT support in boot0 #2056)
69f9ee5 fix mclagsyncd out of order initialization ([submodules] update dbsyncd and snmpagent pointers for LLDP MIB support #2112)
2022-02-01 19:20:00 +02:00
Mohamed Ghoneim
f8fd2defb4
[yang] Fixing groupings when grouping is in the same module file (#9880)
#### Why I did it
If the grouping is in the same file in the module, fetching the grouping fails

#### How I did it
fixing the `uses_module_name` when the grouping is under the same file

#### How to verify it
Enabled a grouping under the same file which is `lldp`, there is a test in sonic-yang-mgmt that translates `sample-config-db` into yang format. This test passes with grouping in `lldp` used.

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->


#### A picture of a cute animal (not mandatory but encouraged)
2022-01-28 10:23:38 -08:00
Mohamed Ghoneim
6100a6c8f9
[yang] Adding sonic-bgp-monitor to setup.py (#9877)
#### Why I did it
Include sonic-bgp-monitor to setup.py so it gets included in /usr/local/yang-models when installing the package

#### How I did it

#### How to verify it
install the package

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->


#### A picture of a cute animal (not mandatory but encouraged)
2022-01-28 10:16:27 -08:00
kellyyeh
f998684e3e
[dhcp_relay] Check payload size to prevent buffer overflow in dhcpv6 option (#9740) 2022-01-27 23:19:15 -08:00
Saikrishna Arcot
bcf5388f25
Package debugging and hardening for dhcpmon and dhcp6relay (#9862)
Enable dbgsym package for dhcpmon.

Allow CFLAGS and LDFLAGS from environment variables to be used
in the dhcp6relay build. This makes sure that the -O2 flag from
dpkg-buildflags gets used.

Finally, enable all hardening flags in dpkg-buildflags for
dhcp6relay and dhcpmon. The change from the default set of flags is that
during linking, immediate binding of symbols is done instead of lazy
binding.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-01-27 17:48:58 -08:00
sabari@broadcom
018a6495da
[yang] added mclag sonic yang (#7622)
#### How I did it
Added mclag sonic yang file for the MCLAG enhancements  as per HLD: Azure/SONiC#596

#### How to verify it
try rest APIs

#### Description for the changelog
Added mclag sonic yang
2022-01-27 13:09:58 -08:00
novikauanton
2532d65660
[swss] Update submodeule to fix mclagsyncd (#9837)
commit history:
*6cb43ee2 Fix mclagsyncd out of order initialization (#2112)
2022-01-27 11:41:11 -08:00
Junchao-Mellanox
c06cb219e2
Make system health service start early (#9792)
- Why I did it
For SYSTEM READY feature. Currently, there is a booting stage in system health service to indicate that the system is loading SONiC component. This booting stage is no longer needed because SYSTEM READY feature will treat that stage as system "NOT READY".

- How I did it
1. Remove booting stage
2. Adjust unit test cases

- How to verify it
Manual test, Unit test, sonic-mgmt Regression
2022-01-27 13:46:52 +02:00
Ying Xie
1ac140a945
[dhcp6relay] a couple memory access protections (#9851)
Why I did it
the strcpy and buffer allocation is not safe, it corrupts 1 byte on the stack. Depending on the memory layout, it may or may not cause issue immediately.
message type is not validated before updating the counter. Which could cause segment fault.

How I did it
Remove the unsafe strcpy, use config->interface.c_str() instead.
Check message type before updating counters.

How to verify it
The issue (1) caused segment fault on a specific platform. The fix was validated there. Issue (2) was precautionary. Added log in case it triggers.
2022-01-26 09:58:52 -08:00
ganglv
a04da0456b
[yang]: Update yang models to support 'cluster' (#9806)
Why I did it
Minigraph parser added a new field 'cluster' to device_metadata, and then yang validation is blocked.

How I did it
Add 'cluster' to device_metadata yang models.

How to verify it
Run UT for sonc-yang-models.
Use minigraph parser to generate ConfigDB schema and run yang validation.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-26 13:02:47 +08:00
vdahiya12
61e9a7683c
[y_cable] Support for initialization of new daemon ycable to support ycables (#9125)
* [y_cable] Support for initialization of new Daemon ycable to support
ycables
This PR also adds the commit in sonic-platform-daemons

94fa239 [y_cable] refactor y_cable to a seperate logic and new daemon from xcvrd (#219)

Why I did it
This PR separates the logic of Y-Cable from xcvrd. Before this change we were utilizing xcvrd daemon to control all aspects of Y-Cable right from initialization to processing requests from other entities like orch,linkmgr.
Now we would have another daemon ycabled which will serve this purpose.
Logically everything still remains the same from the perspective of other daemons.
it also take care aspects like init/delete daemon from Y-Cable perspective.

How I did it
To serve the purpose we build a new wheel sonic_ycabled-1.0-py3-none-any.whl and install it inside pmon.
We also initalize the daemon ycabled which serves our purpose for refactor inside pmon

How to verify it
Ran the changes with an image for dualtor tests on a 7050cx3 platform

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2022-01-25 11:10:25 -08:00
Andriy Kokhan
e88d7b3b93
[swss] Update submodule (#9816)
Update the sonic-swss submodule. The following are new commits in the submodule:

6cb43ee [p4orch] Fix handlePortStatusChangeNotification status deserialize (#2111)
863f0f1 [azp]: Enable PR diff coverage (#2083)
bf4cd4a Fix the unsafe usage of strncpy in portsorch.cpp (#2110)
c1b4b40 support port isolation group in BFN platform (#1940)


Signed-off-by: Andriy Kokhan <andriyx.kokhan@intel.com>
2022-01-21 12:07:40 -08:00
liuh-80
e639dda71b
[TACACS] fix src\tacacs\bash_tacplus\debian\rules file mode to 755 because it will be change to 755 by debian build and cause dirty image version. (#9821)
#### Why I did it
    src\tacacs\bash_tacplus\debian\rules file mode is 644, and debian build will change it to 755, which will cause image version contains 'dirty'

#### How I did it
    Change src\tacacs\bash_tacplus\debian\rules file mode to 755

#### How to verify it
    Check the image version not contains dirty

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

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [*] 202111

#### Description for the changelog
    Change src\tacacs\bash_tacplus\debian\rules file mode to 755

#### A picture of a cute animal (not mandatory but encouraged)
2022-01-21 22:28:31 +08:00
jingwenxie
7e9a198843
[yang] support ACL ACCEPT action (#9784)
Why I did it
ACL have ACCEPT action indeed, but yang doesn't support it.

How I did it
Add 'ACCEPT' enum to sonic-types.yang.j2

How to verify it
Run the YANG model unit tests
2022-01-21 11:11:54 +08:00
Jing Zhang
22e4b9be5c
[sonic-linkmgrd][master] submodule update #9808
[sonic-linkmgrd][master] submodule update

Commits added:
0c23756 Jing Zhang      2022-01-19      Linkmgrd subscribing State DB route event  (#13)
12b9951 Longxiang Lyu   2021-12-13      Add TLV support to ICMP payload (#11)
3eedda3 Longxiang Lyu   2022-01-06      Add missing intermediate states (#16)
8da4982 Ying Xie        2022-01-04      [linkmgrd] update README, set coding style guidance (#15)
a897cf8 Longxiang Lyu   2021-12-13      Improve PR template (#16)
6fec701 Jing Zhang      2021-12-06      Add pull request template for linkmgrd repo (#9)


signed-off-by: Jing Zhang zhangjing@microsoft.com
2022-01-20 17:45:55 -08:00
ganglv
d3c39d5324
[sonic-cfggen]: Feature should use 'state' to replace 'status' (#9796)
Why I did it
ConfigDB schema generated by minigraph parser can't pass yang validation.

How I did it
Modify minigraph.py, and use 'state' to replace 'status'.

How to verify it
Run UT for sonic-config-engine.
Use minigraph parser to generate ConfigDB schema, and run yang validation.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-20 08:51:56 +08:00
ganglv
dde5f37496
[yang]: Add Yang models for BGP monitor (#9752)
Why I did it
end2end test is blocked by Yang model for BGP monitor.

How I did it
Create new yang files for BGP monitor, and add UT.

How to verify it
Follow the steps in #9711.
Run UT for sonic-yang-models.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-20 08:51:12 +08:00
Junchao-Mellanox
56b5d22092
[submodule] Update submodule for sonic-platform-daemons (#9780)
c4127c2 [psud] Fix PSU log issue (#235)
07542cb [pmon][xcvrd]xcvrd process show backtrace on the internal port. (#233)
3e432e7 [Y-Cable] Increased unit test coverage of y_cable_helper.py (#229)
7c363f5 [ledd] prevent led crash on recirc port event (#232)
e9ccd82 [sonic-platform-daemons] fix dependency issue on py2 wheels by correcting the path (#234)
2b0acfb [sfp-refactoring] xcvrd: add initial support for CMIS application initialization (#217)
2022-01-19 20:33:12 +02:00
Aravind Mani
d5b0261da3
[DPB] Fix verbose mode issue (#9772) 2022-01-19 11:29:11 +05:30
Vivek Reddy
249c27b5ac
[submodule] Update sonic-utilities submodule (#9687)
```
d9f3afe [fdbshow] Adding more options for fdbshow and show mac (#1982)
902e14f Revert "Revert "[Barefoot] Added CLI to list/set P4 profile (#1951)"" (#2019)
5cc9dd5 Revert "Revert "[sonic-package-manager] support sonic-cli-gen and packages with YANG model (#1650)" (#1972)" (#1994)
```
2022-01-18 20:22:44 -08:00
Saikrishna Arcot
bb3362760d
[docker-dhcprelay]: Update to Bullseye (#9736)
As part of this, update the isc-dhcp package to match the Bullseye
version (this fixes some compile errors related to BIND), clean up some
of the build dependencies and runtime dependencies for debian packaging,
and use the default Boost version to compile against instead of
explicitly saying using 1.74.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-01-18 15:11:36 -08:00
xumia
40761941d4
[submodule]: update sonic-mgmt-common (#9785)
[submodule]: update sonic-mgmt-common
2022-01-18 21:05:46 +08:00
nkelapur
9b937497ca
Fix IPv4 routes with IPv6 link local next hops installed in FPM (#8740)
* Description: Currently IPv4 routes with IPv6 link local next hops are
not properly installed in FPM.
Reason is the netlink decoding truncates the ipv6 LL address to 4 byte
ipv4 address.

Ex : fe80:: is directly converted to ipv4 and it results in 254.128.0.0
as next hop for below routes

show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup

B>* 2.1.0.0/16 [200/0] via fe80::268a:7ff:fed0:d40, Ethernet0, weight 1,
02:22:26
B>* 5.1.0.0/16 [200/0] via fe80::268a:7ff:fed0:d40, Ethernet0, weight 1,
02:22:26
B>* 10.1.0.2/32 [200/0] via fe80::268a:7ff:fed0:d40, Ethernet0, weight
1, 02:22:26

Hence this fix converts the ipv6-LL address to ipv4-LL (169.254.0.1)
address before sending it to FPM. This is inline with how these types of
routes are currently programmed into kernel.

Signed-off-by: Nikhil Kelapure <nikhil.kelapure@broadcom.com>
2022-01-17 19:40:50 -08:00
xumia
5fb21ce9fd
[submodule]: update sonic-utilities (#9773)
[submodule]: update sonic-utilities
2022-01-18 08:36:33 +08:00
Aravind Mani
d5d642f348
[Submodule] sonic-platform-common submodule update (#9753) 2022-01-15 10:43:25 +05:30
Anish Narsian
cd26122dd6
[Yang] Add resource_type and downstream_subrole to yang model (#9696)
#### Why I did it
As a fix for https://github.com/Azure/sonic-buildimage/issues/9574

#### How I did it
Enhance yang model for networking-metadata

#### How to verify it
Unit testing
2022-01-14 15:37:20 -08:00
abdosi
582a21d6c5
[submodule update] sonic-swss (#9751)
[Submodule update] sonic-swss

    c78aa1b81a3a9001669746067ebbe40b4485f71d (HEAD -> master, origin/master, origin/HEAD) OA changes to support Ordered ECMP and DVS test for same. (#2092)
    b4b00031378a6ce303b779159e718d6d20790c11 Handling Invalid CRM configuration gracefully (#2109)
    d240cb2d356ec17baa464455f37f88ac5dbc441a [Mellanox] '_8lane' not added to Mellanox 5xxx models with 800G (#2090)
    8fd6e488d2a3696b9cfe352a9119c86f0f33e6dc [pfcwd] Add vs test infrastructure (#2077)
    b96ee5438b8bf08980846ee84ff69e7ba267b0dc [vnetorch] Advertise vnet tunnel routes (#2058)
2022-01-13 10:53:27 -08:00
abdosi
6076cd1c9d
[submodule update] sonic-sairedis (#9750)
[submodule update] sonic-sairedis

    d5866a3dccfb3bc50853d740d54203b5cae61eed (HEAD -> master, origin/master, origin/HEAD) [vslib]: fix create MACsec SA error (#986)
    f36f7ce6236ae97526e15f00e7688ccced7c0454 Added Support for enum query capability of Nexthop Group Type. (#989)
    323b89b14995a84bd6539c8a1df00b77d251f99e Support for MACsec statistics (#892)
    26a8a1204e873109537c81462ad1457cf38c2f9e Prevent other notification event storms to keep enqueue unchecked and drained all memory that leads to crashing the switch router (#968)
    0cb253a42cd0a641b8e0a3c6a4a54e5397dd8c2d Fix object availability conversion (#974)
2022-01-13 08:17:39 -08:00
Ze Gan
5cdfffe2fc
[submodule]: update sonic-wpa-supplicant (#9388)
457e94d51 [macsec_linux]: Fixbug cannot dump the PN due to type error (#42)
f7c073323 Disable P2P module (#41)
7b3b777e2 [ci]: use native arm64 and armhf build pool (#40)
d4e91d66c [sonic_operator]: Increase wait timeout (#39)
43611ef88e [sonic_operators]: Add log in sonic operators (#43)

Signed-off-by: Ze Gan <ganze718@gmail.com>
2022-01-12 20:27:02 -08:00
abdosi
649e6c7307
[minigraph] Enhanced parser to parse interface name for static route nexthop (#9707)
What I did:-

Enhanced minigraph parser to parse interface name associated with static route nexthop

Why I did:-

One of the use case to support interface name is Chassis Packet. For Chassis Packet we have Static Routes configured to route traffic across line-card. If the FRR programs static route without the interface name then in case if the ip interface that is associated with the nexthop goes down FRR resolves static route nexthop over the default route as we have FRR config ip nht-resolve-via-default which causes undesired behavior. Having interface name with Static Route prevents recursive lookup on default route.

How I verify:

Updated unit-test cases
Manual verification
2022-01-12 18:48:23 -08:00
ganglv
c69d376071
[yang]: Update AAA yang models (#9724)
#### Why I did it
AAA yang model is not up to date.

#### How I did it
Add fallback and trace field, and replace boolean_type

#### How to verify it
Run UT for sonic_yang_models.
Follow the steps from #9710
2022-01-12 10:23:11 -08:00
ganglv
c11ab02ab1
[sonic-cfggen]: Add bgp asn for yang validation (#9640)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, bgp_asn must not be None.

How I did it
Update sampe-voq-graph.xml to add bgp_asn.

How to verify it
Build sonic-config-engine.
Run command 'sonic-cfggen -m tests/sample-voq-graph.xml -p tests/voq-sample-port-config.ini --print-data', and check bgp_asn.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-12 15:25:38 +08:00
Shi Su
ac894b394f
[swss] Update submodule (#9723)
Why I did it
Update the sonic-swss submodule. The following are new commits in the submodule.

6dae6b8 Add initial value for weight in overlay nexthops (#2096)
d3cd402 [p4rt-tests] Bind response consumer to appl_state_db (#2105)
43e54e5 Fix armhf buildimage artifacts not found issue (#2107)

How I did it
Update the swss submodule pointer.
2022-01-11 09:42:09 -08:00
Saikrishna Arcot
fee2441717
Create docker-base-bullseye and docker-config-engine-bullseye (#9666)
* [slave-bullseye]: Remove Python 2

It shouldn't be needed anymore.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>

* [dockers]: Add docker-base-bullseye and docker-config-engine-bullseye

Also upgrade socat from 1.7.3.1 to 1.7.4.1

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-01-11 09:23:42 -08:00
Shilong Liu
94b778c39b
[build] docker-sonic-mgmt replace USER by whoami (#9702) 2022-01-11 16:48:04 +08:00
Kerry Meyer
9b795dbf09
Showtech sonic mgmt framework: Add Management Framework functionality for "show tech-support" (#7816)
Provide the changes required for supporting the "show-techsupport" command via the SONiC Management Framework front end mechanisms (CLI, REST, and gNOI). The Management Framework functionality implemented by this PR improves on the the capabilities currently provided by the SONiC Click CLI interface via the "show techsupport" command by providing the following additional features:

- User-friendly "help" information describing command syntax details for CLI invocation.
- Ability to invoke the command via REST and gNOI mechanisms.

Unit test results are attached to this PR.
2022-01-10 14:36:34 -08:00
Lawrence Lee
8e6b194b17
[YANG]: Add support for dual ToR attributes (#9698)
Fixes #9561
Fixes #9570 
Fixes #9563
Partial fix for #9556 

#### Why I did it
- Attributes for dual ToR configs lack YANG model support

#### How I did it
- Extend YANG tests to cover dual ToR use cases
- Extend YANG model to cover dual ToR use cases
- Reduce the default log level to warning so only test failures are printed

#### How to verify it
- Run the YANG model unit tests
2022-01-10 12:24:51 -08:00
Longxiang Lyu
58c5bb6513
[Yang] Add YANG model support for vlan sub interface (#9269)
Why I did it
Add YANG model file for table VLAN_SUB_INTERFACE

How I did it
Add YANG model file sonic-vlan-sub-interface.yang to describe data structure
modify existing unit-test to cover vlan sub interface

How to verify it
Build sonic-yang-models and sonic-yang-mgmt without errors
2022-01-10 10:49:10 +08:00
Qi Luo
d7ffcf1773
[minigraph] do not use NULL:NULL explicitly in json (#9703)
#### Why I did it
It should be handled by `ConfigDBConnector.typed_to_raw()`.

This is a bug for `sonic-cfggen -m --print-data` only
```
    "PORTCHANNEL_MEMBER": {
        "PortChannel0001|Ethernet112": {
            "NULL": "NULL"
        },
        "PortChannel0002|Ethernet116": {
            "NULL": "NULL"
        },
        "PortChannel0003|Ethernet120": {
            "NULL": "NULL"
        },
        "PortChannel0004|Ethernet124": {
            "NULL": "NULL"
        }
    },
```
But not appears in `sonic-cfgen -d --print-data`.
```
    "PORTCHANNEL_MEMBER": {
        "PortChannel0001|Ethernet112": {},
        "PortChannel0002|Ethernet116": {},
        "PortChannel0003|Ethernet120": {},
        "PortChannel0004|Ethernet124": {}
    },
```
Tested in a T0 KVM.
2022-01-07 22:20:31 -08:00
anamehra
e5d5f80d14
Cache connection handles to prevent duplicate (#9636)
On a multi-asic Supervisor card, running commands like
'show interface counter' opens a confid_db connection per
namespace per interface which results in many duplicate connections
exceeding the allowed open file handles. This causes the command to fail.

Caching the connections to prevent duplicate handles.
2022-01-07 12:58:01 -08:00
abdosi
6c507329b7
Enable/Disable Order ECMP feature. (#9651)
Updated Jinja2 Template in switch.json.j2 for enabling/disabling Order ECMP feature based on device role.
Changes as per design: Azure/SONiC#896
2022-01-06 16:40:50 -08:00
ganglv
abbd173845
[sonic-cfggen]: Remove wrong portchannel members (#9614)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, portchannel_member has invalid port.

How I did it
Update test minigraph to remove invalid port channel.

How to verify it
Build sonic-config-engine.
Run command 'sonic-cfggen -m xxx.xml --print-data', and check port channel member.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-06 09:14:36 +08:00
ganglv
52fdb8e42e
[yang]: Support VLAN alias (#9615)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, and there's no 'alias' field in yang model.
Minigraph parser supports 'alias' field for VLAN.

How I did it
Add 'alias' field to sonic-vlan.yang

How to verify it
Build sonic-yang-models.
Run command 'sonic-cfggen -m xxx.xml --print-data', and run yang validation.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-05 10:27:29 -08:00
ganglv
5efebad24e
[sonic-cfggen]: Fix missing vlan interface (#9639)
Why I did it
Config db schema generated by minigraph can’t pass yang validation, there's no Vlan31 in 'VLAN' table.

How I did it
Update test minigraph to add vlan interface.

How to verify it
Build sonic-yang-models.
Run command 'sonic-cfggen -m tests/fg-ecmp-sample-minigraph.xml -p tests/mellanox-sample-port-config.ini --print-data', and run yang validation.

Signed-off-by: Gang Lv ganglv@microsoft.com
2022-01-05 10:10:46 -08:00
Shilong Liu
3844ae8290
Fix docker-sonic-mgmt reproducible related issue. (#9647)
Reproducible build script breaks docker-sonic-mgmt build.
2022-01-05 11:54:19 +08:00
Mohamed Ghoneim
98da6ebaa7
[sonic-yang-mgmt] Adding flag to disable/enable log printing (#9659)
#### Why I did it
Fixes https://github.com/Azure/sonic-utilities/issues/1871

From [generic-config-updater](https://github.com/Azure/sonic-utilities/tree/master/generic_config_updater) we call `sonic-yang-mgmt` multiple times in order to check a certain change to ConfigDb is valid or not. It is expected for some changes to be invalid, so always printing errors from `sonic-yang-mgmt` makes the output hard to read.

In this PR, we are adding a way to control if logs should be printed or not.

#### How I did it
- Added `print_log_enabled` flag to sonic_yang ctor
- Converted all `print` statements to `sysLog(..., doPrint=True)`

#### How to verify it
unit-test passing means the change did not break logs.

#### Info about libyang logging
libyang provides an extensive logging logic which can support a lot of scenarios:
- ly_log_level: setting logging level
  - LY_LLERR
  - LY_LLWRN
  - ... 
- ly_set_log_clb: setting log callback to customize the default behavior which is printing the msgs
- ly_log_options: setting logging options 
  - LY_LOLOG: If callback is set use it, otherwise just print. If flag is not set, do nothing.
  - ...

For more info refer to:
- https://netopeer.liberouter.org/doc/libyang/devel/html/group__logopts.html#gaff80501597ed76344a679be2b90a1d0a
- https://netopeer.liberouter.org/doc/libyang/devel/html/group__log.html#gac88b78694dfe9efe0450a69603f7eceb


#### What's next?
Consume the new flag `print_log_enabled` in [generic-config-updater](https://github.com/Azure/sonic-utilities/tree/master/generic_config_updater) to reduce the logging clutter. 

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->


#### A picture of a cute animal (not mandatory but encouraged)
2022-01-04 19:42:10 -08:00
Sudharsan Dhamal Gopalarathnam
b96533342f
[sonic-ztp] Submodule update (#9589)
Updating ztp submodule to include the below commits
f7dd3c5 [sonic-ztp]Fixing build failure after bullseye integration (#30)
9218e16 Replace swsssdk.ConfigDBConnector and SonicV2Connector with swsscommon(#28)

Signed-off-by: Sudharsan Dhamal Gopalarathnam <sudharsand@nvidia.com>
2022-01-02 17:56:14 +02:00
Stephen Sun
b749c67ac5
[sonic-swss] Submodule update (#9397)
691c37b7 [Route bulk] Fix bugs in case a SET operation follows a DEL operation in the same bulk (Azure/sonic-swss#2086)
a4c80c3d patch for issue Azure/sonic-swss#1971 - enable Rx Drop handling for cisco-8000 (Azure/sonic-swss#2041)
71751d10 [macsec] Support setting IPG by gearbox_config.json (Azure/sonic-swss#2051)
5d5c1692 [bulk mode] Fix bulk conflict when in case there are both remove and set operations (Azure/sonic-swss#2071)
8bbdbd2b Fix SRV6 NHOP CRM object type (Azure/sonic-swss#2072)
ef5b35f3 [vstest] VS test failure fix after fabric port orch PR merge (Azure/sonic-swss#1811)
89ea5385 Supply the missing ingress/egress port profile list in document (Azure/sonic-swss#2064)
81234373 [pfc_detect] fix RedisReply errors (Azure/sonic-swss#2040)
b38f527a [swss][CRM][MPLS] MPLS CRM Nexthop - switch back to using SAI OBJECT rather than SWITCH OBJECT
ae061e55 create debug_shell_enable config to enable debug shell (Azure/sonic-swss#2060)
45e446d9 [cbf] Fix max FC value (Azure/sonic-swss#2049)
b1b5b297 Initial p4orch pytest code. (Azure/sonic-swss#2054)
d352d5a9 Update default route status to state DB (Azure/sonic-swss#2009)
24a64d65 Orchagent: Integrate P4Orch (Azure/sonic-swss#2029)
15a3b6ca Delete the IPv6 link-local Neighbor when ipv6 link-local mode is disabled (Azure/sonic-swss#1897)
ed783e1f [orchagent] Add trap flow counter support (Azure/sonic-swss#1951)
e9b05a31 [vnetorch] ECMP for vnet tunnel routes with endpoint health monitor (Azure/sonic-swss#1955)
bcb7d61a P4Orch: inital add of source (Azure/sonic-swss#1997)
f6f6f867 [mclaglink] fix acl out ports (Azure/sonic-swss#2026)
fd887bf8 [Reclaim buffer] Reclaim unused buffer for dynamic buffer model (Azure/sonic-swss#1910)
92589789 [orchagent, cfgmgr] Add response publisher and state recording (Azure/sonic-swss#1992)
3d862a72 Fixing subport vs test script for subport under VNET (Azure/sonic-swss#2048)
fb0a5fd8 Don't handle buffer pool watermark during warm reboot reconciling (Azure/sonic-swss#1987)
16d4bcdb Routed subinterface enhancements (Azure/sonic-swss#1907)
9639db78 [vstest/subintf] Add vs test to validate sub interface ingress to a vnet (Azure/sonic-swss#1642)

Signed-off-by: Stephen Sun stephens@nvidia.com
2021-12-28 14:53:16 +02:00
Stepan Blyshchak
13582aaa6d
[sonic-yang] fix the feature state type (#9587)
- Why I did it
The feature state can be a jinja template, like in this file - https://github.com/Azure/sonic-buildimage/blob/master/files/build_templates/init_cfg.json.j2#L39.
Without this change it is not possible to validate a configuration file.

- How I did it
Relaxes the constraint on feature state. Feature state leaf can be any string.

- How to verify it
Run UT.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2021-12-28 09:42:05 +02:00
ganglv
48a648c943
[sonic-cfggen]: Fix syslog_server output (#9616)
Why I did it
'SYSLOG_SERVER': {'': {}, '10.0.10.5': {}, '10.0.10.6': {}},
Config db schema generated by minigraph can’t pass yang validation, server address can't be empty.

How I did it
Update test minigraph to remove wrong configuration.

How to verify it
Build sonic-config-engine.
Run command 'sonic-cfggen -m xxx.xml --print-data', and SYSLOG_SERVERS table.

Signed-off-by: Gang Lv ganglv@microsoft.com
2021-12-23 10:03:28 +08:00