Accepting request 1080269 from home:NMorey:branches:science:HPC

- Update to v45.0
  - Fixes for all providers
  - Support for Microsoft Azure Network Adapter
- Drop rdma-ndd-disable-systemd-ProtectHostName-feature.patch
  as it was fixed upstream.
- Refresh against latest sources:
  - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch
  - Revert-Update-kernel-headers.patch

OBS-URL: https://build.opensuse.org/request/show/1080269
OBS-URL: https://build.opensuse.org/package/show/science:HPC/rdma-core?expand=0&rev=166
This commit is contained in:
Nicolas Morey 2023-04-19 08:52:08 +00:00 committed by Git OBS Bridge
parent 5063f73c60
commit f860a88ca3
10 changed files with 978 additions and 66 deletions

View File

@ -1,4 +1,4 @@
commit a53161ed3b4ed1502c9fa47e82bd79dec29714ad commit 35b9f4d5bc4a71edcd4ff78b56c41becf3111fdf
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Fri Jan 10 09:24:53 2020 +0100 Date: Fri Jan 10 09:24:53 2020 +0100
@ -7,7 +7,7 @@ Date: Fri Jan 10 09:24:53 2020 +0100
This reverts commit c21a3cf5d9e4cef0904b4d47f1cb43be9efdbf90. This reverts commit c21a3cf5d9e4cef0904b4d47f1cb43be9efdbf90.
diff --git kernel-headers/CMakeLists.txt kernel-headers/CMakeLists.txt diff --git kernel-headers/CMakeLists.txt kernel-headers/CMakeLists.txt
index 2d0766dd1280..13624b22d81b 100644 index 82c191cad089..65d521744500 100644
--- kernel-headers/CMakeLists.txt --- kernel-headers/CMakeLists.txt
+++ kernel-headers/CMakeLists.txt +++ kernel-headers/CMakeLists.txt
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
@ -16,8 +16,8 @@ index 2d0766dd1280..13624b22d81b 100644
+ rdma/cxgb3-abi.h + rdma/cxgb3-abi.h
rdma/cxgb4-abi.h rdma/cxgb4-abi.h
rdma/efa-abi.h rdma/efa-abi.h
rdma/hns-abi.h rdma/erdma-abi.h
@@ -14,6 +15,7 @@ publish_internal_headers(rdma @@ -16,6 +17,7 @@ publish_internal_headers(rdma
rdma/mlx5_user_ioctl_cmds.h rdma/mlx5_user_ioctl_cmds.h
rdma/mlx5_user_ioctl_verbs.h rdma/mlx5_user_ioctl_verbs.h
rdma/mthca-abi.h rdma/mthca-abi.h
@ -25,15 +25,15 @@ index 2d0766dd1280..13624b22d81b 100644
rdma/ocrdma-abi.h rdma/ocrdma-abi.h
rdma/qedr-abi.h rdma/qedr-abi.h
rdma/rdma_netlink.h rdma/rdma_netlink.h
@@ -58,6 +60,7 @@ endfunction() @@ -65,6 +67,7 @@ endfunction()
# Transform the kernel ABIs used by the providers # Transform the kernel ABIs used by the providers
rdma_kernel_provider_abi( rdma_kernel_provider_abi(
rdma/bnxt_re-abi.h rdma/bnxt_re-abi.h
+ rdma/cxgb3-abi.h + rdma/cxgb3-abi.h
rdma/cxgb4-abi.h rdma/cxgb4-abi.h
rdma/efa-abi.h rdma/efa-abi.h
rdma/hns-abi.h rdma/erdma-abi.h
@@ -66,6 +69,7 @@ rdma_kernel_provider_abi( @@ -75,6 +78,7 @@ rdma_kernel_provider_abi(
rdma/mlx4-abi.h rdma/mlx4-abi.h
rdma/mlx5-abi.h rdma/mlx5-abi.h
rdma/mthca-abi.h rdma/mthca-abi.h

View File

@ -1,16 +1,16 @@
commit 87b0208768d75fad7f232552408f981f6f5b53b2 commit 881185ccce9463ebd755f75841cbf36dd75250ca
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> Author: Nicolas Morey <nmorey@suse.com>
Date: Fri Jan 10 09:07:51 2020 +0100 Date: Wed Apr 19 10:26:51 2023 +0200
Revert "libcxgb3: Remove libcxgb3 from rdma-core" Revert "libcxgb3: Remove libcxgb3 from rdma-core"
This reverts commit 36588f5844af4ef1e5b0d6ad002fa1adf9032653. This reverts commit 36588f5844af4ef1e5b0d6ad002fa1adf9032653.
diff --git CMakeLists.txt CMakeLists.txt diff --git CMakeLists.txt CMakeLists.txt
index bee504f9bac3..29b177abb4d3 100644 index 0cb68264852e..f280acc49267 100644
--- CMakeLists.txt --- CMakeLists.txt
+++ CMakeLists.txt +++ CMakeLists.txt
@@ -665,6 +665,7 @@ add_subdirectory(librdmacm/man) @@ -708,6 +708,7 @@ add_subdirectory(librdmacm/man)
# Providers # Providers
if (HAVE_COHERENT_DMA) if (HAVE_COHERENT_DMA)
add_subdirectory(providers/bnxt_re) add_subdirectory(providers/bnxt_re)
@ -19,10 +19,10 @@ index bee504f9bac3..29b177abb4d3 100644
add_subdirectory(providers/efa) add_subdirectory(providers/efa)
add_subdirectory(providers/efa/man) add_subdirectory(providers/efa/man)
diff --git MAINTAINERS MAINTAINERS diff --git MAINTAINERS MAINTAINERS
index c317f980abe8..8bbd57b61113 100644 index e7dce61c6fbf..6caee9bd9810 100644
--- MAINTAINERS --- MAINTAINERS
+++ MAINTAINERS +++ MAINTAINERS
@@ -51,6 +51,11 @@ M: Devesh Sharma <Devesh.sharma@broadcom.com> @@ -51,6 +51,11 @@ M: Selvin Xavier <selvin.xavier@broadcom.com>
S: Supported S: Supported
F: providers/bnxt_re/ F: providers/bnxt_re/
@ -35,13 +35,13 @@ index c317f980abe8..8bbd57b61113 100644
M: Steve Wise <swise@opengridcomputing.com> M: Steve Wise <swise@opengridcomputing.com>
S: Supported S: Supported
diff --git README.md README.md diff --git README.md README.md
index 48113de790cb..61d181756c85 100644 index 0e03de7647c7..289eb9b5c553 100644
--- README.md --- README.md
+++ README.md +++ README.md
@@ -15,6 +15,7 @@ under the providers/ directory. Support for the following Kernel RDMA drivers @@ -17,6 +17,7 @@ is included:
is included: - bnxt_re.ko
- efa.ko - efa.ko
- erdma.ko
+ - iw_cxgb3.ko + - iw_cxgb3.ko
- iw_cxgb4.ko - iw_cxgb4.ko
- hfi1.ko - hfi1.ko
@ -71,17 +71,17 @@ index 95eaf7206702..a9b5350aa79c 100644
ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce" 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}=="i40e", RUN{builtin}+="kmod load i40iw"
diff --git libibverbs/verbs.h libibverbs/verbs.h diff --git libibverbs/verbs.h libibverbs/verbs.h
index 7d42095652af..726832e0abe6 100644 index 287ce40f975f..2e97a4148141 100644
--- libibverbs/verbs.h --- libibverbs/verbs.h
+++ libibverbs/verbs.h +++ libibverbs/verbs.h
@@ -2204,6 +2204,7 @@ struct ibv_device **ibv_get_device_list(int *num_devices); @@ -2247,6 +2247,7 @@ struct ibv_device **ibv_get_device_list(int *num_devices);
struct verbs_devices_ops; struct verbs_devices_ops;
extern const struct verbs_device_ops verbs_provider_bnxt_re; extern const struct verbs_device_ops verbs_provider_bnxt_re;
+extern const struct verbs_device_ops verbs_provider_cxgb3; +extern const struct verbs_device_ops verbs_provider_cxgb3;
extern const struct verbs_device_ops verbs_provider_cxgb4; extern const struct verbs_device_ops verbs_provider_cxgb4;
extern const struct verbs_device_ops verbs_provider_efa; extern const struct verbs_device_ops verbs_provider_efa;
extern const struct verbs_device_ops verbs_provider_hfi1verbs; extern const struct verbs_device_ops verbs_provider_erdma;
diff --git providers/cxgb3/CMakeLists.txt providers/cxgb3/CMakeLists.txt diff --git providers/cxgb3/CMakeLists.txt providers/cxgb3/CMakeLists.txt
new file mode 100644 new file mode 100644
index 000000000000..a578105e7b28 index 000000000000..a578105e7b28
@ -3065,10 +3065,10 @@ index 000000000000..39a44192e29c
+ } + }
+} +}
diff --git suse/rdma-core.spec suse/rdma-core.spec diff --git suse/rdma-core.spec suse/rdma-core.spec
index e5d0950e332b..ff66281047b6 100644 index 36b9786f62b9..a84f41f39b4f 100644
--- suse/rdma-core.spec --- suse/rdma-core.spec
+++ suse/rdma-core.spec +++ suse/rdma-core.spec
@@ -182,6 +182,7 @@ RDMA core development libraries and headers. @@ -197,6 +197,7 @@ RDMA core development libraries and headers.
Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware
Group: System/Libraries Group: System/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
@ -3076,7 +3076,7 @@ index e5d0950e332b..ff66281047b6 100644
Obsoletes: libcxgb4-rdmav2 < %{version}-%{release} Obsoletes: libcxgb4-rdmav2 < %{version}-%{release}
Obsoletes: libefa-rdmav2 < %{version}-%{release} Obsoletes: libefa-rdmav2 < %{version}-%{release}
Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release} Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release}
@@ -209,6 +210,7 @@ fast path operations. @@ -225,6 +226,7 @@ fast path operations.
Device-specific plug-in ibverbs userspace drivers are included: Device-specific plug-in ibverbs userspace drivers are included:

