diff --git a/debian_pkg_dirs b/debian_pkg_dirs
index 52483a6a..07c657ca 100644
--- a/debian_pkg_dirs
+++ b/debian_pkg_dirs
@@ -7,3 +7,5 @@ kernel-modules/intel-opae-fpga
kernel-modules/mlnx-ofa_kernel
kernel-modules/qat17
userspace/mellanox/rdma-core
+userspace/mellanox/mstflint
+userspace/mellanox/mlnx-tools
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch b/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch
index 54cee685..4e87a51f 100644
--- a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch
+++ b/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch
@@ -1,6 +1,6 @@
-From 03f743455b29b3be08d5158ab7358dff524644aa Mon Sep 17 00:00:00 2001
-From: Li Zhou
-Date: Sun, 26 Sep 2021 06:22:38 +0000
+From 216846310710ed1d1e2c7d3440275dad5b2f71ef Mon Sep 17 00:00:00 2001
+From: Jiping Ma
+Date: Wed, 23 Mar 2022 22:59:40 -0700
Subject: [PATCH] mlnx-ofa_kernel: adapt the debian folder for starlingX
Adapt the upstream debian folder for starlingX:
@@ -9,36 +9,57 @@ Adapt the upstream debian folder for starlingX:
- add the building configuration <--build-dummy-mods> and install
mlnx.conf to keep aligned with starlingX;
- adapt the kernelver to make the building work.
+- add support for kernel-rt.
+- add postinst, prerm files for rt build that are copied from the original
+ files postinst, prerm. For example, mlnx-ofed-kernel-modules-rt.prerm is
+ copied from mlnx-ofed-kernel-modules.prerm.
Signed-off-by: Li Zhou
+[jm: Adapted the patch for context change, and added postinst,
+prerm files for rt build.]
+Signed-off-by: Jiping Ma
---
- debian/control | 21 ++++++---------------
- debian/extra/mlnx.conf | 19 +++++++++++++++++++
- debian/rules | 22 ++++++++++++++++++----
- 3 files changed, 43 insertions(+), 19 deletions(-)
+ debian/control | 23 ++++-------
+ debian/extra/mlnx.conf | 19 +++++++++
+ debian/mlnx-ofed-kernel-modules-rt.postinst | 17 ++++++++
+ debian/mlnx-ofed-kernel-modules-rt.prerm | 10 +++++
+ debian/mlnx-ofed-kernel-utils-rt.postinst | 46 +++++++++++++++++++++
+ debian/mlnx-ofed-kernel-utils-rt.postrm | 13 ++++++
+ debian/mlnx-ofed-kernel-utils-rt.prerm | 22 ++++++++++
+ debian/rules | 26 +++++++++---
+ 8 files changed, 154 insertions(+), 22 deletions(-)
create mode 100644 debian/extra/mlnx.conf
+ create mode 100755 debian/mlnx-ofed-kernel-modules-rt.postinst
+ create mode 100755 debian/mlnx-ofed-kernel-modules-rt.prerm
+ create mode 100755 debian/mlnx-ofed-kernel-utils-rt.postinst
+ create mode 100755 debian/mlnx-ofed-kernel-utils-rt.postrm
+ create mode 100755 debian/mlnx-ofed-kernel-utils-rt.prerm
diff --git a/debian/control b/debian/control
-index e9c2285..176d36f 100644
+index 2ed05f9..9abdfad 100644
--- a/debian/control
+++ b/debian/control
-@@ -2,7 +2,7 @@ Source: mlnx-ofed-kernel
+@@ -2,29 +2,20 @@ Source: mlnx-ofed-kernel
Section: net
Priority: optional
Maintainer: Vladimir Sokolovsky
--Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python
-+Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux-headers-5.10.0-6-amd64, linux-kbuild-5.10
+-Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms,
++Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, linux@KERNEL_TYPE@-headers-5.10.0-6-amd64, linux@KERNEL_TYPE@-kbuild-5.10
Standards-Version: 3.9.2
Homepage: http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
-@@ -11,18 +11,9 @@ Architecture: any
- Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof
+-Package: mlnx-ofed-kernel-utils
++Package: mlnx-ofed-kernel-utils@KERNEL_TYPE@
+ Architecture: any
+ Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof,
+ mlnx-tools (>= 5.2.0),
+ Conflicts: mlnx-en-utils
Description: Userspace tools to restart and tune mlnx-ofed kernel modules
-Package: mlnx-ofed-kernel-dkms
-Section: kernel
-Architecture: all
--Depends: dkms, make, ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof, mlnx-ofed-kernel-utils, python3-distutils | python
+-Depends: dkms, make, ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof, mlnx-ofed-kernel-utils,
-Recommends: linux-headers-arm64 | linux-headers-powerpc | linux-headers-ppc64 | linux-headers-ppc64le | linux-headers-amd64 | linux-headers-generic | linux-headers
-Provides: mlnx-rdma-rxe-dkms
-Conflicts: mlnx-rdma-rxe-dkms
@@ -47,7 +68,7 @@ index e9c2285..176d36f 100644
- This package provides integration with the DKMS infrastructure for
- automatically building out of tree kernel modules.
- .
-+Package: mlnx-ofed-kernel-modules
++Package: mlnx-ofed-kernel-modules@KERNEL_TYPE@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: ofed kernel modules
@@ -80,13 +101,151 @@ index 0000000..d6ced47
+rpcrdma
+svcrdma
+xprtrdma
+diff --git a/debian/mlnx-ofed-kernel-modules-rt.postinst b/debian/mlnx-ofed-kernel-modules-rt.postinst
+new file mode 100755
+index 0000000..a67c0c4
+--- /dev/null
++++ b/debian/mlnx-ofed-kernel-modules-rt.postinst
+@@ -0,0 +1,17 @@
++#!/bin/bash
++
++symlink="/usr/src/ofa_kernel/default"
++if [ "$1" = "configure" ]; then
++ if [ -L "$symlink" ] && \
++ ! update-alternatives --list ofa_kernel_headers >/dev/null 2>&1;
++ then
++ rm -f "$symlink"
++ fi
++ mkdir -p /usr/src/ofa_kernel
++ update-alternatives --install "$symlink" ofa_kernel_headers \
++ /usr/src/ofa_kernel/@ARCH@/@KVER@ 30
++fi
++
++#DEBHELPER#
++
++exit 0
+diff --git a/debian/mlnx-ofed-kernel-modules-rt.prerm b/debian/mlnx-ofed-kernel-modules-rt.prerm
+new file mode 100755
+index 0000000..6f1b1df
+--- /dev/null
++++ b/debian/mlnx-ofed-kernel-modules-rt.prerm
+@@ -0,0 +1,10 @@
++#!/bin/sh
++
++set -e
++
++if [ "$1" = remove ]; then
++ update-alternatives --remove ofa_kernel_headers \
++ /usr/src/ofa_kernel/@ARCH@/@KVER@
++fi
++
++#DEBHELPER#
+diff --git a/debian/mlnx-ofed-kernel-utils-rt.postinst b/debian/mlnx-ofed-kernel-utils-rt.postinst
+new file mode 100755
+index 0000000..4e7ade8
+--- /dev/null
++++ b/debian/mlnx-ofed-kernel-utils-rt.postinst
+@@ -0,0 +1,46 @@
++#!/bin/bash
++
++dist=`lsb_release -s -i | tr '[:upper:]' '[:lower:]'`
++dist_ver=`lsb_release -s -r`
++
++if [ "X$dist" != "Xubuntu" ]; then
++ /usr/sbin/update-rc.d openibd defaults > /dev/null 2>&1
++fi
++
++if (systemctl 2>/dev/null | grep -qw "\\-\.mount" 2>/dev/null); then
++ systemctl daemon-reload >/dev/null 2>&1 || true
++ systemctl enable openibd >/dev/null 2>&1 || true
++ cat /proc/sys/kernel/random/boot_id 2>/dev/null | sed -e 's/-//g' > /var/run/openibd.bootid || true
++ test -s /var/run/openibd.bootid || echo manual > /var/run/openibd.bootid || true
++fi
++
++# set specific module parameter for Ubuntu
++echo "options ib_ipoib send_queue_size=128 recv_queue_size=128" >> /etc/modprobe.d/ib_ipoib.conf
++
++# Update limits.conf (but not for Containers)
++if [ ! -e "/.dockerenv" ] && ! (grep -q docker /proc/self/cgroup 2>/dev/null); then
++ if [ -e /etc/security/limits.conf ]; then
++ LIMITS_UPDATED=0
++ if ! (grep -qE "soft.*memlock" /etc/security/limits.conf 2>/dev/null); then
++ echo "* soft memlock unlimited" >> /etc/security/limits.conf
++ LIMITS_UPDATED=1
++ fi
++ if ! (grep -qE "hard.*memlock" /etc/security/limits.conf 2>/dev/null); then
++ echo "* hard memlock unlimited" >> /etc/security/limits.conf
++ LIMITS_UPDATED=1
++ fi
++ if [ $LIMITS_UPDATED -eq 1 ]; then
++ echo "Configured /etc/security/limits.conf"
++ fi
++ fi
++fi
++
++for old_udev in \
++ /etc/udev/rules.d/82-net-setup-link.rules \
++ /etc/udev/rules.d/83-net-setup-link.rules \
++ /etc/udev/rules.d/90-ib \
++; do
++ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
++done
++
++exit 0
+diff --git a/debian/mlnx-ofed-kernel-utils-rt.postrm b/debian/mlnx-ofed-kernel-utils-rt.postrm
+new file mode 100755
+index 0000000..53a9430
+--- /dev/null
++++ b/debian/mlnx-ofed-kernel-utils-rt.postrm
+@@ -0,0 +1,13 @@
++#!/bin/sh
++
++set -e
++
++for old_udev in \
++ /etc/udev/rules.d/82-net-setup-link.rules \
++ /etc/udev/rules.d/83-net-setup-link.rules \
++ /etc/udev/rules.d/90-ib \
++; do
++ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
++done
++
++#DEBHELPER#
+diff --git a/debian/mlnx-ofed-kernel-utils-rt.prerm b/debian/mlnx-ofed-kernel-utils-rt.prerm
+new file mode 100755
+index 0000000..27f697b
+--- /dev/null
++++ b/debian/mlnx-ofed-kernel-utils-rt.prerm
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++dist=`lsb_release -s -i | tr '[:upper:]' '[:lower:]'`
++dist_ver=`lsb_release -s -r`
++
++if [ "X$dist" != "Xubuntu" ]; then
++ /usr/sbin/update-rc.d -f openibd remove > /dev/null 2>&1
++fi
++
++if (systemctl 2>/dev/null | grep -qw "\\-\.mount" 2>/dev/null); then
++ systemctl disable openibd >/dev/null 2>&1 || true
++fi
++
++for old_udev in \
++ /etc/udev/rules.d/82-net-setup-link.rules \
++ /etc/udev/rules.d/83-net-setup-link.rules \
++ /etc/udev/rules.d/90-ib \
++; do
++ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
++done
++
++exit 0
diff --git a/debian/rules b/debian/rules
-index cd95a6b..3c0727c 100755
+index db99d8c..84b8d80 100755
--- a/debian/rules
+++ b/debian/rules
-@@ -15,8 +15,20 @@
- # Uncomment this to turn on verbose mode.
- #export DH_VERBOSE=1
+@@ -17,8 +17,20 @@
+
+ -include /usr/share/dpkg/architecture.mk
-WITH_DKMS ?= 1
-WITH_MOD_SIGN ?= 0
@@ -95,8 +254,8 @@ index cd95a6b..3c0727c 100755
+
+#Here kernelver should be the one this package depends on,
+#while "uname -r" got the building machine's os release number.
-+kheaders_name = $(shell ls /usr/src | grep linux-headers | grep amd64)
-+kernelver = $(shell echo $(kheaders_name) | sed 's/linux-headers-//g')
++kheaders_name = $(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
++kernelver = $(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
+
+ifeq ($(WITH_MOD_SIGN),1)
+_keydir ?= /usr/src/kernels/$(kernelver)/
@@ -107,6 +266,18 @@ index cd95a6b..3c0727c 100755
MLXNUMC = $(shell grep ^processor /proc/cpuinfo | wc -l)
NJOBS ?= $(shell if [ $(MLXNUMC) -lt 16 ]; then echo $(MLXNUMC); else echo 16; fi)
+@@ -27,9 +39,9 @@ psource:=$(pname)-source
+ ifeq ($(WITH_DKMS),1)
+ pdkms:=$(pname)-dkms
+ else
+-pdkms:=$(pname)-modules
++pdkms:=$(pname)-modules@KERNEL_TYPE@
+ endif
+-putils:=$(pname)-utils
++putils:=$(pname)-utils@KERNEL_TYPE@
+
+ pversion := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
+ prel := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-\(.\+\)/\2/p')
@@ -40,7 +52,6 @@ export INSTALL_MOD_PATH:=$(CURDIR)/debian/$(pdkms)
DIST_NAME := $(shell lsb_release -si)
DIST_RELEASE := $(DIST_NAME)/$(shell lsb_release -sc)
@@ -114,8 +285,8 @@ index cd95a6b..3c0727c 100755
-kernelver ?= $(shell uname -r)
kernelver1 = $(shell echo $(kernelver) | sed -e 's/_/-/g')
kernel_source_dir ?= "/lib/modules/$(kernelver)/build"
-
-@@ -61,7 +72,7 @@ override_dh_auto_configure:
+ deb_arch = $(shell uname -m)
+@@ -62,7 +73,7 @@ override_dh_auto_configure:
ifneq ($(WITH_DKMS),1)
@echo Building for $(kernelver)
find compat -type f -exec touch -t 200012201010 '{}' \; || true
@@ -123,10 +294,10 @@ index cd95a6b..3c0727c 100755
+ $(CURDIR)/configure --kernel-version=$(kernelver) --kernel-sources=$(kernel_source_dir) $(shell $(CURDIR)/ofed_scripts/dkms_ofed $(kernelver) $(kernel_source_dir) get-config) --with-njobs=$(NJOBS) --build-dummy-mods
endif
- override_dh_auto_build:
-@@ -190,6 +201,9 @@ endif
-
- cd ofed_scripts/utils; $(PYTHON) ./setup.py install --install-layout=deb --root=../../debian/$(putils)
+ mod_dev_dir = /usr/src/ofa_kernel/$(deb_arch)/$(kernelver)
+@@ -181,6 +192,9 @@ endif
+ install -m 0755 source/ofed_scripts/odp_stat.sh debian/$(putils)/usr/sbin
+ install -m 0755 ofed_scripts/mlnx_bf_assign_ct_cores.sh debian/$(putils)/usr/share/mlnx_ofed
+ dh_installdirs -p$(pdkms) /etc/modules-load.d/
+ install -m 644 debian/extra/mlnx.conf debian/$(pdkms)/etc/modules-load.d/
@@ -135,5 +306,5 @@ index cd95a6b..3c0727c 100755
--
-2.17.1
+2.35.1
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-add-support-for-kernel-rt.patch b/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-add-support-for-kernel-rt.patch
deleted file mode 100644
index 47897089..00000000
--- a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/0001-mlnx-ofa_kernel-add-support-for-kernel-rt.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 936b50bcc4d970a118712cdf8059f06256dd9309 Mon Sep 17 00:00:00 2001
-From: Li Zhou
-Date: Fri, 10 Dec 2021 16:56:54 +0800
-Subject: [PATCH] mlnx-ofa_kernel: add support for kernel-rt
-
-Signed-off-by: Li Zhou
----
- debian/control | 6 +++---
- debian/rules | 8 ++++----
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/debian/control b/debian/control
-index 176d36f..9849247 100644
---- a/debian/control
-+++ b/debian/control
-@@ -2,16 +2,16 @@ Source: mlnx-ofed-kernel
- Section: net
- Priority: optional
- Maintainer: Vladimir Sokolovsky
--Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux-headers-5.10.0-6-amd64, linux-kbuild-5.10
-+Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux@KERNEL_TYPE@-headers-5.10.0-6-amd64, linux@KERNEL_TYPE@-kbuild-5.10
- Standards-Version: 3.9.2
- Homepage: http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
-
--Package: mlnx-ofed-kernel-utils
-+Package: mlnx-ofed-kernel-utils@KERNEL_TYPE@
- Architecture: any
- Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof
- Description: Userspace tools to restart and tune mlnx-ofed kernel modules
-
--Package: mlnx-ofed-kernel-modules
-+Package: mlnx-ofed-kernel-modules@KERNEL_TYPE@
- Architecture: any
- Depends: ${shlibs:Depends}, ${misc:Depends}
- Description: ofed kernel modules
-diff --git a/debian/rules b/debian/rules
-index 82fddfb..2af2132 100755
---- a/debian/rules
-+++ b/debian/rules
-@@ -20,8 +20,8 @@ WITH_MOD_SIGN ?= 0
-
- #Here kernelver should be the one this package depends on,
- #while "uname -r" got the building machine's os release number.
--kheaders_name = $(shell ls /usr/src | grep linux-headers | grep amd64)
--kernelver = $(shell echo $(kheaders_name) | sed 's/linux-headers-//g')
-+kheaders_name = $(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
-+kernelver = $(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
-
- ifeq ($(WITH_MOD_SIGN),1)
- _keydir ?= /usr/src/kernels/$(kernelver)/
-@@ -39,9 +39,9 @@ psource:=$(pname)-source
- ifeq ($(WITH_DKMS),1)
- pdkms:=$(pname)-dkms
- else
--pdkms:=$(pname)-modules
-+pdkms:=$(pname)-modules@KERNEL_TYPE@
- endif
--putils:=$(pname)-utils
-+putils:=$(pname)-utils@KERNEL_TYPE@
-
- pversion := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
- prel := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-\(.\+\)/\2/p')
---
-2.17.1
-
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/series b/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/series
index 457030ba..5d50c55b 100644
--- a/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/series
+++ b/kernel-modules/mlnx-ofa_kernel/debian/deb_patches/series
@@ -1,2 +1 @@
0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch
-0001-mlnx-ofa_kernel-add-support-for-kernel-rt.patch
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/meta_data.yaml b/kernel-modules/mlnx-ofa_kernel/debian/meta_data.yaml
index 33572dae..9901b35a 100644
--- a/kernel-modules/mlnx-ofa_kernel/debian/meta_data.yaml
+++ b/kernel-modules/mlnx-ofa_kernel/debian/meta_data.yaml
@@ -1,11 +1,12 @@
---
-debver: 5.3
+debver: 5.5
debname: mlnx-ofed-kernel
dl_path:
- name: mlnx-ofa-kernel-5.3.tgz
+ name: mlnx-ofa-kernel-5.5.tgz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
- 5.3-1.0.0.1/SRPMS/mlnx-ofa_kernel-5.3.tgz"
- md5sum: 5bb7e5b85145a3315273c860567cbc1d
+ 5.5-1.0.3.2/SRPMS/mlnx-ofa_kernel-5.5.tgz"
+ md5sum: 5b9b3f9aa7c7207291538a1568c793ef
+ sha256sum: 50674ca9cb2905a0dd2077c782a0fcfe31d64f9e1e1ebdb5e0353a23dd9c36db
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-implicit-declaration-of-function-__is_constexpr.patch b/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-implicit-declaration-of-function-__is_constexpr.patch
deleted file mode 100644
index 90501220..00000000
--- a/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-implicit-declaration-of-function-__is_constexpr.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0f47e538b4bd929b2f5917030e0d58ca2ef9c4c3 Mon Sep 17 00:00:00 2001
-From: Jiping Ma
-Date: Mon, 23 Aug 2021 20:11:33 -0700
-Subject: [PATCH] implicit declaration of function '__is_constexpr'
-
-We get a build error now when we use kernel version 5.10.57
-include/linux/minmax.h:23:4: error: implicit declaration of function '__is_constexpr';
-Because commit 1354ec840899e87259286cc844d4c161ea86fae7 in the yocto kernel changed
-the definition of GENMASK_INPUT_CHECK from __builtin_constant_p to __is_constexpr.
-so we need add __is_constexpr definition in const.h
-
-Signed-off-by: Jiping Ma
-[lz: Adapt the file path for patching failure.]
-Signed-off-by: Li Zhou
----
- include/linux/const.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/include/linux/const.h b/include/linux/const.h
-index afe88a0..92daf28 100644
---- a/include/linux/const.h
-+++ b/include/linux/const.h
-@@ -7,6 +7,14 @@
-
- #include_next
-
-+/*
-+ * This returns a constant expression while determining if an argument is
-+ * a constant expression, most importantly without evaluating the argument.
-+ * Glory to Martin Uecker
-+ */
-+#define __is_constexpr(x) \
-+ (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
-+
- #ifndef UL
- #define UL(x) (_UL(x))
- #endif
---
-2.17.1
-
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-mlx5-pci_irq-Use-irq_update_affinity_hint.patch b/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-mlx5-pci_irq-Use-irq_update_affinity_hint.patch
new file mode 100644
index 00000000..6b3d7bf3
--- /dev/null
+++ b/kernel-modules/mlnx-ofa_kernel/debian/patches/0001-mlx5-pci_irq-Use-irq_update_affinity_hint.patch
@@ -0,0 +1,59 @@
+From 73bb521a587baf042d5e79aa2ff4b5e973c64a7b Mon Sep 17 00:00:00 2001
+From: Jiping Ma
+Date: Tue, 1 Mar 2022 18:42:47 -0800
+Subject: [PATCH] mlx5: pci_irq: Use irq_update_affinity_hint
+
+The StarlingX kernel was patched to deprecate irq_set_affinity_hint
+by cherry-picking the patches at:
+ https://lore.kernel.org/netdev/20210903152430.244937-1-nitesh@redhat.com/t/#u
+
+These patches have been mainlined as of this writing, with the following
+merge commit by Linus Torvalds:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=147cc5838c0f5c76e908b816e924ca378e0d4735
+
+This commit modifies the mlx5 driver so that it uses the
+irq_update_affinity_hint function instead of the irq_set_affinity_hint
+function. The former only sets the hint, whereas the latter sets both
+the hint and the IRQ affinity.
+
+Please note that this is a divergence from the aforementioned patch
+series, which make mlx5 use irq_set_affinity_and_hint, which currently
+behaves in the same way as irq_set_affinity_hint. The intent with
+diverging from mainline is to allow the user-specified IRQ affinity (via
+the irqaffinity= command line argument) take effect for the IRQs
+set up by the mlx5 device driver.
+
+The mlx5 commit in mainline is accessible at:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7451e9ea8e2055af39afe7ff39a5f68d8ec6b98d
+
+Signed-off-by: M. Vefa Bicakci
+Signed-off-by: Jiping Ma
+---
+ drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
+index 06ea6fc..dd97f89 100644
+--- a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
++++ b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
+@@ -175,7 +175,7 @@ static void irq_release(struct kref *kref)
+ * before calling it. This is why there is asymmetry with set_rmap
+ * which should be called after alloc_irq but before request_irq.
+ */
+- irq_set_affinity_hint(irq->irqn, NULL);
++ irq_update_affinity_hint(irq->irqn, NULL);
+ free_cpumask_var(irq->mask);
+ free_irq(irq->irqn, &irq->nh);
+ kfree(irq);
+@@ -276,7 +276,7 @@ static struct mlx5_irq *irq_request(struct mlx5_irq_pool *pool, int i,
+ goto err_xa;
+ }
+ affinity_copy(irq, affinity, mlx5_irq_table_get(dev));
+- irq_set_affinity_hint(irq->irqn, irq->mask);
++ irq_update_affinity_hint(irq->irqn, irq->mask);
+ cpu_get(mlx5_irq_table_get(dev), irq->mask);
+ return irq;
+ err_xa:
+--
+2.31.1
+
diff --git a/kernel-modules/mlnx-ofa_kernel/debian/patches/series b/kernel-modules/mlnx-ofa_kernel/debian/patches/series
index f64fe6a3..5a715395 100644
--- a/kernel-modules/mlnx-ofa_kernel/debian/patches/series
+++ b/kernel-modules/mlnx-ofa_kernel/debian/patches/series
@@ -1,2 +1 @@
-0001-implicit-declaration-of-function-__is_constexpr.patch
-0002-mlx5-pci_irq-Use-irq_update_affinity_hint.patch
+0001-mlx5-pci_irq-Use-irq_update_affinity_hint.patch
diff --git a/userspace/mellanox/mlnx-tools/debian/deb_patches/0001-mlnx-tools-Fix-the-build-error.patch b/userspace/mellanox/mlnx-tools/debian/deb_patches/0001-mlnx-tools-Fix-the-build-error.patch
new file mode 100644
index 00000000..9f57bbc2
--- /dev/null
+++ b/userspace/mellanox/mlnx-tools/debian/deb_patches/0001-mlnx-tools-Fix-the-build-error.patch
@@ -0,0 +1,40 @@
+From c41924f7bf26cef66ab1038e5723c56a3a070058 Mon Sep 17 00:00:00 2001
+From: Jiping Ma
+Date: Mon, 11 Apr 2022 02:07:30 -0700
+Subject: [PATCH] mlnx-tools: Fix the build error.
+
+This changes 5.2.0 from 5.2.0-OFED.5.5.1.0.3 in changelog to
+fix the following build error.
+
+debrepack - ERROR - dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
+debrepack - ERROR - dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
+debrepack - ERROR - dpkg-source --before-build .
+debrepack - ERROR - dpkg-source --before-build .
+debrepack - ERROR - dpkg-buildpackage: warning: building a source package without cleaning up as you asked; it might contain undesired files
+debrepack - ERROR - dpkg-buildpackage: warning: building a source package without cleaning up as you asked; it might contain undesired files
+debrepack - ERROR - dpkg-source -b .
+debrepack - ERROR - dpkg-source -b .
+debrepack - ERROR - dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision
+debrepack - ERROR - dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision
+debrepack - ERROR - dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 25
+debrepack - ERROR - dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 25
+debrepack - ERROR - [ Failed - "cd /localdisk/loadbuild/jma1/stx/std/mlnx-tools/mlnx-tools-5.2.0; dpkg-buildpackage -nc -us -uc -S -d" ]
+
+Signed-off-by: Jiping Ma
+---
+ debian/changelog | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/debian/changelog b/debian/changelog
+index c49bb20..c9b4370 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,4 +1,4 @@
+-mlnx-tools (5.2.0-OFED.5.5.1.0.3) UNRELEASED; urgency=medium
++mlnx-tools (5.2.0) UNRELEASED; urgency=medium
+
+ * Switched to a MLNX_OFED branch
+ * Native package
+--
+2.35.1
+
diff --git a/userspace/mellanox/mlnx-tools/debian/deb_patches/series b/userspace/mellanox/mlnx-tools/debian/deb_patches/series
new file mode 100644
index 00000000..d036833b
--- /dev/null
+++ b/userspace/mellanox/mlnx-tools/debian/deb_patches/series
@@ -0,0 +1 @@
+0001-mlnx-tools-Fix-the-build-error.patch
diff --git a/userspace/mellanox/mlnx-tools/debian/meta_data.yaml b/userspace/mellanox/mlnx-tools/debian/meta_data.yaml
new file mode 100644
index 00000000..313e7ef7
--- /dev/null
+++ b/userspace/mellanox/mlnx-tools/debian/meta_data.yaml
@@ -0,0 +1,12 @@
+---
+debver: 5.2.0
+debname: mlnx-tools
+dl_path:
+ name: mlnx-tools-5.2.0.tar.gz
+ url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
+ 5.5-1.0.3.2/SRPMS/mlnx-tools-5.2.0.tar.gz"
+ md5sum: 57523d5944fb936dad4c76311629b04a
+ sha256sum: db0246a22ffe0e75f64dfb41736ea4a21931f4f67fb971f519834eeab9176932
+revision:
+ dist: $STX_DIST
+ PKG_GITREVCOUNT: true
diff --git a/userspace/mellanox/mstflint/debian/deb_patches/0001-mstflint-Fix-the-build-errors.patch b/userspace/mellanox/mstflint/debian/deb_patches/0001-mstflint-Fix-the-build-errors.patch
new file mode 100644
index 00000000..bb3544a4
--- /dev/null
+++ b/userspace/mellanox/mstflint/debian/deb_patches/0001-mstflint-Fix-the-build-errors.patch
@@ -0,0 +1,34 @@
+From 6a0f5be8d7e5fa84b37a6dacce4a412f51681e6c Mon Sep 17 00:00:00 2001
+From: Jiping Ma
+Date: Thu, 7 Apr 2022 02:31:29 -0700
+Subject: [PATCH] mstflint: Fix the build errors.
+
+This adds the dependence libibmad-devel, zlib1g-dev, libssl-dev
+to fix the following errors.
+"configure: error: cannot find infiniband/mad.h . Use
+--disable-inband to remove this dependaency
+conftest.c:13:10: fatal error: ac_nonexistent.h:
+No such file or directory
+...cannot find openssl/sha.h"
+
+Signed-off-by: Jiping Ma
+---
+ debian/control | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/debian/control b/debian/control
+index 65bf6c3..0075a1d 100644
+--- a/debian/control
++++ b/debian/control
+@@ -2,7 +2,7 @@ Source: mstflint
+ Section: net
+ Priority: extra
+ Maintainer: Gal Sivan
+-Build-Depends: debhelper (>= 8.0.0), autotools-dev
++Build-Depends: debhelper (>= 8.0.0), autotools-dev, libibmad-devel, zlib1g-dev, libssl-dev
+ Standards-Version: 3.9.2
+ Homepage: http://www.mellanox.com
+ #Vcs-Git: git://git.debian.org/collab-maint/mstflint.git
+--
+2.35.1
+
diff --git a/userspace/mellanox/mstflint/debian/deb_patches/series b/userspace/mellanox/mstflint/debian/deb_patches/series
new file mode 100644
index 00000000..a3cd27d2
--- /dev/null
+++ b/userspace/mellanox/mstflint/debian/deb_patches/series
@@ -0,0 +1 @@
+0001-mstflint-Fix-the-build-errors.patch
diff --git a/userspace/mellanox/mstflint/debian/meta_data.yaml b/userspace/mellanox/mstflint/debian/meta_data.yaml
new file mode 100644
index 00000000..581adb70
--- /dev/null
+++ b/userspace/mellanox/mstflint/debian/meta_data.yaml
@@ -0,0 +1,12 @@
+---
+debver: 4.16.0-1
+debname: mstflint
+dl_path:
+ name: mstflint-4.16.0-1.tar.gz
+ url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
+ 5.5-1.0.3.2/SRPMS/mstflint-4.16.0-1.tar.gz"
+ md5sum: 951e5feb94a1e5ac3e121d1d3f66fee0
+ sha256sum: d24ea5b2265ad6260e142add4b87ac869a2e4414c66a2922017b4ad11f4f1fed
+revision:
+ dist: $STX_DIST
+ PKG_GITREVCOUNT: true
diff --git a/userspace/mellanox/rdma-core/debian/meta_data.yaml b/userspace/mellanox/rdma-core/debian/meta_data.yaml
index 1d22b743..aa9af81e 100644
--- a/userspace/mellanox/rdma-core/debian/meta_data.yaml
+++ b/userspace/mellanox/rdma-core/debian/meta_data.yaml
@@ -1,11 +1,12 @@
---
-debver: 52mlnx1
+debver: 55mlnx37
debname: rdma-core
dl_path:
- name: rdma-core-52mlnx1.tgz
+ name: rdma-core-55mlnx37.tgz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
- 5.3-1.0.0.1/SRPMS/rdma-core-52mlnx1.tgz"
- md5sum: 072058f44d6cbfc0ce2d9eae369b6fe6
+ 5.5-1.0.3.2/SRPMS/rdma-core-55mlnx37.tgz"
+ md5sum: 3ef7bc6e2e44029836c8731571cb219b
+ sha256sum: 865726dce11113b89d4563e5bc988dccf507d8f687ee6550dd2b0cede116465c
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true