Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion device/arista/x86_64-arista_7060_cx32s/platform_asic
Original file line number Diff line number Diff line change
@@ -1 +1 @@
broadcom-legacy
broadcom-legacy-th
52 changes: 52 additions & 0 deletions platform/broadcom/docker-syncd-brcm-legacy-th.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# docker image for brcm-legacy-th syncd

DOCKER_SYNCD_LEGACY_TH_BASE = docker-syncd-brcm-legacy-th.gz
DOCKER_SYNCD_LEGACY_TH_BASE_DBG = docker-syncd-brcm-legacy-th-$(DBG_IMAGE_MARK).gz
DOCKER_SYNCD_LEGACY_TH_PLATFORM_CODE = brcm-legacy-th

$(DOCKER_SYNCD_LEGACY_TH_BASE)_PATH = $(PLATFORM_PATH)/docker-syncd-$(DOCKER_SYNCD_LEGACY_TH_PLATFORM_CODE)

$(DOCKER_SYNCD_LEGACY_TH_BASE)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BOOKWORM)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_DBG_DEPENDS += $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_DEPENDS)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_IMAGE_PACKAGES)

SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_LEGACY_TH_BASE)
ifneq ($(ENABLE_SYNCD_RPC),y)
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_LEGACY_TH_BASE)
endif

SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SYNCD_LEGACY_TH_BASE_DBG)
ifneq ($(ENABLE_SYNCD_RPC),y)
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_SYNCD_LEGACY_TH_BASE_DBG)
endif


$(DOCKER_SYNCD_LEGACY_TH_BASE)_DEPENDS += $(SYNCD)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_DEPENDS += $(BRCM_LEGACY_TH_SAI)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_DEPENDS += $(SSWSYNCD)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_FILES += $(RDB-CLI)

ifeq ($(INSTALL_DEBUG_TOOLS), y)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \
$(LIBSWSSCOMMON_DBG) \
$(LIBSAIMETADATA_DBG) \
$(LIBSAIREDIS_DBG)
endif

$(DOCKER_SYNCD_LEGACY_TH_BASE)_VERSION = 1.0.0
$(DOCKER_SYNCD_LEGACY_TH_BASE)_PACKAGE_NAME = syncd-legacy-th
$(DOCKER_SYNCD_LEGACY_TH_BASE)_MACHINE = broadcom-legacy-th
$(DOCKER_SYNCD_LEGACY_TH_BASE)_AFTER = $(DOCKER_SYNCD_DNX_BASE)
$(DOCKER_SYNCD_LEGACY_TH_BASE)_CONTAINER_NAME = syncd

