diff --git a/.gitignore b/.gitignore
index 81b65ec..fa2fe2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 /rdma-core-12.tar.gz
 /rdma-core-14.tar.gz
 /rdma-core-16.2.tar.gz
+/rdma-core-20.1.tar.gz
diff --git a/rdma-core.spec b/rdma-core.spec
index f32cfc5..f505272 100644
--- a/rdma-core.spec
+++ b/rdma-core.spec
@@ -1,6 +1,6 @@
 Name: rdma-core
-Version: 16.2
-Release: 5%{?dist}
+Version: 20.1
+Release: 1%{?dist}
 Summary: RDMA core userspace libraries and daemons
 
 %ifnarch s390 %{arm}
@@ -27,7 +27,9 @@ BuildRequires: valgrind-devel
 %endif
 BuildRequires: systemd
 BuildRequires: systemd-devel
-BuildRequires: python2
+BuildRequires: python3
+BuildRequires: perl-generators
+BuildRequires: pandoc
 
 Requires: dracut, kmod, systemd
 # Red Hat/Fedora previously shipped redhat/ as a stand-alone
@@ -68,10 +70,7 @@ Provides: libibverbs-devel = %{version}-%{release}
 Obsoletes: libibverbs-devel < %{version}-%{release}
 Provides: libibverbs-devel-static = %{version}-%{release}
 Obsoletes: libibverbs-devel-static < %{version}-%{release}
-Requires: libibcm = %{version}-%{release}
-Provides: libibcm-devel = %{version}-%{release}
 Obsoletes: libibcm-devel < %{version}-%{release}
-Provides: libibcm-static = %{version}-%{release}
 Obsoletes: libibcm-static < %{version}-%{release}
 Requires: libibumad = %{version}-%{release}
 Provides: libibumad-devel = %{version}-%{release}
@@ -202,14 +201,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
 iwpmd provides a userspace service for iWarp drivers to claim
 tcp ports through the standard socket interface.
 
-%package -n libibcm
-Summary: Userspace InfiniBand Connection Manager
-Requires: %{name}%{?_isa} = %{version}-%{release}
-
-%description -n libibcm
-libibcm provides a userspace library that handles the majority of the low
-level work required to open an RDMA connection between two machines.
-
 %package -n libibumad
 Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library
 Requires: %{name}%{?_isa} = %{version}-%{release}
@@ -256,6 +247,8 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
 %define _rundir /var/run
 %endif
 
+%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}}
+
 # Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
 %cmake %{CMAKE_FLAGS} \
          -DCMAKE_BUILD_TYPE=Release \
@@ -273,7 +266,8 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
          -DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \
          -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
          -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
-         -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir}
+         -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
+	 %{EXTRA_CMAKE_FLAGS}
 %make_jobs
 
 %install
@@ -313,9 +307,6 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %post -n libibverbs -p /sbin/ldconfig
 %postun -n libibverbs -p /sbin/ldconfig
 
-%post -n libibcm -p /sbin/ldconfig
-%postun -n libibcm -p /sbin/ldconfig
-
 %post -n libibumad -p /sbin/ldconfig
 %postun -n libibumad -p /sbin/ldconfig
 
@@ -394,6 +385,7 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %{_includedir}/infiniband/*
 %{_includedir}/rdma/*
 %{_libdir}/lib*.so
+%{_libdir}/pkgconfig/*.pc
 %{_mandir}/man3/ibv_*
 %{_mandir}/man3/rdma*
 %{_mandir}/man3/umad*
@@ -445,10 +437,6 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %{_mandir}/man8/iwpmd.*
 %{_mandir}/man5/iwpmd.*
 
-%files -n libibcm
-%{_libdir}/libibcm*.so.*
-%doc %{_docdir}/%{name}-%{version}/libibcm.md
-
 %files -n libibumad
 %{_libdir}/libibumad*.so.*
 
@@ -504,6 +492,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
 
 %changelog
+* Fri Oct 19 2018 Jarod Wilson <jarod@redhat.com> - 20.1-1
+- Long overdue update to upstream v20.1 stable release
+
 * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.2-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
 
diff --git a/sources b/sources
index da513eb..7f2b3bd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rdma-core-16.2.tar.gz) = 0226bf62f34e5fdefa6863e0c5c1485a35235d147390b5f3e8090a88e968d8ce6aad4b5c799943f55824a93c6a9f8a9982aab228c60dbc0c547e0e3c1570ad97
+SHA512 (rdma-core-20.1.tar.gz) = 0c0939e2efa18a917235f591cc47e34a9036d52b842691291c296660b2d903c5b5bc2bd5c8117b1cb7dbd5037fe79b9f2900d2a5dc27a4895578c4338dafc168