View File

@ -8,7 +8,7 @@
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param> <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
<param name="revision">196bad56ed060612e22674b668b5ec3d8659ade3</param> <param name="revision">53ee89b4abb1463e7ae713103f552b2bef1307ce</param>
<param name="extract">suse/rdma-core.spec</param> <param name="extract">suse/rdma-core.spec</param>
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:ee3382c921b3da13b60f6f58fce3b258b4ab6ce8fe49f9732fc6266046d49965 oid sha256:2eeefd2783819cc849c62a78a397abc918a835e0132ed19167ff1a0dac8dd4a8
size 105144 size 106711

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:950394be3005b374c638e0928b6244bd48404cee09c5941b79f8d26c046073fc
size 1854349

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a1b2db06fd14c77c0bde7dc0ad577516841171c22a792f0e483ac4c8a3c5877
size 1897987

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed Apr 19 08:23:59 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
- Update to v45.0
- Fixes for all providers
- Support for Microsoft Azure Network Adapter
- Drop rdma-ndd-disable-systemd-ProtectHostName-feature.patch
as it was fixed upstream.
- Refresh against latest sources:
- Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch
- Revert-Update-kernel-headers.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 13 07:51:25 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> Thu Oct 13 07:51:25 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package rdma-core # spec file for package rdma-core
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -30,9 +30,9 @@
%define _modprobedir /lib/modprobe.d %define _modprobedir /lib/modprobe.d
%endif %endif
%define git_ver .0.196bad56ed06 %define git_ver .0.53ee89b4abb1
Name: rdma-core Name: rdma-core
Version: 42.0 Version: 45.0
Release: 0 Release: 0
Summary: RDMA core userspace libraries and daemons Summary: RDMA core userspace libraries and daemons
License: BSD-2-Clause OR GPL-2.0-only License: BSD-2-Clause OR GPL-2.0-only
@ -42,6 +42,7 @@ Group: Productivity/Networking/Other
%define verbs_so_major 1 %define verbs_so_major 1
%define rdmacm_so_major 1 %define rdmacm_so_major 1
%define umad_so_major 3 %define umad_so_major 3
%define mana_so_major 1
%define mlx4_so_major 1 %define mlx4_so_major 1
%define mlx5_so_major 1 %define mlx5_so_major 1
%define ibnetdisc_major 5 %define ibnetdisc_major 5
@ -51,6 +52,7 @@ Group: Productivity/Networking/Other
%define verbs_lname libibverbs%{verbs_so_major} %define verbs_lname libibverbs%{verbs_so_major}
%define rdmacm_lname librdmacm%{rdmacm_so_major} %define rdmacm_lname librdmacm%{rdmacm_so_major}
%define umad_lname libibumad%{umad_so_major} %define umad_lname libibumad%{umad_so_major}
%define mana_lname libmana%{mana_so_major}
%define mlx4_lname libmlx4-%{mlx4_so_major} %define mlx4_lname libmlx4-%{mlx4_so_major}
%define mlx5_lname libmlx5-%{mlx5_so_major} %define mlx5_lname libmlx5-%{mlx5_so_major}
@ -77,7 +79,6 @@ Patch1: Revert-Update-kernel-headers.patch
Patch2: disable-rdma-interface-renaming.patch Patch2: disable-rdma-interface-renaming.patch
Patch3: cxgb3-fix-declaration-of-free_context.patch Patch3: cxgb3-fix-declaration-of-free_context.patch
Patch4: cxgb3-fix-support-for-new-uquery-API.patch Patch4: cxgb3-fix-support-for-new-uquery-API.patch
Patch5: rdma-ndd-disable-systemd-ProtectHostName-feature.patch
BuildRequires: binutils BuildRequires: binutils
BuildRequires: cmake >= 2.8.11 BuildRequires: cmake >= 2.8.11
BuildRequires: gcc BuildRequires: gcc
@ -95,7 +96,7 @@ BuildRequires: pkgconfig(udev)
BuildRequires: python3-Cython BuildRequires: python3-Cython
BuildRequires: python3-devel BuildRequires: python3-devel
%endif %endif
%ifnarch s390 riscv64 %ifnarch s390 s390x
%if 0%{?suse_version} >= 1550 %if 0%{?suse_version} >= 1550
BuildRequires: valgrind-client-headers BuildRequires: valgrind-client-headers
%else %else
@ -170,6 +171,7 @@ Requires: %{umad_lname} = %{version}-%{release}
Requires: %{verbs_lname} = %{version}-%{release} Requires: %{verbs_lname} = %{version}-%{release}
%if 0%{?dma_coherent} %if 0%{?dma_coherent}
Requires: %{efa_lname} = %{version}-%{release} Requires: %{efa_lname} = %{version}-%{release}
Requires: %{mana_lname} = %{version}-%{release}
Requires: %{mlx4_lname} = %{version}-%{release} Requires: %{mlx4_lname} = %{version}-%{release}
Requires: %{mlx5_lname} = %{version}-%{release} Requires: %{mlx5_lname} = %{version}-%{release}
%endif %endif
@ -207,12 +209,11 @@ RDMA core development libraries and headers.
Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware
Group: System/Libraries Group: System/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: libcxgb3-rdmav2 < %{version}-%{release}
Obsoletes: libcxgb4-rdmav2 < %{version}-%{release} Obsoletes: libcxgb4-rdmav2 < %{version}-%{release}
Obsoletes: libefa-rdmav2 < %{version}-%{release} Obsoletes: libefa-rdmav2 < %{version}-%{release}
Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release} Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release}
Obsoletes: libi40iw-rdmav2 < %{version}-%{release}
Obsoletes: libipathverbs-rdmav2 < %{version}-%{release} Obsoletes: libipathverbs-rdmav2 < %{version}-%{release}
Obsoletes: libmana-rdmav2 < %{version}-%{release}
Obsoletes: libmlx4-rdmav2 < %{version}-%{release} Obsoletes: libmlx4-rdmav2 < %{version}-%{release}
Obsoletes: libmlx5-rdmav2 < %{version}-%{release} Obsoletes: libmlx5-rdmav2 < %{version}-%{release}
Obsoletes: libmthca-rdmav2 < %{version}-%{release} Obsoletes: libmthca-rdmav2 < %{version}-%{release}
@ -220,6 +221,7 @@ Obsoletes: libocrdma-rdmav2 < %{version}-%{release}
Obsoletes: librxe-rdmav2 < %{version}-%{release} Obsoletes: librxe-rdmav2 < %{version}-%{release}
%if 0%{?dma_coherent} %if 0%{?dma_coherent}
Requires: %{efa_lname} = %{version}-%{release} Requires: %{efa_lname} = %{version}-%{release}
Requires: %{mana_lname} = %{version}-%{release}
Requires: %{mlx4_lname} = %{version}-%{release} Requires: %{mlx4_lname} = %{version}-%{release}
Requires: %{mlx5_lname} = %{version}-%{release} Requires: %{mlx5_lname} = %{version}-%{release}
%endif %endif
@ -243,6 +245,7 @@ Device-specific plug-in ibverbs userspace drivers are included:
- libi40iw: Intel Ethernet Connection X722 RDMA - libi40iw: Intel Ethernet Connection X722 RDMA
- libipathverbs: QLogic InfiniPath HCA - libipathverbs: QLogic InfiniPath HCA
- libirdma: Intel Ethernet Connection RDMA - libirdma: Intel Ethernet Connection RDMA
- libmana: Microsoft Azure Network Adapter
- libmlx4: Mellanox ConnectX-3 InfiniBand HCA - libmlx4: Mellanox ConnectX-3 InfiniBand HCA
- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA - libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
- libmthca: Mellanox InfiniBand HCA - libmthca: Mellanox InfiniBand HCA
@ -267,6 +270,13 @@ Group: System/Libraries
%description -n %efa_lname %description -n %efa_lname
This package contains the efa runtime library. This package contains the efa runtime library.
%package -n %mana_lname
Summary: MANA runtime library
Group: System/Libraries
%description -n %mana_lname
This package contains the mana runtime library.
%package -n %mlx4_lname %package -n %mlx4_lname
Summary: MLX4 runtime library Summary: MLX4 runtime library
Group: System/Libraries Group: System/Libraries
@ -425,7 +435,6 @@ easy, object-oriented access to IB verbs.
%patch2 %patch2
%patch3 %patch3
%patch4 %patch4
%patch5
%build %build
@ -520,6 +529,9 @@ rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh
%post -n %efa_lname -p /sbin/ldconfig %post -n %efa_lname -p /sbin/ldconfig
%postun -n %efa_lname -p /sbin/ldconfig %postun -n %efa_lname -p /sbin/ldconfig
%post -n %mana_lname -p /sbin/ldconfig
%postun -n %mana_lname -p /sbin/ldconfig
%post -n %mlx4_lname -p /sbin/ldconfig %post -n %mlx4_lname -p /sbin/ldconfig
%postun -n %mlx4_lname -p /sbin/ldconfig %postun -n %mlx4_lname -p /sbin/ldconfig
@ -627,9 +639,8 @@ done
%dir %{_sysconfdir}/rdma/modules %dir %{_sysconfdir}/rdma/modules
%dir %{_docdir}/%{name}-%{version} %dir %{_docdir}/%{name}-%{version}
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%dir %{_sysconfdir}/udev
%dir %{_sysconfdir}/udev/rules.d
%dir %{_modprobedir} %dir %{_modprobedir}
%doc %{_docdir}/%{name}-%{version}/70-persistent-ipoib.rules
%doc %{_docdir}/%{name}-%{version}/README.md %doc %{_docdir}/%{name}-%{version}/README.md
%doc %{_docdir}/%{name}-%{version}/udev.md %doc %{_docdir}/%{name}-%{version}/udev.md
%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf %config(noreplace) %{_sysconfdir}/rdma/mlx4.conf
@ -642,7 +653,6 @@ done
%{_modprobedir}/mlx4.conf %{_modprobedir}/mlx4.conf
%endif %endif
%{_modprobedir}/truescale.conf %{_modprobedir}/truescale.conf
%config(noreplace) %{_sysconfdir}/udev/rules.d/70-persistent-ipoib.rules
%{_unitdir}/rdma-hw.target %{_unitdir}/rdma-hw.target
%{_unitdir}/rdma-load-modules@.service %{_unitdir}/rdma-load-modules@.service
%dir %{dracutlibdir} %dir %{dracutlibdir}
@ -681,9 +691,11 @@ done
%{_mandir}/man7/rdma_cm.* %{_mandir}/man7/rdma_cm.*
%if 0%{?dma_coherent} %if 0%{?dma_coherent}
%{_mandir}/man3/efadv* %{_mandir}/man3/efadv*
%{_mandir}/man3/manadv*
%{_mandir}/man3/mlx5dv* %{_mandir}/man3/mlx5dv*
%{_mandir}/man3/mlx4dv* %{_mandir}/man3/mlx4dv*
%{_mandir}/man7/efadv* %{_mandir}/man7/efadv*
%{_mandir}/man7/manadv*
%{_mandir}/man7/mlx5dv* %{_mandir}/man7/mlx5dv*
%{_mandir}/man7/mlx4dv* %{_mandir}/man7/mlx4dv*
%endif %endif
@ -716,6 +728,10 @@ done
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libefa*.so.* %{_libdir}/libefa*.so.*
%files -n %mana_lname
%defattr(-,root,root)
%{_libdir}/libmana*.so.*
%files -n %mlx4_lname %files -n %mlx4_lname
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libmlx4*.so.* %{_libdir}/libmlx4*.so.*

