Commit Graph

7299 Commits

Author SHA1 Message Date
SuvarnaMeenakshi
6d491fac2d [SNMP][IPv6]: Fix SNMP IPv6 reachability issue in certain scenarios (#15487)
Modify snmpd.conf to start snmpd to listen on specific management and loopback ips instead of listening on any ip.

#### Why I did it
SNMP over IPv6 is not working for all scenarios for a single asic platforms.
The expectation is that SNMP query over IPv6 should work over Management or Loopback0 addresses.
**Specific scenario where this issue is seen**
In case of Lab T0 device,  when SNMP request is sent from a directly connected T1 neighbor over Loopback IP, SNMP response was not received.
This was because the SRC IP address in SNMP response was not Loopback IP, it was the PortChannel IP connected to the neighboring device.
```
23:18:51.620897  In 22:26:27:e6:e0:07 ethertype IPv6 (0x86dd), length 105: fc00::72.41725 > **fc00:1::32**.161:  C="msft" **GetRequest**(28)  .1.3.6.1.2.1.1.1.0
23:18:51.621441 Out 28:99:3a:a0:97:30 ethertype IPv6 (0x86dd), length 241: **fc00::71**.161 > fc00::72.41725:  C="msft" **GetResponse**(162)  .1.3.6.1.2.1.1.1.0="SONiC Software Version: SONiC.xxx - HwSku: xx - Distribution: Debian 10.13 - Kernel: 4.19.0-12-2-amd64"
```
In case of IPv4, the SRC IP in SNMP response was correctly set to Loopback IP.
```
23:25:32.769712  In 22:26:27:e6:e0:07 ethertype IPv4 (0x0800), length 85: 10.0.0.57.56701 > **10.1.0.32**.161:  C="msft" **GetRequest**(28)  .1.3.6.1.2.1.1.1.0
23:25:32.975967 Out 28:99:3a:a0:97:30 ethertype IPv4 (0x0800), length 221: **10.1.0.32**.161 > 10.0.0.57.56701:  C="msft" **GetResponse**(162)  .1.3.6.1.2.1.1.1.0="SONiC Software Version: SONiC.xxx - HwSku: xx - Distribution: Debian 10.13 - Kernel: 4.19.0-12-2-amd64"
```

**Sequence of SNMP request and response**
1. SNMP request will be sent with SRC IP fc00::72 DST IP fc00:1::32
2. SNMP request is received at SONiC device is sent to snmpd which is listening on port 161 :::161/
3. snmpd process will parse the request create a response and sent to DST IP fc00::72. 
snmpd process does not track the DST IP on which the SNMP request was received, which in this case is Loopback IP.
snmpd process will only keep track what is tht IP to which the response should be sent to.
4. snmpd process will send the response packet.
5. Kernel will do a route look up on destination IP and find the best path.
ip -6 route get fc00::72
fc00::72 from :: dev PortChannel101 proto kernel src fc00::71 metric 256 pref medium
5. Using the "src" ip from about, the response is sent out. This SRC ip is that of the PortChannel and not the device Loopback IP.

The same issue is seen when SNMP query is sent from a remote server over Management IP.
SONiC device eth0 --------- Remote server
SNMP request comes with SRC IP <Remote_server> DST IP <Mgmt IP>
If kernel finds best route to Remote_server_IP is via BGP neighbors, then it will send the response via front-panel interface with SRC IP as Loopback IP instead of Management IP.

Main issue is that in case of IPv6, snmpd ignores the IP address to which SNMP request was sent, in case of IPv6.
In case of IPv4, snmpd keeps track of DST IP of SNMP request, it will keep track if the SNMP request was sent to mgmt IP or Loopback IP.
Later, this IP is used in ipi_spec_dst as SRC IP which helps kernel to find the route based on DST IP using the right SRC IP.
https://github.com/net-snmp/net-snmp/blob/master/snmplib/transports/snmpUDPBaseDomain.c#L300 
ipi.ipi_spec_dst.s_addr = srcip->s_addr
Reference: https://man7.org/linux/man-pages/man7/ip.7.html
```
If IP_PKTINFO is passed to sendmsg(2)
              and ipi_spec_dst is not zero, then it is used as the local
              source address for the routing table lookup and for
              setting up IP source route options.  When ipi_ifindex is
              not zero, the primary local address of the interface
              specified by the index overwrites ipi_spec_dst for the
              routing table lookup.
```

**This issue is not seen on multi-asic platform, why?**
on multi-asic platform, there exists different network namespaces.
SNMP docker with snmpd process runs on host namespace.
Management interface belongs to host namespace.
Loopback0 is configured on asic namespaces.
Additional inforamtion on how the packet coming over Loopback IP reaches snmpd process running on host namespace: https://github.com/sonic-net/sonic-buildimage/pull/5420
Because of this separation of network namespaces, the route lookup of destination IP is confined to routing table of specific namespace where packet is received.
if packet is received over management interface, SNMP response also is sent out of management interface. Same goes with packet received over Loopback Ip.

##### Work item tracking
- Microsoft ADO **17537063**:

#### How I did it
Have snmpd listen on specific Management and Loopback IPs specifically instead of listening on any IP for single-asic platform.

Before Fix
```
admin@xx:~$ sudo netstat -tulnp | grep 161   
udp        0      0 0.0.0.0:161             0.0.0.0:*                           15631/snmpd         
udp6       0      0 :::161                  :::*                                15631/snmpd  
```
After fix
```
admin@device:~$ sudo netstat -tulnp | grep 161
udp        0      0 10.1.0.32:161           0.0.0.0:*                           215899/snmpd        
udp        0      0 10.3.1.1:161             0.0.0.0:*                           215899/snmpd        
udp6       0      0 fc00:1::32:161          :::*                                215899/snmpd        
udp6       0      0 fc00:2::32:161          :::*                                215899/snmpd  
``` 

**How this change helps with the issue?**
To see snmpd trace logs, modify snmpd to start using the below parameters, in supervisord.conf file
```
/usr/sbin/snmpd -f -LS0-7i -Lf /var/log/snmpd.log
```
When snmpd listens on any IP, snmpd binds to IPv4 and IPv6 sockets as below:
```
netsnmp_udpbase: binding socket: 7 to UDP: [0.0.0.0]:0->[0.0.0.0]:161
trace: netsnmp_udp6_transport_bind(): transports/snmpUDPIPv6Domain.c, 303:
netsnmp_udpbase: binding socket: 8 to UDP/IPv6: [::]:161
```

When IPv4 response is sent, it goes out of fd 7 and IPv6 response goes out of fd 8.
When IPv6 response is sent, it does not have the right SRC IP and it can lead to the issue described.

When snmpd listens on specific Loopback/Management IPs, snmpd binds to different sockets:
```
trace: netsnmp_udpipv4base_transport_bind(): transports/snmpUDPIPv4BaseDomain.c, 207:
netsnmp_udpbase: binding socket: 7 to UDP: [0.0.0.0]:0->[10.250.0.101]:161
trace: netsnmp_udpipv4base_transport_bind(): transports/snmpUDPIPv4BaseDomain.c, 207:
netsnmp_udpbase: binding socket: 8 to UDP: [0.0.0.0]:0->[10.1.0.32]:161
trace: netsnmp_register_agent_nsap(): snmp_agent.c, 1261:
netsnmp_register_agent_nsap: fd 8
netsnmp_udpbase: binding socket: 10 to UDP/IPv6: [fc00:1::32]:161
trace: netsnmp_register_agent_nsap(): snmp_agent.c, 1261:
netsnmp_register_agent_nsap: fd 10
netsnmp_ipv6: fmtaddr: t = (nil), data = 0x7fffed4c85d0, len = 28
trace: netsnmp_udp6_transport_bind(): transports/snmpUDPIPv6Domain.c, 303:
netsnmp_udpbase: binding socket: 9 to UDP/IPv6: [fc00:2::32]:161
```
When SNMP request comes in via Loopback IPv4, SNMP response is sent out of fd 8
```
trace: netsnmp_udpbase_send(): transports/snmpUDPBaseDomain.c, 511:
netsnmp_udp: send 170 bytes from 0x5581f2fbe30a to UDP: [10.0.0.33]:46089->[10.1.0.32]:161 on fd 8
```
When SNMP request comes in via Loopback IPv6, SNMP response is sent out of fd 10
```
netsnmp_ipv6: fmtaddr: t = (nil), data = 0x5581f2fc2ff0, len = 28
trace: netsnmp_udp6_send(): transports/snmpUDPIPv6Domain.c, 164:
netsnmp_udp6: send 170 bytes from 0x5581f2fbe30a to UDP/IPv6: [fc00::42]:43750 on fd 10
```

#### How to verify it
Verified on single asic and multi-asic devices.
Single asic SNMP query with Loopback 
```
ARISTA01T1#bash snmpget -v2c -c xxx 10.1.0.32 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: SONiC Software Version: SONiC.xx - HwSku: Arista-7260xx - Distribution: Debian 10.13 - Kernel: 4.19.0-12-2-amd64
ARISTA01T1#bash snmpget -v2c -c xxx fc00:1::32 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: SONiC Software Version: SONiC.xx - HwSku: Arista-7260xxx - Distribution: Debian 10.13 - Kernel: 4.19.0-12-2-amd64
```

On multi-asic -- no change.
```
sudo netstat -tulnp | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           17978/snmpd         
udp6       0      0 :::161                  :::*                                17978/snmpd 
```
Query result using Loopback IP from a directly connected BGP neighbor
```
ARISTA01T2#bash snmpget -v2c -c xxx 10.1.0.32 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: SONiC Software Version: SONiC.xx - HwSku: xx - Distribution: Debian 9.13 - Kernel: 4.9.0-14-2-amd64
ARISTA01T2#bash snmpget -v2c -c xxx fc00:1::32 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: SONiC Software Version: SONiC.xx - HwSku: xx - Distribution: Debian 9.13 - Kernel: 4.9.0-14-2-amd64  
```
<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->
2023-07-14 04:32:39 +08:00
xumia
de743f0530 [Build] Fix the python module importlib.metadata not found issue (#15800)
Why I did it
It is to fix the docker-ptf-sai build failure.
https://dev.azure.com/mssonic/build/_build/results?buildId=311315&view=logs&j=cef3d8a9-152e-5193-620b-567dc18af272&t=cf595088-5c84-5cf1-9d7e-03331f31d795

2023-07-09T13:53:19.9025355Z �[91mTraceback (most recent call last):
2023-07-09T13:53:19.9025715Z   File "/root/ptf/.eggs/setuptools_scm-7.1.0-py3.7.egg/setuptools_scm/_entrypoints.py", line 74, in <module>
2023-07-09T13:53:19.9025933Z     from importlib.metadata import entry_points  # type: ignore
2023-07-09T13:53:19.9026167Z ModuleNotFoundError: No module named 'importlib.metadata'
Work item tracking
Microsoft ADO (number only): 24513583
How I did it
How to verify it
2023-07-13 20:57:29 +08:00
mssonicbld
7112a886d7
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15808)
#### Why I did it
src/sonic-swss
```
* eff2b751 - (HEAD -> 202211, origin/202211) [202211][CodeQL]: Use dependencies with relevant versions in azp template. (#2843) (6 hours ago) [Nazarii Hnydyn]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-13 20:57:20 +08:00
ycoheNvidia
a45a71f533 Add support for secure upgrade (#11862)
- What I did
Added support for secure upgrade.

- How I did it
During sonic_installer install, added secure upgrade image verification.
HLD can be found in the following PR: sonic-net/SONiC#1024

- Why I did it
Feature is used to allow image was not modified since built from vendor. During installation, image can be verified with a signature attached to it.

- How I did it
Feature includes image signing during build (in sonic buildimage repo) and verification during image install (in sonic-utilities).

- How to verify it
In order for image verification - image must be signed - need to provide signing key and certificate (paths in SECURE_UPGRADE_DEV_SIGNING_KEY and SECURE_UPGRADE_DEV_SIGNING_CERT in rules/config) during build , and during image install, need to enable secure boot flag in bios, and signing_certificate should be available in bios.

- Feature dependencies
In order for this feature to work smoothly, need to have secure boot feature implemented as well.
The Secure boot feature will be merged in the near future.
2023-07-12 16:37:36 +08:00
mssonicbld
1efaedba6d
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15796)
#### Why I did it
src/sonic-swss
```
* 0ec46f22 - (HEAD -> 202211, origin/202211) [muxorch] Skip programming ACL for standby `active-active` ports (#2569) (#2854) (7 hours ago) [Longxiang Lyu]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-12 14:37:48 +08:00
mssonicbld
0612a3ae30
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15783)
#### Why I did it
src/sonic-swss
```
* ac698065 - (HEAD -> 202211, origin/202211) [202211][muxorch] Skip programming SoC IP kernel tunnel route (39 minutes ago) [Longxiang Lyu]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-11 16:37:44 +08:00
lixiaoyuner
87a8de4816
Move k8s script to docker-config-engine (#14788) (#15767)
Why I did it
To reduce the container's dependency from host system

Work item tracking
Microsoft ADO (number only):
17713469
How I did it
Move the k8s container startup script to config engine container, other than mount it from host.

How to verify it
Check file path(/usr/share/sonic/scripts/container_startup.py) inside config engine container.

Signed-off-by: Yun Li <yunli1@microsoft.com>
Co-authored-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2023-07-10 08:55:45 -07:00
Chun'ang Li
a915ee1c1e
Refine PR test template (#15640)
Why I did it
Refine PR test template.

How I did it
Refine PR test template.

How to verify it
PR test executed normally.

Signed-off-by: Chun'ang Li <chunangli@microsoft.com>
2023-07-10 10:49:22 +08:00
Vivek
a416372e04 [Mellanox] Added patchwork link to commit message (#15301)
- Why I did it
Add the patchwork link to the commit description for non-upstream patches if present

- How I did it
Parse the patchwork/<patch_name>.txt file from hw-mgmt
2023-07-08 10:11:41 +08:00
mssonicbld
36f1c8c972
Revert "[gearbox] use credo sai v0.9.0 (#14149)" (#15708) (#15751) 2023-07-08 07:44:02 +08:00
mssonicbld
77aeb9bf73
Revert "Revert "Fix for fast/cold-boot: call db_migrator only after old config is loaded (#14933)" (#15464)" (#15684) (#15745) 2023-07-08 06:54:44 +08:00
mssonicbld
4672d07f6f
[submodule] Update submodule sonic-sairedis to the latest HEAD automatically (#15737)
#### Why I did it
src/sonic-sairedis
```
* da40f3f - (HEAD -> 202211, origin/202211) [202211][CodeQL]: Use dependencies with relevant versions in azp template. (#1263) (11 hours ago) [Nazarii Hnydyn]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-07 16:37:10 +08:00
mssonicbld
c442528379
[Mellanox] Add Copyright Headers for missing files (#15136) (#15733) 2023-07-07 07:08:17 +08:00
mssonicbld
28857e34b2
[Mellanox] Facilitate automatic integration of sdk kernel patches (#14652) (#15732) 2023-07-07 05:34:08 +08:00
mssonicbld
bdb5f01941
[submodule] Update submodule sonic-sairedis to the latest HEAD automatically (#15724)
#### Why I did it
src/sonic-sairedis
```
* d1850e2 - (HEAD -> 202211, origin/202211) [CI]: Fix pipeline issue caused by urllib3 v2. (#1264) (13 hours ago) [Nazarii Hnydyn]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-06 16:39:18 +08:00
mssonicbld
55be7274c4
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#15696)
#### Why I did it
src/sonic-utilities
```
* 5e50a4af - (HEAD -> 202211, origin/202211) Add support for secure upgrade (#2698) (14 hours ago) [ycoheNvidia]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-07-01 16:34:17 +08:00
mssonicbld
37224030dc
[arp_update]: Fix IPv6 neighbor race condition (#15583) (#15693) 2023-07-01 09:13:06 +08:00
mssonicbld
2b02a0ea98
[submodule] Update submodule sonic-swss-common to the latest HEAD automatically (#15656)
#### Why I did it
src/sonic-swss-common
```
* 7465f1b - (HEAD -> 202211, origin/202211) Fix pipeline issue caused by urllib3 v2 (12 hours ago) [Liu Shilong]
* 82f9d76 - [Ci] Fix collect log error in azp template (#799) (2 days ago) [xumia]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-30 16:35:46 +08:00
mssonicbld
83ef83525c
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15679)
#### Why I did it
src/sonic-swss
```
* 5fe6e25a - (HEAD -> 202211, origin/202211) [subinterface]: Fix admin state handling. (#2806) (4 hours ago) [Nazarii Hnydyn]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-30 16:35:40 +08:00
mssonicbld
12017ac5a5
[submodule] Update submodule sonic-host-services to the latest HEAD automatically (#15677)
#### Why I did it
src/sonic-host-services
```
* 3ebe922 - (HEAD -> 202211, origin/202211) Fix issue: hostcfgd unit test might be affected by other during parallel build (#65) (12 hours ago) [Junchao-Mellanox]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-30 14:37:14 +08:00
mssonicbld
e82ca82c81
[Arista] Update hwsku.json for Arista-7050QX-32S-S4Q31 (#15251) (#15672) 2023-06-30 08:17:25 +08:00
mssonicbld
e4a7a53002
[chassis][lldp] Fix the lldp error log in host instance which doesn't contain front panel ports (#14814) (#15670) 2023-06-30 08:17:04 +08:00
mssonicbld
3d99bf71b6
[mlnx-ffb.sh] Update issu-version location (#14925) (#15674) 2023-06-30 08:10:20 +08:00
Junchao-Mellanox
143814c00f Fix issue: systemctl daemon-reload would sporadically cause udev handler fail (#15253)
#### Why I did it

A workaround to back port the fix for a systemd issue.

The systemd issue: https://github.com/systemd/systemd/issues/24668
The systemd PR to fix the issue: https://github.com/systemd/systemd/pull/24673/files

The formal solution should upgrade systemd to a version that contains the fix. But, systemd is a very basic service, upgrading systemd requires heavy test. 

#### How I did it
Copy the correct systemd-udevd.service file in build time 

#### Tested branch (Please provide the tested image version)

- [x] 202211
- [ ] <!-- image version 2 -->

```
SONiC Software Version: SONiC.fix-udev.3-b65c7bdec_Internal
SONiC OS Version: 11
Distribution: Debian 11.7
Kernel: 5.10.0-18-2-amd64
Build commit: b65c7bdec
Build date: Mon Jun 19 10:54:50 UTC 2023
Built by: sw-r2d2-bot@r-build-sonic-ci02-241

Platform: x86_64-mlnx_msn4700-r0
HwSKU: ACS-MSN4700
ASIC: mellanox
ASIC Count: 1
Serial Number: MT2022X08597
Model Number: MSN4700-WS2FO
Hardware Revision: A1
Uptime: 08:10:11 up 1 min,  1 user,  load average: 1.81, 0.67, 0.24
Date: Sun 25 Jun 2023 08:10:11

Docker images:
REPOSITORY                    TAG                             IMAGE ID       SIZE
docker-fpm-frr                fix-udev.3-b65c7bdec_Internal   a7b911e7cb6f   346MB
docker-fpm-frr                latest                          a7b911e7cb6f   346MB
docker-platform-monitor       fix-udev.3-b65c7bdec_Internal   94c5178cf80b   731MB
docker-platform-monitor       latest                          94c5178cf80b   731MB
docker-orchagent              fix-udev.3-b65c7bdec_Internal   46b393e0ace8   328MB
docker-orchagent              latest                          46b393e0ace8   328MB
docker-syncd-mlnx             fix-udev.3-b65c7bdec_Internal   1f5c6c23e33a   734MB
docker-syncd-mlnx             latest                          1f5c6c23e33a   734MB
docker-sflow                  fix-udev.3-b65c7bdec_Internal   7e45992c8c59   317MB
docker-sflow                  latest                          7e45992c8c59   317MB
docker-teamd                  fix-udev.3-b65c7bdec_Internal   e4d905592cda   316MB
docker-teamd                  latest                          e4d905592cda   316MB
docker-nat                    fix-udev.3-b65c7bdec_Internal   7fe799367580   319MB
docker-nat                    latest                          7fe799367580   319MB
docker-macsec                 latest                          d702a5554171   318MB
docker-snmp                   fix-udev.3-b65c7bdec_Internal   3bce8fcf71cd   338MB
docker-snmp                   latest                          3bce8fcf71cd   338MB
docker-sonic-telemetry        fix-udev.3-b65c7bdec_Internal   f13949cbc817   597MB
docker-sonic-telemetry        latest                          f13949cbc817   597MB
docker-dhcp-relay             latest                          153d9072805d   306MB
docker-router-advertiser      fix-udev.3-b65c7bdec_Internal   aed642b9a6bc   299MB
docker-router-advertiser      latest                          aed642b9a6bc   299MB
docker-sonic-p4rt             fix-udev.3-b65c7bdec_Internal   a3cae5ca65a7   870MB
docker-sonic-p4rt             latest                          a3cae5ca65a7   870MB
docker-mux                    fix-udev.3-b65c7bdec_Internal   b81f0401b9a8   347MB
docker-mux                    latest                          b81f0401b9a8   347MB
docker-eventd                 fix-udev.3-b65c7bdec_Internal   c5917d0e801f   298MB
docker-eventd                 latest                          c5917d0e801f   298MB
docker-lldp                   fix-udev.3-b65c7bdec_Internal   fd5dc14a7976   341MB
docker-lldp                   latest                          fd5dc14a7976   341MB
docker-database               fix-udev.3-b65c7bdec_Internal   438c2715a1dd   299MB
docker-database               latest                          438c2715a1dd   299MB
docker-sonic-mgmt-framework   fix-udev.3-b65c7bdec_Internal   5c50b115fbcd   414MB
docker-sonic-mgmt-framework   latest  
```
2023-06-30 02:37:38 +08:00
mssonicbld
923da6fc84
[Mellanox] get LED capability from capability file (#14584) (#15664) 2023-06-30 00:26:23 +08:00
mssonicbld
f407a10c27
[Mellanox] Adjust warning threshold implementation according to the latest algorithm update (#15092) (#15665) 2023-06-30 00:25:50 +08:00
Jing Zhang
0e8d82771c
[yang] add Yang model for MUX_LINKMGR|LINK_PROBER (#15384) (#15608)
Add yang model for MUX_LINKMGR|LINK_PROBER table.

sign-off: zhangjing@microsoft.com
2023-06-27 22:00:50 -07:00
Ye Jianquan
6cb077f52a
[CI/CD] Refine t0 sonic and remove SPECIFIED_PARAMS (#15627)
Why I did it
t0-sonic's specific params has been set on sonic-mgmt repo, remove useless SPECIFIED_PARAMS usage
2023-06-27 11:01:56 +08:00
mssonicbld
fa77b08dbf
[submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#15609)
#### Why I did it
src/sonic-platform-daemons
```
* 4daa748 - (HEAD -> 202211, origin/202211) PSUD-Delete or update CHASSIS_INFO table PSU/Modules data if added or… (#351) (33 hours ago) [prem-nokia]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-25 14:43:15 +08:00
mssonicbld
537c0afdb4
[Arista][x86_64-arista_7050_qx32] Add Components to platform.json (#15252) (#15584) 2023-06-23 05:04:38 +08:00
Liu Shilong
149ac261ed
[action] Only add 'automerge' label on master version upgrade PR. (#15112) (#15280)
Why I did it
Don't auto update package version for release branch.

Work item tracking
Microsoft ADO (number only): 22335854
How I did it
How to verify it
2023-06-22 08:14:43 -07:00
Samuel Angebault
19be1fa775
[202211][Arista] Update platform library submodules (#15407)
fix pcied leak on chassis
fix fan status led setting on fixed systems
misc fixes
2023-06-22 08:14:17 -07:00
arista-nwolfe
1dea6e4627
[202211] Cherry-picked commits from PR13967 for 202211 (#14791)
* Added recycle ports required for egress mirroring

Signed-off-by: Nathan Wolfe <nwolfe@arista.com>

* Added missing mirror recycle ports for jr2-a7280cr3

Signed-off-by: Nathan Wolfe <nwolfe@arista.com>

---------

Signed-off-by: Nathan Wolfe <nwolfe@arista.com>
2023-06-22 08:13:42 -07:00
Justin Sherman
1695ca6850
[build] SONIC_ONLINE_DEBS no longer overwrites local build outputs (#14824) 2023-06-22 08:13:09 -07:00
Pavan-Nokia
776abb002a
[armhf][Nokia-7215]Add SFP refactor support for Nokia-7215 platform (#14789)
Why I did it
Add support for SFP refactor on Nokia-7215 Marvell armhf platform.

Platform: armhf-nokia_ixs7215_52x-r0
HwSKU: Nokia-7215
ASIC: marvell
Port Config: 48x1G + 4x10G (SFP+)

How I did it
Modify sfp.py to support SFP refactor optoe driver and platform.json to facilitate proper OC test completion.

How to verify it
Build armhf target for Nokia-7215 and verify proper Xcvrd and SFP refactor operation.
2023-06-22 08:12:37 -07:00
Tejaswini Chadaga
f7dc0d10a3
Add yang model definition for CHASSIS_MODULE table (#14007) (#14358)
Why I did it
Add yang model definition for CHASSIS_MODULE define and implemented for sonic chassis. HLD for this configuration is included in https://github.com/sonic-net/SONiC/blob/master/doc/pmon/pmon-chassis-design.md#configuration

Fixes #12640

How I did it
Added yang model definition, unit tests, sample config and documentation for the table

How to verify it
Validated config tree generation using "pyang -Vf tree -p /usr/local/share/yang/modules/ietf ./yang-models/sonic-voq-inband-interface.yang"

Built the below python-wheels to validate unit tests and other changes
target/python-wheels/bullseye/sonic_yang_mgmt-1.0-py3-none-any.whl
target/python-wheels/bullseye/sonic_yang_models-1.0-py3-none-any.whl
target/python-wheels/bullseye/sonic_config_engine-1.0-py3-none-any.whl
2023-06-22 08:11:46 -07:00
Liu Shilong
242d79e846
[build] Fix reproducible build version issue when failed to download web file (#14587) (#14779)
Why I did it
refine reproducible build.

How I did it
Fix reset map variable in bash.
Ignore empty web file md5sum value.
If web file didn't backup in azure storage, use file on web.
How to verify i
2023-06-22 08:11:05 -07:00
mssonicbld
1973a5171d
[submodule] Update submodule sonic-platform-common to the latest HEAD automatically (#15577)
#### Why I did it
src/sonic-platform-common
```
* 459ffaa - (HEAD -> 202211, origin/202211) Fix issue: should use 'Value' column to calculate the health percentage (#381) (3 hours ago) [Junchao-Mellanox]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-22 16:32:26 +08:00
mssonicbld
ba5729e25a
[submodule] Update submodule linkmgrd to the latest HEAD automatically (#15576)
#### Why I did it
src/linkmgrd
```
* fc6e299 - (HEAD -> 202211, origin/202211) [active-standby] Enforce switchover based on heartbeats when mux probe keeps failing (#184) (2 hours ago) [Jing Zhang]
* 5c6332d - Re-handle pre-init mux config notification after state machine init (#202) (2 hours ago) [Longxiang Lyu]
* c49a5ef - [active-standby][bsl] fix no mux probe issue (#201) (2 hours ago) [Jing Zhang]
* 2d62ef1 - Enable debug symbols (#199) (2 hours ago) [Longxiang Lyu]
* f952b64 - [active-active] Add mux server state correction mechanism (#191) (2 hours ago) [Longxiang Lyu]
* e6b1bfc - [ci] fix azure pipeline (#190) (2 hours ago) [Jing Zhang]
* 615ed21 - [active-standby] Enforce switchover based on heartbeats when mux probe keeps failing (#184) (2 hours ago) [Jing Zhang]
* 3adfc69 - [active-active] add state transition handler for (LinkProber: Unknown, MuxState: Active, LinkState: Down) (#179) (2 hours ago) [Jing Zhang]
* 6fb9a0b - loose link down swithcover condition (#178) (2 hours ago) [Jing Zhang]
* 8ffbd8a - [ci] Fix apt-get install unable locate package issue. (#177) (2 hours ago) [Liu Shilong]
* 3dfbdd7 - [active-active] link operational down didn't trigger toggle to standby if `MuxUnknown` event arrives first.  (#175) (2 hours ago) [Jing Zhang]
* 68c06d9 - [active-active] Toggle to standby if default route is missing (#171) (2 hours ago) [Longxiang Lyu]
* 1592cd3 - [active-active] fix issue that interfaces get stuck in `active` if service starts up with link state down (#169) (2 hours ago) [Jing Zhang]
* a96105f - Fix the warning of unused variables (#167) (2 hours ago) [Longxiang Lyu]
* 984ffe3 - Fix mux config when gRPC connection is lost (#166) (2 hours ago) [Longxiang Lyu]
* 4d0b457 - [active-active] force switch when config == active && target state == active (#164) (2 hours ago) [Jing Zhang]
* 32bd2bb - Use github code scanning instead of LGTM (#157) (2 hours ago) [Liu Shilong]
* 6f23fe2 - [active-active] update linkmgr health label definition (#163) (3 hours ago) [Jing Zhang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-22 14:34:03 +08:00
mssonicbld
03ac436e73
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#15578)
#### Why I did it
src/sonic-utilities
```
* 0f0ec140 - (HEAD -> 202211, origin/202211) Fix issue: show interfaces transceiver eeprom -d should display same entry for CMIS cable (#2864) (3 hours ago) [Junchao-Mellanox]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2023-06-22 14:33:57 +08:00
Kebo Liu
027a014dd2 Update SN5600 platform.json with service port sfp (#15337)
Signed-off-by: Kebo Liu <kebol@nvidia.com>
2023-06-22 12:32:56 +08:00
DavidZagury
2fc3e1e044
[system-health] When disabling a feature the SYSTEM_READY|SYSTEM_STATE was not updated (#15437)
How I did it
During the disable flow of dhcp_relay, it entered the dnsrvs_name list, which caused the SYSTEM_STATE key to be set to DOWN. Right after that, the dhcp_relay service was removed from the full service list, however, but, when it was removed from the dnsrvs_name, there was no flow to reset the system state back to UP even though there was no more services in down state.

How to verify it
root@qa-eth-vt01-2-3700v:/home/admin# config feature state dhcp_relay enabled 
root@qa-eth-vt01-2-3700v:/home/admin# show system-health sysready-status 

root@qa-eth-vt01-2-3700v:/home/admin# config feature state dhcp_relay disabled
root@qa-eth-vt01-2-3700v:/home/admin# show system-health sysready-status 

Should see
System is ready
2023-06-21 16:34:31 -07:00
DavidZagury
72c5562027
[202211][FRR][CVE] Add FRR patches to fix CVEs: CVE-2022-43681 CVE-2022-40318… (#15263)
… CVE-2022-40302

Add patches from PRs
https://github.com/FRRouting/frr/pull/12043
https://github.com/FRRouting/frr/pull/12247

#### Why I did it
To fix CVEs https://github.com/advisories/GHSA-x7mf-v6gh-vm4g https://github.com/advisories/GHSA-9rqq-99cf-35g5 https://github.com/advisories/GHSA-j7hm-p94x-q9pw

##### Work item tracking
- Microsoft ADO **(number only)**: 23268946

#### How I did it
Added patches from the FRR fix PRs
2023-06-19 09:37:56 -07:00
Nazarii Hnydyn
f593323058
[buildsystem]: Fix hiredis package version: 0.14.0-3. (#15476)
Backport of: #15461

Why I did it
To fix hiredis compilation
Work item tracking
N/A
How I did it
Changed package version: 0.14.0-3~bpo9+1 -> 0.14.0-3
2023-06-19 13:33:20 +08:00
siqbal1986
b67dc19532 [Yang model] Add Yang models for VNET table. (#14873)
Created Yang Modle for VNET table.
https://github.com/sonic-net/sonic-buildimage/issues/14534

##### Work item tracking
- Microsoft ADO **(number only)**:
18215579
2023-06-17 16:32:23 +08:00
Vaibhav Hemant Dixit
b62231566b Revert "Fix for fast/cold-boot: call db_migrator only after old config is loaded (#14933)" (#15464)
This reverts commit 02b17839c3.

Reverts #14933

The earlier commit caused a race condition that particularly broke cross branch warm upgrade.

Issue happens when db_migrator is still migrating the DB and finalizer is checking DB for list of components to reconcile.

If migration is not complete, finalizer get an empty list to wait for. Due to this, finalizer concludes warmboot (deletes system wide warmboot flag) and cause all the services to do cold restart.

ADO: 24274591
2023-06-17 14:32:23 +08:00
Saikrishna Arcot
8195e33120 Re-add 127.0.0.1/8 when bringing down the interfaces (#15080)
* Re-add 127.0.0.1/8 when bringing down the interfaces

With #5353, 127.0.0.1/16 was added to the lo interface, and then
127.0.0.1/8 was removed. However, when bringing down the lo interface,
like during a config reload, 127.0.0.1/16 gets removed, but 127.0.0.1/8
isn't added back to the interface. This means that there's a period of
time where 127.0.0.1 is not available at all, and services that need to
connect to 127.0.01 (such as for redis DB) will fail.

To fix this, when going down, add 127.0.0.1/8. Add this address before
the existing configuration gets removed, so that 127.0.0.1 is available
at all times.

Note that running `ifdown lo` doesn't actually bring down the loopback
interface; the interface always stays "physically" up.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2023-06-16 14:30:34 +08:00
Samuel Angebault
c1a7677b63 [Arista] fix platform.json for a few devices (#15308)
Why I did it
sonic-mgmt is failing tests due to invalid test data in platform.json
Fwutil is upset the chassis name in the platform_component.json of the 7060CX-32S

How I did it
Fixed the aforementioned issues
2023-06-16 09:55:02 +08:00
siqbal1986
baa5175819 Added VNET_MONITOR_TABLE,BFD_SESSION_TABLE,VNET_ROUTE_TUNNEL_TABLE to the list (#14992)
* The 3 tables in state DB need to be cleaned up after SWSS restart for have consistant state.
2023-06-16 09:54:58 +08:00
pavannaregundi
b8cd8d8e06 [Marvell] Update armhf driver version (#15138)
Changes in MRVL_PRESTERA_DRIVER_1.4:
- Memory leak fixed by releasing pci device after retrieval.
- Fixes for 5.10 kernel porting.

Change-Id: I1d7ee4ec02ec17a29ddb8473725ab68ca399748b

Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>
2023-06-16 09:54:53 +08:00