-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
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.