Compare commits

..

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

9 changed files with 281 additions and 223 deletions

13
.gitignore vendored
View File

@ -1 +1,12 @@
SOURCES/libvma-9.8.31.tar.gz /libvma-8.0.1.tar.gz
/libvma-9.0.2.tar.gz
/libvma-9.1.1.tar.gz
/libvma-9.2.2.tar.gz
/libvma-9.3.1.tar.gz
/libvma-9.4.0.tar.gz
/libvma-9.5.2.tar.gz
/libvma-9.5.3.tar.gz
/libvma-9.6.4.tar.gz
/libvma-9.8.1.tar.gz
/libvma-9.8.40.tar.gz
/libvma-9.8.51.tar.gz

View File

@ -0,0 +1,31 @@
From 3801620674bb052fcf7acf03915999fd6f48dd66 Mon Sep 17 00:00:00 2001
From: Kamal Heib <kheib@redhat.com>
Date: Mon, 29 Apr 2024 18:54:39 -0400
Subject: [PATCH] Fix build failure
../../src/vma/util/vma_list.h:210:31: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor]
210 | vma_list_t<T, offset> (const vma_list_t<T, offset>& other) {
| ^
../../src/vma/util/vma_list.h:210:31: note: remove the '< >'
Signed-off-by: Kamal Heib <kheib@redhat.com>
---
src/vma/util/vma_list.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/vma/util/vma_list.h b/src/vma/util/vma_list.h
index 0ce65e8e5268..32fdedbb826f 100644
--- a/src/vma/util/vma_list.h
+++ b/src/vma/util/vma_list.h
@@ -207,7 +207,7 @@ public:
}
}
- vma_list_t<T, offset> (const vma_list_t<T, offset>& other) {
+ vma_list_t(const vma_list_t<T, offset>& other) {
if (!other.empty())
vlist_logwarn("Copy constructor is not supported for non-empty list! other.size=%zu", other.m_size);
init_list();
--
2.44.0

View File

@ -1,222 +0,0 @@
%{!?configure_options: %global configure_options %{nil}}
Name: libvma
Version: 9.8.31
Release: 1%{?dist}
Summary: A library for boosting TCP and UDP traffic (over RDMA hardware)
License: GPLv2 or BSD
Url: https://github.com/Mellanox/libvma
Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz
# libvma currently supports only the following architectures
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
BuildRequires: pkgconfig
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gcc-c++
BuildRequires: rdma-core-devel
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
BuildRequires: make
%description
libvma is a LD_PRELOAD-able library that boosts performance of TCP and
UDP traffic. It allows application written over standard socket API to
handle fast path data traffic from user space over Ethernet and/or
Infiniband with full network stack bypass and get better throughput,
latency and packets/sec rate.
No application binary change is required for that.
libvma is supported by RDMA capable devices that support "verbs"
IBV_QPT_RAW_PACKET QP for Ethernet and/or IBV_QPT_UD QP for IPoIB.
%package devel
Summary: Header files required to develop with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package includes headers for building programs with libvma's
interfaces.
%package utils
Summary: Utilities used with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
This package contains the tool for collecting and analyzing libvma statistic.
%prep
%setup -q
%autosetup -p1
%build
export revision=1
if [ ! -e configure ] && [ -e autogen.sh ]; then
PRJ_RELEASE=1 ./autogen.sh
fi
%configure %{?configure_options}
%{make_build}
%install
%{make_install}
find $RPM_BUILD_ROOT%{_libdir} -name '*.la' -delete
install -D -m 644 contrib/scripts/vma.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/vma.service
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/vma
%post
%systemd_post vma.service
%preun
%systemd_preun vma.service
%postun
%systemd_postun_with_restart vma.service
%files
%{_libdir}/%{name}.so*
%dir %{_pkgdocdir}
%doc %{_pkgdocdir}/README
%doc %{_pkgdocdir}/CHANGES
%config(noreplace) %{_sysconfdir}/libvma.conf
%{_sbindir}/vmad
%{_prefix}/lib/systemd/system/vma.service
%license LICENSE
%{_mandir}/man7/vma.*
%{_mandir}/man8/vmad.*
%files devel
%dir %{_includedir}/mellanox
%{_includedir}/mellanox/vma_extra.h
%files utils
%{_bindir}/vma_stats
%{_mandir}/man8/vma_stats.*
%changelog
* Tue Oct 24 2023 Kamal Heib <kheib@redhat.com> - 9.8.31-1
- Update to upstream release 9.8.31.
- Resolves: RHEL-933
* Mon Jul 31 2023 Kamal Heib <kheib@redhat.com> - 9.8.20-3
- Rebuilt for libvma-utils
- Resolves: rhbz#2217883
* Tue Jul 18 2023 Kamal Heib <kheib@redhat.com> - 9.8.20-2
- Fix Socketxtreme buffer reclaim leak
- Resolves: rhbz#2223720
* Mon Jun 05 2023 Kamal Heib <kheib@redhat.com> - 9.8.20-1.1
- Add gating tests
- Resolves: rhbz#2170074
* Thu Jun 01 2023 Kamal Heib <kheib@redhat.com> - 9.8.20-1
- Update to upstream release 9.8.20.
- Add gating tests
- Resolves: rhbz#2170074
* Wed Aug 17 2022 Michal Schmidt <mschmidt@redhat.com> - 9.6.4-1
- Update to upstream release 9.6.4.
- Resolves: rhbz#2049572
* Tue Nov 30 2021 Honggang Li <honli@redhat.com> - 9.4.0-1
- Bump version to 9.4.0
- Resolves: rhbz#1982205
* Tue Jul 06 2021 Honggang Li <honli@redhat.com> - 9.3.1-1
- Bump version to 9.3.1
- Resolves: rhbz#1915316
* Thu Feb 04 2021 Honggang Li <honli@redhat.com> - 9.2.2-2
- Skip team interface when check bonding
- Resolves: rhbz#1916670
* Wed Dec 16 2020 Honggang Li <honli@redhat.com> - 9.2.2-1
- Update to upstream v9.2.2 release
- Resolves: rhbz#1851727
* Wed Apr 15 2020 Honggang Li <honli@redhat.com> - 9.0.2-1
- Update to upstream v9.0.2 release
- Resolves: rhbz#1789385
* Tue Jul 23 2019 Jarod Wilson <jarod@redhat.com> - 8.9.5-1
- Update to upstream v8.9.5 release
- Resolves: rhbz#1722259
* Fri May 31 2019 Jarod Wilson <jarod@redhat.com> - 8.7.7-1
- Update to upstream v8.7.7 stable release
* Thu Nov 08 2018 Jarod Wilson <jarod@redhat.com> - 8.7.3-0.1
- Rebase to upstream v8.7.3 pre-release
- Resolves: rhbz#1648011
* Fri Jun 29 2018 Jarod Wilson <jarod@redhat.com> - 8.6.10-0.1
- Rebase to upstream v8.6.10 pre-release, use 0.x release number scheme
as means to differentiate pre-release from release
* Mon Jun 04 2018 Jarod Wilson <jarod@redhat.com> - 8.6.6-1
- Rebase to upstream v8.6.6 pre-release
* Wed Apr 25 2018 Jarod Wilson <jarod@redhat.com> - 8.6.0-1
- Rebase to upstream v8.6.0 pre-release
* Tue Dec 05 2017 Jarod Wilson <jarod@redhat.com> - 8.4.10-1
- Rebase to upstream v8.4.10 release
- Resolves: rhbz#1456519
* Wed Aug 24 2016 Jarod Wilson <jarod@redhat.com> - 8.1.4-1
- Rebase to 8.1.4 after latest round of coverity fixes upstream
reduced reported defects to 0
- Related: rhbz#1271624
* Mon Aug 22 2016 Jarod Wilson <jarod@redhat.com> - 8.1.3-1
- Patch in additional coverity fixes from upstream git tree
- Rebase to 8.1.3 to pick up copious coverity corrections
- Related: rhbz#1271624
* Mon Jul 25 2016 Donald Dutile <ddutile@redhat.com> - 8.1.1-1
- Rebase to 8.1.1, re-apply patch to 8.0.1-2
- Add (Build)Requires of libibverbs to 1.2.2
- Resolves: rhbz#1353704
* Wed May 25 2016 Donald Dutile <ddutile@redhat.com> - 8.0.1-2
- ExcludeArch s390's, ppc, i686 and catch in h-file check
- Resolves: rhbz#1271624
* Wed May 25 2016 Donald Dutile <ddutile@redhat.com> - 8.0.1-1
- Initial import to RHEL-7.3
- Resolves: rhbz#1271624
* Sun Mar 13 2016 Alex Vainman <alexv@mellanox.com> - 8.0.1-1
- New upstream release
- Move to dual license: GPLv2 or BSD
- ExcludeArch update
- Removal of extra space in:
config(noreplace) {_sysconfdir}/security/limits.d/30-libvma-limits.conf
- Add V=1 to make
* Wed Mar 2 2016 Alex Vainman <alexv@mellanox.com> - 7.0.14-2
- Added reasoning for archs exclusion
- Package description improvement
- Removal of the pre scriplet
- Added COPYING and LICENSE files to the package
* Sun Feb 21 2016 Alex Vainman <alexv@mellanox.com> - 7.0.14-1
- New upstream release
- Removal of redundant macros and obsolete/unneeded tags
- Added ExcludeArch, BuildRequires and Require sections
- Fixes and cleanups in the build and installation sections
- Install 30-libvma-limits.conf file under
/etc/security/limits.d/
- Fixes related to files/directories ownerships
- Removal of vma_perf_envelope.sh from the utility package
- Update Source tag URL
- Fix most of the rpmlint warnings
* Mon Jan 4 2016 Avner BenHanoch <avnerb@mellanox.com> - 7.0.12-1
- Initial Packaging

11
gating.yaml Normal file
View File

@ -0,0 +1,11 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

196
libvma.spec Normal file
View File

@ -0,0 +1,196 @@
%{!?configure_options: %global configure_options %{nil}}
Name: libvma
Version: 9.8.51
Release: 4%{?dist}
Summary: A library for boosting TCP and UDP traffic (over RDMA hardware)
License: GPLv2 or BSD
Url: https://github.com/Mellanox/libvma
Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-Fix-build-failure.patch
# libvma currently supports only the following architectures
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
BuildRequires: pkgconfig
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gcc-c++
BuildRequires: rdma-core-devel
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
BuildRequires: make
%description
libvma is a LD_PRELOAD-able library that boosts performance of TCP and
UDP traffic. It allows application written over standard socket API to
handle fast path data traffic from user space over Ethernet and/or
Infiniband with full network stack bypass and get better throughput,
latency and packets/sec rate.
No application binary change is required for that.
libvma is supported by RDMA capable devices that support "verbs"
IBV_QPT_RAW_PACKET QP for Ethernet and/or IBV_QPT_UD QP for IPoIB.
%package devel
Summary: Header files required to develop with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package includes headers for building programs with libvma's
interfaces.
%package utils
Summary: Utilities used with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
This package contains the tool for collecting and analyzing libvma statistic.
%prep
%setup -q
%autosetup -p1
%build
export revision=1
if [ ! -e configure ] && [ -e autogen.sh ]; then
PRJ_RELEASE=1 ./autogen.sh
fi
%configure %{?configure_options}
%{make_build}
%install
%{make_install}
find $RPM_BUILD_ROOT%{_libdir} -name '*.la' -delete
install -D -m 644 contrib/scripts/vma.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/vma.service
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/vma
%post
%systemd_post vma.service
%preun
%systemd_preun vma.service
%postun
%systemd_postun_with_restart vma.service
%files
%{_libdir}/%{name}.so*
%dir %{_pkgdocdir}
%doc %{_pkgdocdir}/README
%doc %{_pkgdocdir}/CHANGES
%config(noreplace) %{_sysconfdir}/libvma.conf
%{_sbindir}/vmad
%{_prefix}/lib/systemd/system/vma.service
%license LICENSE
%{_mandir}/man7/vma.*
%{_mandir}/man8/vmad.*
%files devel
%dir %{_includedir}/mellanox
%{_includedir}/mellanox/vma_extra.h
%files utils
%{_bindir}/vma_stats
%{_mandir}/man8/vma_stats.*
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.8.51-4
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 9.8.51-3
- Bump release for June 2024 mass rebuild
* Mon Apr 29 2024 Kamal Heib <kheib@redhat.com> - 9.8.51-1
- Update to upstream release 9.8.51
- Resolves: RHEL-24810
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.8.40-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.8.40-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Oct 27 2023 Igor Ivanov <igori@nvidia.com> 9.8.40-1
- Bump version to 9.8.40
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Feb 20 2023 Igor Ivanov <igori@nvidia.com> 9.8.1-2
- Fix gcc13 compilation issue
* Mon Feb 20 2023 Igor Ivanov <igori@nvidia.com> 9.8.1-1
- Bump version to 9.8.1
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.6.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jul 26 2022 Igor Ivanov <igori@nvidia.com> 9.6.4-1
- Bump version to 9.6.4
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Apr 29 2022 Igor Ivanov <igori@nvidia.com> 9.5.3-1
- Bump version to 9.5.3
* Thu Apr 7 2022 Igor Ivanov <igori@nvidia.com> 9.5.2-1
- Bump version to 9.5.2
* Mon Jan 31 2022 Fedora Release Engineering <igori@nvidia.com> - 9.4.0-3
- Fix gcc12 compilation issue
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 09 2021 Honggang Li <honli@redhat.com> - 9.4.0-1
- Bump version to 9.4.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 17 2021 Igor Ivanov <igori@nvidia.com> 9.3.1-1
- Bump version to 9.3.1
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.2.2-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Dec 16 2020 Igor Ivanov <igor.ivanov.va@gmail.com> 9.2.2-1
- Bump version to 9.2.2
- Fix issues for gcc-11
* Thu Dec 10 2020 Jeff Law <law@redhat.com> 9.1.1-2
- Don't use "register" in C++17. Still FTBFS though.
* Sun Nov 15 2020 Igor Ivanov <igor.ivanov.va@gmail.com> 9.1.1-1
- Bump version to 9.1.1
* Fri Apr 17 2020 Igor Ivanov <igor.ivanov.va@gmail.com> 9.0.2-1
- Align with Fedora guidelines
- Bump version to 9.0.2
* Thu Feb 7 2019 Igor Ivanov <igor.ivanov.va@gmail.com> 8.8.2-1
- Improve package update processing
* Tue Dec 19 2017 Igor Ivanov <igor.ivanov.va@gmail.com> 8.5.1-1
- Add systemd support
* Tue May 9 2017 Ophir Munk <ophirmu@mellanox.com> 8.3.4-1
- Add libvma-debug.so installation
* Mon Nov 28 2016 Igor Ivanov <igor.ivanov.va@gmail.com> 8.2.2-1
- Add daemon
* Mon Jan 4 2016 Avner BenHanoch <avnerb@mellanox.com> 7.0.12-1
- Initial Packaging

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libvma-9.8.51.tar.gz) = f15217f40aec8fa1462292369f451274e50d1f97cd4b0c2b43c0eaabc4fff1e490a8bf48029dd6a94d06bc00239ca9fb5bbc3197c986ef5a4ce2c5320123aece

10
tests/run_tests.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# when running this in 1minutetip the PATH must be specified to execute
# in the local directory.
echo "Setting path to local directory"
PATH=$PATH:$(pwd)
# simple sanity test
sanity.sh
exit $?

9
tests/sanity.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
#
# This is a simple sanity test to satisfy the RHEL8.1 onboard gating
# requirement.
vmad --help
ret=$?
exit $ret

11
tests/tests.yml Normal file
View File

@ -0,0 +1,11 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- simple:
dir: . # switch to subfolder. This parameter is REQUIRED, use `dir: .` for current folder
run: ./run_tests.sh # this is your test command, its exit code is the outcome of the test
required_packages:
- libvma