$(DOCKER_SYNCD_LEGACY_TH_BASE)_RUN_OPT += --privileged -t
$(DOCKER_SYNCD_LEGACY_TH_BASE)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
$(DOCKER_SYNCD_LEGACY_TH_BASE)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
$(DOCKER_SYNCD_LEGACY_TH_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot

$(DOCKER_SYNCD_LEGACY_TH_BASE)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd
$(DOCKER_SYNCD_LEGACY_TH_BASE)_BASE_IMAGE_FILES += bcmsh:/usr/bin/bcmsh
$(DOCKER_SYNCD_LEGACY_TH_BASE)_BASE_IMAGE_FILES += bcm_common:/usr/bin/bcm_common

SONIC_BOOKWORM_DOCKERS += $(DOCKER_SYNCD_LEGACY_TH_BASE)
SONIC_BOOKWORM_DBG_DOCKERS += $(DOCKER_SYNCD_LEGACY_TH_BASE_DBG)
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update

{% if docker_syncd_brcm_legacy_debs.strip() -%}
{% if docker_syncd_brcm_legacy_th_debs.strip() -%}
# Copy locally-built Debian package dependencies
{{ copy_files("debs/", docker_syncd_brcm_legacy_debs.split(' '), "/debs/") }}
{{ copy_files("debs/", docker_syncd_brcm_legacy_th_debs.split(' '), "/debs/") }}

# Install locally-built Debian packages and implicitly install their dependencies
{{ install_debian_packages(docker_syncd_brcm_legacy_debs.split(' ')) }}
{{ install_debian_packages(docker_syncd_brcm_legacy_th_debs.split(' ')) }}
{%- endif %}

## TODO: add kmod into Depends
Expand Down
52 changes: 0 additions & 52 deletions platform/broadcom/docker-syncd-brcm-legacy.mk

This file was deleted.

4 changes: 2 additions & 2 deletions platform/broadcom/one-aboot.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

SONIC_ONE_ABOOT_IMAGE = sonic-aboot-broadcom.swi
$(SONIC_ONE_ABOOT_IMAGE)_MACHINE = broadcom
$(SONIC_ONE_ABOOT_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx broadcom-legacy
$(SONIC_ONE_ABOOT_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx broadcom-legacy-th
$(SONIC_ONE_ABOOT_IMAGE)_IMAGE_TYPE = aboot
ifeq ($(INCLUDE_GBSYNCD), y)
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(PHY_CREDO)
endif
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(FLASHROM)
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
$(SONIC_ONE_ABOOT_IMAGE)_LAZY_BUILD_INSTALLS = $(BRCM_OPENNSL_KERNEL) $(BRCM_DNX_OPENNSL_KERNEL) $(BRCM_LEGACY_OPENNSL_KERNEL)
$(SONIC_ONE_ABOOT_IMAGE)_LAZY_BUILD_INSTALLS = $(BRCM_OPENNSL_KERNEL) $(BRCM_DNX_OPENNSL_KERNEL) $(BRCM_LEGACY_TH_OPENNSL_KERNEL)
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(ARISTA_PLATFORM_MODULE_PYTHON3) \
$(ARISTA_PLATFORM_MODULE_DRIVERS) \
$(ARISTA_PLATFORM_MODULE_LIBS) \
Expand Down
2 changes: 1 addition & 1 deletion platform/broadcom/one-image.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

SONIC_ONE_IMAGE = sonic-broadcom.bin
$(SONIC_ONE_IMAGE)_MACHINE = broadcom
$(SONIC_ONE_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx broadcom-legacy
$(SONIC_ONE_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx broadcom-legacy-th
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
$(SONIC_ONE_IMAGE)_INSTALLS += $(PDDF_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
Expand Down
4 changes: 2 additions & 2 deletions platform/broadcom/rules.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
include $(PLATFORM_PATH)/sai-modules.mk
include $(PLATFORM_PATH)/sai-xgs.mk
include $(PLATFORM_PATH)/sai-dnx.mk
include $(PLATFORM_PATH)/sai-legacy.mk
include $(PLATFORM_PATH)/sai-legacy-th.mk
include $(PLATFORM_PATH)/sswsyncd.mk
# TODO(trixie): re-enable modules after updating for Trixie
include $(PLATFORM_PATH)/platform-modules-nokia.mk
Expand All @@ -27,7 +27,7 @@ include $(PLATFORM_PATH)/platform-modules-ufispace.mk
include $(PLATFORM_PATH)/docker-syncd-brcm.mk
include $(PLATFORM_PATH)/docker-syncd-brcm-rpc.mk
include $(PLATFORM_PATH)/docker-saiserver-brcm.mk
include $(PLATFORM_PATH)/docker-syncd-brcm-legacy.mk
include $(PLATFORM_PATH)/docker-syncd-brcm-legacy-th.mk
ifeq ($(INCLUDE_PDE), y)
include $(PLATFORM_PATH)/docker-pde.mk
include $(PLATFORM_PATH)/sonic-pde-tests.mk
Expand Down
15 changes: 15 additions & 0 deletions platform/broadcom/sai-legacy-th.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Broadcom LEGACY-TH SAI definitions
LIBSAIBCM_LEGACY_TH_VERSION = 13.2.1.100
LIBSAIBCM_LEGACY_TH_BRANCH_NAME = SAI_13.2.1_compat_OCP1.17.1

LIBSAIBCM_LEGACY_TH_URL_PREFIX = "https://packages.trafficmanager.net/public/sai/sai-broadcom/$(LIBSAIBCM_LEGACY_TH_BRANCH_NAME)/$(LIBSAIBCM_LEGACY_TH_VERSION)/xgs"

# SAI module for LEGACY-TH Asic family
BRCM_LEGACY_TH_SAI = libsaibcm_$(LIBSAIBCM_LEGACY_TH_VERSION)_amd64.deb
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package filename libsaibcm_$(LIBSAIBCM_LEGACY_TH_VERSION)_amd64.deb is identical to the one that was used in the deleted sai-legacy.mk (which also resolved to libsaibcm_13.2.1.100_amd64.deb). Since both the old BRCM_LEGACY_SAI and the new BRCM_LEGACY_TH_SAI map to the same .deb filename but are intended to be separate packages (one for legacy, one for legacy-th), there is a naming collision risk if both variables ever coexist or if the URL prefix resolves to the same artifact. Verify that the package filename and URL are indeed unique to the legacy-th variant, or add a -legacy-th suffix to the package name (e.g., libsaibcm-legacy-th_...) to clearly distinguish it.

Suggested change
BRCM_LEGACY_TH_SAI = libsaibcm_$(LIBSAIBCM_LEGACY_TH_VERSION)_amd64.deb
BRCM_LEGACY_TH_SAI = libsaibcm-legacy-th_$(LIBSAIBCM_LEGACY_TH_VERSION)_amd64.deb

Copilot uses AI. Check for mistakes.
$(BRCM_LEGACY_TH_SAI)_URL = "$(LIBSAIBCM_LEGACY_TH_URL_PREFIX)/$(BRCM_LEGACY_TH_SAI)"

# Package registration
SONIC_ONLINE_DEBS += $(BRCM_LEGACY_TH_SAI)

# Version handling
$(BRCM_LEGACY_TH_SAI)_SKIP_VERSION=y
15 changes: 0 additions & 15 deletions platform/broadcom/sai-legacy.mk

This file was deleted.

18 changes: 9 additions & 9 deletions platform/broadcom/sai-modules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ $(BRCM_DNX_OPENNSL_KERNEL)_MACHINE = broadcom-dnx
$(BRCM_DNX_OPENNSL_KERNEL)_AFTER = $(BRCM_OPENNSL_KERNEL)
SONIC_DPKG_DEBS += $(BRCM_DNX_OPENNSL_KERNEL)

# SAI bcm modules for Legacy family ASIC
BRCM_LEGACY_OPENNSL_KERNEL_VERSION = 13.2.1.0
# SAI bcm modules for Legacy-TH family ASIC
BRCM_LEGACY_TH_OPENNSL_KERNEL_VERSION = 13.2.1.0

BRCM_LEGACY_OPENNSL_KERNEL = opennsl-modules-legacy_$(BRCM_LEGACY_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_LEGACY_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules-legacy
$(BRCM_LEGACY_OPENNSL_KERNEL)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(BRCM_LEGACY_OPENNSL_KERNEL)_BUILD_ENV += PKG_NAME=$(BRCM_LEGACY_OPENNSL_KERNEL)
$(BRCM_LEGACY_OPENNSL_KERNEL)_MACHINE = broadcom-legacy
$(BRCM_LEGACY_OPENNSL_KERNEL)_AFTER = $(BRCM_DNX_OPENNSL_KERNEL)
SONIC_DPKG_DEBS += $(BRCM_LEGACY_OPENNSL_KERNEL)
BRCM_LEGACY_TH_OPENNSL_KERNEL = opennsl-modules-legacy-th_$(BRCM_LEGACY_TH_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_LEGACY_TH_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules-legacy-th
$(BRCM_LEGACY_TH_OPENNSL_KERNEL)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(BRCM_LEGACY_TH_OPENNSL_KERNEL)_BUILD_ENV += PKG_NAME=$(BRCM_LEGACY_TH_OPENNSL_KERNEL)
$(BRCM_LEGACY_TH_OPENNSL_KERNEL)_MACHINE = broadcom-legacy-th
$(BRCM_LEGACY_TH_OPENNSL_KERNEL)_AFTER = $(BRCM_DNX_OPENNSL_KERNEL)
SONIC_DPKG_DEBS += $(BRCM_LEGACY_TH_OPENNSL_KERNEL)
Loading
Loading