Compare commits

...

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

9 changed files with 250 additions and 1 deletions

2
.gitignore vendored
View File

@ -0,0 +1,2 @@
SOURCES/v0.4.11.tar.gz
/v0.4.11.tar.gz

43
0001-Update-qperf.c.patch Normal file
View File

@ -0,0 +1,43 @@
From 3d4ed395c32ae4c9a3b9a6ec83feb448eaa17b20 Mon Sep 17 00:00:00 2001
From: SangameshwarBabu <sangambabu1@gmail.com>
Date: Wed, 15 Jun 2022 00:10:36 +0530
Subject: [PATCH] Update qperf.c
Current version of qperf throws errors in environment with only ipv4 address
With ipv6.disable in kernel command line :
# qperf
unable to bind to listen port
strace :
9052 14:24:36.118470 socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) = -1 EAFNOSUPPORT (Address family not supported by protocol) <0.001313>
9052 14:24:36.119820 fstat(1</dev/pts/0<char 136:0>>, {st_dev=makedev(0, 23), st_ino=3, st_mode=S_IFCHR|0620, st_nlink=1, st_uid=0, st_gid=5, st_blksize=1024, st_blocks=0, st_rdev=makedev(136, 0), st_atime=1651602272 /* 2022-05-03T14:24:32.680622196-0400 */, st_atime_nsec=680622196, st_mtime=1651602272 /* 2022-05-03T14:24:32.680622196-0400 */, st_mtime_nsec=680622196, st_ctime=1651602034 /* 2022-05-03T14:20:34.680622196-0400 */, st_ctime_nsec=680622196}) = 0 <0.000005>
9052 14:24:36.119866 write(1</dev/pts/0<char 136:0>>, "unable to bind to listen port\n", 30) = 30 <0.000039>
9052 14:24:36.119950 exit_group(1) = ?
9052 14:24:36.120060 +++ exited with 1 ++
With qperf version 0.4.9 we defined AI_FAMILY as AF_UNSPEC, starting
qperf 0.4.11 the same is changed to AF_INET6 which causes issues
when ipv6 is disabled at protocol layer (as a kernel command line
arguement). This patch reverses the behavior.
---
src/qperf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qperf.c b/src/qperf.c
index 89fe5b8f2eeb..4de0cceeb10f 100644
--- a/src/qperf.c
+++ b/src/qperf.c
@@ -1418,7 +1418,7 @@ server_listen(void)
AI *ai;
AI hints ={
.ai_flags = AI_PASSIVE | AI_NUMERICSERV,
- .ai_family = AF_INET6,
+ .ai_family = AF_UNSPEC,
.ai_socktype = SOCK_STREAM
};
AI *ailist = getaddrinfo_port(0, ListenPort, &hints);
--
2.39.2

View File

@ -1 +0,0 @@
qperf package is retired for CS-996

11
gating.yaml Normal file
View File

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

146
qperf.spec Normal file
View File

@ -0,0 +1,146 @@
Name: qperf
Summary: Measure socket and RDMA performance
Version: 0.4.11
Release: 3%{?dist}
License: GPLv2 or BSD
Group: Networking/Diagnostic
Source: https://github.com/linux-rdma/%{name}/archive/v%{version}.tar.gz
Url: https://github.com/linux-rdma/qperf
BuildRequires: libibverbs-devel >= 1.2.0
BuildRequires: librdmacm-devel >= 1.0.21
BuildRequires: perl-interpreter
BuildRequires: autoconf automake
# RDMA is not currently built on 32-bit ARM: #1484155
ExcludeArch: %{arm}
# rhbz#2099772, https://github.com/linux-rdma/qperf/pull/25/
Patch0000: 0001-Update-qperf.c.patch
%description
Measure socket and RDMA performance.
%prep
%autosetup -p1
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
./autogen.sh
%configure
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install
%files
%license COPYING
%_bindir/qperf
%_mandir/man1/qperf.1*
%changelog
* Thu Apr 20 2023 Michal Schmidt <mschmidt@redhat.com> - 0.4.11-3
- Restore functionality in IPv4-only environments.
- Resolves: RHELPLAN-125872
* Wed Apr 07 2021 Honggang Li <honli@redhat.com> - 0.4.11-2
- Add qperf for s390x
- Resolves: bz1933283
* Thu Jul 19 2018 Jarod Wilson <jarod@redhat.com> - 0.4.11-1
- Update to upstream v0.4.11 release
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.9-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Aug 28 2017 Honggang Li <honli@redhat.com> - 0.4.9-12
- Disable support for ARM32
- Resolves: bz1484155
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.9-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.9-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Feb 20 2017 Michal Schmidt <mschmidt@redhat.com> - 0.4.9-9
- BuildRequire perl
- Resolves: bz1424224
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.9-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Mar 30 2016 Honggang Li <honli@redhat.com> - 0.4.9-7
- Minor fixes.
- Rebuild against latest libibverbs and librdmacm
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.9-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Doug Ledford <dledford@redhat.com> - 0.4.9-1
- Update to latest upstream release
* Mon Feb 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 0.4.6-8
- Build on ARM, modernise spec
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Dec 14 2012 Doug Ledford <dledford@redhat.com> - 0.4.6-6
- Fix the fact that qperf was using the wrong PF_RDS define now that RDS
is integrated upstream and its assigned number is no longer temporary
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 06 2012 Doug Ledford <dledford@redhat.com> - 0.4.6-4
- Initial import into Fedora
* Fri Jul 22 2011 Doug Ledford <dledford@redhat.com> - 0.4.6-3.el6
- Fix failure to build on i686
- Resolves: bz724899
* Mon Jan 25 2010 Doug Ledford <dledford@redhat.com> - 0.4.6-2.el6
- Cleanups for pkgwrangler import
- Related: bz543948
* Tue Dec 22 2009 Doug Ledford <dledford@redhat.com> - 0.4.6-1.el5
- Update to latest upstream version
- Related: bz518218
* Mon Jun 22 2009 Doug Ledford <dledford@redhat.com> - 0.4.4-3.el5
- Rebuild against libibverbs that isn't missing the proper ppc wmb() macro
- Related: bz506258
* Sun Jun 21 2009 Doug Ledford <dledford@redhat.com> - 0.4.4-2.el5
- Build against non-XRC libibverbs
- Update to ofed 1.4.1 final bits
- Related: bz506097, bz506258
* Sat Apr 18 2009 Doug Ledford <dledford@redhat.com> - 0.4.4-1.el5
- Update to ofed 1.4.1-rc3 version
- Related: bz459652
* Thu Sep 18 2008 Doug Ledford <dledford@redhat.com> - 0.4.1-2
- Add a build flag to silence some warnings
* Wed Sep 17 2008 Doug Ledford <dledford@redhat.com> - 0.4.1-1
- Update to the qperf tarball found in the OFED-1.4-beta1 tarball
- Resolves: bz451483
* Tue Apr 01 2008 Doug Ledford <dledford@redhat.com> - 0.4.0-1
- Initial import to Red Hat repo management
- Related: bz428197
* Sat Oct 20 2007 - johann@georgex.org
- Initial package

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (v0.4.11.tar.gz) = 303f14267d0410b0b4703f1821043a0e06be2ce36ad182d694804c9c63ea2b5b15efcb9b35102f74320e45de5127c190fea786ce2b31bff227f973c01f1f8695

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 $?

25
tests/sanity.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
#
# This is a simple sanity test to satisfy the RHEL8.1 onboard gating
# requirement.
ret=0
qperf --help examples
let ret=$ret+$?
qperf --help tests
let ret=$ret+$?
# launch server
qperf &
qperf localhost tcp_bw tcp_lat
let ret=$ret+$?
qperf localhost udp_bw udp_lat
let ret=$ret+$?
# kill off server
killall qperf
exit $ret

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
- 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:
- qperf
- psmisc