Skip to content

[code sync] Merge code from sonic-net/sonic-buildimage:master to kubesonic#2317

Merged
mssonicbld merged 7 commits into
Azure:kubesonicfrom
mssonicbld:sonicbld/kubesonic-merge
May 19, 2026
Merged

[code sync] Merge code from sonic-net/sonic-buildimage:master to kubesonic#2317
mssonicbld merged 7 commits into
Azure:kubesonicfrom
mssonicbld:sonicbld/kubesonic-merge

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

* c255e19ea - (head/master) Updated 1.95.0-SS-20 release tag for Pensando-elba platform (#26938) (2026-05-18) [Sahil Chaudhari]
* e04f7b67e - [sonic-frr]: FRR enable tcmalloc build time (#26794) (2026-05-18) [Ravi Minnikanti(Marvell)]
* 3d15b1d06 - ASPEED BMC: Improve net-install payload transport and safe sparse eMMC writes (#27300) (2026-05-18) [William Tsai]
* 9d645867a - [sonic-py-common] host_write_atomic: use mktemp in dest dir (#27320) (2026-05-18) [Feng-msft]
* 9cafe6641 - [submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#27392) (2026-05-18) [mssonicbld]
* 5094f4669 - marvell-prestera: sai-1.17.1-13 (#27233) (2026-05-18) [Yan Markman]<br>```

yanmarkman and others added 7 commits May 18, 2026 18:15
Signed-off-by: Yan Markman <ymarkman@marvell.com>
…D automatically (#27392)

#### Why I did it
src/sonic-platform-daemons
```
* 506bc66 - (HEAD -> master, origin/master, origin/HEAD) Add support for pdb object of psud (Azure#796) (4 days ago) [Yuanzhe]
```
#### How I did it
#### How to verify it
#### Description for the changelog
[sonic-py-common] host_write_atomic: use mktemp in dest directory
…C writes (#27300)

What: Adds HTTP/HTTPS payload support (via curl) for ASPEED BMC net-install alongside existing TFTP, implements sparse eMMC writes with blkdiscard zero-fill, and fixes raw disk image generation to use conv=notrunc.

Why: Improve net-install reliability and speed for large eMMC payloads. Fix dd truncation bug in eMMC image build that could corrupt the preallocated disk image.

How: Added sonic_install.bmc_image= as single payload selector (HTTP/HTTPS uses curl, plain path uses TFTP). Injected curl, coreutils dd, blkdiscard, and DNS files into initramfs. Updated DHCP handling for DNS. Changed eMMC flash flow to blkdiscard -z then dd conv=sparse,fsync. Fixed image build to use dd conv=notrunc,fsync.

Testing: All CI checks passed (16/16). Verified HTTP and TFTP payload install paths, SONiC boots from eMMC, sgdisk -v reports no GPT problems.

Signed-off-by: William Tsai <willtsai@nvidia.com>
* [sonic-frr] lib, build: support gperftools tcmalloc, release free memory to host OS

Port FRRouting/frr#19377 to FRR 10.5.1 (SONiC).

Upstream PR: FRRouting/frr#19377

Original PR description:
The tcmalloc library that's part of the gperftools project can be built
with an option to return free memory back to the host OS. That can help
avoid OOM situations in FRR daemons.

Changes:
- configure.ac: Add --enable-gperf-tcmalloc configure option
- lib/lib_vty.c: Fix memory display to support values >2GB in mtype_memstr()
- lib/libfrr.c: Add background timer to periodically release free memory
- lib/libfrr.h: Expose frr_mem_release_config() API
- lib/vty.c: Add 'show tcmalloc stats' and 'memory release rate' CLIs
- vtysh/vtysh.c: Add corresponding vtysh CLIs
- doc/: Add documentation for building tcmalloc and new CLIs

Signed-off-by: Ravi Minnikanti <rminnikanti@marvell.com>

* [build] Enable FRR build with gperftools tcmalloc support

Add ENABLE_FRR_TCMALLOC build config (default: n) to optionally build
FRR with gperftools tcmalloc support (--enable-gperf-tcmalloc).

Changes:
- rules/config: Add ENABLE_FRR_TCMALLOC flag (default n)
- rules/frr.mk: Export ENABLE_FRR_TCMALLOC
- src/sonic-frr/Makefile: Conditionally add pkg.frr.tcmalloc build
  profile when ENABLE_FRR_TCMALLOC=y. Also fix cross-build to use a
  single -P flag (multiple -P flags cause the last to override earlier ones)
- src/sonic-frr/patch/*: New FRR patch adding pkg.frr.tcmalloc build
  profile support in debian/rules and debian/control
- sonic-slave-{bookworm,trixie}/Dockerfile.j2: Install
  libgoogle-perftools-dev for FRR build
- dockers/docker-fpm-frr/Dockerfile.j2: Conditionally install
  libgoogle-perftools4t64 runtime library when tcmalloc is enabled
- slave.mk: Export enable_frr_tcmalloc variable for j2 template rendering

Signed-off-by: Ravi Minnikanti <rminnikanti@marvell.com>

* tcmalloc enablement fixes

- Fixied slave.mk to consume ENABLE_FRR_TCMALLOC from make command
- Changed Makefile.work to display the value
- Changed libgoogle-perftools4t64 to use the generic package name.
   on trixie, libgoogle-perftools4t64 provides libgoogle-perftools4
   Using libgoogle-perftools4 works on both bookworm and trixie.

Signed-off-by: Ravi Minnikanti <rminnikanti@marvell.com>

* [sonic-frr] Fix FRR patch naming and numbering conventions

Rename tcmalloc FRR patches to follow SONiC FRR patch conventions:
- Add SONiC-ONLY- prefix for SONiC-specific lasting patches
- Renumber from 0067-0069 to 0108-0110 to avoid reusing numbers
  previously assigned to other patches

Signed-off-by: Ravi Minnikanti <rminnikanti@marvell.com>

---------

Signed-off-by: Ravi Minnikanti <rminnikanti@marvell.com>
Updated 1.95.0-SS-20 release tag for Pensando-elba platform
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld mssonicbld merged commit 9e177d6 into Azure:kubesonic May 19, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants