import rdma-core-37.1-1.el8

This commit is contained in:
CentOS Sources 2021-11-12 04:22:13 +00:00 committed by Stepan Oksanichenko
parent 5500dab26f
commit 5b551922ec
4 changed files with 11 additions and 88 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/rdma-core-35.0.tar.gz
SOURCES/rdma-core-37.1.tar.gz
SOURCES/rxe_cfg.8.gz

View File

@ -1,2 +1,2 @@
de4b0a7d11ba10b4d35687a6dce8d3d6a60df342 SOURCES/rdma-core-35.0.tar.gz
cdd206d938d6e3add2ed18c106e58a1db8b78912 SOURCES/rdma-core-37.1.tar.gz
9187638355d9bee854989bbfc6c2956301fd52aa SOURCES/rxe_cfg.8.gz

View File

@ -1,71 +0,0 @@
From 23408827f9f74062a43041154a78505bc9fa4ed8 Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Tue, 3 Nov 2020 20:21:33 +0800
Subject: [PATCH] Only load i40iw for i40e device with specific PCI IDs
This a redhat specific hack to handle i40iw huge memory consuming issue.
rdma-core upstream maintainer believes this issue should be handled in
kernel space with i40e/i40iw driver. Unfortunately, Intel does not care
about this request.
<snip>
Just for the record, why is it a bad idea to use the original udev
rule that contained "kmod load i40iw". Two reasons:
a) for most i40e NICs i40iw is irrelevant and we have the memory issue
that Intel won't fix.
b) if i40iw is loaded you can no longer unload i40e by itself.
$ modprobe i40iw
$ modprobe -r i40e
modprobe: FATAL: Module i40e is in use.
Bad user experience and we may break existing user scripts!
Even worse unloading i40iw unloads i40e implicitly.
Also i40iw is going away upstream at some point.
<snip>
Resolves: bz1850462
Signed-off-by: Honggang Li <honli@redhat.com>
---
kernel-boot/rdma-hw-modules.rules | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/kernel-boot/rdma-hw-modules.rules b/kernel-boot/rdma-hw-modules.rules
index 95eaf7206702..541516eb98f4 100644
--- a/kernel-boot/rdma-hw-modules.rules
+++ b/kernel-boot/rdma-hw-modules.rules
@@ -11,11 +11,29 @@ ENV{ID_NET_DRIVER}=="be2net", RUN{builtin}+="kmod load ocrdma"
ENV{ID_NET_DRIVER}=="bnxt_en", RUN{builtin}+="kmod load bnxt_re"
ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
-ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
ENV{ID_NET_DRIVER}=="mlx4_en", RUN{builtin}+="kmod load mlx4_ib"
ENV{ID_NET_DRIVER}=="mlx5_core", RUN{builtin}+="kmod load mlx5_ib"
ENV{ID_NET_DRIVER}=="qede", RUN{builtin}+="kmod load qedr"
+# Because most of X722 don't support RDMA, only load i40iw for X722 with specific device IDs.
+#define I40E_INTEL_VENDOR_ID 0x8086
+#define I40E_DEV_ID_X722 0x37CC
+#define I40E_DEV_ID_KX_X722 0x37CE
+#define I40E_DEV_ID_QSFP_X722 0x37CF
+#define I40E_DEV_ID_SFP_X722 0x37D0
+#define I40E_DEV_ID_1G_BASE_T_X722 0x37D1
+#define I40E_DEV_ID_10G_BASE_T_X722 0x37D2
+#define I40E_DEV_ID_SFP_I_X722 0x37D3
+#define I40E_DEV_ID_X722_VF 0x37CD
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37cc", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37ce", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37cf", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37d0", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37d1", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37d2", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37d3", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="i40e", ENV{ID_VENDOR_ID}=="0x8086", ENV{ID_MODEL_ID}=="0x37cd", RUN{builtin}+="kmod load i40iw"
+
# The user must explicitly load these modules via /etc/modules-load.d/ or otherwise
# rxe
--
2.25.4

View File

