#### Why I did it
src/sonic-sairedis
```
* d770370 - (HEAD -> master, origin/master, origin/HEAD) [asan] Disable the "maybe-uninitialized" warning when compiled with ASAN enabled. (#1360) (30 hours ago) [Oleksandr Ivantsiv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-swss
```
* 9c995f0c - (HEAD -> master, origin/master, origin/HEAD) [asan] Disable the "maybe-uninitialized" warning when compiled with ASAN enabled. (30 hours ago) [Oleksandr Ivantsiv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-utilities
```
* bf355960 - (HEAD -> master, origin/master, origin/HEAD) Add vlan validation in config interface ip add command (#3155) (24 hours ago) [Mati Alfaro]
* ba98c7f8 - CLI enhancements to revtrieve data from TRANSCEIVER_FIRMWARE_INFO table (#3177) (34 hours ago) [mihirpat1]
* aefb61bd - Modify transceiver PM CLI to handle N/A value for DOM threshold (#3174) (34 hours ago) [mihirpat1]
```
#### How I did it
#### How to verify it
#### Description for the changelog
- Why I did it
The field 'subport' represents the index of the split port within a physical port. For example, if a port is split into 4, the subport of the first logical port is 1, the subport of the second logical port is 2, and so on.
In xcvrd, the CMIS manager uses the subport to calculate the lane mask, which is used to control the data path per lane. In Nvidia platform, the subport is missing and is always set to 0. According to the xcvrd code, when subport=0, it will always correspond to the first logical port. Therefore, if we shut down any logical port that is not the first one, we will see the operational status of the first logical port also becomes down.
This PR aims to add the subport field to CONFIG DB and prevent such scenarios. This is applicable only for static default breakout mode. For DPB, subport calculation will happen on the fly (changes are not in Sonic yet).
(Subport HLD: HLD of subport: [link to the HLD document])
- How I did it
I have added the 'subport' field to all relevant Nvidia hwsku.json files (minigraph generation is based on them). Additionally, I introduced the new 'subport' field to portconfig.py, so that sonic-cfggen will be able to generate the minigraph with it. In this file, I also fixed an error that caused all attributes from hwsku.json to be applied only to the first logical ports associated with a physical port.
Furthermore, I updated hwsku_json_checker to include the new field and applied a fix to the sample_hwsku.json file. sample_hwsku.json is the file that sonic-config-engine's unit tests rely on for its tests. Previously, it only included attributes for the first logical port of a split physical port. For example, if Ethernet4, a 4-lane port, was split into 2 ports, then sample_hwsku.json included only the entry for Ethernet4, with no entry for Ethernet6. This misalignment with the structure of other hwsku.json files has been corrected as well.
- How to verify it
Ensure that each logical port has the correct value of 'subport' in CONFIG DB, and that shutting down a logical port affects only that port and not other ports in the split.
If encountered a line without RequiredBy or WantedBy the code passes uninitialized pointer to get_install_targets_from_line(). Where it can fail with segfault or silently pass randomly.
- Why I did it
Uninitialized target_suffix is passed to get_install_targets_from_line() when other fields are present in [Install] section, like this:
root@sonic:/home/admin# systemctl cat ntpsec
...
[Install]
Alias=ntp.service
Alias=ntpd.service
WantedBy=multi-user.target
- How I did it
Initialize target_suffix with NULL, put an assert in get_install_targets_from_line(). Edited test to cover this scenario.
- How to verify it
UT and on the switch.
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
- Why I did it
The creation of system EEPROM VPD file "/var/run/hw-management/eeprom/vpd_info" is triggered by the udev event during the system boot up, in case the CPU is busy during the bootup, the udev event handling can be delayed, and need to wait for some more time for the file creation.
- How I did it
Extend the waiting time from 10s to 20s to overcome some extreme case.
- How to verify it
continuously run reboot case and verify whether still can see error msg "ERR decode-syseeprom: Nowhere to read syseeprom from! No symlink found"
Signed-off-by: Kebo Liu <kebol@nvidia.com>
In some local buildings, an error /bin/bash: line 0: cd: src/sonic-dash-api/sonic-dash-api: No such file or directory will be raised due to the directory structure of sonic-dash-api has been changed.
Signed-off-by: Ze Gan <ganze718@gmail.com>
#### Why I did it
src/sonic-swss
```
* 97c7f3ed - (HEAD -> master, origin/master, origin/HEAD) Fix multi VLAN neighbor learning (#3049) (4 hours ago) [Lawrence Lee]
* 2617d4c5 - [intfsorch] Enable ipv6 proxy ndp along with proxy arp (#3045) (6 hours ago) [Nikola Dancejic]
```
#### How I did it
#### How to verify it
#### Description for the changelog
### Why I did it
- Currently inside k8s master image we are going to use AAD to do authentication related stuff with python language, we need to pre-install several azure key-vault related python packages.
- Need to upgrade cri-dockerd to 0.3.10 to support bookworm
- Need to change netcat package name to netcat-openbsd for bookworm
- Remove the unnecessary apt-get update
##### Work item tracking
- Microsoft ADO **(number only)**: 26435886
#### How I did it
- pip3 install azure-keyvault-secrets
- apt-get -y install netcat-openbsd
- upgrade the cri-dockerd version for bookworm
#### How to verify it
- pip3 list to check if azure-keyvault-secrets is installed inside image
- dpkg -l to check if netcat-openbsd is installed inside image
- systemctl status cri-dockerd.service to check if it's running well
### Why I did it
Update sonic-sairedis submodule pointer to include the following:
Add new functionality to syncd_init_common.sh, to use common sai.profile (https://github.com/sonic-net/sonic-sairedis/pull/1352)
### How I did it
Advance sonic-sairedis pointer
Adding rule to ebtables to drop multicast packets in kernel. This was
done to address a bug where NS packets were flooding ports with
duplicate packets.
Signed-off-by: Nikola Dancejic <ndancejic@microsoft.com>
#### Why I did it
src/sonic-sairedis
```
* 09cd7f6 - (HEAD -> master, origin/master, origin/HEAD) Add new functionality to syncd_init_common.sh, to use common sai.profile (#1352) (17 hours ago) [noaOrMlnx]
```
#### How I did it
#### How to verify it
#### Description for the changelog
### Why I did it
ipmitool utility is used to access various HW sensors. Some platforms use "ipmitool raw " to read specific addresses.
ipmitool_1.8.19-4_amd64.deb, that is part of bookworm has a defect. The package is missing file enterprise.txt that is expected by the "raw read" code path.
It is so because the file the .deb tries to download at the build time does not have the necessary extension as it is available on remote server: https://www.iana.org/assignments/enterprise-numbers.txt
### How I did it
The defect had been fixed using coding changes in next unstable version of Linux. It is expected to be available in future stable version of the OS. Hence to keep the changes to minimal, the .dsc file is downloaded and only the Makefile is modified to download the correct file. To make is work as patch necessary changes are made.
#### How to verify it
Build log is attached and installation of the file is noted line #2274
When using vanilla bookworm on platforms like 5212 or 5224:
-------------------------------------------------------------------
root@sonic:~# ipmitool raw 0x04 0x2d 0x31
IANA PEN registry open failed: No such file or directory
00 c0 01 80
When fixed we should not see the above error:
--------------------------------------------------
root@sonic:/home/admin# ipmitool raw 0x04 0x2d 0x31
00 c0 00 80
### Description for the changelog
This change is to address ipmitool raw read issue. This patch must be removed once it is available in next stable Linux release that contains the fix.
1edb0e27e4
### Why I did it
Command cannot be executed when tacacs+ in AAA authorization is set and passkey in TACPLUs is not set. There should be such restriction in YANG model definition.
##### Work item tracking
- Microsoft ADO **(number only)**: 26898399
#### How I did it
Add restirction
#### How to verify it
unit test
#### Why I did it
src/sonic-utilities
```
* 7670609a - (HEAD -> master, origin/master, origin/HEAD) Fix sfputil CLI failure for multi-asic platforms (#3168) (2 days ago) [longhuan-cisco]
* 6e4130d8 - [config] Check golden config exist early if flag is set (#3169) (3 days ago) [jingwenxie]
* 1c094d30 - [show] Update show run all to cover all asic config in multiasic (#3148) (5 days ago) [jingwenxie]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-swss-common
```
* 9330086 - (HEAD -> master, origin/master, origin/HEAD) [dbconnector]: Add API getDbKeys in dbconnector (#854) (4 days ago) [Ze Gan]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/wpasupplicant/sonic-wpa-supplicant
```
* d41110905 - (HEAD -> master, origin/master, origin/HEAD) Merge pull request #80 from wumiaont/master (4 days ago) [Kamil Cudnik]
* 7406f4ba4 - Fix compile issues with debian bookworm (10 days ago) [wumiaont]
* caed4ef71 - Fix compile issues with bookworm and openssl 3.0 (10 days ago) [wumiaont]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-platform-daemons
```
* 9141305 - (HEAD -> master, origin/master, origin/HEAD) Enhance port_update_event logic to be thread-safe (#430) (3 days ago) [longhuan-cisco]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-swss
```
* 91321737 - (HEAD -> master, origin/master, origin/HEAD) Fixed orchagent crash in VM with the Qos BUFFER_QUEUE|system-port|Queue-id-range config (#3050) (2 days ago) [saksarav-nokia]
```
#### How I did it
#### How to verify it
#### Description for the changelog
- Why I did it
The existing grub configuration has a hardcoded "amd64" architecture in the kernel and initramfs names. This causes an error in the attempt to load the image compiled for a different architecture.
- How I did it
Use configured architecture in the GRUB config.
- How to verify it
Compile the image for Arm64 architecture and install it on the device.
- Why I did it
On some Nvidia platforms, fan direction could not be determined. Therefore 'N/A' becomes a valid value for those cases.
- How I did it
Add 'N/A' to the valid fan direction mapping, to avoid an error in the log.
- How to verify it
Check fan direction on Nvidia platforms, and make sure there aren't errors in the log.
* Update Redis DB start options for multi-asic and chassis cases
Starting with Redis 7.0 (specifically, redis/redis#9034), setting a
custom `--bind` address on the command line no longer disables protected
mode (which blocks connections from non-localhost IP addresses unless a
password is set). For multi-asic and chassis database DBs, we currently
specify a non-localhost IP address and do not specify any password,
which means this change would break things there.
To work around this, if we are specifying a non-localhost IP address on
the command line, then disable protected mode.
* Clean up debug pacakge list for docker-teamd
The debug pacakges for swss and libswsscommon are already installed by
docker-swss-layer-bookworm and docker-config-engine-bookworm, so they
don't need to be specified here again.
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
PR #17836 added the container checking for database-chassis for Supervisor. But the related container_feature_dict[] is missing for the database-chassis. This causes the exception failure shows on Supervisor
Signed-off-by: mlok <marty.lok@nokia.com>
Why I did it
This is sonic-mgmt-docker Python3 migration.
How I did it
Remove Python3 venv from sonic-mgmt-docker
How to verify it
Compile docker and verify the Python3 venv is NOT there.
Why I did it
github workflow is not easy to extend to other repos.
Use github app instead to share the same workflow.
Work item tracking
Microsoft ADO (number only): 26855292
How I did it
How to verify it
#### Why I did it
src/sonic-platform-common
```
* 796e89a - (HEAD -> master, origin/master, origin/HEAD) Change get_transceiver_info_firmware_versions return type to dict (#440) (2 days ago) [mihirpat1]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-platform-daemons
```
* f1511c2 - (HEAD -> master, origin/master, origin/HEAD) Move firmware version fields to TRANSCEIVER_FIRMWARE_INFO table (#435) (2 days ago) [mihirpat1]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-linux-kernel
```
* f4b1a58 - (HEAD -> master, origin/master, origin/HEAD) Fix kexec kernel panic in mvpp2 (#377) (2 days ago) [Pavan Naregundi]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-platform-daemons
```
* 13c5049 - (HEAD -> master, origin/master, origin/HEAD) [ycabled][tests] Fix UT for bookworm (#431) (15 hours ago) [Arun Saravanan Balachandran]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-sairedis
```
* a91d51d - (HEAD -> master, origin/master, origin/HEAD) Enable 8 Lanes Support in vslib (#1355) (55 minutes ago) [Deepak Singhal]
* ea8767c - [nvidia] Update syncd start to cover changes in SDK initialization process. (#1343) (6 days ago) [Oleksandr Ivantsiv]
* 46e713d - [syncd] Add workaround for SET operation on SAI_HOSTIF_ATTR_QUEUE (#1345) (7 days ago) [Kamil Cudnik]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-swss
```
* 1221eae4 - (HEAD -> master, origin/master, origin/HEAD) Explicitly initialize two local variables to 0 (#3046) (26 hours ago) [Saikrishna Arcot]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-dash-api
```
* d033898 - (HEAD -> master, origin/master, origin/HEAD) Generate and install python stubs (2 days ago) [Lawrence Lee]
* 4fbed99 - Generate and install python stubs (8 days ago) [Lawrence Lee]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-ztp
```
* 56cebae - (HEAD -> master, origin/master, origin/HEAD) Enhancements to allow custom umask usage while executing plugins (#42) (2 hours ago) [rajendra-dendukuri]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Recently, netaddr 1.0.0 was released, which dropped Python 2 support
entirely. Because of this, an empty netaddr package is installed for
Python 2. Ansible still uses Python 2, so this needs to remain
functional. The Python 3 part of sonic-mgmt is fine.
Pin the version of netaddr installed in Python 2 to 0.10.1, the last
supported version.
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
### Why I did it
Fix flakiness of eventd UT - run sub after capture service starts
##### Work item tracking
- Microsoft ADO **(number only)**:25650744
#### How I did it
Run sub socket after capture socket is initialized
#### How to verify it
Pipeline
Why I did it
Update smartmontool verson to 7.4. This is done to prevent smartmontools service to exit with non-zero exit status on platform that does not have a SSD/disk to be monitored.
Until Debian Bullseye (which had smartmontools 7.2), Debian had a patch applied that changed the default quit mode to never exit. A bug report was filed on Debian, saying that the source code patch isn't needed and could just be done via command line options, and also that smartmontools 7.3 has a new built-in option to exit with 0 if there are no monitorable devices found (which prevents systemd from treating it as a service failure). Because of that, Debian Bookworm (which also upgraded to 7.3) removed the patch and restored the default behavior of exiting with exit code 17 if there are no devices found.
Smartmontools v7.3 has this issue, because of which smartd exits with non-zero exit status even with "-q" option.
How I did it
Update the smartmontools to version 7.4 which has the fix for exiting gracefully if no monitoring device is found
Added smartd option "-q nodev0" to allow smartd to exit with status 0 if no monitoring device found
- Why I did it
The cable thermal sensors will be deprecated from the kernel driver. When cable host management is enabled, NOS will fetch the cable temperature from cable EEPROM, kernel driver will not provide the sysfs anymore.
- How I did it
Remove the relevant sensor form the conf files
- How to verify it
Run sonic mgmt sensor test
Signed-off-by: Kebo Liu <kebol@nvidia.com>
#### Why I did it
src/sonic-utilities
```
* 81c5349f - (HEAD -> master, origin/master, origin/HEAD) [chassis] fix show bgp summary when no neighbors are present on one ASIC (#3158) (10 hours ago) [Arvindsrinivasan Lakshmi Narasimhan]
```
#### How I did it
#### How to verify it
#### Description for the changelog