import rdma-core-37.2-1.el8
This commit is contained in:
parent
36179cfd96
commit
015f57df98
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
SOURCES/rdma-core-35.0.tar.gz
|
||||
SOURCES/rdma-core-37.2.tar.gz
|
||||
SOURCES/rxe_cfg.8.gz
|
||||
|
@ -1,2 +1,2 @@
|
||||
de4b0a7d11ba10b4d35687a6dce8d3d6a60df342 SOURCES/rdma-core-35.0.tar.gz
|
||||
ec4596f069873bc3119f0cf2ed076a0aef61c2cf SOURCES/rdma-core-37.2.tar.gz
|
||||
9187638355d9bee854989bbfc6c2956301fd52aa SOURCES/rxe_cfg.8.gz
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,63 @@
|
||||
From 698f2ae804767635342694d31d9590fe6ad2217e Mon Sep 17 00:00:00 2001
|
||||
From: Kamal Heib <kamalheib1@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 16:12:11 +0200
|
||||
Subject: [PATCH] tests: Fix comparing qp_state for iWARP providers.
|
||||
|
||||
The initial QP state for iWARP providers is IBV_QPS_INIT (not
|
||||
IBV_QPS_RESET), Change the test to handle this case.
|
||||
|
||||
Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
|
||||
---
|
||||
tests/test_qp.py | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/test_qp.py b/tests/test_qp.py
|
||||
index b952c95e..a66f724f 100644
|
||||
--- a/tests/test_qp.py
|
||||
+++ b/tests/test_qp.py
|
||||
@@ -14,6 +14,7 @@ from pyverbs.pyverbs_error import PyverbsRDMAError
|
||||
from pyverbs.qp import QPInitAttr, QPAttr, QP
|
||||
from tests.base import PyverbsAPITestCase
|
||||
import pyverbs.utils as pu
|
||||
+import pyverbs.device as d
|
||||
import pyverbs.enums as e
|
||||
from pyverbs.pd import PD
|
||||
from pyverbs.cq import CQ
|
||||
@@ -177,6 +178,11 @@ class QPTest(PyverbsAPITestCase):
|
||||
self.assertLessEqual(orig_cap.max_recv_sge, init_attr.cap.max_recv_sge)
|
||||
self.assertLessEqual(orig_cap.max_inline_data, init_attr.cap.max_inline_data)
|
||||
|
||||
+ def get_node_type(self):
|
||||
+ for dev in d.get_device_list():
|
||||
+ if dev.name.decode() == self.ctx.name:
|
||||
+ return dev.node_type
|
||||
+
|
||||
def query_qp_common_test(self, qp_type):
|
||||
with PD(self.ctx) as pd:
|
||||
with CQ(self.ctx, 100, None, None, 0) as cq:
|
||||
@@ -190,14 +196,20 @@ class QPTest(PyverbsAPITestCase):
|
||||
caps = qia.cap
|
||||
qp = self.create_qp(pd, qia, False, False, self.ib_port)
|
||||
qp_attr, qp_init_attr = qp.query(e.IBV_QP_STATE | e.IBV_QP_CAP)
|
||||
- self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
|
||||
+ if self.get_node_type() == e.IBV_NODE_RNIC:
|
||||
+ self.verify_qp_attrs(caps, e.IBV_QPS_INIT, qp_init_attr, qp_attr)
|
||||
+ else:
|
||||
+ self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
|
||||
|
||||
# Extended QP
|
||||
qia = get_qp_init_attr_ex(cq, pd, self.attr, self.attr_ex, qp_type)
|
||||
caps = qia.cap # Save them to verify values later
|
||||
qp = self.create_qp(self.ctx, qia, True, False, self.ib_port)
|
||||
qp_attr, qp_init_attr = qp.query(e.IBV_QP_STATE | e.IBV_QP_CAP)
|
||||
- self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
|
||||
+ if self.get_node_type() == e.IBV_NODE_RNIC:
|
||||
+ self.verify_qp_attrs(caps, e.IBV_QPS_INIT, qp_init_attr, qp_attr)
|
||||
+ else:
|
||||
+ self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
|
||||
|
||||
def test_query_rc_qp(self):
|
||||
"""
|
||||
--
|
||||
2.33.1
|
||||
|
@ -1,5 +1,5 @@
|
||||
Name: rdma-core
|
||||
Version: 35.0
|
||||
Version: 37.2
|
||||
Release: 1%{?dist}
|
||||
Summary: RDMA core userspace libraries and daemons
|
||||
|
||||
@ -19,7 +19,8 @@ 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
|
||||
|
||||
Patch301: 0001-tests-Fix-comparing-qp_state-for-iWARP-providers.patch
|
||||
# Do not build static libs by default.
|
||||
%define with_static %{?_with_static: 1} %{?!_with_static: 0}
|
||||
|
||||
@ -92,7 +93,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 +102,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 +129,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 +160,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 +182,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 +198,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 +205,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 +213,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 +232,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}
|
||||
|
||||
@ -293,7 +286,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 +641,14 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Jan 06 2022 Honggang Li <honli@redhat.com> - 37.2-1
|
||||
- Update to upstream v37.2 release for fixes
|
||||
- Resolves: bz2008509, bz2024865, bz1915555
|
||||
|
||||
* 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
|
||||
|
Loading…
Reference in New Issue
Block a user