Skip to content

Enhancement: [broadcom platforms] syncd build always gets its dependencies from BRCM_XGS_SAI #23387

@veronica-arista

Description

@veronica-arista

Is it platform specific

broadcom

Importance or Severity

Medium

Description of the enhancement

Each SAI implementation (BRCM_XGS_SAI, BRCM_DNX_SAI, etc) should have its own syncd build to account for differences in support between the different SAIs.

Current Behavior

When syncd is built for broadcom devices, the dependencies come from BRCM_XGS_SAI regardless of what SAI is used.

This is defined in sonic-buildimage/platform/broadcom/rules.mk:
$(SYNCD)_DEPENDS += $(BRCM_XGS_SAI) $(BRCM_XGS_SAI_DEV)
https://github.com/sonic-net/sonic-buildimage/blob/master/platform/broadcom/rules.mk#L57

Problems occur when the XGS_SAI contains a symbol undefined in other SAI implementations. E.g. the update to LIBSAIBCM_XGS_VERSION = 13.2.1.0 in #23091 introduced sai_query_stats_st_capability which is not defined in the currently used DNX and BRONCOS SAI implementations, causing errors on those devices:
INFO gbsyncd#supervisord: syncd /usr/bin/syncd: symbol lookup error: /usr/bin/syncd: undefined symbol: sai_query_stats_st_capability#015

Proposed Behavior

Have multiple syncd builds to correspond with each SAI.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions