Compare commits
No commits in common. "c8" and "c9-beta" have entirely different histories.
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
|||||||
SOURCES/rdma-core-48.0.tar.gz
|
SOURCES/rdma-core-51.0.tar.gz
|
||||||
SOURCES/rxe_cfg.8.gz
|
|
||||||
|
@ -1,2 +1 @@
|
|||||||
b5e5f57b1f5269213cbd088f83212e0f03b17a60 SOURCES/rdma-core-48.0.tar.gz
|
38c8fb4cfd3efb73d91d75b43cbf13e051d2044f SOURCES/rdma-core-51.0.tar.gz
|
||||||
9187638355d9bee854989bbfc6c2956301fd52aa SOURCES/rxe_cfg.8.gz
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From 91b414f645b0fdca914151280bb14a12258a56e7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Honggang Li <honli@redhat.com>
|
|
||||||
Date: Wed, 13 Jan 2021 11:51:04 +0800
|
|
||||||
Subject: [PATCH] ibacm: acm.c load plugin while it is soft link
|
|
||||||
|
|
||||||
NOTE: THIS ONE IS RHEL SPECIFIC WORKAROUND COMMIT.
|
|
||||||
https://github.com/linux-rdma/rdma-core/pull/923
|
|
||||||
|
|
||||||
Because of commit ad5d934d688911149d795aee1d3b9fa06bf171a9,
|
|
||||||
the provider libdsap.so.1.0.0 was not opened/used for address resolution
|
|
||||||
for OPA device.
|
|
||||||
|
|
||||||
As discussed in this closed PR:
|
|
||||||
https://github.com/linux-rdma/rdma-core/pull/848
|
|
||||||
|
|
||||||
I create a soft link for libdsap.so => libdsap.so.1.0.0 . The soft link
|
|
||||||
was ignored because it is a not regular file.
|
|
||||||
|
|
||||||
Signed-off-by: Honggang Li <honli@redhat.com>
|
|
||||||
---
|
|
||||||
ibacm/src/acm.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ibacm/src/acm.c b/ibacm/src/acm.c
|
|
||||||
index f1c8a2fabfb4..77ffda316b0c 100644
|
|
||||||
--- a/ibacm/src/acm.c
|
|
||||||
+++ b/ibacm/src/acm.c
|
|
||||||
@@ -2878,7 +2878,7 @@ static int acm_open_providers(void)
|
|
||||||
acm_log(0, "Error - could not stat: %s\n", file_name);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
- if (!S_ISREG(buf.st_mode))
|
|
||||||
+ if (!(S_ISREG(buf.st_mode) || S_ISLNK(buf.st_mode)))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
acm_log(2, "Loading provider %s...\n", file_name);
|
|
||||||
--
|
|
||||||
2.25.4
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
|||||||
From 30f781482122db14f7bf89cb31db1c6aba30bba8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Schmidt <mschmidt@redhat.com>
|
|
||||||
Date: Wed, 8 Feb 2023 15:19:17 +0100
|
|
||||||
Subject: [PATCH 2/2] systemd: drop Protect* options not supported in RHEL 8
|
|
||||||
systemd
|
|
||||||
|
|
||||||
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
|
|
||||||
---
|
|
||||||
ibacm/ibacm.service.in | 2 --
|
|
||||||
iwpmd/iwpmd.service.in | 2 --
|
|
||||||
rdma-ndd/rdma-ndd.service.in | 1 -
|
|
||||||
3 files changed, 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ibacm/ibacm.service.in b/ibacm/ibacm.service.in
|
|
||||||
index 56538beb2b15..535e1aeae326 100644
|
|
||||||
--- a/ibacm/ibacm.service.in
|
|
||||||
+++ b/ibacm/ibacm.service.in
|
|
||||||
@@ -19,8 +19,6 @@ Type=notify
|
|
||||||
ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/ibacm --systemd
|
|
||||||
ProtectSystem=full
|
|
||||||
ProtectHome=true
|
|
||||||
-ProtectHostname=true
|
|
||||||
-ProtectKernelLogs=true
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
Also=ibacm.socket
|
|
||||||
diff --git a/iwpmd/iwpmd.service.in b/iwpmd/iwpmd.service.in
|
|
||||||
index 47afebd8ad02..dd4dc750c26c 100644
|
|
||||||
--- a/iwpmd/iwpmd.service.in
|
|
||||||
+++ b/iwpmd/iwpmd.service.in
|
|
||||||
@@ -26,7 +26,5 @@ ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/iwpmd --systemd
|
|
||||||
LimitNOFILE=102400
|
|
||||||
ProtectSystem=full
|
|
||||||
ProtectHome=true
|
|
||||||
-ProtectHostname=true
|
|
||||||
-ProtectKernelLogs=true
|
|
||||||
|
|
||||||
# iwpmd is automatically wanted by udev when an iWarp RDMA device is present
|
|
||||||
diff --git a/rdma-ndd/rdma-ndd.service.in b/rdma-ndd/rdma-ndd.service.in
|
|
||||||
index 368deec00b2c..9cbe93fb6900 100644
|
|
||||||
--- a/rdma-ndd/rdma-ndd.service.in
|
|
||||||
+++ b/rdma-ndd/rdma-ndd.service.in
|
|
||||||
@@ -22,6 +22,5 @@ Restart=always
|
|
||||||
ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/rdma-ndd --systemd
|
|
||||||
ProtectSystem=full
|
|
||||||
ProtectHome=true
|
|
||||||
-ProtectKernelLogs=true
|
|
||||||
|
|
||||||
# rdma-ndd is automatically wanted by udev when an RDMA device with a node description is present
|
|
||||||
--
|
|
||||||
2.39.1
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
From 214c673b2a66a0ceb86a21ddb8cd7beba86cc6f3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Schmidt <mschmidt@redhat.com>
|
|
||||||
Date: Wed, 1 Feb 2023 15:24:23 +0100
|
|
||||||
Subject: [PATCH] CMakeLists: disable providers that were not enabled in RHEL
|
|
||||||
9.1
|
|
||||||
|
|
||||||
Doing a package rebase, but don't want to enable additional drivers
|
|
||||||
unless explicitly requested.
|
|
||||||
|
|
||||||
Upstream Status: RHEL only
|
|
||||||
|
|
||||||
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 9b7462861012..cfe79bcfacf3 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -711,7 +711,7 @@ add_subdirectory(providers/bnxt_re)
|
|
||||||
add_subdirectory(providers/cxgb4) # NO SPARSE
|
|
||||||
add_subdirectory(providers/efa)
|
|
||||||
add_subdirectory(providers/efa/man)
|
|
||||||
-add_subdirectory(providers/erdma)
|
|
||||||
+#add_subdirectory(providers/erdma)
|
|
||||||
add_subdirectory(providers/hns)
|
|
||||||
add_subdirectory(providers/irdma)
|
|
||||||
add_subdirectory(providers/mana)
|
|
||||||
@@ -720,14 +720,14 @@ add_subdirectory(providers/mlx4)
|
|
||||||
add_subdirectory(providers/mlx4/man)
|
|
||||||
add_subdirectory(providers/mlx5)
|
|
||||||
add_subdirectory(providers/mlx5/man)
|
|
||||||
-add_subdirectory(providers/mthca)
|
|
||||||
-add_subdirectory(providers/ocrdma)
|
|
||||||
+#add_subdirectory(providers/mthca)
|
|
||||||
+#add_subdirectory(providers/ocrdma)
|
|
||||||
add_subdirectory(providers/qedr)
|
|
||||||
add_subdirectory(providers/vmw_pvrdma)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_subdirectory(providers/hfi1verbs)
|
|
||||||
-add_subdirectory(providers/ipathverbs)
|
|
||||||
+#add_subdirectory(providers/ipathverbs)
|
|
||||||
add_subdirectory(providers/rxe)
|
|
||||||
add_subdirectory(providers/rxe/man)
|
|
||||||
add_subdirectory(providers/siw)
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,203 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
echo "$(basename $0) <options>"
|
|
||||||
echo "-h, --help print help message"
|
|
||||||
echo "-v, --verbose print more info"
|
|
||||||
}
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
"-h" | "--help")
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if (( $# > 1 )); then
|
|
||||||
usage
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( $# == 1 )) && [ "$1" != "-v" ]; then
|
|
||||||
usage
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ibdevs=$(ls /sys/class/infiniband/)
|
|
||||||
|
|
||||||
devs=''
|
|
||||||
for netdev in $(/bin/ls /sys/class/net/); do
|
|
||||||
if [ -e /sys/class/net/${netdev}/device/infiniband ]; then
|
|
||||||
devs="${devs} ${netdev}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "x$devs" == "x" ]; then
|
|
||||||
# no relevant devices - quit immediately
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
for d in $devs; do
|
|
||||||
if [ -f /sys/class/net/$d/dev_id ]; then
|
|
||||||
oldstyle=n
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
function print_line()
|
|
||||||
{
|
|
||||||
echo "$1 port $2 <===> $3"
|
|
||||||
}
|
|
||||||
|
|
||||||
function find_guid()
|
|
||||||
{
|
|
||||||
ibdevs=$(ls /sys/class/infiniband/)
|
|
||||||
for ibdev in $ibdevs; do
|
|
||||||
ports=$(ls /sys/class/infiniband/$ibdev/ports/)
|
|
||||||
for port in $ports; do
|
|
||||||
gids=$(ls /sys/class/infiniband/$ibdev/ports/$port/gids)
|
|
||||||
for gid in $gids; do
|
|
||||||
pguid=$(cat /sys/class/infiniband/$ibdev/ports/$port/gids/$gid | cut -b 21- | sed -e 's/://g')
|
|
||||||
if [ x$pguid == x$1 ]; then
|
|
||||||
print_line $ibdev $port $2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function find_mac()
|
|
||||||
{
|
|
||||||
ibdevs=$(ls /sys/class/infiniband/)
|
|
||||||
for ibdev in $ibdevs; do
|
|
||||||
type=$(cat /sys/class/infiniband/$ibdev/node_type|cut -d ' ' -f 2)
|
|
||||||
ports=$(ls /sys/class/infiniband/$ibdev/ports/)
|
|
||||||
for port in $ports; do
|
|
||||||
gids=$(ls /sys/class/infiniband/$ibdev/ports/$port/gids)
|
|
||||||
for gid in $gids; do
|
|
||||||
if [[ "$type" = "RNIC" ]]; then
|
|
||||||
pmac=$(cat /sys/class/infiniband/$ibdev/ports/$port/gids/$gid | cut -b 1-14|sed -e 's/://g')
|
|
||||||
else
|
|
||||||
first=$(cat /sys/class/infiniband/$ibdev/ports/$port/gids/$gid | cut -b 21-22)
|
|
||||||
first=$(( first ^ 2 ))
|
|
||||||
first=$(printf "%02x" $first)
|
|
||||||
second=$(cat /sys/class/infiniband/$ibdev/ports/$port/gids/$gid | cut -b 21- | sed -e 's/://g' | cut -b 3-6)
|
|
||||||
third=$(cat /sys/class/infiniband/$ibdev/ports/$port/gids/$gid | cut -b 21- | sed -e 's/://g' | cut -b 11-)
|
|
||||||
pmac=$first$second$third
|
|
||||||
fi
|
|
||||||
if [ x$pmac == x$1 ]; then
|
|
||||||
print_line $ibdev $port $2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "x$oldstyle" == "xn" ]; then
|
|
||||||
for d in $ibdevs; do
|
|
||||||
ibrsc=$(cat /sys/class/infiniband/$d/device/resource)
|
|
||||||
eths=$(ls /sys/class/net/)
|
|
||||||
for eth in $eths; do
|
|
||||||
filepath_resource=/sys/class/net/$eth/device/resource
|
|
||||||
|
|
||||||
if [ -f $filepath_resource ]; then
|
|
||||||
ethrsc=$(cat $filepath_resource)
|
|
||||||
if [ "x$ethrsc" == "x$ibrsc" ]; then
|
|
||||||
filepath_devid=/sys/class/net/$eth/dev_id
|
|
||||||
filepath_devport=/sys/class/net/$eth/dev_port
|
|
||||||
if [ -f $filepath_devid ]; then
|
|
||||||
port1=0
|
|
||||||
if [ -f $filepath_devport ]; then
|
|
||||||
port1=$(cat $filepath_devport)
|
|
||||||
port1=$(printf "%d" $port1)
|
|
||||||
fi
|
|
||||||
|
|
||||||
port=$(cat $filepath_devid)
|
|
||||||
port=$(printf "%d" $port)
|
|
||||||
if [ $port1 -gt $port ]; then
|
|
||||||
port=$port1
|
|
||||||
fi
|
|
||||||
|
|
||||||
port=$(( port + 1 ))
|
|
||||||
|
|
||||||
filepath_carrier=/sys/class/net/$eth/carrier
|
|
||||||
|
|
||||||
if [ -f $filepath_carrier ]; then
|
|
||||||
link_state=$(cat $filepath_carrier 2> /dev/null)
|
|
||||||
if (( link_state == 1 )); then
|
|
||||||
link_state="Up"
|
|
||||||
else
|
|
||||||
link_state="Down"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
link_state="NA"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" == "-v" ]; then
|
|
||||||
filepath_portstate=/sys/class/infiniband/$d/ports/$port/state
|
|
||||||
filepath_deviceid=/sys/class/infiniband/$d/device/device
|
|
||||||
filepath_fwver=/sys/class/infiniband/$d/fw_ver
|
|
||||||
filepath_vpd=/sys/class/infiniband/$d/device/vpd
|
|
||||||
|
|
||||||
# read port state
|
|
||||||
if [ -f $filepath_portstate ]; then
|
|
||||||
ibstate=$(printf "%-6s" "$(cat $filepath_portstate | gawk '{print $2}')")
|
|
||||||
else
|
|
||||||
ibstate="na"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# read device
|
|
||||||
if [ -f $filepath_deviceid ]; then
|
|
||||||
devid=$(printf "mt%d" "$(cat $filepath_deviceid)")
|
|
||||||
else
|
|
||||||
devid="na"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# read fw version
|
|
||||||
if [ -f $filepath_fwver ]; then
|
|
||||||
fwver=$(cat $filepath_fwver)
|
|
||||||
else
|
|
||||||
fwver="na"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# read device description and part id from the vpd
|
|
||||||
if [ -f $filepath_vpd ]; then
|
|
||||||
tmp=$ifs
|
|
||||||
ifs=":"
|
|
||||||
vpd_content=`cat $filepath_vpd | tr -d '\0'`
|
|
||||||
devdesc=$(printf "%-15s" "$(echo $vpd_content | strings | head -1)")
|
|
||||||
partid=$(printf "%-11s" "$(echo $vpd_content | strings | head -4 | tail -1 | gawk '{print $1}')")
|
|
||||||
ifs=$tmp
|
|
||||||
else
|
|
||||||
devdesc=""
|
|
||||||
partid="na"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$d ($devid - $partid) $devdesc fw $fwver port $port ($ibstate) ==> $eth ($link_state)"
|
|
||||||
else
|
|
||||||
echo "$d port $port ==> $eth ($link_state)"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
else
|
|
||||||
##########################
|
|
||||||
### old style
|
|
||||||
##########################
|
|
||||||
ifcs=$(ifconfig -a | egrep '^eth|^ib' | gawk '{print $1}')
|
|
||||||
|
|
||||||
for ifc in $ifcs; do
|
|
||||||
len=$(cat /sys/class/net/$ifc/addr_len)
|
|
||||||
if (( len == 20 )); then
|
|
||||||
guid=$(cat /sys/class/net/$ifc/address | cut -b 37- | sed -e 's/://g')
|
|
||||||
find_guid $guid $ifc
|
|
||||||
elif (( len == 6)); then
|
|
||||||
mac=$(cat /sys/class/net/$ifc/address | sed -e 's/://g')
|
|
||||||
find_mac $mac $ifc
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
677
SOURCES/rxe_cfg
677
SOURCES/rxe_cfg
@ -1,677 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
# * Copyright (c) 2009-2011 Mellanox Technologies Ltd. All rights reserved.
|
|
||||||
# * Copyright (c) 2009-2011 System Fabric Works, Inc. All rights reserved.
|
|
||||||
# *
|
|
||||||
# * This software is available to you under a choice of one of two
|
|
||||||
# * licenses. You may choose to be licensed under the terms of the GNU
|
|
||||||
# * General Public License (GPL) Version 2, available from the file
|
|
||||||
# * COPYING in the main directory of this source tree, or the
|
|
||||||
# * OpenIB.org BSD license below:
|
|
||||||
# *
|
|
||||||
# * Redistribution and use in source and binary forms, with or
|
|
||||||
# * without modification, are permitted provided that the following
|
|
||||||
# * conditions are met:
|
|
||||||
# *
|
|
||||||
# * - Redistributions of source code must retain the above
|
|
||||||
# * copyright notice, this list of conditions and the following
|
|
||||||
# * disclaimer.
|
|
||||||
# *
|
|
||||||
# * - Redistributions in binary form must reproduce the above
|
|
||||||
# * copyright notice, this list of conditions and the following
|
|
||||||
# * disclaimer in the documentation and/or other materials
|
|
||||||
# * provided with the distribution.
|
|
||||||
# *
|
|
||||||
# * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
# * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
# * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
# * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
# * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
||||||
# * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
# * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
# * SOFTWARE.
|
|
||||||
#
|
|
||||||
|
|
||||||
use warnings;
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
use File::Basename;
|
|
||||||
use File::Path qw(make_path);
|
|
||||||
use Getopt::Long;
|
|
||||||
|
|
||||||
my $help = 0;
|
|
||||||
my $no_persist = 0;
|
|
||||||
my $debug = 0;
|
|
||||||
my $force = 0;
|
|
||||||
my $linkonly = 0;
|
|
||||||
my $parms = "/sys/module/rdma_rxe/parameters";
|
|
||||||
my $modprobe_opt = "";
|
|
||||||
my $modprobe_checked = "0";
|
|
||||||
my $persistence_path = "/var/lib/rxe";
|
|
||||||
my $persistence_file = "${persistence_path}/rxe";
|
|
||||||
my $num_persistent = 0;
|
|
||||||
my $sys = "/sys/module/rdma_rxe/parameters";
|
|
||||||
my %rxe_names;
|
|
||||||
my @rxe_array;
|
|
||||||
my %eth_names;
|
|
||||||
my @eth_list;
|
|
||||||
my %eth_driver;
|
|
||||||
my %link_state;
|
|
||||||
my %link_speed;
|
|
||||||
my %eth_mtu;
|
|
||||||
my %ipv4_addr;
|
|
||||||
my %rxe_mtu;
|
|
||||||
my @persistence_array;
|
|
||||||
my %persistence_hash;
|
|
||||||
my @mlx4_port;
|
|
||||||
my @mlx4_ether;
|
|
||||||
my @roce_list;
|
|
||||||
|
|
||||||
# Read a file and return its contents as a string.
|
|
||||||
sub read_file {
|
|
||||||
my $filename = shift;
|
|
||||||
my $result = "";
|
|
||||||
|
|
||||||
if (open(FILE, $filename)) {
|
|
||||||
$result = <FILE>;
|
|
||||||
close FILE;
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
#get mapping between rxe and eth devices
|
|
||||||
sub get_names {
|
|
||||||
my $i = 0;
|
|
||||||
|
|
||||||
foreach my $rxe (glob("/sys/class/infiniband/rxe*")) {
|
|
||||||
$rxe = basename($rxe);
|
|
||||||
my $eth = read_file("/sys/class/infiniband/$rxe/parent");
|
|
||||||
chomp($eth);
|
|
||||||
|
|
||||||
if (($eth =~ /[\w]+[\d]/)
|
|
||||||
&& ($rxe =~ /rxe[0123456789]/)) {
|
|
||||||
|
|
||||||
# hash ethername to rxename
|
|
||||||
$rxe_names{$eth} = $rxe;
|
|
||||||
$rxe_array[$i++] = $rxe;
|
|
||||||
|
|
||||||
# hash rxename to ethername
|
|
||||||
$eth_names{$rxe} = $eth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# get list of Mellanox RoCE ports
|
|
||||||
sub get_mlx4_list {
|
|
||||||
my $i = 0;
|
|
||||||
|
|
||||||
foreach my $mlx4 (glob("/sys/class/infiniband/mlx4_*")) {
|
|
||||||
$mlx4 = basename($mlx4);
|
|
||||||
foreach my $port (glob("/sys/class/infiniband/$mlx4/ports/*")) {
|
|
||||||
$port = basename($port);
|
|
||||||
my $link = read_file("$port/link_layer");
|
|
||||||
chomp($link);
|
|
||||||
|
|
||||||
if ($link =~ "Ethernet") {
|
|
||||||
$roce_list[$i++] = "$mlx4:$port";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#collect per device information
|
|
||||||
sub get_dev_info {
|
|
||||||
my @list;
|
|
||||||
my @fields;
|
|
||||||
my @lines;
|
|
||||||
my $line;
|
|
||||||
my $eth;
|
|
||||||
my $drv;
|
|
||||||
my $np;
|
|
||||||
my $i = 0;
|
|
||||||
my $j = 0;
|
|
||||||
|
|
||||||
get_mlx4_list();
|
|
||||||
|
|
||||||
my @my_eth_list = ();
|
|
||||||
foreach my $my_eth_dev (glob("/sys/class/net/*")) {
|
|
||||||
$my_eth_dev = basename($my_eth_dev);
|
|
||||||
if ($my_eth_dev ne "bonding_masters"){
|
|
||||||
my $my_dev_type = read_file("/sys/class/net/${my_eth_dev}/type");
|
|
||||||
chomp($my_dev_type);
|
|
||||||
if ($my_dev_type == "1") {
|
|
||||||
push(@my_eth_list, "$my_eth_dev");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@list = @my_eth_list;
|
|
||||||
foreach $eth (@list) {
|
|
||||||
chomp($eth);
|
|
||||||
|
|
||||||
$eth_list[$i++] = $eth;
|
|
||||||
|
|
||||||
@lines = `ethtool -i $eth`;
|
|
||||||
foreach $line (@lines) {
|
|
||||||
chomp($line);
|
|
||||||
|
|
||||||
@fields = split(/\s+/, $line);
|
|
||||||
chomp($fields[0]);
|
|
||||||
|
|
||||||
if ($fields[0] =~ /driver:/) {
|
|
||||||
$drv = $fields[1];
|
|
||||||
$eth_driver{$eth} = $drv;
|
|
||||||
|
|
||||||
if ($drv =~ /mlx4_en/ && scalar(@roce_list) > 0 ) {
|
|
||||||
$eth_names{$roce_list[$j++]} = $eth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# get link status
|
|
||||||
$link_state{$eth} = "";
|
|
||||||
$link_speed{$eth} = "";
|
|
||||||
|
|
||||||
@lines = `ethtool $eth`;
|
|
||||||
foreach $line (@lines) {
|
|
||||||
chomp($line);
|
|
||||||
|
|
||||||
@fields = split(/:/, $line);
|
|
||||||
if (defined($fields[1])) {
|
|
||||||
$fields[1] =~ s/^\s+//g;
|
|
||||||
if ($fields[0] =~ "Link detected") {
|
|
||||||
$link_state{$eth} = $fields[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($line =~ "10000baseT") {
|
|
||||||
$link_speed{$eth} = "10GigE";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$ipv4_addr{$eth} = " ";
|
|
||||||
$eth_mtu{$eth} = "";
|
|
||||||
|
|
||||||
@lines = `ip addr show $eth`;
|
|
||||||
foreach $line (@lines) {
|
|
||||||
# get IP address
|
|
||||||
if ($line =~ /inet /) {
|
|
||||||
$line =~ s/^\s+inet ([0-9.]+)\//$1 /g;
|
|
||||||
@fields = split(/\s+/, $line);
|
|
||||||
$ipv4_addr{$eth} = $fields[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
# get ethernet mtu
|
|
||||||
if ($line =~ /mtu /) {
|
|
||||||
$line =~ s/^.*mtu //g;
|
|
||||||
@fields = split(/\s+/, $line);
|
|
||||||
$eth_mtu{$eth} = $fields[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# get rxe mtu
|
|
||||||
foreach my $rxe (@rxe_array) {
|
|
||||||
|
|
||||||
@lines = `ibv_devinfo -d $rxe`;
|
|
||||||
foreach $line (@lines) {
|
|
||||||
if ($line =~ "active_mtu") {
|
|
||||||
$line =~ s/^\s+active_mtu:\s+//g;
|
|
||||||
chomp($line);
|
|
||||||
|
|
||||||
$rxe_mtu{$rxe} = $line;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$rxe_mtu{$rxe} = "(?)" if (!$rxe_mtu{$rxe});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# return string or the string "###" if string is all whitespace
|
|
||||||
sub set_field {
|
|
||||||
my $fld = $_[0];
|
|
||||||
|
|
||||||
if (defined($fld) && $fld =~ /\S/) {
|
|
||||||
return $fld;
|
|
||||||
} else {
|
|
||||||
return "###";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# format status output into fixed width columns
|
|
||||||
sub status_print {
|
|
||||||
my @fields;
|
|
||||||
my $field;
|
|
||||||
my @flen = ();
|
|
||||||
my $num_fields = 0;
|
|
||||||
my $i;
|
|
||||||
my $pad;
|
|
||||||
my $line;
|
|
||||||
|
|
||||||
# one pass to size the columns
|
|
||||||
foreach $line (@_) {
|
|
||||||
@fields = split(/\s+/, $line);
|
|
||||||
$i = 0;
|
|
||||||
foreach $field (@fields) {
|
|
||||||
if (!defined($flen[$i])) {
|
|
||||||
$flen[$i] = length($field);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$flen[$i] = max($flen[$i], length($field));
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($i > $num_fields) {
|
|
||||||
$num_fields = $i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# one pass to print
|
|
||||||
foreach $line (@_) {
|
|
||||||
print " ";
|
|
||||||
@fields = split(/\s+/, $line);
|
|
||||||
for ($i = 0; $i < $num_fields; $i++) {
|
|
||||||
if (defined($fields[$i])) {
|
|
||||||
$pad = $flen[$i] - length($fields[$i]) + 2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$pad = $flen[$i] + 2;
|
|
||||||
}
|
|
||||||
if (defined($fields[$i]) && ($fields[$i] ne "###")) {
|
|
||||||
print "$fields[$i]";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print " ";
|
|
||||||
}
|
|
||||||
printf("%*s", $pad, "");
|
|
||||||
}
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# check driver load status
|
|
||||||
sub check_module_status {
|
|
||||||
if (-e $sys) {
|
|
||||||
return 0;
|
|
||||||
} else {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# print driver load status and ethertype for rdma_rxe and rdma_rxe_net
|
|
||||||
sub show_module_status {
|
|
||||||
print "rdma_rxe module not loaded\n" if (!(-e $sys));
|
|
||||||
}
|
|
||||||
|
|
||||||
# print rxe status
|
|
||||||
sub do_status {
|
|
||||||
my $instance = $_[0];
|
|
||||||
my $ln = 0;
|
|
||||||
my @outp;
|
|
||||||
my $rxe;
|
|
||||||
my $rmtu;
|
|
||||||
|
|
||||||
get_names();
|
|
||||||
get_dev_info();
|
|
||||||
show_module_status();
|
|
||||||
|
|
||||||
$outp[$ln++] = "Name\tLink\tDriver\t\tSpeed\tNMTU\tIPv4_addr\tRDEV\tRMTU";
|
|
||||||
|
|
||||||
foreach my $eth (@eth_list) {
|
|
||||||
|
|
||||||
# handle case where rxe_drivers are not loaded
|
|
||||||
if (defined($rxe_names{$eth})) {
|
|
||||||
$rxe = $rxe_names{$eth};
|
|
||||||
$rmtu = $rxe_mtu{$rxe};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$rxe = "";
|
|
||||||
$rmtu = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((!defined($instance)
|
|
||||||
&& (($linkonly == 0) || ($link_state{$eth} =~ "yes")))
|
|
||||||
|| (defined($instance) && ($rxe =~ "$instance"))) {
|
|
||||||
$outp[$ln] = set_field("$eth");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$link_state{$eth}");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field(exists($eth_driver{$eth}) ? $eth_driver{$eth} : "");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$link_speed{$eth}");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$eth_mtu{$eth}");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$ipv4_addr{$eth}");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$rxe");
|
|
||||||
$outp[$ln] .= "\t";
|
|
||||||
$outp[$ln] .= set_field("$rmtu");
|
|
||||||
$ln++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
status_print(@outp);
|
|
||||||
}
|
|
||||||
|
|
||||||
# read file containing list of ethernet devices into a list
|
|
||||||
sub populate_persistence {
|
|
||||||
my $i = 0;
|
|
||||||
|
|
||||||
open FILE, $persistence_file;
|
|
||||||
while(<FILE>) {
|
|
||||||
my $line = $_;
|
|
||||||
chomp($line);
|
|
||||||
$line =~ s/^\s+//g;
|
|
||||||
if ($line =~ /[\w]+[\d]/) {
|
|
||||||
# in case we add fields later
|
|
||||||
my ($eth, $cruft) = split(/\s+/, $line, 2);
|
|
||||||
if ($eth =~ /^[\w]+[\d]/) {
|
|
||||||
$persistence_array[$i] = $eth;
|
|
||||||
$persistence_hash{$eth} = $i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close FILE;
|
|
||||||
|
|
||||||
$num_persistent = $i;
|
|
||||||
}
|
|
||||||
|
|
||||||
# print out list of ethernet devices to file
|
|
||||||
sub commit_persistent {
|
|
||||||
my $i;
|
|
||||||
my $eth;
|
|
||||||
|
|
||||||
open(PF, ">$persistence_file");
|
|
||||||
|
|
||||||
for ($i = 0; $i < $num_persistent; $i++) {
|
|
||||||
$eth = $persistence_array[$i];
|
|
||||||
if ($eth =~ /[\w]+[\d]/) {
|
|
||||||
print(PF "$persistence_array[$i]\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close(PF);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub delete_persistent {
|
|
||||||
my $eth = $_[0];
|
|
||||||
|
|
||||||
if (defined($persistence_hash{$eth})) {
|
|
||||||
$persistence_array[$persistence_hash{$eth}] = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub add_persistent {
|
|
||||||
my $eth = $_[0];
|
|
||||||
|
|
||||||
# Is this one already in the persistence list?
|
|
||||||
if (!defined($persistence_hash{$eth})) {
|
|
||||||
$persistence_array[$num_persistent] = $eth;
|
|
||||||
$persistence_hash{$eth} = $num_persistent;
|
|
||||||
$num_persistent++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# add new rxe device to eth if not already up
|
|
||||||
sub rxe_add {
|
|
||||||
my $eth = $_[0];
|
|
||||||
|
|
||||||
if (!($eth =~ /[\w]+[\d]/)) {
|
|
||||||
print "eth_name ($eth) looks bogus\n";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defined($rxe_names{$eth})) {
|
|
||||||
system("echo '$eth' > $parms/add");
|
|
||||||
}
|
|
||||||
if (!$no_persist) {
|
|
||||||
add_persistent($eth);
|
|
||||||
commit_persistent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub rxe_remove {
|
|
||||||
my $arg2 = $_[0];
|
|
||||||
my $rxe;
|
|
||||||
my $eth;
|
|
||||||
|
|
||||||
print "remove $arg2\n" if ($debug > 0);
|
|
||||||
|
|
||||||
if ($arg2 =~ /[\w]+[\d]/) {
|
|
||||||
$eth = $arg2;
|
|
||||||
$rxe = $rxe_names{$eth};
|
|
||||||
}
|
|
||||||
elsif ($arg2 =~ /rxe[0123456789]/) {
|
|
||||||
$rxe = $arg2;
|
|
||||||
$eth = $eth_names{$rxe};
|
|
||||||
}
|
|
||||||
elsif ($arg2 eq "all") {
|
|
||||||
$rxe = "all";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (($rxe eq "all") || ($rxe =~ /^rxe[0123456789]/)) {
|
|
||||||
my $cmd = "echo '$rxe' > $parms/remove";
|
|
||||||
#print "$cmd\n";
|
|
||||||
system($cmd);
|
|
||||||
if (!$no_persist) {
|
|
||||||
if ($rxe eq "all") {
|
|
||||||
unlink($persistence_file);
|
|
||||||
}
|
|
||||||
elsif ($eth =~/[\w]+[\d]/) {
|
|
||||||
delete_persistent($eth);
|
|
||||||
commit_persistent();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print "Warning: Unable to resolve ethname; "
|
|
||||||
. "instance may persist on restart\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print "rxe instance $rxe not found\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_devinfo {
|
|
||||||
my $rxe = $_[0];
|
|
||||||
|
|
||||||
my $cmd = "ibv_devinfo -d $rxe";
|
|
||||||
return `$cmd`;
|
|
||||||
}
|
|
||||||
|
|
||||||
# allow unsupported modules to load in SLES11 if allowed
|
|
||||||
sub modprobe {
|
|
||||||
my $module = $_[0];
|
|
||||||
my $opts = $_[1];
|
|
||||||
my @lines;
|
|
||||||
my $line;
|
|
||||||
|
|
||||||
if ($modprobe_checked == "0") {
|
|
||||||
@lines = `modprobe -c`;
|
|
||||||
foreach $line (@lines) {
|
|
||||||
if ($line =~ /^allow_unsupported_modules *0/) {
|
|
||||||
$modprobe_opt = " --allow-unsupported-modules ";
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$modprobe_checked = "1";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defined($opts)) {
|
|
||||||
$opts = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
system("modprobe $modprobe_opt $module $opts");
|
|
||||||
}
|
|
||||||
|
|
||||||
# bring up rxe
|
|
||||||
sub do_start {
|
|
||||||
my $proto_str = "";
|
|
||||||
|
|
||||||
system("mkdir -p $persistence_path");
|
|
||||||
system("touch $persistence_file");
|
|
||||||
|
|
||||||
modprobe("ib_core");
|
|
||||||
modprobe("ib_uverbs");
|
|
||||||
modprobe("rdma_ucm");
|
|
||||||
modprobe("rdma_rxe");
|
|
||||||
|
|
||||||
populate_persistence();
|
|
||||||
system("udevadm control --reload");
|
|
||||||
|
|
||||||
foreach my $eth (@persistence_array) {
|
|
||||||
rxe_add($eth);
|
|
||||||
}
|
|
||||||
|
|
||||||
get_names();
|
|
||||||
|
|
||||||
foreach my $rxe (@rxe_array) {
|
|
||||||
my $stat = get_devinfo($rxe);
|
|
||||||
if ($stat =~ "PORT_DOWN") {
|
|
||||||
my $cmd = "ip link set $eth_names{$rxe} up";
|
|
||||||
system($cmd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# check if argument is an integer
|
|
||||||
sub is_integer {
|
|
||||||
defined $_[0] && $_[0] =~ /^[+-]?\d+$/;
|
|
||||||
}
|
|
||||||
|
|
||||||
# remove all rxe devices and unload drivers
|
|
||||||
sub do_stop {
|
|
||||||
my $rxe;
|
|
||||||
|
|
||||||
foreach $rxe (@rxe_array) {
|
|
||||||
system("echo '$rxe' > $sys/remove");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-e $sys) {
|
|
||||||
system("rmmod rdma_rxe");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-e $sys) {
|
|
||||||
print "unable to unload drivers, reboot required\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub do_debug {
|
|
||||||
my $arg2 = $_[0];
|
|
||||||
my $debugfile = "$parms/debug";
|
|
||||||
chomp($arg2);
|
|
||||||
|
|
||||||
if (!(-e "$debugfile")) {
|
|
||||||
print "Error: debug is compiled out of this rxe driver\n";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($arg2 eq "on") { system("echo '31' > $debugfile"); }
|
|
||||||
elsif ($arg2 eq "off") { system("echo '0' > $debugfile"); }
|
|
||||||
elsif ($arg2 eq "0") { system("echo '0' > $debugfile"); }
|
|
||||||
elsif ($arg2 eq "") { }
|
|
||||||
elsif ($arg2 ge "0" && $arg2 le "31") {
|
|
||||||
system("echo '$arg2' > $debugfile");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print "unrecognized debug cmd ($arg2)\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $current = read_file($debugfile);
|
|
||||||
chomp($current);
|
|
||||||
if ($current > 0) {
|
|
||||||
print "Debug is ON ($current)\n";
|
|
||||||
}
|
|
||||||
elsif ($current == 0) {
|
|
||||||
print "Debug is OFF\n";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print "Unrecognized debug value\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub max {
|
|
||||||
my $a = $_[0];
|
|
||||||
my $b = $_[1];
|
|
||||||
return $a if ($a > $b);
|
|
||||||
return $b;
|
|
||||||
}
|
|
||||||
|
|
||||||
# show usage for rxe_cfg
|
|
||||||
sub usage {
|
|
||||||
print " Usage:\n";
|
|
||||||
print " rxe_cfg [options] start|stop|status|persistent\n";
|
|
||||||
print " rxe_cfg debug on|off|<num>\n";
|
|
||||||
print " rxe_cfg [-n] add <ndev>\n";
|
|
||||||
print " rxe_cfg [-n] remove <ndev>|<rdev>\n";
|
|
||||||
print "\n";
|
|
||||||
print " <ndev> = network device e.g. eth3\n";
|
|
||||||
print " <rdev> = rdma device e.g. rxe1\n";
|
|
||||||
print "\n";
|
|
||||||
print " Options:\n";
|
|
||||||
print " -h: print this usage information\n";
|
|
||||||
print " -n: do not make the configuration action persistent\n";
|
|
||||||
print " -v: print additional debug output\n";
|
|
||||||
print " -l: show status for interfaces with link up\n";
|
|
||||||
print " -p <num>: (start command only) - set ethertype\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
sub main {
|
|
||||||
GetOptions(
|
|
||||||
"-h" => \$help,
|
|
||||||
"--help" => \$help,
|
|
||||||
"-n" => \$no_persist,
|
|
||||||
"-v:+" => \$debug,
|
|
||||||
"-f" => \$force,
|
|
||||||
"-l" => \$linkonly,
|
|
||||||
);
|
|
||||||
|
|
||||||
my $arg1 = $ARGV[0];
|
|
||||||
my $arg2 = $ARGV[1];
|
|
||||||
my $arg3 = $ARGV[2];
|
|
||||||
|
|
||||||
# status is the default
|
|
||||||
if (!defined($arg1) || ($arg1 =~ /status/)) {
|
|
||||||
do_status($arg2);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($help) {
|
|
||||||
usage();
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
# stuff that does not require modules to be loaded
|
|
||||||
if ($arg1 eq "help") { usage(); exit; }
|
|
||||||
elsif ($arg1 eq "start") { do_start(); do_status(); exit; }
|
|
||||||
elsif ($arg1 eq "persistent") { system("cat $persistence_file"); exit; }
|
|
||||||
|
|
||||||
|
|
||||||
# can't do much else, bail if modules aren't loaded
|
|
||||||
if (check_module_status()) {
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
# create persistence file if necessary
|
|
||||||
make_path($persistence_path);
|
|
||||||
if (!(-e $persistence_file)) {
|
|
||||||
`touch $persistence_file`;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get full context of the configuration
|
|
||||||
populate_persistence();
|
|
||||||
get_names();
|
|
||||||
get_dev_info();
|
|
||||||
|
|
||||||
# Stuff that requires the rdma_rxe module to be loaded
|
|
||||||
if ($arg1 eq "stop") { do_stop(); exit; }
|
|
||||||
elsif ($arg1 eq "debug") { do_debug($arg2); exit; }
|
|
||||||
elsif ($arg1 eq "add") { rxe_add($arg2); exit; }
|
|
||||||
elsif ($arg1 eq "remove") { rxe_remove($arg2); exit; }
|
|
||||||
elsif ($arg1 eq "help") { usage(); exit; }
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
|
|
||||||
exit;
|
|
@ -1,5 +1,5 @@
|
|||||||
Name: rdma-core
|
Name: rdma-core
|
||||||
Version: 48.0
|
Version: 51.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: RDMA core userspace libraries and daemons
|
Summary: RDMA core userspace libraries and daemons
|
||||||
|
|
||||||
@ -10,16 +10,6 @@ Summary: RDMA core userspace libraries and daemons
|
|||||||
License: GPLv2 or BSD
|
License: GPLv2 or BSD
|
||||||
Url: https://github.com/linux-rdma/rdma-core
|
Url: https://github.com/linux-rdma/rdma-core
|
||||||
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: ibdev2netdev
|
|
||||||
# Upstream had removed rxe_cfg from upstream git repo. RHEL-8.X has
|
|
||||||
# to keep it for backward compatibility. 'rxe_cfg' and 'rxe_cfg.8.gz'
|
|
||||||
# are extracted from libibverbs-26.0-8.el8 .
|
|
||||||
Source2: rxe_cfg
|
|
||||||
Source3: rxe_cfg.8.gz
|
|
||||||
# RHEL specific patch for OPA ibacm plugin
|
|
||||||
Patch300: 0001-ibacm-acm.c-load-plugin-while-it-is-soft-link.patch
|
|
||||||
Patch301: 0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch
|
|
||||||
Patch9000: 0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch
|
|
||||||
Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
|
Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
|
||||||
Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
|
Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
|
||||||
# Do not build static libs by default.
|
# Do not build static libs by default.
|
||||||
@ -35,10 +25,8 @@ BuildRequires: libudev-devel
|
|||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: pkgconfig(libnl-3.0)
|
BuildRequires: pkgconfig(libnl-3.0)
|
||||||
BuildRequires: pkgconfig(libnl-route-3.0)
|
BuildRequires: pkgconfig(libnl-route-3.0)
|
||||||
BuildRequires: python3-docutils
|
BuildRequires: /usr/bin/rst2man
|
||||||
%ifarch %{valgrind_arches}
|
|
||||||
BuildRequires: valgrind-devel
|
BuildRequires: valgrind-devel
|
||||||
%endif
|
|
||||||
BuildRequires: systemd
|
BuildRequires: systemd
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
|
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
|
||||||
@ -57,17 +45,21 @@ BuildRequires: python
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildRequires: sed
|
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 || %{with_pyverbs}
|
||||||
|
BuildRequires: python3-docutils
|
||||||
|
%else
|
||||||
|
BuildRequires: python-docutils
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
|
%endif
|
||||||
|
|
||||||
Requires: pciutils
|
Requires: pciutils
|
||||||
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
|
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
|
||||||
# package called 'rdma', which we're supplanting here.
|
# package called 'rdma', which we're supplanting here.
|
||||||
Provides: rdma = %{version}-%{release}
|
Provides: rdma = %{version}-%{release}
|
||||||
Obsoletes: rdma < %{version}-%{release}
|
Obsoletes: rdma < %{version}-%{release}
|
||||||
Provides: rdma-ndd = %{version}-%{release}
|
|
||||||
Obsoletes: rdma-ndd < %{version}-%{release}
|
|
||||||
# the ndd utility moved from infiniband-diags to rdma-core
|
|
||||||
Conflicts: infiniband-diags <= 1.6.7
|
Conflicts: infiniband-diags <= 1.6.7
|
||||||
|
|
||||||
# Since we recommend developers use Ninja, so should packagers, for consistency.
|
# Since we recommend developers use Ninja, so should packagers, for consistency.
|
||||||
@ -76,8 +68,13 @@ Conflicts: infiniband-diags <= 1.6.7
|
|||||||
# Ninja was introduced in FC23
|
# Ninja was introduced in FC23
|
||||||
BuildRequires: ninja-build
|
BuildRequires: ninja-build
|
||||||
%define CMAKE_FLAGS -GNinja
|
%define CMAKE_FLAGS -GNinja
|
||||||
|
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
||||||
|
%define make_jobs ninja-build -C %{_vpath_builddir} -v %{?_smp_mflags}
|
||||||
|
%define cmake_install DESTDIR=%{buildroot} ninja-build -C %{_vpath_builddir} install
|
||||||
|
%else
|
||||||
%define make_jobs ninja-build -v %{?_smp_mflags}
|
%define make_jobs ninja-build -v %{?_smp_mflags}
|
||||||
%define cmake_install DESTDIR=%{buildroot} ninja-build install
|
%define cmake_install DESTDIR=%{buildroot} ninja-build install
|
||||||
|
%endif
|
||||||
%else
|
%else
|
||||||
# Fallback to make otherwise
|
# Fallback to make otherwise
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
@ -85,7 +82,15 @@ BuildRequires: make
|
|||||||
%define cmake_install DESTDIR=%{buildroot} make install
|
%define cmake_install DESTDIR=%{buildroot} make install
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 25 || 0%{?rhel} == 8
|
||||||
|
# pandoc was introduced in FC25, Centos8
|
||||||
BuildRequires: pandoc
|
BuildRequires: pandoc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 34
|
||||||
|
# self obsoletes to remove i686 multilib package when updating to F34
|
||||||
|
Obsoletes: rdma-core < 34.0-3
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
RDMA core userspace infrastructure and documentation, including initialization
|
RDMA core userspace infrastructure and documentation, including initialization
|
||||||
@ -149,12 +154,13 @@ Provides: libmana = %{version}-%{release}
|
|||||||
Obsoletes: libmana < %{version}-%{release}
|
Obsoletes: libmana < %{version}-%{release}
|
||||||
Provides: libmlx4 = %{version}-%{release}
|
Provides: libmlx4 = %{version}-%{release}
|
||||||
Obsoletes: libmlx4 < %{version}-%{release}
|
Obsoletes: libmlx4 < %{version}-%{release}
|
||||||
%ifnarch s390
|
|
||||||
Provides: libmlx5 = %{version}-%{release}
|
Provides: libmlx5 = %{version}-%{release}
|
||||||
Obsoletes: libmlx5 < %{version}-%{release}
|
Obsoletes: libmlx5 < %{version}-%{release}
|
||||||
%endif
|
|
||||||
Provides: librxe = %{version}-%{release}
|
Provides: librxe = %{version}-%{release}
|
||||||
Obsoletes: librxe < %{version}-%{release}
|
Obsoletes: librxe < %{version}-%{release}
|
||||||
|
%if 0%{?fedora} == 34
|
||||||
|
Obsoletes: libibverbs-core < %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
%description -n libibverbs
|
%description -n libibverbs
|
||||||
libibverbs is a library that allows userspace processes to use RDMA
|
libibverbs is a library that allows userspace processes to use RDMA
|
||||||
@ -165,7 +171,6 @@ fast path operations.
|
|||||||
|
|
||||||
Device-specific plug-in ibverbs userspace drivers are included:
|
Device-specific plug-in ibverbs userspace drivers are included:
|
||||||
|
|
||||||
- libbxnt_re: Broadcom NetXtreme-E RoCE HCA
|
|
||||||
- libcxgb4: Chelsio T4 iWARP HCA
|
- libcxgb4: Chelsio T4 iWARP HCA
|
||||||
- libefa: Amazon Elastic Fabric Adapter
|
- libefa: Amazon Elastic Fabric Adapter
|
||||||
- libhfi1: Intel Omni-Path HFI
|
- libhfi1: Intel Omni-Path HFI
|
||||||
@ -182,9 +187,6 @@ Device-specific plug-in ibverbs userspace drivers are included:
|
|||||||
%package -n libibverbs-utils
|
%package -n libibverbs-utils
|
||||||
Summary: Examples for the libibverbs library
|
Summary: Examples for the libibverbs library
|
||||||
Requires: libibverbs%{?_isa} = %{version}-%{release}
|
Requires: libibverbs%{?_isa} = %{version}-%{release}
|
||||||
# rxe_cfg uses commands provided by these packages
|
|
||||||
Requires: iproute
|
|
||||||
Requires: ethtool
|
|
||||||
|
|
||||||
%description -n libibverbs-utils
|
%description -n libibverbs-utils
|
||||||
Useful libibverbs example programs such as ibv_devinfo, which
|
Useful libibverbs example programs such as ibv_devinfo, which
|
||||||
@ -264,13 +266,10 @@ easy, object-oriented access to IB verbs.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch300 -p1
|
|
||||||
%patch301 -p1
|
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
%patch9998 -p1
|
%patch9998 -p1
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
%patch9000 -p1
|
|
||||||
%patch9999 -p1
|
%patch9999 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -337,22 +336,15 @@ install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/li
|
|||||||
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
|
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
|
||||||
rm -f %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
|
rm -f %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
|
||||||
install -D -m0644 redhat/rdma.conf %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
|
install -D -m0644 redhat/rdma.conf %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
|
||||||
# ibdev2netdev helper script
|
|
||||||
install -D -m0755 %{SOURCE1} %{buildroot}%{_bindir}/
|
|
||||||
|
|
||||||
# rxe_cfg
|
|
||||||
install -D -m0755 %{SOURCE2} %{buildroot}%{_bindir}/
|
|
||||||
install -D -m0644 %{SOURCE3} %{buildroot}%{_mandir}/man8/
|
|
||||||
|
|
||||||
# ibacm
|
# ibacm
|
||||||
bin/ib_acme -D . -O
|
(if [ -d %{__cmake_builddir} ]; then cd %{__cmake_builddir}; fi
|
||||||
# multi-lib conflict resolution hacks (bug 1429362)
|
./bin/ib_acme -D . -O &&
|
||||||
sed -i -e 's|%{_libdir}|/usr/lib|' %{buildroot}%{_mandir}/man7/ibacm_prov.7
|
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/)
|
||||||
sed -i -e 's|%{_libdir}|/usr/lib|' ibacm_opts.cfg
|
|
||||||
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
|
|
||||||
|
|
||||||
# Delete the package's init.d scripts
|
# Delete the package's init.d scripts
|
||||||
rm -rf %{buildroot}/%{_initrddir}/
|
rm -rf %{buildroot}/%{_initrddir}/
|
||||||
|
rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
|
||||||
|
|
||||||
%ldconfig_scriptlets -n libibverbs
|
%ldconfig_scriptlets -n libibverbs
|
||||||
|
|
||||||
@ -403,9 +395,8 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf
|
%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf
|
||||||
%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf
|
%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf
|
||||||
%dir %{_sysconfdir}/modprobe.d
|
%dir %{_sysconfdir}/modprobe.d
|
||||||
%ifnarch s390
|
|
||||||
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
|
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
|
||||||
%endif
|
%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
|
||||||
%{_unitdir}/rdma-hw.target
|
%{_unitdir}/rdma-hw.target
|
||||||
%{_unitdir}/rdma-load-modules@.service
|
%{_unitdir}/rdma-load-modules@.service
|
||||||
%dir %{dracutlibdir}
|
%dir %{dracutlibdir}
|
||||||
@ -423,8 +414,8 @@ fi
|
|||||||
%dir %{sysmodprobedir}
|
%dir %{sysmodprobedir}
|
||||||
%{sysmodprobedir}/libmlx4.conf
|
%{sysmodprobedir}/libmlx4.conf
|
||||||
%{_libexecdir}/mlx4-setup.sh
|
%{_libexecdir}/mlx4-setup.sh
|
||||||
|
%{_libexecdir}/truescale-serdes.cmds
|
||||||
%{_sbindir}/rdma-ndd
|
%{_sbindir}/rdma-ndd
|
||||||
%{_bindir}/ibdev2netdev
|
|
||||||
%{_unitdir}/rdma-ndd.service
|
%{_unitdir}/rdma-ndd.service
|
||||||
%{_mandir}/man7/rxe*
|
%{_mandir}/man7/rxe*
|
||||||
%{_mandir}/man8/rdma-ndd.*
|
%{_mandir}/man8/rdma-ndd.*
|
||||||
@ -442,20 +433,20 @@ fi
|
|||||||
%{_libdir}/lib*.so
|
%{_libdir}/lib*.so
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
%{_mandir}/man3/efadv*
|
%{_mandir}/man3/efadv*
|
||||||
|
%{_mandir}/man3/hnsdv*
|
||||||
%{_mandir}/man3/ibv_*
|
%{_mandir}/man3/ibv_*
|
||||||
%{_mandir}/man3/rdma*
|
%{_mandir}/man3/rdma*
|
||||||
%{_mandir}/man3/umad*
|
%{_mandir}/man3/umad*
|
||||||
%{_mandir}/man3/*_to_ibv_rate.*
|
%{_mandir}/man3/*_to_ibv_rate.*
|
||||||
%{_mandir}/man7/rdma_cm.*
|
%{_mandir}/man7/rdma_cm.*
|
||||||
%ifnarch s390
|
|
||||||
%{_mandir}/man3/mlx5dv*
|
%{_mandir}/man3/mlx5dv*
|
||||||
%{_mandir}/man3/mlx4dv*
|
%{_mandir}/man3/mlx4dv*
|
||||||
%{_mandir}/man3/manadv*
|
%{_mandir}/man3/manadv*
|
||||||
%{_mandir}/man7/efadv*
|
%{_mandir}/man7/efadv*
|
||||||
|
%{_mandir}/man7/hnsdv*
|
||||||
%{_mandir}/man7/mlx5dv*
|
%{_mandir}/man7/mlx5dv*
|
||||||
%{_mandir}/man7/mlx4dv*
|
%{_mandir}/man7/mlx4dv*
|
||||||
%{_mandir}/man7/manadv*
|
%{_mandir}/man7/manadv*
|
||||||
%endif
|
|
||||||
%{_mandir}/man3/ibnd_*
|
%{_mandir}/man3/ibnd_*
|
||||||
|
|
||||||
%files -n infiniband-diags
|
%files -n infiniband-diags
|
||||||
@ -530,21 +521,18 @@ fi
|
|||||||
%dir %{_sysconfdir}/libibverbs.d
|
%dir %{_sysconfdir}/libibverbs.d
|
||||||
%dir %{_libdir}/libibverbs
|
%dir %{_libdir}/libibverbs
|
||||||
%{_libdir}/libefa.so.*
|
%{_libdir}/libefa.so.*
|
||||||
|
%{_libdir}/libhns.so.*
|
||||||
%{_libdir}/libibverbs*.so.*
|
%{_libdir}/libibverbs*.so.*
|
||||||
%{_libdir}/libibverbs/*.so
|
%{_libdir}/libibverbs/*.so
|
||||||
%ifnarch s390
|
%{_libdir}/libmana.so.*
|
||||||
%{_libdir}/libmlx5.so.*
|
%{_libdir}/libmlx5.so.*
|
||||||
%{_libdir}/libmlx4.so.*
|
%{_libdir}/libmlx4.so.*
|
||||||
%{_libdir}/libmana.so.*
|
|
||||||
%endif
|
|
||||||
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
|
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
|
||||||
%doc %{_docdir}/%{name}/libibverbs.md
|
%doc %{_docdir}/%{name}/libibverbs.md
|
||||||
|
|
||||||
%files -n libibverbs-utils
|
%files -n libibverbs-utils
|
||||||
%{_bindir}/ibv_*
|
%{_bindir}/ibv_*
|
||||||
%{_mandir}/man1/ibv_*
|
%{_mandir}/man1/ibv_*
|
||||||
%{_bindir}/rxe_cfg
|
|
||||||
%{_mandir}/man8/rxe*
|
|
||||||
|
|
||||||
%files -n ibacm
|
%files -n ibacm
|
||||||
%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
|
%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
|
||||||
@ -615,7 +603,6 @@ fi
|
|||||||
%{_unitdir}/srp_daemon_port@.service
|
%{_unitdir}/srp_daemon_port@.service
|
||||||
%{_sbindir}/ibsrpdm
|
%{_sbindir}/ibsrpdm
|
||||||
%{_sbindir}/srp_daemon
|
%{_sbindir}/srp_daemon
|
||||||
%{_sbindir}/srp_daemon.sh
|
|
||||||
%{_sbindir}/run_srp_daemon
|
%{_sbindir}/run_srp_daemon
|
||||||
%{_udevrulesdir}/60-srp_daemon.rules
|
%{_udevrulesdir}/60-srp_daemon.rules
|
||||||
%{_mandir}/man5/srp_daemon.service.5*
|
%{_mandir}/man5/srp_daemon.service.5*
|
||||||
@ -631,211 +618,160 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Sep 21 2023 Kamal Heib <kheib@redhat.com> - 48.0-1
|
* Mon Apr 22 2024 Kamal Heib <kheib@redhat.com> - 51.0-1
|
||||||
|
- Rebase to upstream release v51.0
|
||||||
|
- Resolves: RHEL-24473, RHEL-23180
|
||||||
|
|
||||||
|
* Mon Sep 18 2023 Kamal Heib <kheib@redhat.com> - 48.0-1
|
||||||
- Rebase to upstream release v48.0
|
- Rebase to upstream release v48.0
|
||||||
- Resolves: RHEL-930, RHEL-4240, RHEL-6281, RHEL-6078
|
- Resolves: RHEL-884, RHEL-4800, RHEL-4799, RHEL-3527, RHEL-5486
|
||||||
|
|
||||||
* Tue May 30 2023 Kamal Heib <kheib@redhat.com> - 46.0-1.1
|
* Wed May 24 2023 Kamal Heib <kheib@redhat.com> - 46.0-1
|
||||||
- Add gating tests
|
|
||||||
- Resolves: rhbz#2170066
|
|
||||||
|
|
||||||
* Thu May 25 2023 Kamal Heib <kheib@redhat.com> - 46.0-1
|
|
||||||
- Rebase to upstream release v46.0
|
- Rebase to upstream release v46.0
|
||||||
- Resolves: rhbz#2170066, rhbz#2209685, rhbz#2159635, rhbz#2167517
|
- Resolves: rhbz#2159650, rhbz#2167513, rhbz#2170367, rhbz#2189721 rhbz#2209688
|
||||||
|
|
||||||
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-2.1
|
* Wed Feb 01 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-2
|
||||||
- Do not use unsupported Protect* options in systemd unit files.
|
- Fix covscan-found issues.
|
||||||
- Resolves: rhbz#2141462
|
- Resolves: rhbz#2112984, rhbz#2142687
|
||||||
|
|
||||||
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-2
|
* Wed Feb 01 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-1
|
||||||
- Update to upstream release v44.0
|
- Rebase to upstream release v44.0
|
||||||
- Resolves: rhbz#2110934, rhbz#2112931, rhbz#2142691
|
- Resolves: rhbz#2112984, rhbz#2142687
|
||||||
|
|
||||||
* Fri Aug 05 2022 Michal Schmidt <mschmidt@redhat.com> - 41.0-1
|
* Tue Aug 02 2022 Michal Schmidt <mschmidt@redhat.com> - 41.0-3
|
||||||
- Update to upstream release v41.0
|
- Rebase to upstream release v41.0
|
||||||
- Resolves: rhbz#2049518
|
- Resolves: rhbz#2049521
|
||||||
|
|
||||||
* Thu Jan 06 2022 Honggang Li <honli@redhat.com> - 37.2-1
|
* Tue Jan 18 2022 Honggang Li <honli@redhat.com> - 37.2-1
|
||||||
- Update to upstream v37.2 release for fixes
|
- Rebase to upstream release v37.2
|
||||||
- Resolves: bz2008509, bz2024865, bz1915555
|
- Resolves: rhbz#2035043, rhbz#2034948
|
||||||
|
|
||||||
* Tue Nov 09 2021 Honggang Li <honli@redhat.com> - 37.1-1
|
* Wed Oct 20 2021 Honggang Li <honli@redhat.com> - 37.1-1
|
||||||
- Update to upstream v37.1 release for features and fixes
|
- Rebase to upstream release v37.1
|
||||||
- Resolves: bz1982200, bz1990120, bz1982131
|
- Resolves: rhbz#1994803
|
||||||
|
|
||||||
* Fri May 14 2021 Honggang Li <honli@redhat.com> - 35.0-1
|
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 35.0-3
|
||||||
- Update to upstream v35 release for features and fixes
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
- Resolves: bz1915311
|
Related: rhbz#1991688
|
||||||
|
|
||||||
* Thu Jan 28 2021 Honggang Li <honli@redhat.com> - 32.0-4
|
* Wed Jun 16 2021 Honggang Li <honli@redhat.com> - 35.0-2
|
||||||
- Update to upstream stable release v32.1
|
- Bump the version tag and rebuild because of brew system issue
|
||||||
- Fix mlx5 pyverbs CQ test
|
- Related: rhbz#1858568
|
||||||
- Resolves: bz1915745, bz1907377
|
|
||||||
|
|
||||||
* Tue Dec 22 2020 Honggang Li <honli@redhat.com> - 32.0-3
|
* Tue May 25 2021 Honggang Li <honli@redhat.com> - 35.0-1
|
||||||
- libqedr: Set XRC functions only in RoCE mode
|
- Rebase to upstream release v35.0
|
||||||
- Resolves: bz1894516
|
- Resolves: rhbz#1858568, rhbz#1877133, rhbz#1869457
|
||||||
|
|
||||||
* Tue Dec 08 2020 Honggang Li <honli@redhat.com> - 32.0-2
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 34.0-4
|
||||||
- Backport bug fixes applied after upstream v32.0
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
- Resolves: bz1902613, bz1875265
|
|
||||||
|
|
||||||
* Tue Nov 03 2020 Honggang Li <honli@redhat.com> - 32.0-1
|
* Tue Mar 30 2021 Pete Walter <pwalter@fedoraproject.org> - 34.0-3
|
||||||
- Update to upstream v32 release for features and fixes
|
- Add self obsoletes to remove i686 multilib package when updating to F34
|
||||||
- Support Amazon Elastic Fabric Adapter
|
|
||||||
- Enable pyverbs
|
|
||||||
- Add a check for udevadm in the specfile
|
|
||||||
- Resolves: bz1851721, bz1856076, bz1887396, bz1868804
|
|
||||||
|
|
||||||
* Tue Jun 09 2020 Honggang Li <honli@redhat.com> - 29.0-3
|
* Mon Mar 08 2021 Honggang Li <honli@redhat.com> - 34.0-2
|
||||||
- BuildRequires perl-generators
|
- RHEL9 will use prebuild doc
|
||||||
- Backport upstream stable-v29 commits
|
|
||||||
- Resolves: bz1845420
|
|
||||||
|
|
||||||
* Mon May 18 2020 Honggang Li <honli@redhat.com> - 29.0-2
|
* Wed Mar 03 2021 Honggang Li <honli@redhat.com> - 34.0-1
|
||||||
- Suppress ibdev2netdev warning messgae
|
- Rebase to upstream release v34.0
|
||||||
- Unversioned documentation directory
|
|
||||||
- Resolves: bz1794904, bz1824853
|
|
||||||
|
|
||||||
* Tue Apr 14 2020 Honggang Li <honli@redhat.com> - 29.0-1
|
* Mon Feb 01 2021 Honggang Li <honli@redhat.com> - 33.0-5
|
||||||
- Update to upstream v29 release for features and fixes
|
- Disable HCA rename for ELN
|
||||||
- Resolves: bz1790624
|
|
||||||
|
|
||||||
* Fri Feb 07 2020 Honggang Li <honli@redhat.com> - 26.0-8
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 33.0-4
|
||||||
- Fix an ibacm segfault issue for dual port HCA support IB and Ethernet
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
- Resolves: bz1793736
|
|
||||||
|
|
||||||
* Tue Dec 17 2019 Honggang Li <honli@redhat.com> - 26.0-7
|
* Mon Jan 25 2021 Honggang Li <honli@redhat.com> - 33.0-3
|
||||||
- Build with Ninja.
|
- Fix ELN build issue
|
||||||
- Resolves: bz1783254
|
|
||||||
|
|
||||||
* Fri Dec 13 2019 Honggang Li <honli@redhat.com> - 26.0-6
|
* Thu Jan 21 2021 Honggang Li <honli@redhat.com> - 33.0-2
|
||||||
- Remove dangling symlink
|
- libibverbs obsoletes libibverbs-core for fedora-34
|
||||||
- Resolves: bz1782828
|
|
||||||
|
|
||||||
* Wed Dec 11 2019 Honggang Li <honli@redhat.com> - 26.0-5
|
* Mon Jan 18 2021 Honggang Li <honli@redhat.com> - 33.0-1
|
||||||
- Remove EFA driver
|
- Rebase to upstream release v33.0
|
||||||
- Fix rpm dependency issue
|
|
||||||
- Resolves: bz1781454, bz1781457
|
|
||||||
|
|
||||||
* Mon Dec 09 2019 Honggang Li <honli@redhat.com> - 26.0-4
|
* Mon Jan 18 2021 Honggang Li <honli@redhat.com> - 32.0-2
|
||||||
- libbnxt_re support for some new device ids and generation id
|
- Remove base package dependency from all sub-packages
|
||||||
- Resolves: bz1779948
|
- Resolves: bz1901086
|
||||||
|
|
||||||
* Tue Nov 19 2019 Jarod Wilson <jarod@redhat.com> - 26.0-3
|
* Thu Oct 29 2020 Honggang Li <honli@redhat.com> - 32.0-1
|
||||||
- Make rdma-core-devel Obsoletes infiniband-diags due to man3/ibnd_*
|
- Rebase to upstream release v32.0
|
||||||
- Related: rhbz#1722257
|
|
||||||
|
|
||||||
* Thu Nov 14 2019 Jarod Wilson <jarod@redhat.com> - 26.0-2
|
* Mon Sep 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 31.0-2
|
||||||
- Add Obsoletes/Provides pair for infiniband-diags-devel
|
- Split out libibverbs to sub package for libpcap
|
||||||
- Pull in upstream stable-v26 branch patches
|
|
||||||
- Fix %%postun scriptlet failures by removing superfluous -p options
|
|
||||||
- Add new BuildRequires: on pandoc
|
|
||||||
- Related: rhbz#1722257
|
|
||||||
|
|
||||||
* Thu Nov 14 2019 Jarod Wilson <jarod@redhat.com> - 26.0-1
|
* Wed Aug 19 2020 Honggang Li <honli@redhat.com> - 31.0-1
|
||||||
- Update to upstream v26 release for features and fixes
|
- Rebase to upstream release v31.0
|
||||||
- Resolves: rhbz#1722257
|
|
||||||
|
|
||||||
* Tue Jul 23 2019 Jarod Wilson <jarod@redhat.com> - 24.0-1
|
* Thu Jul 30 2020 Honggang Li <honli@redhat.com> - 30.0-6
|
||||||
- Update to upstream v24 release for features and fixes
|
- Update cmake options
|
||||||
|
|
||||||
* Mon Jun 24 2019 Jarod Wilson <jarod@redhat.com> - 22.3-1
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 30.0-5
|
||||||
- Update to upstream v22.3 stable release for fixes
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
- Enable support for Broadcom 57500 hardware
|
|
||||||
- Enable support for Mellanox ConnectX-6 DX hardware
|
|
||||||
- Resolves: rhbz#1678276
|
|
||||||
- Resolves: rhbz#1687435
|
|
||||||
|
|
||||||
* Thu Jan 10 2019 Jarod Wilson <jarod@redhat.com> - 22-2
|
* Thu Jul 02 2020 Stephen Gallagher <sgallagh@redhat.com> - 30.0-4
|
||||||
- Fix up covscan shellcheck warnings in ibdev2netdev
|
- Don't throw script errors if udev is not installed
|
||||||
- Related: rhbz#1643904
|
|
||||||
|
|
||||||
* Thu Jan 10 2019 Jarod Wilson <jarod@redhat.com> - 22-1
|
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 30.0-3
|
||||||
- Update to upstream v22 release for features and fixes
|
- Disable LTO
|
||||||
- Include legacy ibdev2netdev helper script
|
|
||||||
- Resolves: rhbz#1643904
|
|
||||||
|
|
||||||
* Tue Nov 27 2018 Jarod Wilson <jarod@redhat.com> - 19.1-1
|
* Thu Jun 25 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 30.0-2
|
||||||
- Update to v19.1 stable branch release
|
- Drop dependencies on systemd (#1837812)
|
||||||
- Fix SRQ support in libi40iw
|
|
||||||
- Backport libqedr support for SRQ
|
|
||||||
- Resolves: rhbz#1639692
|
|
||||||
- Switch rxe_cfg from ifconfig to iproute2
|
|
||||||
- Resolves: rhbz#1640637
|
|
||||||
|
|
||||||
* Thu Aug 30 2018 Jarod Wilson <jarod@redhat.com> - 19-3
|
* Mon Jun 15 2020 Honggang Li <honli@redhat.com> - 30.0-1
|
||||||
- Drop R: initscripts, since we've removed initscripts
|
- Rebase to upstream release v30.0
|
||||||
- Resolves: rhbz#1610284
|
|
||||||
|
|
||||||
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 19-2
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 29.0-2
|
||||||
- Honor %%{valgrind_arches}
|
- Rebuilt for Python 3.9
|
||||||
|
|
||||||
* Thu Jul 19 2018 Jarod Wilson <jarod@redhat.com> 19-1
|
* Mon Apr 13 2020 Honggang Li <honli@redhat.com> - 29.0-1
|
||||||
- Rebase to upstream rdma-core v19 release
|
- Rebase to upstream release v29.0
|
||||||
|
|
||||||
* Mon Jul 02 2018 Jarod Wilson <jarod@redhat.com> 18.1-3
|
* Wed Feb 12 2020 Honggang Li <honli@redhat.com> - 28.0-1
|
||||||
- Adjust python deps for python3-only world
|
- Rebase to upstream release v28.0
|
||||||
|
|
||||||
* Thu Jun 21 2018 Jarod Wilson <jarod@redhat.com> 18.1-2
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 27.0-4
|
||||||
- Disable nes, mthca and ipath libibverbs providers, this
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
old hardware is no longer supported, and fix disabling
|
|
||||||
of cxgb3 and ocrdma
|
|
||||||
|
|
||||||
* Fri Jun 15 2018 Jarod Wilson <jarod@redhat.com> 18.1-1
|
* Sun Jan 19 2020 Orion Poplawski <orion@nwra.com> - 27.0-3
|
||||||
- Rebase to upstream rdma-core v18.1 stable release
|
- Fix typo in requires
|
||||||
|
|
||||||
* Thu May 03 2018 Jarod Wilson <jarod@redhat.com> 17.1-2
|
* Sun Jan 19 2020 Honggang Li <honli@redhat.com> - 27.0-2
|
||||||
- Match kernel ABI with kernel v4.17 for 32-on-64bit compatibility
|
- Backport some spec improvement from upstream
|
||||||
|
|
||||||
* Mon Apr 16 2018 Jarod Wilson <jarod@redhat.com> 17.1-1
|
* Thu Dec 12 2019 Honggang Li <honli@redhat.com> - 27.0-1
|
||||||
- Rebase to upstream rdma-core v17.1 stable release
|
- Rebase to upstream release v27.0
|
||||||
- No more libibcm or ib sysv initscripts
|
|
||||||
- Remove ibverbs provider for unsupported CXGB3 devices
|
|
||||||
- Remove ibverbs provider for unsupported OCRDMA devices
|
|
||||||
- Resolves: rhbz#1492324
|
|
||||||
- Resolves: rhbz#1492924
|
|
||||||
- Resolves: rhbz#1503621
|
|
||||||
- Resolves: rhbz#1504528
|
|
||||||
- Resolves: rhbz#1504581
|
|
||||||
- Resolves: rhbz#1503723
|
|
||||||
|
|
||||||
* Tue Feb 27 2018 Jarod Wilson <jarod@redhat.com> 15-7
|
* Thu Nov 28 2019 Honggang Li <honli@redhat.com> - 26.1-1
|
||||||
- i40iw: revoke systemd udev rules auto-load on i40e hardware, due to
|
- Rebase to upstream release v26.1
|
||||||
causing problems with suspend and resume, and fall back to load via
|
|
||||||
systemd rdma initscript.
|
|
||||||
- Resolves: rhbz#1561566
|
|
||||||
|
|
||||||
* Mon Feb 19 2018 Jarod Wilson <jarod@redhat.com> 15-6
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-4
|
||||||
- libbnxt_re: fix lat test failure in event mode
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
- Resolves: rhbz#1545248
|
|
||||||
|
|
||||||
* Tue Feb 06 2018 Jarod Wilson <jarod@redhat.com> 15-5
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-3
|
||||||
- libmlx4: report RSS caps for improved DPDK support
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
- Fix double mutex unlock in iwpmd
|
|
||||||
- Resolves: rhbz#1527350
|
|
||||||
- Resolves: rhbz#1542362
|
|
||||||
|
|
||||||
* Mon Jan 15 2018 Jarod Wilson <jarod@redhat.com> 15-4
|
* Wed Jan 23 2019 Björn Esser <besser82@fedoraproject.org> - 20.1-2
|
||||||
- Add support for extended join multicast API in librdmacm
|
- Append curdir to CMake invokation. (#1668512)
|
||||||
- Add support for striding RQ on mlx5
|
|
||||||
- Resolves: rhbz#1515487, rhbz#1516571
|
|
||||||
|
|
||||||
* Tue Dec 26 2017 Honggang Li <honli@redhat.com> 15-3
|
* Fri Oct 19 2018 Jarod Wilson <jarod@redhat.com> - 20.1-1
|
||||||
- srp_daemon: Don't create async_ev_thread if only run once
|
- Long overdue update to upstream v20.1 stable release
|
||||||
- srp_daemon: Remove unsupported systemd configurations
|
|
||||||
- srp_daemon: Start srp_daemon service after network target
|
|
||||||
- Resolves: bz1525193
|
|
||||||
- Resolves: bz1528671
|
|
||||||
|
|
||||||
* Mon Nov 13 2017 Jarod Wilson <jarod@redhat.com> 15-2
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.2-5
|
||||||
- Fix ibacm segfault and improper multicast handling
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
- Resolves: rhbz#1502745
|
|
||||||
- Resolves: rhbz#1502759
|
|
||||||
|
|
||||||
* Fri Sep 22 2017 Jarod Wilson <jarod@redhat.com> 15-1
|
* Sun Mar 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 16.2-4
|
||||||
- Update to upstream v15 release
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
- Resolves: rhbz#1494607
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
|
|
||||||
|
* Tue Feb 06 2018 Orion Poplawski <orion@nwra.com> - 16.2-3
|
||||||
|
- Build for s390/x
|
||||||
|
|
||||||
|
* Tue Feb 06 2018 Patrick Uiterwijk <patrick@puiterwijk.org> - 16.2-2
|
||||||
|
- Fix escaped macro
|
||||||
|
|
||||||
|
* Sun Feb 04 2018 Doug Ledford <dledford@redhat.com> - 16.2-1
|
||||||
|
- Update to rdma-core-16.2
|
||||||
|
- Drop the old sysv initscript files
|
||||||
|
|
||||||
* Wed Aug 09 2017 Jarod Wilson <jarod@redhat.com> - 14-4
|
* Wed Aug 09 2017 Jarod Wilson <jarod@redhat.com> - 14-4
|
||||||
- Make use of systemd_requires, own srp_daemon dir
|
- Make use of systemd_requires, own srp_daemon dir
|
||||||
@ -851,50 +787,8 @@ fi
|
|||||||
- Update to upstream v14 release
|
- Update to upstream v14 release
|
||||||
- Sync packaging updates from RHEL and upstream
|
- Sync packaging updates from RHEL and upstream
|
||||||
|
|
||||||
* Tue May 30 2017 Jarod Wilson <jarod@redhat.com> 13-7
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
|
||||||
- Add support for mlx5 Expand raw packet capabilities
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
- Resolves: rhbz#1456561
|
|
||||||
|
|
||||||
* Mon May 22 2017 Jarod Wilson <jarod@redhat.com> 13-6
|
|
||||||
- Clean up htonll/ntohll handling for opa-ff/infiniband-diags compile
|
|
||||||
- Add necessary Provides/Obsoletes for old -static packages
|
|
||||||
- Remove ibverbs providers that we aren't currently able to support
|
|
||||||
- Resolves: rhbz#1453096, rhbz#1451607
|
|
||||||
|
|
||||||
* Wed Apr 26 2017 Honggang Li <honli@redhat.com> 13-5
|
|
||||||
- rdma-ndd: Fix a busy loop for aarch64 platform
|
|
||||||
- Resolves: bz1442789
|
|
||||||
|
|
||||||
* Thu Apr 13 2017 Honggang Li <honli@redhat.com> 13-4
|
|
||||||
- srp_daemon: Don't rely on attribute offset in get_shared_pkeys
|
|
||||||
- Resolves: bz1432964
|
|
||||||
|
|
||||||
* Mon Apr 03 2017 Jarod Wilson <jarod@redhat.com> - 13-3
|
|
||||||
- Add necessary Provides/Obsoletes for rdma-ndd (rhbz 1437804)
|
|
||||||
|
|
||||||
* Mon Mar 27 2017 Jarod Wilson <jarod@redhat.com> - 13-2
|
|
||||||
- Build what we can on s390, don't exclude it entirely (rhbz 1434029)
|
|
||||||
|
|
||||||
* Tue Mar 21 2017 Jarod Wilson <jarod@redhat.com> - 13-1
|
|
||||||
- Update to rdma-core v13 release (rhbz 1404035)
|
|
||||||
- Mellanox mlx5 Direct Verbs support (rhbz 1426430)
|
|
||||||
- Get build working on s390x, less mlx5 (rhbz 1434029)
|
|
||||||
|
|
||||||
* Mon Mar 20 2017 Jarod Wilson <jarod@redhat.com> - 12-5
|
|
||||||
- Fix up multi-lib conflicts in ibacm files (rhbz 1429362)
|
|
||||||
|
|
||||||
* Mon Mar 13 2017 Jarod Wilson <jarod@redhat.com> - 12-4
|
|
||||||
- Clean up devel files list
|
|
||||||
- Fix up a few dependencies rpmdiff complained about (rhbz 1404035)
|
|
||||||
- Add Requires: pciutils for dracut to behave in minimalist cases (rhbz 1429046)
|
|
||||||
- Adjust Conflicts: on infiniband-diags to match RHEL packaging (rhbz 1428785)
|
|
||||||
|
|
||||||
* Mon Mar 06 2017 Jarod Wilson <jarod@redhat.com> - 12-3
|
|
||||||
- Take libi40iw out of tech-preview state (rhbz 1428930)
|
|
||||||
- Add ibv_*_pingpong man pages (rhbz 1416541)
|
|
||||||
|
|
||||||
* Thu Feb 09 2017 Jarod Wilson <jarod@redhat.com> - 12-2
|
|
||||||
- Make sure ocrdma module is classified as tech-preview (rhbz 1418224)
|
|
||||||
|
|
||||||
* Fri Jan 27 2017 Jarod Wilson <jarod@redhat.com> - 12-1
|
* Fri Jan 27 2017 Jarod Wilson <jarod@redhat.com> - 12-1
|
||||||
- Update to upstream final v12 release
|
- Update to upstream final v12 release
|
||||||
|
Loading…
Reference in New Issue
Block a user