2021-10-17 11:03:02 -05:00
|
|
|
#
|
2022-03-23 06:19:25 -05:00
|
|
|
# Copyright (c) 2016-2022 NVIDIA CORPORATION & AFFILIATES.
|
2021-10-17 11:03:02 -05:00
|
|
|
# Apache-2.0
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
2019-10-08 09:57:13 -05:00
|
|
|
MLNX_SDK_BASE_PATH = $(PLATFORM_PATH)/sdk-src/sx-kernel/Switch-SDK-drivers/bin/
|
2022-06-28 23:15:05 -05:00
|
|
|
MLNX_SDK_PKG_BASE_PATH = $(MLNX_SDK_BASE_PATH)/$(BLDENV)/$(CONFIGURED_ARCH)/
|
[202205] [Mellanox] Update SAI to 2205.23.1.0 and SDK/FW to 4.5.4150/v2010.4150 (#13397)
- Why I did it
To include latest fixes and new functionality
SAI
1. Temporary WA for query enum capabilities for tunnel peer mode, to not return P2P
2. sai debug dump returns while last extra dump is running
3. open inner SRC and DST IP for ECMP / LAG general hash objects
4. tunnel peer mode returns hard coded
5. tunnel decap dscp mode
6. support default tunnel src ip
7. failure to add a port to a LAG in VLANs configured with flood_ctrl
8. Add P2P peer mode for IP in IP tunnels
9. Add per port IP counters
10. Clean up VXLAN srcport static (XML) functionality, as only dynamic (API) is in use
11. Fix enum capabilities of native hash fields
12. sai_acl_db_group_ptr usage
13. Clean QoS config of the LAG when all members was removed (bug
SDK/FW
1. Fixed bug in recovery mechanism in case of I2C error when trying to access the XSFP module.
2. On the NVIDIA Spectrum-2 switch, when receiving a packet with Symbol Errors on ports that are configured to cut-thought mode, a pipeline might get stuck.
3. On the Spectrum-2 and Spectrum-3 switch, if you enable ECN marking and the port is in split mode, traffic sent to the port under congestion (for example, when connecting two ports with a total speed of 50GbE to a single 25GbE port) is not marked.
4. Modifying existing entry/Adding new one when switch is at its maximum capacity (full by maximum allowed entries from any type such as routes, FDB, and so forth), will fail with an error.
5. When many ports are active (e.g., 70 ports up), and the configuration of shared buffer is applied on the fly, occasionally, the firmware might get stuck.
6. When a system has more than 256 ACL rules, on rare occasion, removing/adding rules may cause some ACL rules not to work.
7. On SN2201 system, on RJ45 port, the link might appear in 'down' state even if it operations properly.
8. Layer 4 port information is not initialized for BFD packet event. To address the issue, remote peer UDP port information was added in BFD packet event.
9. When setting LAG as a SPAN analyzer, the distributor mode of the LAG members was not taken into account. It may happen that the LAG member with distributor mode disabled will be set as a SPAN analyzer port.
- How I did it
Updated SDK/SAI submodule and relevant makefiles with the required versions.
- How to verify it
Build an image and run tests from "sonic-mgmt".
Signed-off-by: Volodymyr Samotiy <volodymyrs@nvidia.com>
2023-01-18 01:19:21 -06:00
|
|
|
MLNX_SDK_VERSION = 4.5.4150
|
2019-06-18 12:00:16 -05:00
|
|
|
MLNX_SDK_ISSU_VERSION = 101
|
2019-03-27 20:32:25 -05:00
|
|
|
|
2020-11-10 21:27:09 -06:00
|
|
|
MLNX_SDK_DEB_VERSION = $(subst -,.,$(subst _,.,$(MLNX_SDK_VERSION)))
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
# Place here URL where SDK sources exist
|
2019-06-18 12:00:16 -05:00
|
|
|
MLNX_SDK_SOURCE_BASE_URL =
|
2019-03-27 20:32:25 -05:00
|
|
|
|
2019-08-08 13:10:55 -05:00
|
|
|
ifneq ($(MLNX_SDK_SOURCE_BASE_URL), )
|
|
|
|
SDK_FROM_SRC = y
|
|
|
|
else
|
|
|
|
SDK_FROM_SRC = n
|
|
|
|
endif
|
|
|
|
|
2019-03-27 20:32:25 -05:00
|
|
|
export MLNX_SDK_SOURCE_BASE_URL MLNX_SDK_VERSION MLNX_SDK_ISSU_VERSION MLNX_SDK_DEB_VERSION
|
2019-02-14 01:08:04 -06:00
|
|
|
|
2019-10-07 09:13:47 -05:00
|
|
|
MLNX_SDK_RDEBS += $(APPLIBS) $(IPROUTE2_MLNX) $(SX_COMPLIB) $(SX_EXAMPLES) \
|
|
|
|
$(SX_GEN_UTILS) $(SX_SCEW) $(SXD_LIBS) $(WJH_LIBS) $(SX_ACL_HELPER)
|
2016-12-05 13:12:19 -06:00
|
|
|
|
2019-10-07 09:13:47 -05:00
|
|
|
MLNX_SDK_DEBS += $(APPLIBS_DEV) $(IPROUTE2_MLNX_DEV) $(SX_COMPLIB_DEV) \
|
|
|
|
$(SX_COMPLIB_DEV_STATIC) $(SX_EXAMPLES_DEV) $(SX_GEN_UTILS_DEV) \
|
|
|
|
$(SX_SCEW_DEV) $(SX_SCEW_DEV_STATIC) $(SXD_LIBS_DEV)\
|
|
|
|
$(SXD_LIBS_DEV_STATIC) $(WJH_LIBS_DEV) $(SX_ACL_HELPER_DEV)
|
2016-12-05 13:12:19 -06:00
|
|
|
|
2019-08-08 13:10:55 -05:00
|
|
|
MLNX_SDK_DBG_DEBS += $(APPLIBS_DBGSYM) $(IPROUTE2_MLNX_DBGSYM) $(SX_COMPLIB_DBGSYM) \
|
|
|
|
$(SX_EXAMPLES_DBGSYM) $(SX_GEN_UTILS_DBGSYM) $(SX_SCEW_DBGSYM) \
|
2019-10-07 09:13:47 -05:00
|
|
|
$(SXD_LIBS_DBGSYM) $(WJH_LIBS_DBGSYM) $(SX_ACL_HELPER_DBGSYM)
|
2019-08-08 13:10:55 -05:00
|
|
|
|
2019-03-27 20:32:25 -05:00
|
|
|
APPLIBS = applibs_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(APPLIBS)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/applibs
|
|
|
|
$(APPLIBS)_DEPENDS += $(SX_COMPLIB_DEV) $(SX_GEN_UTILS_DEV) $(SXD_LIBS_DEV) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV)
|
2018-11-14 03:15:31 -06:00
|
|
|
$(APPLIBS)_RDEPENDS += $(SX_COMPLIB) $(SX_GEN_UTILS) $(SXD_LIBS) $(LIBNL3) $(LIBNL_GENL3)
|
2019-03-27 20:32:25 -05:00
|
|
|
APPLIBS_DEV = applibs-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(APPLIBS),$(APPLIBS_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
APPLIBS_DBGSYM = applibs-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(APPLIBS),$(APPLIBS_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
IPROUTE2_MLNX = iproute2_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(IPROUTE2_MLNX)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/iproute2
|
|
|
|
IPROUTE2_MLNX_DEV = iproute2-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2017-11-30 16:59:25 -06:00
|
|
|
$(eval $(call add_derived_package,$(IPROUTE2_MLNX),$(IPROUTE2_MLNX_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
IPROUTE2_MLNX_DBGSYM = iproute2-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(IPROUTE2_MLNX),$(IPROUTE2_MLNX_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
SX_COMPLIB = sx-complib_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_COMPLIB)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-complib
|
|
|
|
SX_COMPLIB_DEV = sx-complib-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(SX_COMPLIB),$(SX_COMPLIB_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
SX_COMPLIB_DBGSYM = sx-complib-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SX_COMPLIB),$(SX_COMPLIB_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
SX_EXAMPLES = sx-examples_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_EXAMPLES)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-examples
|
|
|
|
$(SX_EXAMPLES)_DEPENDS += $(APPLIBS_DEV) $(SX_SCEW_DEV) $(SXD_LIBS_DEV)
|
2018-11-14 03:15:31 -06:00
|
|
|
$(SX_EXAMPLES)_RDEPENDS += $(APPLIBS) $(SX_SCEW) $(SXD_LIBS)
|
2019-03-27 20:32:25 -05:00
|
|
|
SX_EXAMPLES_DEV = sx-examples-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(SX_EXAMPLES),$(SX_EXAMPLES_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
SX_EXAMPLES_DBGSYM = sx-examples-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SX_EXAMPLES),$(SX_EXAMPLES_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
SX_GEN_UTILS = sx-gen-utils_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_GEN_UTILS)_SRC_PATH += $(PLATFORM_PATH)/sdk-src/sx-gen-utils
|
2019-10-07 09:13:47 -05:00
|
|
|
$(SX_GEN_UTILS)_DEPENDS += $(SX_COMPLIB_DEV)
|
2018-11-14 03:15:31 -06:00
|
|
|
$(SX_GEN_UTILS)_RDEPENDS += $(SX_COMPLIB)
|
2019-03-27 20:32:25 -05:00
|
|
|
SX_GEN_UTILS_DEV = sx-gen-utils-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(SX_GEN_UTILS),$(SX_GEN_UTILS_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
SX_GEN_UTILS_DBGSYM = sx-gen-utils-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SX_GEN_UTILS),$(SX_GEN_UTILS_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
SX_SCEW = sx-scew_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_SCEW)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-scew
|
|
|
|
SX_SCEW_DEV = sx-scew-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(SX_SCEW),$(SX_SCEW_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
SX_SCEW_DBGSYM = sx-scew-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SX_SCEW),$(SX_SCEW_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
|
|
|
SXD_LIBS = sxd-libs_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SXD_LIBS)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sxd-libs
|
2019-10-07 09:13:47 -05:00
|
|
|
$(SXD_LIBS)_DEPENDS += $(SX_COMPLIB_DEV) $(SX_GEN_UTILS_DEV)
|
2019-03-27 20:32:25 -05:00
|
|
|
SXD_LIBS_DEV = sxd-libs-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
2016-12-05 13:12:19 -06:00
|
|
|
$(eval $(call add_derived_package,$(SXD_LIBS),$(SXD_LIBS_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
SXD_LIBS_DBGSYM = sxd-libs-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SXD_LIBS),$(SXD_LIBS_DBGSYM)))
|
|
|
|
endif
|
2019-03-27 20:32:25 -05:00
|
|
|
|
2016-12-08 12:31:02 -06:00
|
|
|
#packages that are required for runtime only
|
2019-03-27 20:32:25 -05:00
|
|
|
PYTHON_SDK_API = python-sdk-api_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(PYTHON_SDK_API)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/python-sdk-api
|
2019-05-17 15:45:33 -05:00
|
|
|
$(PYTHON_SDK_API)_DEPENDS += $(APPLIBS_DEV) $(SXD_LIBS_DEV) $(SWIG)
|
2018-11-14 03:15:31 -06:00
|
|
|
$(PYTHON_SDK_API)_RDEPENDS += $(APPLIBS) $(SXD_LIBS)
|
2019-08-08 13:10:55 -05:00
|
|
|
PYTHON_SDK_API_DBGSYM = python-sdk-api-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(PYTHON_SDK_API),$(PYTHON_SDK_API_DBGSYM)))
|
|
|
|
endif
|
2016-12-05 13:12:19 -06:00
|
|
|
|
2019-10-07 09:13:47 -05:00
|
|
|
SX_ACL_HELPER = sx-acl-helper_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_ACL_HELPER)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-acl-helper
|
|
|
|
$(SX_ACL_HELPER)_DEPENDS += $(SX_COMPLIB_DEV) $(SXD_LIBS_DEV) $(APPLIBS_DEV)
|
|
|
|
$(SX_ACL_HELPER)_RDEPENDS += $(SX_COMPLIB) $(PYTHON_SDK_API)
|
|
|
|
SX_ACL_HELPER_DEV = sx-acl-helper-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(eval $(call add_derived_package,$(SX_ACL_HELPER),$(SX_ACL_HELPER_DEV)))
|
|
|
|
SX_ACL_HELPER_DBGSYM = sx-acl-helper-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(SX_ACL_HELPER),$(SX_ACL_HELPER_DBGSYM)))
|
|
|
|
endif
|
|
|
|
|
2019-06-18 12:00:16 -05:00
|
|
|
WJH_LIBS = wjh-libs_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(WJH_LIBS)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/wjh-libs
|
2019-10-07 09:13:47 -05:00
|
|
|
$(WJH_LIBS)_DEPENDS += $(SX_COMPLIB_DEV) $(SXD_LIBS_DEV) $(APPLIBS_DEV) $(SX_ACL_HELPER_DEV) $(SX_SCEW_DEV)
|
|
|
|
$(WJH_LIBS)_RDEPENDS += $(SX_COMPLIB) $(PYTHON_SDK_API) $(SX_ACL_HELPER)
|
2019-06-18 12:00:16 -05:00
|
|
|
WJH_LIBS_DEV = wjh-libs-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(eval $(call add_derived_package,$(WJH_LIBS),$(WJH_LIBS_DEV)))
|
2019-08-08 13:10:55 -05:00
|
|
|
WJH_LIBS_DBGSYM = wjh-libs-dbgsym_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
ifeq ($(SDK_FROM_SRC),y)
|
|
|
|
$(eval $(call add_derived_package,$(WJH_LIBS),$(WJH_LIBS_DBGSYM)))
|
|
|
|
endif
|
|
|
|
|
|
|
|
SX_KERNEL = sx-kernel_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(SX_KERNEL)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
|
|
|
|
$(SX_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-kernel
|
|
|
|
SX_KERNEL_DEV = sx-kernel-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
|
|
|
|
$(eval $(call add_derived_package,$(SX_KERNEL),$(SX_KERNEL_DEV)))
|
2019-06-18 12:00:16 -05:00
|
|
|
|
2019-10-08 09:57:13 -05:00
|
|
|
define make_path
|
2020-07-18 05:46:15 -05:00
|
|
|
$(1)_PATH = $(MLNX_SDK_PKG_BASE_PATH)
|
2016-12-05 13:12:19 -06:00
|
|
|
|
|
|
|
endef
|
|
|
|
|
2019-10-08 09:57:13 -05:00
|
|
|
$(eval $(foreach deb,$(MLNX_SDK_DEBS),$(call make_path,$(deb))))
|
|
|
|
$(eval $(foreach deb,$(MLNX_SDK_RDEBS),$(call make_path,$(deb))))
|
|
|
|
$(eval $(foreach deb,$(PYTHON_SDK_API) $(SX_KERNEL) $(SX_KERNEL_DEV),$(call make_path,$(deb))))
|
|
|
|
|
|
|
|
SONIC_MAKE_DEBS += $(SX_KERNEL)
|
2016-12-05 13:12:19 -06:00
|
|
|
|
2019-08-08 13:10:55 -05:00
|
|
|
ifeq ($(SDK_FROM_SRC), y)
|
2019-10-08 09:57:13 -05:00
|
|
|
SONIC_MAKE_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API)
|
2019-03-27 20:32:25 -05:00
|
|
|
else
|
2019-10-08 09:57:13 -05:00
|
|
|
SONIC_COPY_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API)
|
2019-03-27 20:32:25 -05:00
|
|
|
endif
|
|
|
|
|
|
|
|
mlnx-sdk-packages: $(addprefix $(DEBS_PATH)/, $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API) $(SX_KERNEL))
|
|
|
|
|
|
|
|
SONIC_PHONY_TARGETS += mlnx-sdk-packages
|