diff --git a/.gitmodules b/.gitmodules index 5e715468a4..cc36bb1990 100644 --- a/.gitmodules +++ b/.gitmodules @@ -72,9 +72,6 @@ [submodule "src/scapy"] path = src/scapy url = https://github.com/secdev/scapy.git -[submodule "platform/mellanox/mlnx-sai/SAI-Implementation"] - path = platform/mellanox/mlnx-sai/SAI-Implementation - url = https://github.com/Mellanox/SAI-Implementation [submodule "src/sonic-mgmt-framework"] path = src/sonic-mgmt-framework url = https://github.com/sonic-net/sonic-mgmt-framework diff --git a/platform/mellanox/.gitignore b/platform/mellanox/.gitignore index 1f3d15d640..9fc0ece98e 100644 --- a/platform/mellanox/.gitignore +++ b/platform/mellanox/.gitignore @@ -1,6 +1,4 @@ # Subdirectories -mlnx-sai/* -!mlnx-sai/Makefile hw-management/* !hw-management/Makefile !hw-management/*.patch diff --git a/platform/mellanox/mlnx-sai.mk b/platform/mellanox/mlnx-sai.mk index c8a0949935..12ed9e859e 100644 --- a/platform/mellanox/mlnx-sai.mk +++ b/platform/mellanox/mlnx-sai.mk @@ -1,8 +1,21 @@ # Mellanox SAI MLNX_SAI_VERSION = SAIBuild2211.24.0.21 +MLNX_SAI_ASSETS_GITHUB_URL = https://github.com/Mellanox/Spectrum-SDK-Drivers-SONiC-Bins +MLNX_SAI_ASSETS_RELEASE_TAG = sai-$(MLNX_SAI_VERSION)-$(BLDENV)-$(CONFIGURED_ARCH) +MLNX_SAI_ASSETS_URL = $(MLNX_ASSETS_GITHUB_URL)/releases/download/$(MLNX_SAI_ASSETS_RELEASE_TAG) +MLNX_SAI_DEB_VERSION = $(subst -,.,$(subst _,.,$(MLNX_SAI_VERSION))) -export MLNX_SAI_VERSION +# Place here URL where SAI sources exist +MLNX_SAI_SOURCE_BASE_URL = + +ifneq ($(MLNX_SAI_SOURCE_BASE_URL), ) +SAI_FROM_SRC = y +else +SAI_FROM_SRC = n +endif + +export MLNX_SAI_VERSION MLNX_SAI_SOURCE_BASE_URL MLNX_SAI = mlnx-sai_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb $(MLNX_SAI)_SRC_PATH = $(PLATFORM_PATH)/mlnx-sai @@ -11,4 +24,16 @@ $(MLNX_SAI)_RDEPENDS += $(MLNX_SDK_RDEBS) $(MLNX_SDK_DEBS) $(eval $(call add_conflict_package,$(MLNX_SAI),$(LIBSAIVS_DEV))) MLNX_SAI_DBGSYM = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb $(eval $(call add_derived_package,$(MLNX_SAI),$(MLNX_SAI_DBGSYM))) + +define make_url + $(1)_URL = $(MLNX_SAI_ASSETS_URL)/$(1) + +endef + +$(eval $(foreach deb,$(MLNX_SAI) $(MLNX_SAI_DBGSYM),$(call make_url,$(deb)))) + +ifeq ($(SAI_FROM_SRC), y) SONIC_MAKE_DEBS += $(MLNX_SAI) +else +SONIC_ONLINE_DEBS += $(MLNX_SAI) +endif diff --git a/platform/mellanox/mlnx-sai/.gitignore b/platform/mellanox/mlnx-sai/.gitignore new file mode 100644 index 0000000000..7e5cb7d266 --- /dev/null +++ b/platform/mellanox/mlnx-sai/.gitignore @@ -0,0 +1,6 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore +!Makefile + diff --git a/platform/mellanox/mlnx-sai/Makefile b/platform/mellanox/mlnx-sai/Makefile index 55c453e77e..6731bd8368 100644 --- a/platform/mellanox/mlnx-sai/Makefile +++ b/platform/mellanox/mlnx-sai/Makefile @@ -6,7 +6,8 @@ MAIN_TARGET = mlnx-sai_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb DERIVED_TARGETS = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : - pushd SAI-Implementation + rm -rf mlnx_sai + wget -c $(MLNX_SAI_SOURCE_BASE_URL)/$(MLNX_SAI_VERSION).tar.gz -O - | tar -xz pushd mlnx_sai chmod a+x autogen.sh @@ -14,4 +15,3 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : popd mv $(DERIVED_TARGETS) $* $(DEST)/ - popd diff --git a/platform/mellanox/mlnx-sai/SAI-Implementation b/platform/mellanox/mlnx-sai/SAI-Implementation deleted file mode 160000 index 3c07c276a7..0000000000 --- a/platform/mellanox/mlnx-sai/SAI-Implementation +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3c07c276a725af0b7aa31b41c176a83c152a3512