diff --git a/.gitignore b/.gitignore
index e047d9b..750ce1c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
 /rdma-core-20.1.tar.gz
 /rdma-core-26.1.tar.gz
 /rdma-core-27.0.tar.gz
+/rdma-core-28.0.tar.gz
diff --git a/0001-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch b/0001-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
new file mode 100644
index 0000000..9a818a6
--- /dev/null
+++ b/0001-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
@@ -0,0 +1,34 @@
+From d9a376151c8a0d30ea814704e844f3aa3359d984 Mon Sep 17 00:00:00 2001
+From: "Goldman, Adam" <adam.goldman@intel.com>
+Date: Tue, 4 Feb 2020 08:55:20 -0500
+Subject: [PATCH] kernel-boot: Do not perform device rename on OPA devices
+
+PSM2 will not run with recent rdma-core releases. Several tools and
+libraries like PSM2, require the hfi1 name to be present.
+
+Recent rdma-core releases added a new feature to rename kernel devices,
+but the default configuration will not work with hfi1 fabrics.
+
+Related opa-psm2 github issue:
+  https://github.com/intel/opa-psm2/issues/43
+
+Fixes: 5b4099d47be3 ("kernel-boot: Perform device rename to make stable names")
+Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
+Signed-off-by: Goldman, Adam <adam.goldman@intel.com>
+---
+ kernel-boot/rdma-persistent-naming.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kernel-boot/rdma-persistent-naming.rules b/kernel-boot/rdma-persistent-naming.rules
+index 9b61e1630d56..95d6851fb97a 100644
+--- a/kernel-boot/rdma-persistent-naming.rules
++++ b/kernel-boot/rdma-persistent-naming.rules
+@@ -25,4 +25,4 @@
+ #   Device type = RoCE
+ #   mlx5_0 -> rocex525400c0fe123455
+ #
+-ACTION=="add", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FALLBACK"
++ACTION=="add", SUBSYSTEM=="infiniband", KERNEL!="hfi1*", PROGRAM="rdma_rename %k NAME_FALLBACK"
+-- 
+2.24.1
+
diff --git a/rdma-core.spec b/rdma-core.spec
index 05b03d7..58ae840 100644
--- a/rdma-core.spec
+++ b/rdma-core.spec
@@ -1,6 +1,6 @@
 Name: rdma-core
-Version: 27.0
-Release: 4%{?dist}
+Version: 28.0
+Release: 1%{?dist}
 Summary: RDMA core userspace libraries and daemons
 
 # Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
@@ -10,6 +10,7 @@ Summary: RDMA core userspace libraries and daemons
 License: GPLv2 or BSD
 Url: https://github.com/linux-rdma/rdma-core
 Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
+Patch1: 0001-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
 # Do not build static libs by default.
 %define with_static %{?_with_static: 1} %{?!_with_static: 0}
 
@@ -70,7 +71,7 @@ BuildRequires: ninja-build
 %else
 # Fallback to make otherwise
 BuildRequires: make
-%define make_jobs make -v %{?_smp_mflags}
+%define make_jobs make VERBOSE=1 %{?_smp_mflags}
 %define cmake_install DESTDIR=%{buildroot} make install
 %endif
 
@@ -265,6 +266,7 @@ easy, object-oriented access to IB verbs.
 
 %prep
 %setup
+%autosetup -v -p1
 
 %build
 
@@ -563,9 +565,7 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 
 %files -n libibverbs-utils
 %{_bindir}/ibv_*
-%{_bindir}/rxe_cfg
 %{_mandir}/man1/ibv_*
-%{_mandir}/man8/rxe*
 
 %files -n ibacm
 %config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
@@ -639,9 +639,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %{_sbindir}/run_srp_daemon
 %{_udevrulesdir}/60-srp_daemon.rules
 %{_mandir}/man1/ibsrpdm.1*
-%{_mandir}/man1/srp_daemon.1*
 %{_mandir}/man5/srp_daemon.service.5*
 %{_mandir}/man5/srp_daemon_port@.service.5*
+%{_mandir}/man8/srp_daemon.8*
 %doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
 
 %if %{with_pyverbs}
@@ -651,6 +651,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %endif
 
 %changelog
+* Wed Feb 12 2020 Honggang Li <honli@redhat.com> - 28.0-1
+- Rebase to upstream release v28.0
+
 * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 27.0-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
 
diff --git a/sources b/sources
index 75ea72b..8a04ef8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rdma-core-27.0.tar.gz) = cf529867fbbd65562047d3e5b21d1f1c37835ad478b1209ac4bc9533d09834c0c9683ea9658b0ea5c794821419216d901f043e74e3c83494627e3a55ef849405
+SHA512 (rdma-core-28.0.tar.gz) = 3ec5083728e8b0f3e0ab4419abbf418925bc9cf04999e7e8ae8bc5a4acfc870c65953d2910fb37d422b6333a104a2cefd77d21dec743579c5a88c94b8556924b