@ -1,5 +1,5 @@
Name: rdma-core
Version: 35.0
Version: 37.1
Release: 1%{?dist}
Summary: RDMA core userspace libraries and daemons
@ -19,7 +19,6 @@ Source3: rxe_cfg.8.gz
Patch3: udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
# RHEL specific patch for OPA ibacm plugin
Patch300: 0001-ibacm-acm.c-load-plugin-while-it-is-soft-link.patch
Patch301: 0001-Only-load-i40iw-for-i40e-device-with-specific-PCI-ID.patch
# Do not build static libs by default.
%define with_static %{?_with_static: 1} %{?!_with_static: 0}
@ -92,7 +91,6 @@ dracut rules, and the rdma-ndd utility.
%package devel
Summary: RDMA core development libraries and headers
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libibverbs%{?_isa} = %{version}-%{release}
Provides: libibverbs-devel = %{version}-%{release}
Obsoletes: libibverbs-devel < %{version}-%{release}
@ -102,7 +100,6 @@ Obsoletes: libibumad-devel < %{version}-%{release}
Requires: librdmacm%{?_isa} = %{version}-%{release}
Provides: librdmacm-devel = %{version}-%{release}
Obsoletes: librdmacm-devel < %{version}-%{release}
Requires: ibacm%{?_isa} = %{version}-%{release}
Provides: ibacm-devel = %{version}-%{release}
Obsoletes: ibacm-devel < %{version}-%{release}
Requires: infiniband-diags%{?_isa} = %{version}-%{release}
@ -130,15 +127,14 @@ programs. These include MAD, SA, SMP, and other basic IB functions.
%package -n libibverbs
Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWARP/RoCE) hardware
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libcxgb4 = %{version}-%{release}
Obsoletes: libcxgb4 < %{version}-%{release}
Provides: libefa = %{version}-%{release}
Obsoletes: libefa < %{version}-%{release}
Provides: libhfi1 = %{version}-%{release}
Obsoletes: libhfi1 < %{version}-%{release}
Provides: libi40iw = %{version}-%{release}
Obsoletes: libi40iw < %{version}-%{release}
Provides: libirdma = %{version}-%{release}
Obsoletes: libirdma < %{version}-%{release}
Provides: libmlx4 = %{version}-%{release}
Obsoletes: libmlx4 < %{version}-%{release}
%ifnarch s390
@ -162,7 +158,7 @@ Device-specific plug-in ibverbs userspace drivers are included:
- libefa: Amazon Elastic Fabric Adapter
- libhfi1: Intel Omni-Path HFI
- libhns: HiSilicon Hip06 SoC
- libi40iw: Intel Ethernet Connection X722 RDMA
- libirdma: Intel Ethernet Connection RDMA
- libmlx4: Mellanox ConnectX-3 InfiniBand HCA
- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
- libqedr: QLogic QL4xxx RoCE HCA
@ -184,7 +180,6 @@ displays information about RDMA devices.
%package -n ibacm
Summary: InfiniBand Communication Manager Assistant
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libibumad%{?_isa} = %{version}-%{release}
Requires: libibverbs%{?_isa} = %{version}-%{release}
@ -201,7 +196,6 @@ library knows how to talk directly to the ibacm daemon to retrieve data.
%package -n iwpmd
Summary: iWarp Port Mapper userspace daemon
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n iwpmd
iwpmd provides a userspace service for iWarp drivers to claim
@ -209,7 +203,6 @@ tcp ports through the standard socket interface.
%package -n libibumad
Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n libibumad
libibumad provides the userspace management datagram (umad) library
@ -218,7 +211,6 @@ are used by the IB diagnostic and management tools, including OpenSM.
%package -n librdmacm
Summary: Userspace RDMA Connection Manager
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libibverbs%{?_isa} = %{version}-%{release}
%description -n librdmacm
@ -238,7 +230,6 @@ Obsoletes: srptools <= 1.0.3
Provides: srptools = %{version}-%{release}
Obsoletes: openib-srptools <= 0.0.6
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libibumad%{?_isa} = %{version}-%{release}
Requires: libibverbs%{?_isa} = %{version}-%{release}
@ -262,7 +253,6 @@ easy, object-oriented access to IB verbs.
%setup -q
%patch3 -p1
%patch300 -p1
%patch301 -p1
%build
@ -293,7 +283,7 @@ easy, object-oriented access to IB verbs.
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
-DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \
-DWITH_IBDIAGS_COMPAT:BOOL=False \
-DENABLE_IBDIAGS_COMPAT:BOOL=False \
%if %{with_static}
-DENABLE_STATIC=1 \
%endif
@ -648,6 +638,10 @@ fi
%endif
%changelog
* Tue Nov 09 2021 Honggang Li <honli@redhat.com> - 37.1-1
- Update to upstream v37.1 release for features and fixes
- Resolves: bz1982200, bz1990120, bz1982131
* Fri May 14 2021 Honggang Li <honli@redhat.com> - 35.0-1
- Update to upstream v35 release for features and fixes
- Resolves: bz1915311