909
rdma-core.spec.old Normal file
View File

@ -0,0 +1,909 @@
#
# spec file for package rdma-core
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_without systemd
# Do not build static libs by default.
%define with_static 0
%if 0%{?sle_version} > 120400
%define with_pyverbs 1
%else
%define with_pyverbs 0
%endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150300
# systemd-rpm-macros is wrong in 15.3 and below
%define _modprobedir /lib/modprobe.d
%endif
%define git_ver .0.196bad56ed06
Name: rdma-core
Version: 42.0
Release: 0
Summary: RDMA core userspace libraries and daemons
License: BSD-2-Clause OR GPL-2.0-only
Group: Productivity/Networking/Other
%define efa_so_major 1
%define verbs_so_major 1
%define rdmacm_so_major 1
%define umad_so_major 3
%define mlx4_so_major 1
%define mlx5_so_major 1
%define ibnetdisc_major 5
%define mad_major 5
%define efa_lname libefa%{efa_so_major}
%define verbs_lname libibverbs%{verbs_so_major}
%define rdmacm_lname librdmacm%{rdmacm_so_major}
%define umad_lname libibumad%{umad_so_major}
%define mlx4_lname libmlx4-%{mlx4_so_major}
%define mlx5_lname libmlx5-%{mlx5_so_major}
%ifnarch s390 %arm
%define dma_coherent 1
%endif
%global modprobe_d_files 50-libmlx4.conf truescale.conf %{?dma_coherent:mlx4.conf}
# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
# providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause
# providers/rxe/ Incorporates code from ipathverbs and contains the patent clause
# providers/hfi1verbs Uses the 3 Clause BSD license
URL: https://github.com/linux-rdma/rdma-core
Source: rdma-core-%{version}%{git_ver}.tar.gz
Source1: baselibs.conf
Source2: post_download.sh
Source3: prebuilt-pandoc.tgz
Source4: rdma-core-rpmlintrc
Source5: gen-pandoc.sh
Source6: get_build.py
Patch0: Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch
Patch1: Revert-Update-kernel-headers.patch
Patch2: disable-rdma-interface-renaming.patch
Patch3: cxgb3-fix-declaration-of-free_context.patch
Patch4: cxgb3-fix-support-for-new-uquery-API.patch
Patch5: rdma-ndd-disable-systemd-ProtectHostName-feature.patch
BuildRequires: binutils
BuildRequires: cmake >= 2.8.11
BuildRequires: gcc
# perl is needed for the proper rpm macros
%if %{?suse_version} > 1550
BuildRequires: perl
%endif
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
%if %{with_pyverbs}
BuildRequires: python3-Cython
BuildRequires: python3-devel
%endif
%ifnarch s390 riscv64
%if 0%{?suse_version} >= 1550
BuildRequires: valgrind-client-headers
%else
BuildRequires: valgrind-devel
%endif
%endif
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
BuildRequires: pkgconfig(systemd)
Requires: kmod
Requires: systemd
Requires: udev
Recommends: rdma-ndd
# SUSE previously shipped rdma as a stand-alone
# package which we're supplanting here.
Provides: rdma = %{version}
Obsoletes: rdma < %{version}
Provides: ofed = %{version}
Obsoletes: ofed < %{version}
# Trickery to handle both SUSE OpenBuild System and Manual build
# In OBS, rdma-core must use curl-mini instead of curl to avoid
# a build dependency loop:
# rdma-core -> cmake -> curl -> ... -> boost -> rdma-core
# Thus we force a BuildRequires to curl-mini which as no impact
# as it is not used during the build.
# However curl-mini is not a published RPM. This would prevent any build
# outside of OBS. Thus we add a bcond to allow manual build.
# To force build without the use of curl-mini, --without=curlmini
# should be passed to rpmbuild
%bcond_without curlmini
%if 0%{?suse_version} >= 1330 && 0%{?suse_version} < 1550
%if %{with curlmini}
BuildRequires: curl-mini
%endif
%endif
# Tumbleweed's cmake RPM macro adds -Wl,--no-undefined to the module flags
# which is totally inappropriate and breaks building 'ENABLE_EXPORTS' style
# module libraries (eg ibacmp).
#%%define CMAKE_FLAGS -DCMAKE_MODULE_LINKER_FLAGS=""
# Since we recommend developers use Ninja, so should packagers, for consistency.
%define CMAKE_FLAGS %{nil}
%if 0%{?suse_version} >= 1300
BuildRequires: ninja
%define CMAKE_FLAGS -GNinja
%define make_jobs ninja -v %{?_smp_mflags}
%define cmake_install DESTDIR=%{buildroot} ninja install
%else
# Fallback to make otherwise
BuildRequires: make
%define make_jobs make VERBOSE=1 %{?_smp_mflags}
%define cmake_install DESTDIR=%{buildroot} make install
%endif
%description
RDMA core userspace infrastructure and documentation, including initialization
scripts, kernel driver-specific modprobe override configs, IPoIB network
scripts, dracut rules, and the rdma-ndd utility.
%package devel
Summary: RDMA core development libraries and headers
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{rdmacm_lname} = %{version}-%{release}
Requires: %{umad_lname} = %{version}-%{release}
Requires: %{verbs_lname} = %{version}-%{release}
%if 0%{?dma_coherent}
Requires: %{efa_lname} = %{version}-%{release}
Requires: %{mlx4_lname} = %{version}-%{release}
Requires: %{mlx5_lname} = %{version}-%{release}
%endif
Requires: rsocket = %{version}-%{release}
Provides: libibverbs-devel = %{version}-%{release}
Obsoletes: libibverbs-devel < %{version}-%{release}
Provides: libibumad-devel = %{version}-%{release}
Obsoletes: libibumad-devel < %{version}-%{release}
Provides: librdmacm-devel = %{version}-%{release}
Obsoletes: librdmacm-devel < %{version}-%{release}
#Requires: ibacm = %%{version}-%%{release}
Provides: ibacm-devel = %{version}-%{release}
Obsoletes: ibacm-devel < %{version}-%{release}
%if %{with_static}
# Since our pkg-config files include private references to these packages they
# need to have their .pc files installed too, even for dynamic linking, or
# pkg-config breaks.
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
%endif
Requires: infiniband-diags = %{version}-%{release}
Provides: infiniband-diags-devel = %{version}-%{release}
Obsoletes: infiniband-diags-devel < %{version}-%{release}
Provides: libibmad-devel = %{version}-%{release}
Obsoletes: libibmad-devel < %{version}
%description devel
RDMA core development libraries and headers.
%package -n libibverbs
Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware
Group: System/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: libcxgb3-rdmav2 < %{version}-%{release}
Obsoletes: libcxgb4-rdmav2 < %{version}-%{release}
Obsoletes: libefa-rdmav2 < %{version}-%{release}
Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release}
Obsoletes: libi40iw-rdmav2 < %{version}-%{release}
Obsoletes: libipathverbs-rdmav2 < %{version}-%{release}
Obsoletes: libmlx4-rdmav2 < %{version}-%{release}
Obsoletes: libmlx5-rdmav2 < %{version}-%{release}
Obsoletes: libmthca-rdmav2 < %{version}-%{release}
Obsoletes: libocrdma-rdmav2 < %{version}-%{release}
Obsoletes: librxe-rdmav2 < %{version}-%{release}
%if 0%{?dma_coherent}
Requires: %{efa_lname} = %{version}-%{release}
Requires: %{mlx4_lname} = %{version}-%{release}
Requires: %{mlx5_lname} = %{version}-%{release}
%endif
# Recommended packages for rxe
Recommends: iproute2
%description -n libibverbs
libibverbs is a library that allows userspace processes to use RDMA
"verbs" as described in the InfiniBand Architecture Specification and
the RDMA Protocol Verbs Specification. This includes direct hardware
access from userspace to InfiniBand/iWARP adapters (kernel bypass) for
fast path operations.
Device-specific plug-in ibverbs userspace drivers are included:
- libcxgb3: Chelsio T3 iWARP HCA
- libcxgb4: Chelsio T4 iWARP HCA
- libefa: Amazon Elastic Fabric Adapter
- libhfi1: Intel Omni-Path HFI
- libhns: HiSilicon Hip06 SoC
- libi40iw: Intel Ethernet Connection X722 RDMA
- libipathverbs: QLogic InfiniPath HCA
- libirdma: Intel Ethernet Connection RDMA
- libmlx4: Mellanox ConnectX-3 InfiniBand HCA
- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
- libmthca: Mellanox InfiniBand HCA
- libocrdma: Emulex OneConnect RDMA/RoCE Device
- libqedr: QLogic QL4xxx RoCE HCA
- librxe: A software implementation of the RoCE protocol
- libsiw: A software implementation of the iWarp protocol
- libvmw_pvrdma: VMware paravirtual RDMA device
%package -n %verbs_lname
Summary: Ibverbs runtime library
Group: System/Libraries
Requires: libibverbs = %{version}
%description -n %verbs_lname
This package contains the ibverbs runtime library.
%package -n %efa_lname
Summary: EFA runtime library
Group: System/Libraries
%description -n %efa_lname
This package contains the efa runtime library.
%package -n %mlx4_lname
Summary: MLX4 runtime library
Group: System/Libraries
%description -n %mlx4_lname
This package contains the mlx4 runtime library.
%package -n %mlx5_lname
Summary: MLX5 runtime library
Group: System/Libraries
%description -n %mlx5_lname
This package contains the mlx5 runtime library.
%package -n libibnetdisc%{ibnetdisc_major}
Summary: Infiniband Net Discovery runtime library
Group: System/Libraries
%description -n libibnetdisc%{ibnetdisc_major}
This package contains the Infiniband Net Discovery runtime library needed
mainly by infiniband-diags.
%package -n libibverbs-utils
Summary: Examples for the libibverbs library
Group: Productivity/Networking/Other
Requires: libibverbs%{?_isa} = %{version}
%description -n libibverbs-utils
Useful libibverbs example programs such as ibv_devinfo, which
displays information about RDMA devices.
%package -n ibacm
Summary: InfiniBand Communication Manager Assistant
Group: Productivity/Networking/Other
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}
Obsoletes: libibacmp1 < %{version}
Provides: libibacmp1 = %{version}
%description -n ibacm
The ibacm daemon helps reduce the load of managing path record lookups on
large InfiniBand fabrics by providing a user space implementation of what
is functionally similar to an ARP cache. The use of ibacm, when properly
configured, can reduce the SA packet load of a large IB cluster from O(n^2)
to O(n). The ibacm daemon is started and normally runs in the background,
user applications need not know about this daemon as long as their app
uses librdmacm to handle connection bring up/tear down. The librdmacm
library knows how to talk directly to the ibacm daemon to retrieve data.
%package -n infiniband-diags
Summary: InfiniBand Diagnostic Tools
Group: Productivity/Networking/Diagnostic
Requires: perl = %{perl_version}
%description -n infiniband-diags
diags provides IB diagnostic programs and scripts needed to diagnose an
IB subnet.
%package -n libibmad%{mad_major}
Summary: Libibmad runtime library
Group: System/Libraries
%description -n libibmad%{mad_major}
Libibmad provides low layer IB functions for use by the IB diagnostic
and management programs. These include MAD, SA, SMP, and other basic IB
functions. This package contains the runtime library.
%package -n iwpmd
Summary: Userspace iWarp Port Mapper daemon
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}
%{?systemd_requires}
%description -n iwpmd
iwpmd provides a userspace service for iWarp drivers to claim
tcp ports through the standard socket interface.
%package -n %umad_lname
Summary: OpenFabrics Alliance InfiniBand Userspace Management Datagram library
Group: System/Libraries
%description -n %umad_lname
libibumad provides the userspace management datagram (umad) library
functions, which sit on top of the umad modules in the kernel. These
are used by the IB diagnostic and management tools, including OpenSM.
%package -n %rdmacm_lname
Summary: Userspace RDMA Connection Manager
Group: System/Libraries
Requires: %{name} = %{version}
Provides: librdmacm = %{version}
Obsoletes: librdmacm < %{version}
%description -n %rdmacm_lname
librdmacm provides a userspace RDMA Communication Management API.
%package -n rsocket
Summary: Preloadable library to turn the socket API RDMA-aware
# Older librdmacm-tools used to provide rsocket
Group: System/Libraries
Conflicts: librdmacm-tools < 2
%description -n rsocket
Existing applications can make use of rsockets through the use this
preloadable library. See the documentation in the packaged rsocket(7)
manpage for details.
%package -n librdmacm-utils
Summary: Examples for the librdmacm library
Group: Productivity/Networking/Other
Obsoletes: librdmacm-tools < %{version}
Provides: librdmacm-tools = %{version}
%description -n librdmacm-utils
Example test programs for the librdmacm library.
%package -n srp_daemon
Summary: Tools for using the InfiniBand SRP protocol devices
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Obsoletes: srptools <= 1.0.3
Provides: srptools = %{version}
%{?systemd_requires}
%description -n srp_daemon
In conjunction with the kernel ib_srp driver, srp_daemon allows you to
discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
%package -n rdma-ndd
Summary: Daemon to manage RDMA Node Description
Group: System/Daemons
Requires: %{name} = %{version}
# The udev rules in rdma need to be aware of rdma-ndd:
Conflicts: rdma < 2.1
%{?systemd_requires}
%description -n rdma-ndd
rdma-ndd is a system daemon which watches for rdma device changes and/or
hostname changes and updates the Node Description of the rdma devices based
on those changes.
%package -n python3-pyverbs
Summary: Python3 API over IB verbs
Group: Development/Languages/Python
%description -n python3-pyverbs
Pyverbs is a Cython-based Python API over libibverbs, providing an
easy, object-oriented access to IB verbs.
%prep
%setup -q -n %{name}-%{version}%{git_ver}
#Extract prebuilt pandoc file in the buildlib directory
(cd buildlib && tar xf %{S:3})
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%build
# New RPM defines _rundir, usually as /run
%if 0%{?_rundir:1}
%else
%define _rundir /var/run
%endif
%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}}
# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
%cmake %{CMAKE_FLAGS} \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \
-DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
-DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \
-DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \
-DCMAKE_INSTALL_INCLUDEDIR:PATH=include \
-DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \
-DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \
-DCMAKE_INSTALL_MODPROBEDIR:PATH=%{_modprobedir} \
-DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \
-DCMAKE_INSTALL_SYSTEMD_BINDIR:PATH=%{_prefix}/lib/systemd \
-DCMAKE_INSTALL_INITDDIR:PATH=%{_initddir} \
-DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
-DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \
%if %{with_static}
-DENABLE_STATIC=1 \
%endif
%{EXTRA_CMAKE_FLAGS} \
%if %{defined __python3}
-DPYTHON_EXECUTABLE:PATH=%{__python3} \
-DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \
%endif
%if %{with_pyverbs}
-DNO_PYVERBS=0
%else
-DNO_PYVERBS=1
%endif
%make_jobs
%install
cd build
%cmake_install
cd ..
mkdir -p %{buildroot}/%{_sysconfdir}/rdma
%global dracutlibdir %%{_prefix}/lib/dracut/
mkdir -p %{buildroot}%{_udevrulesdir}
mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma
mkdir -p %{buildroot}%{_modprobedir}
mkdir -p %{buildroot}%{_unitdir}
# Port type setup for mlx4 dual port cards
install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{_modprobedir}/50-libmlx4.conf
install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
%if 0%{?dma_coherent}
chmod 0644 %{buildroot}%{_modprobedir}/mlx4.conf
%endif
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
# Dracut file for IB support during boot
install -D -m0644 suse/module-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
%if "%{_libexecdir}" != "/usr/libexec"
sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{_modprobedir}/50-libmlx4.conf
sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
%endif
# ibacm
cd build
LD_LIBRARY_PATH=./lib bin/ib_acme -D . -O
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
for service in rdma rdma-ndd ibacm iwpmd srp_daemon; do ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}; done
# Delete the package's init.d scripts
rm -rf %{buildroot}/%{_initddir}/
rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh
%post -n %verbs_lname -p /sbin/ldconfig
%postun -n %verbs_lname -p /sbin/ldconfig
%post -n %efa_lname -p /sbin/ldconfig
%postun -n %efa_lname -p /sbin/ldconfig
%post -n %mlx4_lname -p /sbin/ldconfig
%postun -n %mlx4_lname -p /sbin/ldconfig
%post -n %mlx5_lname -p /sbin/ldconfig
%postun -n %mlx5_lname -p /sbin/ldconfig
%post -n %umad_lname -p /sbin/ldconfig
%postun -n %umad_lname -p /sbin/ldconfig
%post -n %rdmacm_lname -p /sbin/ldconfig
%postun -n %rdmacm_lname -p /sbin/ldconfig
%post -n libibnetdisc%{ibnetdisc_major} -p /sbin/ldconfig
%postun -n libibnetdisc%{ibnetdisc_major} -p /sbin/ldconfig
%post -n libibmad%{mad_major} -p /sbin/ldconfig
%postun -n libibmad%{mad_major} -p /sbin/ldconfig
%pre
# Avoid restoring outdated stuff in posttrans
for _f in %{?modprobe_d_files}; do
[ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \
mv -f "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}.rpmsave.old" || :
done
%post
# we ship udev rules, so trigger an update.
%{_bindir}/udevadm trigger --subsystem-match=infiniband --action=change || true
%{_bindir}/udevadm trigger --subsystem-match=infiniband_mad --action=change || true
%posttrans
# Migration of modprobe.conf files to _modprobedir
for _f in %{?modprobe_d_files}; do
[ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \
mv -fv "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}" || :
done
#
# ibacm
#
%pre -n ibacm
%service_add_pre ibacm.service ibacm.socket
%post -n ibacm
%service_add_post ibacm.service ibacm.socket
%preun -n ibacm
%service_del_preun ibacm.service ibacm.socket
%postun -n ibacm
%service_del_postun ibacm.service ibacm.socket
#
# srp daemon
#
%pre -n srp_daemon
%service_add_pre srp_daemon.service
%post -n srp_daemon
%service_add_post srp_daemon.service
# we ship udev rules, so trigger an update.
%{_bindir}/udevadm trigger --subsystem-match=infiniband_mad --action=change
%preun -n srp_daemon
%service_del_preun srp_daemon.service
%postun -n srp_daemon
%service_del_postun srp_daemon.service
#
# iwpmd
#
%pre -n iwpmd
%service_add_pre ibiwpmd.service
%post -n iwpmd
%service_add_post iwpmd.service
%preun -n iwpmd
%service_del_preun iwpmd.service
%postun -n iwpmd
%service_del_postun iwpmd.service
#
# rdma-ndd
#
%pre -n rdma-ndd
%service_add_pre rdma-ndd.service
%preun -n rdma-ndd
%service_del_preun rdma-ndd.service
%post -n rdma-ndd
%service_add_post rdma-ndd.service
# we ship udev rules, so trigger an update.
%{_bindir}/udevadm trigger --subsystem-match=infiniband --action=change || true
%postun -n rdma-ndd
%service_del_postun rdma-ndd.service
%files
%defattr(-,root,root)
%dir %{_sysconfdir}/rdma
%dir %{_sysconfdir}/rdma/modules
%dir %{_docdir}/%{name}-%{version}
%dir %{_udevrulesdir}
%dir %{_sysconfdir}/udev
%dir %{_sysconfdir}/udev/rules.d
%dir %{_modprobedir}
%doc %{_docdir}/%{name}-%{version}/README.md
%doc %{_docdir}/%{name}-%{version}/udev.md
%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/infiniband.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/iwarp.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf
%if 0%{?dma_coherent}
%{_modprobedir}/mlx4.conf
%endif
%{_modprobedir}/truescale.conf
%config(noreplace) %{_sysconfdir}/udev/rules.d/70-persistent-ipoib.rules
%{_unitdir}/rdma-hw.target
%{_unitdir}/rdma-load-modules@.service
%dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d
%dir %{dracutlibdir}/modules.d/05rdma
%{dracutlibdir}/modules.d/05rdma/module-setup.sh
%{_udevrulesdir}/../rdma_rename
%{_udevrulesdir}/60-rdma-persistent-naming.rules
%{_udevrulesdir}/75-rdma-description.rules
%{_udevrulesdir}/90-rdma-hw-modules.rules
%{_udevrulesdir}/90-rdma-ulp-modules.rules
%{_udevrulesdir}/90-rdma-umad.rules
%{_modprobedir}/50-libmlx4.conf
%{_libexecdir}/mlx4-setup.sh
%{_libexecdir}/truescale-serdes.cmds
%license COPYING.*
%{_sbindir}/rcrdma
%files devel
%defattr(-,root,root)
%doc %{_docdir}/%{name}-%{version}/MAINTAINERS
%dir %{_includedir}/infiniband
%dir %{_includedir}/rdma
%{_includedir}/infiniband/*
%{_includedir}/rdma/*
%if %{with_static}
%{_libdir}/lib*.a
%endif
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man3/ibnd_*
%{_mandir}/man3/ibv_*
%{_mandir}/man3/rdma*
%{_mandir}/man3/umad*
%{_mandir}/man3/*_to_ibv_rate.*
%{_mandir}/man7/rdma_cm.*
%if 0%{?dma_coherent}
%{_mandir}/man3/efadv*
%{_mandir}/man3/mlx5dv*
%{_mandir}/man3/mlx4dv*
%{_mandir}/man7/efadv*
%{_mandir}/man7/mlx5dv*
%{_mandir}/man7/mlx4dv*
%endif
%files -n libibverbs
%defattr(-,root,root)
%dir %{_sysconfdir}/libibverbs.d
%dir %{_libdir}/libibverbs
%{_libdir}/libibverbs/*.so
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
%doc %{_docdir}/%{name}-%{version}/libibverbs.md
%doc %{_docdir}/%{name}-%{version}/rxe.md
%doc %{_docdir}/%{name}-%{version}/tag_matching.md
%{_mandir}/man7/rxe*
%files -n libibnetdisc%{ibnetdisc_major}
%defattr(-, root, root)
%{_libdir}/libibnetdisc.so.*
%files -n libibmad%{mad_major}
%defattr(-, root, root)
%{_libdir}/libibmad.so.*
%files -n %verbs_lname
%defattr(-,root,root)
%{_libdir}/libibverbs*.so.*
%if 0%{?dma_coherent}
%files -n %efa_lname
%defattr(-,root,root)
%{_libdir}/libefa*.so.*
%files -n %mlx4_lname
%defattr(-,root,root)
%{_libdir}/libmlx4*.so.*
%files -n %mlx5_lname
%defattr(-,root,root)
%{_libdir}/libmlx5*.so.*
%endif
%files -n libibverbs-utils
%defattr(-,root,root)
%{_bindir}/ibv_*
%{_mandir}/man1/ibv_*
%files -n ibacm
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
%{_bindir}/ib_acme
%{_sbindir}/ibacm
%{_mandir}/man1/ib_acme.*
%{_mandir}/man7/ibacm.*
%{_mandir}/man7/ibacm_prov.*
%{_mandir}/man8/ibacm.*
%{_unitdir}/ibacm.service
%{_unitdir}/ibacm.socket
%dir %{_libdir}/ibacm
%{_libdir}/ibacm/*
%{_sbindir}/rcibacm
%doc %{_docdir}/%{name}-%{version}/ibacm.md
%files -n infiniband-diags
%defattr(-, root, root)
%dir %{_sysconfdir}/infiniband-diags
%config(noreplace) %{_sysconfdir}/infiniband-diags/*
%{_sbindir}/ibaddr
%{_mandir}/man8/ibaddr*
%{_sbindir}/ibnetdiscover
%{_mandir}/man8/ibnetdiscover*
%{_sbindir}/ibping
%{_mandir}/man8/ibping*
%{_sbindir}/ibportstate
%{_mandir}/man8/ibportstate*
%{_sbindir}/ibroute
%{_mandir}/man8/ibroute.*
%{_sbindir}/ibstat
%{_mandir}/man8/ibstat.*
%{_sbindir}/ibsysstat
%{_mandir}/man8/ibsysstat*
%{_sbindir}/ibtracert
%{_mandir}/man8/ibtracert*
%{_sbindir}/perfquery
%{_mandir}/man8/perfquery*
%{_sbindir}/sminfo
%{_mandir}/man8/sminfo*
%{_sbindir}/smpdump
%{_mandir}/man8/smpdump*
%{_sbindir}/smpquery
%{_mandir}/man8/smpquery*
%{_sbindir}/saquery
%{_mandir}/man8/saquery*
%{_sbindir}/vendstat
%{_mandir}/man8/vendstat*
%{_sbindir}/iblinkinfo
%{_mandir}/man8/iblinkinfo*
%{_sbindir}/ibqueryerrors
%{_mandir}/man8/ibqueryerrors*
%{_sbindir}/ibcacheedit
%{_mandir}/man8/ibcacheedit*
%{_sbindir}/ibccquery
%{_mandir}/man8/ibccquery*
%{_sbindir}/ibccconfig
%{_mandir}/man8/ibccconfig*
%{_sbindir}/dump_fts
%{_mandir}/man8/dump_fts*
%{_sbindir}/ibhosts
%{_mandir}/man8/ibhosts*
%{_sbindir}/ibswitches
%{_mandir}/man8/ibswitches*
%{_sbindir}/ibnodes
%{_mandir}/man8/ibnodes*
%{_sbindir}/ibrouters
%{_mandir}/man8/ibrouters*
%{_sbindir}/ibfindnodesusing.pl
%{_mandir}/man8/ibfindnodesusing*
%{_sbindir}/ibidsverify.pl
%{_mandir}/man8/ibidsverify*
%{_sbindir}/check_lft_balance.pl
%{_mandir}/man8/check_lft_balance*
%{_sbindir}/dump_lfts.sh
%{_mandir}/man8/dump_lfts*
%{_sbindir}/dump_mfts.sh
%{_mandir}/man8/dump_mfts*
%{_sbindir}/ibstatus
%{_mandir}/man8/ibstatus*
%{_mandir}/man8/infiniband-diags*
%{perl_vendorlib}/IBswcountlimits.pm
%files -n iwpmd
%defattr(-,root,root)
%dir %{_sysconfdir}/rdma
%dir %{_sysconfdir}/rdma/modules
%{_sbindir}/iwpmd
%{_sbindir}/rciwpmd
%{_unitdir}/iwpmd.service
%config(noreplace) %{_sysconfdir}/rdma/modules/iwpmd.conf
%config(noreplace) %{_sysconfdir}/iwpmd.conf
%{_udevrulesdir}/90-iwpmd.rules
%{_mandir}/man8/iwpmd.*
%{_mandir}/man5/iwpmd.*
%files -n %umad_lname
%defattr(-,root,root)
%{_libdir}/libibumad*.so.*
%files -n %rdmacm_lname
%defattr(-,root,root)
%{_libdir}/librdmacm*.so.*
%doc %{_docdir}/%{name}-%{version}/librdmacm.md
%files -n rsocket
%defattr(-,root,root)
%dir %{_libdir}/rsocket
%{_libdir}/rsocket/*.so*
%{_mandir}/man7/rsocket.*
%files -n librdmacm-utils
%defattr(-,root,root)
%{_bindir}/cmtime
%{_bindir}/mckey
%{_bindir}/rcopy
%{_bindir}/rdma_client
%{_bindir}/rdma_server
%{_bindir}/rdma_xclient
%{_bindir}/rdma_xserver
%{_bindir}/riostream
%{_bindir}/rping
%{_bindir}/rstream
%{_bindir}/ucmatose
%{_bindir}/udaddy
%{_bindir}/udpong
%{_mandir}/man1/cmtime.*
%{_mandir}/man1/mckey.*
%{_mandir}/man1/rcopy.*
%{_mandir}/man1/rdma_client.*
%{_mandir}/man1/rdma_server.*
%{_mandir}/man1/rdma_xclient.*
%{_mandir}/man1/rdma_xserver.*
%{_mandir}/man1/riostream.*
%{_mandir}/man1/rping.*
%{_mandir}/man1/rstream.*
%{_mandir}/man1/ucmatose.*
%{_mandir}/man1/udaddy.*
%{_mandir}/man1/udpong.*
%files -n srp_daemon
%defattr(-,root,root)
%dir %{_libexecdir}/srp_daemon
%dir %{_sysconfdir}/rdma
%dir %{_sysconfdir}/rdma/modules
%config(noreplace) %{_sysconfdir}/srp_daemon.conf
%config(noreplace) %{_sysconfdir}/rdma/modules/srp_daemon.conf
%{_udevrulesdir}/60-srp_daemon.rules
%{_libexecdir}/srp_daemon/start_on_all_ports
%{_unitdir}/srp_daemon.service
%{_unitdir}/srp_daemon_port@.service
%{_sbindir}/ibsrpdm
%{_sbindir}/srp_daemon
%{_sbindir}/run_srp_daemon
%{_sbindir}/rcsrp_daemon
%{_mandir}/man5/srp_daemon.service.5*
%{_mandir}/man5/srp_daemon_port@.service.5*
%{_mandir}/man8/ibsrpdm.8*
%{_mandir}/man8/srp_daemon.8*
%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
%files -n rdma-ndd
%defattr(-, root, root)
%{_sbindir}/rdma-ndd
%{_sbindir}/rcrdma-ndd
%{_unitdir}/rdma-ndd.service
%{_mandir}/man8/rdma-ndd.8*
%{_udevrulesdir}/60-rdma-ndd.rules
%if %{with_pyverbs}
%files -n python3-pyverbs
%{python3_sitearch}/pyverbs
%dir %{_docdir}/%{name}-%{version}/tests/
%{_docdir}/%{name}-%{version}/tests/*.py
%endif
%changelog

View File

@ -1,25 +0,0 @@
commit c2c0691b60c682f5cd368864a2acfac31654b5d3
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Thu Oct 13 09:49:12 2022 +0200
rdma-ndd: disable systemd ProtectHostName feature
ProtectHostName prevents dynamic name changes to be noticed by the service.
This means that on a system with no static hostname, rdma-ndd is started with
a hostname 'localhost' and is not aware of new hostname retreived
through a DHCP lease.
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git rdma-ndd/rdma-ndd.service.in rdma-ndd/rdma-ndd.service.in
index e3f8d1156ba9..368deec00b2c 100644
--- rdma-ndd/rdma-ndd.service.in
+++ rdma-ndd/rdma-ndd.service.in
@@ -22,7 +22,6 @@ Restart=always
ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/rdma-ndd --systemd
ProtectSystem=full
ProtectHome=true
-ProtectHostname=true
ProtectKernelLogs=true
# rdma-ndd is automatically wanted by udev when an RDMA device with a node description is present